#include #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 #define REF 0 #define TEAM1 1 #define TEAM2 2 #define PLAYERS GetMaxPlayers() #define COLOR_RED 0xFF0000AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_BLUE 0x0000BBAA #define COLOR_GREY 0xAFAFAFAA new gTeam[MAX_PLAYERS], weap2[MAX_PLAYERS]; //arma secondaria del player: // 0:MP5 // 1:M4 // 2:AK47 // 3:SHOTGUN new isselectingweap[MAX_PLAYERS]; // il player è nella schermata di selezione arma? new Text:weap2select, Text:yellowscore, Text:bluescore, Text:timer, Text:spectselect; new score[2]; new team1name[30] = "giallo"; new team2name[30] = "blu"; new rounds[2]; //round vinti new time = 480; new timer_textupdate; new isstarted; new randblocks[3]; new spec[MAX_PLAYERS]; new isspectating[MAX_PLAYERS]; new Float:spawns[10][5][3] = { { {2619.5771,-1474.7565,16.2734}, {2612.7605,-1472.5052,16.3128}, {2605.4270,-1474.8188,16.2676}, {2598.6855,-1473.0249,16.2825}, {2589.2410,-1472.0790,16.3066} }, { {2552.6169,-1732.3458,5.8184}, {2564.0471,-1737.3485,1.2146}, {2599.8655,-1731.5680,1.2040}, {2613.7952,-1734.3782,5.8074}, {2584.8518,-1757.5911,1.2477} }, { {2555.6262,-2199.4880,-0.6453}, {2564.4136,-2201.2495,-0.6538}, {2574.6997,-2201.4592,-0.6672}, {2591.9688,-2203.0779,-0.6543}, {2603.9907,-2203.9224,-0.6480} }, { {2253.4529,-1859.3894,-0.5637}, {2253.4060,-1853.0880,-0.5644}, {2250.1558,-1843.6338,-0.5610}, {2261.9329,-1845.0004,-0.5690}, {2268.2883,-1857.3252,-0.5691} }, { {2054.1370,-1933.2242,7.5542}, {2051.5332,-1938.2440,7.5586}, {2049.3071,-1943.9692,7.5547}, {2058.7205,-1950.7396,7.5610}, {2063.4246,-1948.6650,7.5519} }, { {2255.9863,-2155.8057,5.6290}, {2258.9907,-2152.1218,5.6620}, {2263.8813,-2146.4424,5.6847}, {2271.6189,-2154.6968,5.6311}, {2261.6638,-2162.4697,5.6308} }, { {1724.5719,-1794.4575,3.5657}, {1728.5861,-1789.2808,3.5387}, {1730.2488,-1784.5197,3.5609}, {1737.5974,-1789.2020,3.5640}, {1737.3716,-1794.6152,3.5575} }, { {1396.3591,-1719.6805,7.4670}, {1397.1129,-1716.0316,7.4617}, {1401.1434,-1711.9742,7.1694}, {1410.3632,-1712.8706,6.4707}, {1412.1736,-1718.8323,6.4284} }, { {1389.1011,-1511.5945,8.2371}, {1385.1399,-1512.1974,8.2443}, {1381.3280,-1512.5894,8.2429}, {1381.1021,-1521.5190,8.2353}, {1384.2041,-1522.3859,8.2348} }, { {1407.3745,-1309.0442,8.5723}, {1410.8390,-1308.1506,9.0087}, {1414.6289,-1308.3738,8.8583}, {1413.7987,-1313.7603,9.1225}, {1407.8077,-1318.2426,8.1603} } }; main() { print("\n----------------------------------"); print(" Underground Duels by Atti93 and Chiarboss"); print("----------------------------------\n"); } public OnGameModeInit() { new str[255]; SetGameModeText("Underground Duels"); UsePlayerPedAnims(); ShowNameTags(1); ShowPlayerMarkers(1); SetWorldTime(2); SetWeather(7); AddPlayerClass(264, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddPlayerClass(285, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); AddPlayerClass(287, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); weap2select = TextDrawCreate(40, 130, "Seleziona l'arma con SPAZIO (SALTO), ~n~conferma con MOUSE SX (FUOCO)"); TextDrawColor(weap2select, 0xFFFFFFDD); TextDrawFont(weap2select, 3); spectselect = TextDrawCreate(40, 130, "Cambia player da spectare SPAZIO (SALTO), ~n~spawna vicino a lui con MOUSE SX (FUOCO), ~n~torna alla class selection digitando /selclass"); TextDrawColor(spectselect, 0xFFFFFFDD); TextDrawFont(spectselect, 3); format(str, 255,"Team %s: %d [%d rounds]", team1name, score[0], rounds[0]); yellowscore = TextDrawCreate(200, 380, str); TextDrawColor(yellowscore, COLOR_YELLOW); TextDrawFont(yellowscore, 3); TextDrawUseBox(yellowscore,1); TextDrawTextSize(yellowscore,540.000000,400.000000); TextDrawSetShadow(yellowscore, 1); format(str, 255,"Team %s: %d [%d rounds]", team2name, score[1], rounds[1]); bluescore = TextDrawCreate(200, 394, str); TextDrawColor(bluescore, COLOR_BLUE); TextDrawFont(bluescore, 3); TextDrawUseBox(bluescore,1); TextDrawTextSize(bluescore,540.000000,420.000000); TextDrawSetShadow(bluescore, 1); format(str, 255,"TIMER: %d", TimeConvert(time)); timer = TextDrawCreate(200, 408, str); TextDrawUseBox(timer,1); TextDrawTextSize(timer,540.000000,440.000000); TextDrawFont(timer, 3); timer_textupdate = SetTimer("TextUpdate", 1000, 1); return 1; } TimeConvert(seconds) { new tmp[256]; new minutes = floatround(seconds/60); seconds -= minutes*60; format(tmp, sizeof(tmp), "%d:%02d", minutes, seconds); return tmp; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { TogglePlayerSpectating(playerid, 0); isselectingweap[playerid] = 1; SetPlayerPos(playerid, 1489.0846,-1719.7332,8.2402); SetPlayerFacingAngle(playerid, 167.7928); SetPlayerCameraPos(playerid, 1486.6761,-1724.4917,6.7431); SetPlayerCameraLookAt(playerid, 1489.0846,-1719.7332,8.2402); switch(classid) { case 0: // TEAM REF { gTeam[playerid] = REF; new str[255]; format(str, 255, "~n~~n~~n~~r~ TEAM REF"); GameTextForPlayer(playerid, str, 3000, 3); SetPlayerColor(playerid, COLOR_RED); } case 1: // TEAM 1 { gTeam[playerid] = TEAM1; new str[255]; format(str, 255, "~n~~n~~n~~y~ TEAM %s", team1name); GameTextForPlayer(playerid, str, 3000, 3); SetPlayerColor(playerid, COLOR_YELLOW); } case 2: // TEAM 2 { gTeam[playerid] = TEAM2; new str[255]; format(str, 255, "~n~~n~~n~~b~ TEAM %s", team2name); GameTextForPlayer(playerid, str, 3000, 3); SetPlayerColor(playerid, COLOR_BLUE); } } return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerConnect(playerid) { SendClientMessage(playerid, COLOR_GREY, " "); SendClientMessage(playerid, COLOR_GREY, " "); SendClientMessage(playerid, COLOR_GREY, " "); SendClientMessage(playerid, COLOR_GREY, "---------------------===============================---------------------"); SendClientMessage(playerid, COLOR_YELLOW, " .: Underground Duels v0.1 perenne by Atti93 e Chiarboss :."); SendClientMessage(playerid, COLOR_YELLOW, " .: Digita /help per una lista di comandi :."); SendClientMessage(playerid, COLOR_GREY, "---------------------===============================---------------------"); SendClientMessage(playerid, COLOR_GREY, " "); SendClientMessage(playerid, COLOR_GREY, " "); SendClientMessage(playerid, COLOR_GREY, " "); TextDrawShowForPlayer(playerid, yellowscore); TextDrawShowForPlayer(playerid, bluescore); TextDrawShowForPlayer(playerid, timer); return 1; } public OnPlayerDisconnect(playerid, reason) { SetPlayerVirtualWorld(playerid, 0); return 1; } public OnPlayerSpawn(playerid) { new rand=random(5); if(isselectingweap[playerid] == 1) { SetPlayerVirtualWorld(playerid, playerid+1); if(gTeam[playerid] == REF) { isselectingweap[playerid] = 0; SpawnPlayer(playerid); } else { TogglePlayerControllable(playerid, 0); SetPlayerPos(playerid, 1489.0846,-1719.7332,8.2402); SetPlayerFacingAngle(playerid, 167.7928); SetPlayerCameraPos(playerid, 1486.6761,-1724.4917,6.7431); SetPlayerCameraLookAt(playerid, 1489.0846,-1719.7332,8.2402); TextDrawShowForPlayer(playerid, weap2select); } } else { //TUTTO IL RESTO, COMPRESO IL TUO SISTEMA DI RANDOM SPAWNS TextDrawHideForPlayer(playerid, weap2select); SetPlayerVirtualWorld(playerid, 0); if(gTeam[playerid] != REF)WeaponArsenal(playerid); if(gTeam[playerid] == REF) { if(isspectating[playerid] != 255) { TogglePlayerSpectating(playerid, 1); spec[playerid] = -1; isspectating[playerid] = 1; TextDrawShowForPlayer(playerid, spectselect); SpectNextPlayer(playerid); } } } if(isstarted) { SetPlayerPos(playerid, spawns[randblocks[gTeam[playerid]]][rand][0], spawns[randblocks[gTeam[playerid]]][rand][1], spawns[randblocks[gTeam[playerid]]][rand][2]); SetCameraBehindPlayer(playerid); } return 1; } stock SpectNextPlayer(playerid) { spec[playerid]++; if(spec[playerid] == GetMaxPlayers()+1) { spec[playerid] = -1; return SpectNextPlayer(playerid); } if(IsPlayerConnected(spec[playerid]) && gTeam[spec[playerid]] != REF) { PlayerSpectatePlayer(playerid, spec[playerid]); new str[255], pname[MAX_PLAYER_NAME]; GetPlayerName(spec[playerid], pname, MAX_PLAYER_NAME); format(str, 255, "Spectating: %s", pname); SendClientMessage(playerid, COLOR_RED, str); } else if (spec[playerid] != GetMaxPlayers() - 2) return SpectNextPlayer(playerid); return 0; } stock WeaponArsenal(playerid){ GivePlayerWeapon(playerid, WEAPON_DEAGLE, 999999); switch(weap2[playerid]){ case 0:GivePlayerWeapon(playerid, WEAPON_MP5, 999999); case 1:GivePlayerWeapon(playerid, WEAPON_M4, 999999); case 2:GivePlayerWeapon(playerid, WEAPON_AK47, 999999); case 3:GivePlayerWeapon(playerid, WEAPON_SHOTGUN, 999999);} } public OnPlayerDeath(playerid, killerid, reason) { SendDeathMessage(killerid, playerid, reason); if(isstarted) { if(killerid!=INVALID_PLAYER_ID) { if(gTeam[killerid] != REF && gTeam[playerid]!= REF && gTeam[killerid] != gTeam[playerid]) { SetPlayerScore(killerid, GetPlayerScore(killerid)+1); if(gTeam[killerid]==TEAM1) score[0]++; else if(gTeam[killerid]==TEAM2) score[1]++; new str[255]; format(str, 255, "UD: %s %d[%d] vs %s %d[%d]", team1name, score[0], rounds[0], team2name, score[1], rounds[1]); SetGameModeText(str); } else if(gTeam[playerid] == REF) TextDrawHideForPlayer(playerid, spectselect); } } return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerPrivmsg(playerid, recieverid, text[]) { return 1; } stock RandomControl() { new Float:arrspawn[3][3]; for(new i=0,h=0,f=0,g=0;i<5,g<5,h<3,f<3;i++,h++,f++,g++)randblocks[h]=random(sizeof(spawns)),arrspawn[h][f]+=spawns[randblocks[h]][i][f]; if(GetDistanceBetweenPoints(arrspawn[1][0],arrspawn[2][0],arrspawn[1][1],arrspawn[2][1],arrspawn[1][2],arrspawn[2][2]) <= 148.50)return RandomControl(); return 1; } stock GetDistanceBetweenPoints(Float:x1,Float:x2,Float:y1,Float:y2,Float:z1,Float:z2){new Float:dis= floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));return floatround(dis);} //---- dcmd_help(playerid, params[]) { #pragma unused params SendClientMessage(playerid, 0xAA3333AA, "Ecco una lista dei comandi utilizzabili:"); if(IsPlayerAdmin(playerid)) { SendClientMessage(playerid, 0xAA3333AA, "/score [TEAM] [SCORE]; [TEAM] o=orange, b=blue; [SCORE] punteggio."); SendClientMessage(playerid, 0xAA3333AA, "/rounds [TEAM] [ROUNDS]; [TEAM] o=orange, b=blue; [ROUNDS] rounds vinti (max 2)."); SendClientMessage(playerid, 0xAA3333AA, "/timer [TIME]; [TIME] tempo in secondi restante alla fine del round."); SendClientMessage(playerid, 0xAA3333AA, "/start; fa partire la cw."); SendClientMessage(playerid, 0xAA3333AA, "/stop; sospende la cw."); SendClientMessage(playerid, 0xAA3333AA, "/spawnall; rispawna tutti i players."); } if(gTeam[playerid] != REF) { SendClientMessage(playerid, 0xAA3333AA, "/name [NAME]; [NAME] nome del tuo team."); } return 1; } //---- dcmd_start(playerid, params[]) { #pragma unused params if(IsPlayerAdmin(playerid)) { RandomControl(); isstarted = 1; GameTextForAll("CW avviata!", 3500, 4); for(new i=0;i 0) { if(strcmp(ob, "o", false, 1) == 0) { score[0] = cmdscore; format(str, 255, "L'admin setta il punteggio del team %s a %d.", team1name, cmdscore); SendClientMessageToAll(0xAA3333AA, str); } else if(strcmp(ob, "b", false, 1) == 0) { score[1] = cmdscore; format(str, 255, "L'admin setta il punteggio del team %s a %d.", team2name, cmdscore); SendClientMessageToAll(0xAA3333AA, str); } else { SendClientMessage(playerid, 0xAA3333AA, "[TEAM] non valido."); } } else { SendClientMessage(playerid, 0xAA3333AA, "[SCORE] non valido."); } } } return 1; } //---- dcmd_rounds(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new str[255], ob[30], cmdrounds; if(!sscanf(params, "sd", ob, cmdrounds)) { SendClientMessage(playerid, 0xAA3333AA, "USO: /score [TEAM] [SCORE]; [TEAM] o=orange, b=blue; [ROUNDS] rounds vinti (max 2)."); } else { if(cmdrounds > 0 || cmdrounds < 2) { if(strcmp(ob, "o", false, 1) == 0) { rounds[0] = cmdrounds; format(str, 255, "L'admin setta il numero di rounds vinti dal team %s a %d.", team1name, cmdrounds); SendClientMessageToAll(0xAA3333AA, str); } else if(strcmp(ob, "b", false, 1) == 0) { rounds[1] = cmdrounds; format(str, 255, "L'admin setta il numero di rounds vinti dal team %s a %d.", team2name, cmdrounds); SendClientMessageToAll(0xAA3333AA, str); } else { SendClientMessage(playerid, 0xAA3333AA, "[TEAM] non valido."); } } else { SendClientMessage(playerid, 0xAA3333AA, "[ROUNDS] non validi."); } } } return 1; } //---- dcmd_timer(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new str[255], cmdtime; if(!sscanf(params, "d", cmdtime)) { SendClientMessage(playerid, 0xAA3333AA, "USO: /timer [TIME]; [TIME] tempo restante alla fine del round."); } else { if(cmdtime <= 0) { SendClientMessage(playerid, 0xAA3333AA, "[TIME] non valido."); } else { time = cmdtime; format(str, 255, "L'admin setta il tempo restante alla fine del round a %d secondi.", cmdtime); SendClientMessageToAll(0xAA3333AA, str); } } } return 1; } //---- dcmd_name(playerid, params[]) { if(gTeam[playerid] == REF) { SendClientMessage(playerid, 0xAA3333AA, "Il tuo team non può selezionare un nome."); } else { new str[255], cmdname[255]; if(!sscanf(params, "s", cmdname)) { SendClientMessage(playerid, 0xAA3333AA, "USO: /name [NAME]; [NAME] nome del team."); } else { if(strlen(cmdname) > 29) { SendClientMessage(playerid, 0xAA3333AA, "[NAME] non valido."); } else { switch(gTeam[playerid]) { case TEAM1: { format(team1name, sizeof(team1name), cmdname); format(str, 255, "Nome del team giallo settato a %s", cmdname); SendClientMessageToAll(COLOR_YELLOW, str); } case TEAM2: { format(team2name, sizeof(team2name), cmdname); format(str, 255, "Nome del team blu settato a %s", cmdname); SendClientMessageToAll(COLOR_BLUE, str); } } } } } return 1; } //---- public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(help, 4, cmdtext); dcmd(start, 5, cmdtext); dcmd(selclass, 8, cmdtext); dcmd(stop, 4, cmdtext); dcmd(score, 5, cmdtext); dcmd(rounds, 6, cmdtext); dcmd(timer, 5, cmdtext); dcmd(name, 4, cmdtext); dcmd(spawnall, 8, cmdtext); return 0; } public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } IsKeyJustDown(key, newkeys, oldkeys) { if((newkeys & key) && !(oldkeys & key)) return 1; return 0; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(isselectingweap[playerid] == 1 && gTeam[playerid]!= REF) { if(IsKeyJustDown(KEY_JUMP,newkeys,oldkeys)) { if(weap2[playerid] == 0) { weap2[playerid] = 3; } else { weap2[playerid]--; } switch(gTeam[playerid]) { // nuovo gametext case TEAM1: { switch(weap2[playerid]) { case 0: { new str[255]; format(str, 255, "~n~~n~~n~~y~ TEAM %s ~n~~g~ ARMI: ~n~ DESERT EAGLE - MP5", team1name); GameTextForPlayer(playerid, str, 3000, 3); } case 1: { new str[255]; format(str, 255, "~n~~n~~n~~y~ TEAM %s ~n~~g~ ARMI: ~n~ DESERT EAGLE - M4", team1name); GameTextForPlayer(playerid, str, 3000, 3); } case 2: { new str[255]; format(str, 255, "~n~~n~~n~~y~ TEAM %s ~n~~g~ ARMI: ~n~ DESERT EAGLE - AK47", team1name); GameTextForPlayer(playerid, str, 3000, 3); } case 3: { new str[255]; format(str, 255, "~n~~n~~n~~y~ TEAM %s ~n~~g~ ARMI: ~n~ DESERT EAGLE - SHOTGUN", team1name); GameTextForPlayer(playerid, str, 3000, 3); } } } case TEAM2: { switch(weap2[playerid]) { case 0: { new str[255]; format(str, 255, "~n~~n~~n~~b~ TEAM %s ~n~~g~ ARMI: ~n~ DESERT EAGLE - MP5", team2name); GameTextForPlayer(playerid, str, 3000, 3); } case 1: { new str[255]; format(str, 255, "~n~~n~~n~~b~ TEAM %s ~n~~g~ ARMI: ~n~ DESERT EAGLE - M4", team2name); GameTextForPlayer(playerid, str, 3000, 3); } case 2: { new str[255]; format(str, 255, "~n~~n~~n~~b~ TEAM %s ~n~~g~ ARMI: ~n~ DESERT EAGLE - AK47", team2name); GameTextForPlayer(playerid, str, 3000, 3); } case 3: { new str[255]; format(str, 255, "~n~~n~~n~~b~ TEAM %s ~n~~g~ ARMI: ~n~ DESERT EAGLE - SHOTGUN", team2name); GameTextForPlayer(playerid, str, 3000, 3); } } } } } if(IsKeyJustDown(KEY_FIRE,newkeys,oldkeys)) { isselectingweap[playerid] = 0; SpawnPlayer(playerid); } } else if(gTeam[playerid] == REF && isspectating[playerid] == 1) { if(IsKeyJustDown(KEY_JUMP,newkeys,oldkeys)) { SpectNextPlayer(playerid); } else if(IsKeyJustDown(KEY_FIRE,newkeys,oldkeys)) { isspectating[playerid] = 255; TogglePlayerSpectating(playerid, 0); TextDrawHideForPlayer(playerid, spectselect); new Float:x, Float:y, Float:z; GetPlayerPos(spec[playerid], x, y, z); SetPlayerPos(playerid, x+2, y+2, z+1); } } } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } forward FineRound(winner); public FineRound(winner) // si lavora con i TEAM definiti, per non incasinare tutto con numeri incomprensibili { new str[255]; if(winner == TEAM1) { format(str, 255, "Vince il round la squadra %s!", team1name); SendClientMessageToAll(COLOR_RED, " "); SendClientMessageToAll(COLOR_RED, " "); SendClientMessageToAll(COLOR_YELLOW, str); SendClientMessageToAll(COLOR_RED, " "); SendClientMessageToAll(COLOR_RED, " "); format(str, 255, "~r~ROUND TERMINATO ~n~~y~BEST KILLER: %s", GetBestKillerName()); GameTextForAll(str, 5000, 4); SetTimer("NewRound", 5000, 0); rounds[0]++; if(rounds[0] == 3) { SetTimerEx("FineGmode", 3000, 0, "d", TEAM1); } time=480; } else if(winner == TEAM2) { format(str, 255, "Vince il round la squadra %s!", team2name); SendClientMessageToAll(COLOR_RED, " "); SendClientMessageToAll(COLOR_RED, " "); SendClientMessageToAll(COLOR_BLUE, str); SendClientMessageToAll(COLOR_RED, " "); SendClientMessageToAll(COLOR_RED, " "); format(str, 255, "~r~ROUND TERMINATO ~n~~b~BEST KILLER: %s", GetBestKillerName()); GameTextForAll(str, 5000, 4); SetTimer("NewRound", 5000, 0); rounds[1]++; if(rounds[1] == 3) { SetTimerEx("FineGmode", 3000, 0, "d", TEAM2); } time=480; } return 1; } stock GetBestKillerName() { new bkillid; new tmpscore; for(new i; i= tmpscore) tmpscore = GetPlayerScore(i), bkillid = i; new pname[MAX_PLAYER_NAME]; GetPlayerName(bkillid, pname, MAX_PLAYER_NAME); return pname; } forward NewRound(); public NewRound() { RandomControl(); for(new i; iscore[1]) { SetTimerEx("FineRound", 3000, 0, "d", TEAM1); for(new i; iscore[0]) { SetTimerEx("FineRound", 3000, 0, "d", TEAM2); for(new i; i