Пт, 17.11.24, 17:57
Скачать бесплано Читы, Программы, хаки!Приветствую Вас Гость | RSS
Главная | Создания регистрации в диалоговых окнах - Коды, прохождение, секреты игр | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Link 
Коды, прохождение, секреты игр » GTA SAMP » Wiki - Samp » Создания регистрации в диалоговых окнах
Создания регистрации в диалоговых окнах
LinkДата: Сб, 10.07.17, 00:30 | Сообщение # 1
Administrator of OnlineGamez
Группа:

Активность:

Репутация:

Личная информация

|Группа:Проверенные

|Пол:Мужчина

|Сообщений:100

|Город:

|ID - Link-а :78

|Репутация :(13)

|Link сейчас:

За уважение народа За хорошую посещаемость на форуме
Для начала изменим OnPlayerConnect
Находим такие строки:

Code


if(fexist(string))
{
gPlayerAccount[playerid] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "SERVER: That nick is registered, please login");
SendClientMessage(playerid, COLOR_WHITE, "HINT: You can now login by typing /login <password>");
return 1;
}
else
{
gPlayerAccount[playerid] = 0;
SendClientMessage(playerid,COLOR_YELLOW,"You dont have an account. Please register by using /register [password]"); // Чёто типо этого тут:D
return 1;
}  

И заменяем на

Code

{
gPlayerAccount[playerid] = 1;
new loginmsg[256+1];
format(loginmsg,256,"Сообщение, которое будет отображено внутри диалогового окна");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Название окна",loginmsg,"Левая кнопка(логин)","Правка кнопка(отмена)");
}
else
{
gPlayerAccount[playerid] = 0;
new loginmsg[256+1];
format(loginmsg,256,"Сообщение, которое будет отображено внутри диалогового окна");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Название окна",loginmsg,"Левая кнопка(регистрация)","Правка кнопка(отмена)");
}  

Итак, диалоговые окна созданы, теперь надо определить их действия
Добавляем public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Code

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new tpass[256];//преобразованный пароль
if(dialogid == 1)//итак, наше первое окно
{
if(response) // при нажатие на левую кнопку (логин)
{
if(!strlen(inputtext))// если оставляет пустую строку, выводим ему опять окно
{
new loginmsg[256+1];
format(loginmsg,256,"Сообщение, которое будет отображено внутри диалогового окна");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Название окна",loginmsg,"Левая кнопка(логин)","Правка кнопка(отмена)");
return 1;
}
strmid(tpass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tpass);
OnPlayerLogin(playerid,tpass);
}
else // если нажимает правую кнопку (отмена)
{
Kick(playerid); // здесь вы уже сами выбирайте, но я кикну его, ибо я хочу, чтобы он авторизовывался
}
}
else if(dialogid == 2)//переходим ко второму диалоговому окну (регистрация)
{
if(response)// всё так-же, это нажатие левой кнопки (регистрация)
{
if(!strlen(inputtext)) // если поле осталось пустым, выводим ему опять диалоговое окно
{
new loginmsg[256+1];
format(loginmsg,256,"Сообщение, которое будет отображено внутри диалогового окна");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Название окна",loginmsg,"Левая кнопка(регистрация)","Правка кнопка(отмена)");
return 1;
}
strmid(tpass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tpass);
OnPlayerRegister(playerid,tpass);
// теперь давайте отправим его на логин
new loginmsg[256+1];
format(loginmsg,256,"Сообщение, которое будет отображено внутри диалогового окна");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Название окна",loginmsg,"Левая кнопка(логин)","Правка кнопка(отмена)");
}
else // нажатие правой кнопки (отмена)
{
Kick(playerid); // мне опять это не нравится и я его кикаю.
}
}
return 1;
}  

Теперь надо сделать так, чтобы диалоговое окно не закрывалось при неправильном пароле
Находим в OnPlayerLogin

Code

gPlayerLogTries[playerid] += 1;
if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }  

и заменяем на

Code

gPlayerLogTries[playerid] += 1;
new loginmsg[256+1];
format(loginmsg,256,"Сообщение, которое будет отображено внутри диалогового окна");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Название окна",loginmsg,"Левая кнопка(логин)","Правка кнопка(отмена)");
if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }  

В данной системе диалоговое окно будет показываться игроку сразу при подключении и не факт, что у него всё прогрузится. Так что если вы останетесь недовольными, можете перенести 1-ый показ диалогового окна в OnPlayerRequestClass

(Если хотите, чтобы сообщение внутри диалогового окна переходило на следующую строку, добавляем \n Пример:
Первая строка\nВторая строка\nТретья строка)




Российская Федерация
Коды, прохождение, секреты игр » GTA SAMP » Wiki - Samp » Создания регистрации в диалоговых окнах
Страница 1 из 11
Поиск:

Onlinegamez.at.ua | (c) | 2009-2011
Все права защищены! 2009-2011
Сайт создан в системе uCoz |
Карта сайта | Карта форума