thanks
Im leaning more toward allies stealing objective and returning, but possibly a dual objective, I doubt it some though, map is more setup for a single objective.
Update: My brain is completely fried, took me almost 2 days to come up with some scripting for the 2 elevators that share the same call buttons. One elevator goes to floors 1,2,3, and the other goes to basement,1,2. Its pretty complicated how it works but im proud of it, tried to get functionality as close to real as possible. But i wana post it to show off my work, Its super long and unfinished, but is kinda neat i think. Ignore first bit.
Also, i might start on the terrain this weekend, for a change of pace.
Well i was going to post it, but it turns out the post was going to be 18923 characters long, and the forums allow 10000 at most LOL. maybe some other time
Heres one of the cool buffers i came up with. It saves the order in which the call buttons are pressed, and sends them to the elevator buffer where its again ordered with the elevator button presses.
check_buffer
{
spawn
{
accum 0 set 0 //Priority check reference #
accum 1 set 0 //call3_dn accum - these hold numbers for the priority stack.
accum 2 set 0 //call2_up accum
accum 3 set 0 //call2_dn accum
accum 4 set 0 //call1_up accum
accum 5 set 0 //call1_dn accum
accum 6 set 0 //callbasemt_up accum
accum 7 set 0 //2 step countdown for decrement
accum 8 set 0 //button lockout, so it wont mess up the buffer cache
}
trigger call3_dn
{
accum 8 abort_if_bitset 1
accum 0 inc 1
accum 1 set 1
accum 8 bitset 1
accum 0 abort_if_equal 1
accum 1 inc 1
accum 0 abort_if_equal 2
accum 1 inc 1
accum 0 abort_if_equal 3
accum 1 inc 1
accum 0 abort_if_equal 4
accum 1 inc 1
accum 0 abort_if_equal 5
accum 1 inc 1
}
trigger call2_up
{
accum 8 abort_if_bitset 2
accum 0 inc 1
accum 2 set 1
accum 8 bitset 2
accum 0 abort_if_equal 1
accum 2 inc 1
accum 0 abort_if_equal 2
accum 2 inc 1
accum 0 abort_if_equal 3
accum 2 inc 1
accum 0 abort_if_equal 4
accum 2 inc 1
accum 0 abort_if_equal 5
accum 2 inc 1
}
trigger call2_dn
{
accum 8 abort_if_bitset 3
accum 0 inc 1
accum 3 set 1
accum 8 bitset 3
accum 0 abort_if_equal 1
accum 3 inc 1
accum 0 abort_if_equal 2
accum 3 inc 1
accum 0 abort_if_equal 3
accum 3 inc 1
accum 0 abort_if_equal 4
accum 3 inc 1
accum 0 abort_if_equal 5
accum 3 inc 1
}
trigger call1_up
{
accum 8 abort_if_bitset 4
accum 0 inc 1
accum 4 set 1
accum 8 bitset 4
accum 0 abort_if_equal 1
accum 4 inc 1
accum 0 abort_if_equal 2
accum 4 inc 1
accum 0 abort_if_equal 3
accum 4 inc 1
accum 0 abort_if_equal 4
accum 4 inc 1
accum 0 abort_if_equal 5
accum 4 inc 1
}
trigger call1_dn
{
accum 8 abort_if_bitset 5
accum 0 inc 1
accum 5 set 1
accum 8 bitset 5
accum 0 abort_if_equal 1
accum 5 inc 1
accum 0 abort_if_equal 2
accum 5 inc 1
accum 0 abort_if_equal 3
accum 5 inc 1
accum 0 abort_if_equal 4
accum 5 inc 1
accum 0 abort_if_equal 5
accum 5 inc 1
}
trigger callbasemt_up
{
accum 8 abort_if_bitset 6
accum 0 inc 1
accum 6 set 1
accum 8 bitset 6
accum 0 abort_if_equal 1
accum 6 inc 1
accum 0 abort_if_equal 2
accum 6 inc 1
accum 0 abort_if_equal 3
accum 6 inc 1
accum 0 abort_if_equal 4
accum 6 inc 1
accum 0 abort_if_equal 5
accum 6 inc 1
}
trigger elev1_nextcache //accums 5 & 6 unavailiable to elevator one
{
accum 1 trigger_if_equal 1 elevator1 btn3
accum 2 trigger_if_equal 1 elevator1 btn2
accum 3 trigger_if_equal 1 elevator1 btn2
accum 4 trigger_if_equal 1 elevator1 btn1
trigger self decrement
}
trigger elev2_nextcache //accums 1 & 2 unavailiable to elevator two
{
accum 3 trigger_if_equal 2 elevator2 btn3
accum 4 trigger_if_equal 2 elevator2 btn2
accum 5 trigger_if_equal 2 elevator2 btn2
accum 6 trigger_if_equal 2 elevator2 btn1
trigger self decrement
}
trigger decrement //stepping accums down for next cache
{
accum 7 inc 1
accum 7 abort_if_not_equal 2 //checking if next cache functions are complete
accum 0 inc -1
accum 1 inc -1
accum 2 inc -1
accum 3 inc -1
accum 4 inc -1
accum 5 inc -1
accum 6 inc -1
accum 7 inc -2
}
trigger reset_call3_dn
{
accum 8 bitreset 1
}
trigger reset_call2_up
{
accum 8 bitreset 2
}
trigger reset_call2_dn
{
accum 8 bitreset 3
}
trigger reset_call1_up
{
accum 8 bitreset 4
}
trigger reset_call1_dn
{
accum 8 bitreset 5
}
trigger reset_callbasemt_up
{
accum 8 bitreset 6
}
trigger check //is there anything left to do?
{
accum 0 abort_if_not_equal 0
trigger elevator_control reset_check_buffer
}
}