Triggers = {} function Triggers.init() for p in Players() do if(team_has_two_players(p)) then set_team_up(p) end end end function team_has_two_players(player) local teammates = 0 for p in Players() do if(p.team == player.team and not p.disconnected) then teammates = teammates + 1 end end if(teammates == 2) then return true else return false end end function set_team_up(player) if(player._gunner) then player._gunner = false player._runner = true get_teammate(player)._gunner = true get_teammate(player)._runner = false else player._gunner = true player._runner = false get_teammate(player)._gunner = false get_teammate(player)._runner = true end end function Triggers.idle() use_overlay() control_weapons() kill_gunner() end function use_overlay() for p in Players() do p.overlays[0].color = "green" if(p._gunner) then p.overlays[0].text = "You are the gunner" elseif(p._runner) then p.overlays[0].text = "You are the runner" else p.overlays[0].text = " " end end end function control_weapons() for p in Players() do if(not team_has_two_players(p)) then p._runner = false p._gunner = false end if(p._runner) then p.action_flags.left_trigger = get_teammate(p).action_flags.left_trigger p.action_flags.right_trigger = get_teammate(p).action_flags.right_trigger p:view_player(p) elseif(p._gunner) then p:view_player(get_teammate(p)) else p:view_player(p) end end end function get_teammate(player) for p in Players() do if(p.team == player.team and p ~= player and not p.disconnected) then return p end end end function Triggers.player_killed(player, aggressor_player, action, projectile) if(player._runner and team_has_two_players(player)) then set_team_up(player) elseif(not team_has_two_players(player)) then player._runner = false player._gunner = false end end function kill_gunner() for p in Players() do if(p._gunner) then if(not p.dead) then p:damage(5000) p.deaths = p.deaths - 1 end p.action_flags.action_trigger = false end end end