[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[FAQ]Задержка при вводе пароля
Дата: 12.06.2011, Воскресенье, 20:15:44 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Репутация: 815+
-Привет :)
Сейчас мы научимся делать задержку времени при заходе на сервер.
Думаю многие видели на серверах ;)
И так начнем.

1. Ко всем [color=blue]new добавляем:[/color]

Code
new Wait[MAX_PLAYERS];


2. Вставляем в OnPlayerConnect

Quote
Wait[playerid] = 10; // 10 количество секунт


3. Чуть выше, в этом же паблике, где if(fexist(string)) и далее подобные строки заменяем на это:

Quote
if(fexist(string))
{
new sti[MAX_STRING]; // Ток не смейтесь над названиями переменных....)
gPlayerAccount[playerid] = 1;
format(sti, sizeof(sti), "Тут ваше сообщение при логине, если хотите...\nЧтобы авторизироватся, подождите %d %s.", Wait[playerid], Stroka);
ShowPlayerDialog(playerid,55,DIALOG_STYLE_MSGBOX,"Логин",sti,"Авторизация","Авторизация");
}
else
{
new stii[MAX_STRING];
gPlayerAccount[playerid] = 0;
format(stii, sizeof(stii), "Тут ваш текст при реге, если хотите...\nЧтобы зарегестрироватся, подождите %d секунд.", Wait[playerid]);
ShowPlayerDialog(playerid,56,DIALOG_STYLE_MSGBOX,"Регистрация",stii,"Регистрация","Регистрация");


4. Ищем public SetPlayerUnjail , там где if(IsPlayerConnected(i)) вставляем наш код, сразу же после скобки({)

Code
if(Wait[i] > 0)  
{  
Wait[i]--;  
}


5. Вставляем в public OnDialogResponse

Code
if(dialogid == 55)  
{  
if(Wait[playerid] > 0)  
{  
new Stroka[10];  
switch(Wait[playerid])  
{  
case 1: Stroka = "секунду";  
case 2,3,4: Stroka = "секунды";  
default: Stroka = "секунд";  
}  
gPlayerAccount[playerid] = 1;  
new ti[300];  
format(ti, sizeof(ti), "Тут ваше сообщение при логине, если хотите...\nПодождите %d %s.", Wait[playerid], Stroka);  
ShowPlayerDialog(playerid,55,DIALOG_STYLE_MSGBOX,"Вход",ti,"Авторизация","Авторизация");  
}  
else  
{  
new loginmsg[256+1];  
format(loginmsg,256,"Введите свой пароль");  
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Авторизация",loginmsg,"Принять","Отмена"); // Там где 1, впишите ваш ид диалогового окна логина...  
}  
}  
if(dialogid == 56)  
{  
if(Wait[playerid] > 0)  
{  
new Stroka[10];  
switch(Wait[playerid])  
{  
case 1: Stroka = "секунду";  
case 2,3,4: Stroka = "секунды";  
default: Stroka = "секунд";  
}  
gPlayerAccount[playerid] = 0;  
new tii[300];  
format(tii, sizeof(tii), "Тут ваш текст при реге, если хотите...\nЧтобы зарегестрироватся, подождите %d %s.", Wait[playerid], Stroka);  
ShowPlayerDialog(playerid,56,DIALOG_STYLE_MSGBOX,"Регистрация",tii,"Регистрация","Регистрация");  
}  
else  
{  
new loginmsg[256+1];  
format(loginmsg,256,"Введите пароль для вашего аккаунта");  
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация",loginmsg,"Принять","Отмена"); // Там где 2, впишите ваш ид диалогового окна реги...  
}  
}


p.s Не откажусь от +
Дата: 14.06.2011, Вторник, 00:09:41 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 89
Репутация: 41+
Давно искал,как будет возможность дать + дам
Дата: 14.06.2011, Вторник, 14:02:23 | Сообщение # $NUMBER
Группа: VIP
Сообщений: 1021
Репутация: 815+
Sultan, Не за что :)
  • Страница 1 из 1
  • 1
Поиск: