Павел2033
Дебютант
Здраствуйте! У меня такая ошибка, что когда я захожу на сервер У меня стоит ограничение на 120 секнуд, но бывает, что и на 40 какойто баг. Когда я захожу на сервер то меня сразу кик или захожу, продолжаеться отчет до 0 и потом кикает.Прошу если легче убрать эту всю конитель и чтобы без таймера, или же исправить баг! Буду очень благодарен:
Вот код:
Вот код:
Код:
public OnPlayerConnect(playerid)
{
SetPVarInt(playerid,"LoginTimeCount",120);
SetPVarInt(playerid,"IsAuthed",false);
new DialogString[256];
format(DialogString, sizeof(DialogString),"Этот Ник зарегистрирован, \nВы должны войти в течении 120 секунд");
ShowPlayerDialog(playerid,LoginDialogID,DIALOG_STYLE_INPUT,"Login",DialogString,"Login","Cancel");
SetPVarInt(playerid,"LoginTimeCount",120);
SetTimerEx("LoginTime",1000,false,"d",playerid);
if(!dini_Exists(PlayerNameToFile(playerid)))
{
new RegisterDialogString[256];
format(RegisterDialogString, sizeof(RegisterDialogString),"Напишите свой пароль чтобы создать аккаунт");
ShowPlayerDialog(playerid,RegisterDialogID,DIALOG_STYLE_INPUT,"Регистрация",RegisterDialogString,"Ок","Отмена");
}
return true;
}
public LoginTime(playerid)
{
if(!GetPVarInt(playerid,"IsAuthed"))
{
new string[108];
switch(random(2))
{
case 0:
{
format(string,108,"~n~ ~n~ ~n~ ~n~ ~r~Login In %d sec",GetPVarInt(playerid,"LoginTimeCount"));
}
case 1:
{
format(string,108,"~n~ ~n~ ~n~ ~n~ ~y~Login In %d sec",GetPVarInt(playerid,"LoginTimeCount"));
}
}
GameTextForPlayer(playerid, string, 2000, 5);
SetPVarInt(playerid,"LoginTimeCount", GetPVarInt(playerid,"LoginTimeCount")-1 );
SetTimerEx("LoginTime",1000,0,"d",playerid);
if(GetPVarInt(playerid,"LoginTimeCount") < 1)
{
SendClientMessage(playerid, COLOR_MAIN, "Время На вход в аккаунт вышло, Сервер Кикнул вас");
GameTextForPlayer(playerid, "~n~ ~n~ ~n~ ~n~ Kicked", 5000, 5);
Kick(playerid);
SetPVarInt(playerid,"LoginTimeCount",120);
}
}
else
{
return true;
}
return true;
}
Последнее редактирование:
