Hey,
A little over a week ago i got into mapping again. I tried earlier over a year ago but gave up on it.
So now i am making a map with a truck in it. I tried to create the script from near scratch because i think copy pasting isnt as contributive to my knowledge. So worked on it with the script from this tutorial http://www.pythononline.co.uk/et/tutorial38.htm on the side and i got pretty far, the truck is driving, making sound and the wheels are rotating.
The only problem is that the trigger that triggers the truck is following my truck and just stays at the same position.
furthermore i cant yet figure out how to implement a bridge which has to be constructed before the truck can cross it.
here’s the script, it’s probably not the most efficient but yea…
truck
{
//accum 0:
// - bit 0: is truck moving
// - bit 1: is truck active
// - bit 2: is player present
//accum 1: track position
spawn
{
wait 400
followspline 0 spl_00 50000 length 32 wait
followspline 1 spl_00 50000 length 32 wait
accum 1 set 0
}
trigger dispatch
{
accum 1 trigger_if_equal 0 truck run_0
accum 1 trigger_if_equal 1 truck run_1
accum 1 trigger_if_equal 2 truck run_2
accum 1 trigger_if_equal 3 truck run_3
}
trigger run_0
{
accum 0 bitset 0
followspline 0 spl_00 100 wait length 304
accum 0 bitreset 0
trigger self run_continue
}
trigger run_1
{
accum 0 bitset 0
followspline 0 spl_01 100 wait length 304
accum 0 bitreset 0
trigger self run_continue
}
trigger run_2
{
accum 0 bitset 0
followspline 0 spl_02 100 wait length 304
accum 0 bitreset 0
trigger self run_continue
}
trigger run_3
{
accum 0 bitset 0
followspline 0 spl_03 100 wait length 304
accum 0 bitreset 0
trigger self run_continue
}
trigger run_continue
{
accum 1 inc 1
trigger self truck_checks
accum 0 abort_if_bitset 2
trigger self truck_stop
}
trigger truck_enable
{
accum 0 bitset 2
trigger self truck_checks
}
trigger truck_disable
{
accum 0 bitreset 2
}
trigger truck_checks
{
accum 1 trigger_if_equal 4 truck truck_stop
accum 1 abort_if_equal 4
accum 0 abort_if_not_bitset 2
accum 0 abort_if_bitset 0
trigger self truck_start
trigger self dispatch
}
trigger truck_start
{
accum 0 abort_if_bitset 1
accum 0 bitset 1
trigger truck_sound start
trigger truck_whl_b wheels_forward
trigger truck_whl_f wheels_forward
}
trigger truck_stop
{
accum 0 bitreset 1
trigger truck_sound stop
trigger truck_whl_b wheels_stop
trigger truck_whl_f wheels_stop
}
trigger sound_idle
{
stopsound
playsound sound/vehicles/truck/truck_idle.wav looping volume 512
}
trigger sound_start
{
stopsound
playsound sound/vehicles/truck/truck_revup.wav volume 256
}
trigger sound_move
{
stopsound
playsound sound/vehicles/truck/truck_move.wav looping volume 512
}
trigger sound_stop
{
stopsound
playsound sound/vehicles/truck/truck_revdown.wav volume 256
}
}
truck_trigger
{
spawn
{
wait 300
}
}
truck_enabler
{
spawn
{
wait 300
}
trigger run
{
trigger truck truck_enable
}
}
truck_disabler
{
spawn
{
wait 300
}
trigger run
{
trigger truck truck_disable
}
}
truck_sound
{
spawn
{
wait 300
trigger truck sound_idle
}
trigger start
{
trigger truck sound_start
wait 500
trigger truck sound_move
}
trigger stop
{
trigger truck sound_stop
wait 500
trigger truck sound_idle
}
}
truck_whl_b
{
spawn
{
wait 400
attachtotag truck tag_wback
}
trigger wheels_forward
{
setrotation 150 0 0
}
trigger wheels_stop
{
setrotation 0 0 0
}
}
truck_whl_f
{
spawn
{
wait 400
attachtotag truck tag_wfront
}
trigger wheels_forward
{
setrotation 150 0 0
}
trigger wheels_stop
{
setrotation 0 0 0
}
}
Thanks in advance,
Daemonicus
