Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- endRound(roundwinner)
- {
- level endon("intermission");
- level endon("kill_endround");
- if(level.roundended)
- return;
- level.roundended = true;
- // End bombzone threads and remove related hud elements and objectives
- level notify("round_ended");
- level notify("update_allhud_score");
- players = getentarray("player", "classname");
- for(i = 0; i < players.size; i++)
- {
- player = players[i];
- if(isdefined(player.progressbackground))
- player.progressbackground destroy();
- if(isdefined(player.progressbar))
- player.progressbar destroy();
- player unlink();
- player enableWeapon();
- }
- objective_delete(0);
- objective_delete(1);
- level thread announceWinner(roundwinner, 2);
- winners = "";
- losers = "";
- if(roundwinner == "allies")
- {
- game["alliedscore"]++;
- setTeamScore("allies", game["alliedscore"]);
- players = getentarray("player", "classname");
- for(i = 0; i < players.size; i++)
- {
- lpGuid = players[i] getGuid();
- if((isdefined(players[i].pers["team"])) && (players[i].pers["team"] == "allies"))
- winners = (winners + ";" + lpGuid + ";" + players[i].name);
- else if((isdefined(players[i].pers["team"])) && (players[i].pers["team"] == "axis"))
- losers = (losers + ";" + lpGuid + ";" + players[i].name);
- }
- logPrint("W;allies" + winners + "\n");
- logPrint("L;axis" + losers + "\n");
- }
- else if(roundwinner == "axis")
- {
- game["axisscore"]++;
- setTeamScore("axis", game["axisscore"]);
- players = getentarray("player", "classname");
- for(i = 0; i < players.size; i++)
- {
- lpGuid = players[i] getGuid();
- if((isdefined(players[i].pers["team"])) && (players[i].pers["team"] == "axis"))
- winners = (winners + ";" + lpGuid + ";" + players[i].name);
- else if((isdefined(players[i].pers["team"])) && (players[i].pers["team"] == "allies"))
- losers = (losers + ";" + lpGuid + ";" + players[i].name);
- }
- logPrint("W;axis" + winners + "\n");
- logPrint("L;allies" + losers + "\n");
- }
- wait 7;
- if(game["matchstarted"])
- {
- checkScoreLimit();
- game["roundsplayed"]++;
- checkRoundLimit();
- }
- if(!game["matchstarted"] && roundwinner == "reset")
- {
- game["matchstarted"] = true;
- thread resetScores();
- game["roundsplayed"] = 0;
- }
- game["timepassed"] = game["timepassed"] + ((getTime() - level.starttime) / 1000) / 60.0;
- checkTimeLimit();
- if(level.mapended)
- return;
- level.mapended = true;
- // for all living players store their weapons
- players = getentarray("player", "classname");
- for(i = 0; i < players.size; i++)
- {
- player = players[i];
- if(isdefined(player.pers["team"]) && player.pers["team"] != "spectator" && player.sessionstate == "playing")
- {
- weapon1 = player getWeaponSlotWeapon("primary");
- weapon2 = player getWeaponSlotWeapon("primaryb");
- current = player getCurrentWeapon();
- // A new weapon has been selected
- if(isdefined(player.oldweapon))
- {
- player.pers["weapon1"] = player.pers["weapon"];
- player.pers["weapon2"] = "none";
- player.pers["spawnweapon"] = player.pers["weapon1"];
- } // No new weapons selected
- else
- {
- if(!maps\mp\gametypes\_weapons::isMainWeapon(weapon1) && !maps\mp\gametypes\_weapons::isMainWeapon(weapon2))
- {
- player.pers["weapon1"] = player.pers["weapon"];
- player.pers["weapon2"] = "none";
- }
- else if(maps\mp\gametypes\_weapons::isMainWeapon(weapon1) && !maps\mp\gametypes\_weapons::isMainWeapon(weapon2))
- {
- player.pers["weapon1"] = weapon1;
- player.pers["weapon2"] = "none";
- }
- else if(!maps\mp\gametypes\_weapons::isMainWeapon(weapon1) && maps\mp\gametypes\_weapons::isMainWeapon(weapon2))
- {
- player.pers["weapon1"] = weapon2;
- player.pers["weapon2"] = "none";
- }
- else
- {
- assert(maps\mp\gametypes\_weapons::isMainWeapon(weapon1) && maps\mp\gametypes\_weapons::isMainWeapon(weapon2));
- if(current == weapon2)
- {
- player.pers["weapon1"] = weapon2;
- player.pers["weapon2"] = weapon1;
- }
- else
- {
- player.pers["weapon1"] = weapon1;
- player.pers["weapon2"] = weapon2;
- }
- }
- player.pers["spawnweapon"] = player.pers["weapon1"];
- }
- }
- }
- level notify("restarting");
- map_restart(true);
- }
Add Comment
Please, Sign In to add comment