Hey All,
I'm trying to fix Arma's team swap script, but in order to do this, I need help understanding the different intermission types.
The documentation mentions the following:
Code:
// Info
local.type - type of server intermission
0 = Player intermission screen
1 = Map change (happens after using commands: map, gamemap , but also right after player intermission screen)
2 = Map restart (happens after restart command)
Player intermission screen: Does this happen after every round? It does show players their score, but it's brief. What about when the map fraglimit has been reached? The screen goes black, scores are shown for a while, and the server takes a long time loading next map or reloads current map depending on server.cfg settings.
Map change: Does this happen when the fraglimit of the map is reached along with using rcon map command?
Map restart: When admin uses the "rcon restart" command?
Here's Arma's script (used to work, but doesn't work anymore):
Code:
main:
if(int(getcvar(inscrim)) == 1){
// If inscrim is not set DO NOTHING
teamswitchdelay .2
if(level.swapLoaded)
end
level.swapLoaded = 1
//Check if players were swapped last round, if so, reset the cvars
if(getcvar swapped == "1") {
setcvar swap "0"
setcvar swapped "0"
}
// Register events
if(level.elgboton != 1){
// Unregister events just to be on the safe side:
// local.unreg2 = unregisterev "intermission"
// local.unreg3 = unregisterev "connected"
// println local.unreg2
// println local.unreg3
wait 5
local.connectme = registerev "connected" teamswap/swap.scr::connected
local.intermission = registerev "intermission" teamswap/swap.scr::intermission
}
}
end
connected local.player:
if(getcvar swap == "1" && int(getcvar(inscrim)) == 1) {
if(local.player.dmteam == "axis") {
setcvar swapped "1" //set a cvar so that we don't swap again next round.
local.player join_team allies
}
else {
if(local.player.dmteam == "allies") {
setcvar swapped "1" //set a cvar so that we don't swap again next round.
local.player join_team axis
}
}
}
end
intermission local.type:
if(local.type == 0)
{
setcvar swap "1"
}
else
{
setcvar swap "0"
}
end
The above script is pretty simple to follow. So, should the intermission type be 1 (the map fraglimit has been reached) when the swap cvar is set to 1? Or is the player intermission screen occur when the map fraglimit is reached?