Rox and I have got this script so far (all it does is check for one player for 30 seconds):
Code: Select all
while (local.player IsTouching $target_building_trigger[local.index] == 1)
{
wait 30
// ACTION TO BE DONE-ADD HERE
}Moderator: Moderators
Code: Select all
while (local.player IsTouching $target_building_trigger[local.index] == 1)
{
wait 30
// ACTION TO BE DONE-ADD HERE
}Code: Select all
trolly_waittill_capture:
while ( $trolly_trigger )
{
$trolly_trigger waittill trigger
local.player = parm.other
if (local.player.dmteam == level.controlling_team) //prevents pressing the trigger again
{
goto trolly_waittill_capture
}
else
if (local.player.dmteam == "allies")
{
if (level.tspos == 1) // if trolly switch is already on
{
thread trolly_switches_off
$trolly stop
$trolly loopsound lighthouse_run wait
wait 2
}
$trolly playsound allied_ranger_ba //sound is "Cover me!"
level.controlling_team = local.player.dmteam
waitthread trolly_switches_on
thread trolly_move_up
}
else
if (local.player.dmteam == "axis")
{
if (level.tspos == 1) // if trolly switch is already on
{
thread trolly_switches_off
$trolly stop
$trolly loopsound lighthouse_run wait
wait 2
}
$trolly playsound axis_axis5_ba //sound is "Cover me!"
level.controlling_team = local.player.dmteam
waitthread trolly_switches_on
thread trolly_move_down
}
waitframe // protection
}
end
Code: Select all
set_up_teams:
$target_building_trigger waittill trigger
local.player = parm.other // these first 2 parts were already here
if(local.player.dmteam == "allies")
{
local.player.dmteam = local.holding_team_allies
local.player delete // will this allow a different player to be in trigger?
thread allies_win_hold
}
if(local.player.dmteam == "axis")
{
local.player.dmteam = local.holding_team_axis
local.player delete
thread axis_win_hold
}
if(local.player.dmteam == "spectator") // eliminates spectate triggering
{
end
}
end
allies_win_hold:
$target_building_trigger waittill trigger
local.triggerer = parm.other
if(local.triggerer.dmteam == local.holding_team_allies)
{
while (local.triggerer IsTouching $target_building_trigger[local.index] == 1)
{
if(local.triggerer IsAlive == 0)
{
local.triggerer delete
}
else
{
wait 30
teamwin allies
}
}
}
else
{
local.triggerer delete
end
}
end
axis_win_hold:
$target_building_trigger waittill trigger
local.triggerer = parm.other
if(local.triggerer.dmteam == local.holding_team_axis)
{
while (local.player IsTouching $target_building_trigger[local.index] == 1)
{
if(local.triggerer IsAlive == 0)
{
local.triggerer delete
}
else
{
wait 30
teamwin axis
}
}
}
else
{
local.triggerer delete
end
}
endCode: Select all
allies_win_hold:
$target_building_trigger waittill trigger
local.player = parm.other
if(local.player.dmteam == "allies")
{
}
if(local.player.dmteam == "axis")
{
wait 5
}
while (local.player IsTouching $target_building_trigger[local.index] == 0)
{
wait 30
teamwin allies
}
}
endCode: Select all
bomb_waittill_set:
self model items/pulse_explosive.tik
while ( $(self.trigger_name) )
{
println "waittill trigger " self.trigger_name
self.trigger_name waittill trigger
local.player = parm.other
//"local.player.dmteam", can be 'spectator', 'freeforall', 'allies' or 'axis'
if (local.player.dmteam != level.planting_team)
{
goto bomb_waittill_set
println "failed dmteam check" local.player.dmteam
}
local.counter = 0
while ( (Isalive local.player) && (local.player cansee self level.bombusefov level.bomb_use_distance) && (local.player.useheld == 1) )
{
if (local.counter == 0)
local.player stopwatch (level.bomb_set_time * .1)
local.counter++
wait .1
if (local.counter >= level.bomb_set_time)
{
iprintlnbold "A Bomb has been planted!"
if (level.planting_team == "allies")
self playsound dfr_objective_o
else
self playsound den_objective_o
thread bomb_waittill_defuse
thread bomb_waittill_explode
self.live = 1
level.bomb_set ++
end
}
}
if (local.counter > 0)
local.player stopwatch 0
println "usetrigger but failed check"
if ! (self cansee local.player level.bombusefov level.bomb_use_distance)
println "failed cansee check"
if ! (local.player.useheld == 1)
println "failed useheld check" local.player.useheld
}
end
Istouching will work with a trigger_multiple. But, you are going to need counters to keep track of how meny players have entered the trigger.its a king of the hill type thingnuggets wrote:
does this need to be triggerable by each team, where either team can win, like a central rendez-vous point, or is it just allies that'd win if them hold it