В этом уроке мы сделаем отсчет времени, ну после того кто нибудь написал команду то опять можно будет ввести команду через 60 сек. как на скрине вы видите. И так приступим уроку! верху мода:
Code
#define MAS 0xAA3333AA #define MATTMSG SendClientMessage #define SPD ShowPlayerDialog forward One(); forward Two(); forward Three(); forward Go(); forward CountdownSpam(); new blockspam[MAX_PLAYERS];
Ищем public OnPlayerCommandText и туда добавляем:
Code
if(strcmp("/count11", cmdtext, true, 6) == 0) { if(blockspam[playerid]==0) { SetTimer("Three", 1000, 0); SetTimer("Two", 2000, 0); SetTimer("One", 3000, 0); SetTimer("Go", 4000, 0); blockspam[playerid]=1; SetTimer("CountdownSpam",60000,0); blockspam[playerid]=1; } else { SPD(playerid, 2, DIALOG_STYLE_MSGBOX, "{FF0000}Отсчет", "{FFFAFA}Вам прийдется подождать 60 сек. - пока что вы не можете сделать обратный отсчет", "Закрыть", "");
} return true; }
Примерно так должен быть public
Code
public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp("/count11", cmdtext, true, 6) == 0) { if(blockspam[playerid]==0) { SetTimer("Three", 1000, 0); SetTimer("Two", 2000, 0); SetTimer("One", 3000, 0); SetTimer("Go", 4000, 0); blockspam[playerid]=1; SetTimer("CountdownSpam",60000,0); blockspam[playerid]=1; } else { SPD(playerid, 2, DIALOG_STYLE_MSGBOX, "{FF0000}Отсчет", "{FFFAFA}Вам прийдется подождать 60 сек. - пока что вы не можете сделать обратный отсчет", "Закрыть", ""); } return true; } return false; }
После этого добавим public в любое место:
Code
public Three() { GameTextForAll("~b~3",3000,4); return true; }
public Two() { GameTextForAll("~b~2",3000,4); return true; }
public One() { GameTextForAll("~b~1",3000,4); return true; }
public Go() { GameTextForAll("~r~GO GO GO!!!",3000,4); return true; }
public CountdownSpam() { new playerid; blockspam[playerid]=0; return true; }