11.10.2009, 21:13
I dont understand, why it's not killing timer "chainsawt" ? I'm testing it on sa-mp 0.3 beta RC-8.
Code:
#define MAX_MINIGAME_SLOTS 5 new chainsawt; new chainsawt2; new countminigame1timer; new countminigame2timer; new countminigame3timer; new countminigame4timer; new PlayersInMinigame = 0; new MinigameStarted = 0; new MSInUse[MAX_MINIGAME_SLOTS]; dcmd_minigames(playerid, params[]){ #pragma unused params if(dUserINT(PlayerName2(playerid)).("InDrag") == 1) return CheckInDrag(playerid); if(dUserINT(PlayerName2(playerid)).("InRace") == 1) return CheckInRace(playerid); if(InHouse[playerid] > 0) return CheckInHouse(playerid); if(dUserINT(PlayerName2(playerid)).("InDm") == 1) return CheckInDM(playerid); if(dUserINT(PlayerName2(playerid)).("InMinigame") == 1) return SendClientMessage(playerid,COLOR_GRAD1,"*[INFO]: Jus jau zaidziate minigame!"); if(MinigameStarted == 1) return SendClientMessage(playerid,COLOR_GRAD1,"*[INFO]: Minigame jau prasidėjęs!"); new listitems[] = "*\tChainsaw"; ShowPlayerDialog(playerid,12,DIALOG_STYLE_LIST,"Minigames sąraљas:",listitems,"Pasirinkti","Atљaukti"); return 1; } forward StartMinigame(); public StartMinigame(){ countminigame1timer = SetTimer("countminigame3",1000,0); countminigame2timer = SetTimer("countminigame2",2000,0); countminigame3timer = SetTimer("countminigame1",3000,0); countminigame4timer = SetTimer("countminigamego",4000,0); return 1; } forward countminigame3(); public countminigame3(){ for(new i; i < MAX_PLAYERS; i++) { if(dUserINT(PlayerName2(i)).("InMinigame") == 1){ GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 3 ~g~-",1000,3); KillTimer(countminigame1timer); } } return 1; } forward countminigame2(); public countminigame2(){ for(new i; i < MAX_PLAYERS; i++) { if(dUserINT(PlayerName2(i)).("InMinigame") == 1){ GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 2 ~g~-",1000,3); KillTimer(countminigame2timer); } } return 1; } forward countminigame1(); public countminigame1(){ for(new i; i < MAX_PLAYERS; i++) { if(dUserINT(PlayerName2(i)).("InMinigame") == 1){ GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~ 1 ~g~-",1000,3); KillTimer(countminigame3timer); } } return 1; } forward countminigamego(); public countminigamego(){ for(new i; i < MAX_PLAYERS; i++) { if(dUserINT(PlayerName2(i)).("InMinigame") == 1){ GameTextForPlayer(i,"~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~g~-~y~]~g~-~g~GO GO GO~g~-~y~]~g~-",1000,3); TogglePlayerControllable(i,true); PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0); KillTimer(countminigame4timer); chainsawt = SetTimer("CheckPlayersInChainsawMinigame",1000,1); chainsawt2 = SetTimer("InChainsawMinigame",1000,1); } } return 1; } forward InChainsawMinigame(); public InChainsawMinigame(){ if(MinigameStarted == 1){ if(PlayersInMinigame <= 1){ KillTimer(chainsawt); PlayersInMinigame = 0; MinigameStarted = 0; KillTimer(chainsawt2); } } return 1; } forward CheckPlayersInChainsawMinigame(); public CheckPlayersInChainsawMinigame(){ new string[128]; if(PlayersInMinigame == 1){ for(new i; i < MAX_PLAYERS; i++) { if(dUserINT(PlayerName2(i)).("InMinigame") == 1){ format(string,sizeof(string),"*[INFO]: %s laimėjo Chainsaw minigame!",PlayerName2(i)); SendClientMessageToAll(COLOR_YELLOW,string); SendClientMessage(i,COLOR_GRAD1,"*[INFO]: Jūs laimėjote Chainsaw minigame. Gaunate [$50000] ir [300] patirties taљkų."); F_GivePlayerMoney(i,50000); dUserSetINT(PlayerName2(i)).("Exp",dUserINT(PlayerName2(i)).("Exp")+300); ResetPlayerWeapons(i); dUserSetINT(PlayerName2(i)).("SpawnNone",1); dUserSetINT(PlayerName2(i)).("InMinigame",0); TogglePlayerControllable(i,true); OnPlayerSpawn(i); } } } for(new x; x < MAX_MINIGAME_SLOTS; x++){ MSInUse[x] = 0; } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == 12){ new string[128]; if(response){ if(listitem == 0){ PlayersInMinigame++; if(PlayersInMinigame == 2){ MinigameStarted = 1; StartMinigame(); } format(string,sizeof(string),"*[INFO]: %s prisijungл б Chainsaw minigame.",PlayerName2(playerid)); SendClientMessageToAll(COLOR_YELLOW,string); ResetPlayerWeapons(playerid); SetPlayerHealth(playerid,100); SetPlayerArmour(playerid,100); GivePlayerWeapon(playerid,9,1); SetPlayerVirtualWorld(playerid,500); TogglePlayerControllable(playerid,false); if(MSInUse[0] == 0){ SetPlayerPos(playerid,1915.0157,2114.0127,10.8203); SetPlayerFacingAngle(playerid,45.7003); SetCameraBehindPlayer(playerid); MSInUse[0] = 1; dUserSetINT(PlayerName2(playerid)).("MSInUseID",0); dUserSetINT(PlayerName2(playerid)).("InMinigame",1); } else if(MSInUse[1] == 0){ SetPlayerPos(playerid,1913.9550,2159.1787,10.8203); SetPlayerFacingAngle(playerid,143.1479); SetCameraBehindPlayer(playerid); MSInUse[1] = 1; dUserSetINT(PlayerName2(playerid)).("MSInUseID",1); dUserSetINT(PlayerName2(playerid)).("InMinigame",1); } else if(MSInUse[2] == 0){ SetPlayerPos(playerid,1882.4536,2159.2205,10.8203); SetPlayerFacingAngle(playerid,229.9421); SetCameraBehindPlayer(playerid); MSInUse[2] = 1; dUserSetINT(PlayerName2(playerid)).("MSInUseID",2); dUserSetINT(PlayerName2(playerid)).("InMinigame",1); } else if(MSInUse[3] == 0){ SetPlayerPos(playerid,1881.7068,2114.2490,10.8203); SetPlayerFacingAngle(playerid,317.6763); SetCameraBehindPlayer(playerid); MSInUse[3] = 1; dUserSetINT(PlayerName2(playerid)).("MSInUseID",3); dUserSetINT(PlayerName2(playerid)).("InMinigame",1); } else if(MSInUse[4] == 0){ SetPlayerPos(playerid,1899.2458,2134.2429,10.8203); SetPlayerFacingAngle(playerid,217.0954); SetCameraBehindPlayer(playerid); MSInUse[4] = 1; dUserSetINT(PlayerName2(playerid)).("MSInUseID",4); dUserSetINT(PlayerName2(playerid)).("InMinigame",1); } } }else{ // nieko } return 1; } return 1; }