 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
F.A.Q. по созданию регистрации / логина диалоговыми окнами
| |
| EdYa | Дата: Среда, 28.10.2009, 22:14 | Сообщение # 1 |
|
Местный
Группа:
Продвинутые
Сообщений: 737
Награды: 16
Город: Таллинн
Репутация: 259
Замечания: 20%
Статус: 
| Сейчас я вам расскажу, как сделать логин и регистрацию через диалоги (ShowPlayerDialog)
Для начала изменим 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]"); return 1; }
И заменяем на
Code if(fexist(string)) { 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Третья строка)
Если у вас возникли проблемы или вопросы, спрашивайте ниже
Регистрация на диалоговых окнах с выбором пола и вводом возраста.
|
| |
|
|
| Fusion | Дата: Среда, 28.10.2009, 22:24 | Сообщение # 2 |
|
Группа:
Продвинутые
Сообщений: 293
Награды: 6
Город: еоу
Репутация: 63
Замечания: 0%
Статус: 
| Хороший FAQ, маладец +
[FS/INC] fN Anti-Cheat 33% [FS] Pizza 24% http://samp-rus.com/forum/8-11127-1 [FS] GPS System 100% http://www.samp-rus.com/forum/8-11100-1#195878 [FS] CarInfo 100 % [GM] TDM 0.1 Разработчики : Fusion Тестеры : None Готовность : 5% [Pause] Требуются тестеры и скриптер
Дорабатываю,модифицирую,исправляю моды Godfather,обращатся в асю -_-
Пишу FS за $
|
| |
|
|
| Drago_Jeka | Дата: Среда, 28.10.2009, 22:42 | Сообщение # 3 |
|
Группа:
I'm V.I.P.
Сообщений: 754
Награды: 41
Город: Где-то там...
Замечания: 0%
Статус: 
| во спасибо + все за мну сделал
|
| |
|
|
| -SenT- | Дата: Четверг, 29.10.2009, 00:33 | Сообщение # 4 |
|
Новенький
Группа:
Пользователи
Сообщений: 34
Награды: 1
Город: tallinn
Репутация: 2
Замечания: 0%
Статус: 
| У меня 6 ерорров! error 017: undefined symbol "ShowPlayerDialog" Как исправить? P.S я новичок в ПАВН
|
| |
|
|
| EdYa | Дата: Четверг, 29.10.2009, 00:43 | Сообщение # 5 |
|
Местный
Группа:
Продвинутые
Сообщений: 737
Награды: 16
Город: Таллинн
Репутация: 259
Замечания: 20%
Статус: 
| Используй при компиляции инклуды от 0.3
|
| |
|
|
| Drago_Jeka | Дата: Четверг, 29.10.2009, 01:35 | Сообщение # 6 |
|
Группа:
I'm V.I.P.
Сообщений: 754
Награды: 41
Город: Где-то там...
Замечания: 0%
Статус: 
| EdYa, опробывал всё отлично как по мне то лучше через [pwn]public OnPlayerRequestClass[/pwn]
|
| |
|
|
| EdYa | Дата: Четверг, 29.10.2009, 01:39 | Сообщение # 7 |
|
Местный
Группа:
Продвинутые
Сообщений: 737
Награды: 16
Город: Таллинн
Репутация: 259
Замечания: 20%
Статус: 
| Drago_Jeka, ну да, я написал же выше, что если через OnPlayerConnect, то не факт, что у игрока прогрузится выбор персонажа)
|
| |
|
|
| xSLiMx | Дата: Четверг, 29.10.2009, 07:47 | Сообщение # 8 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус: 
| хм... такой вопрос... вот когда регестрируюсь... пароль ставит с командой /register можно ли это убрать?
|
| |
|
|
| RoS | Дата: Четверг, 29.10.2009, 14:57 | Сообщение # 9 |
|
Новенький
Группа:
Пользователи
Сообщений: 45
Награды: 1
Город: Ros-aNgeleS
Репутация: 7
Замечания: 0%
Статус: 
| xSLiMx, не можно а нужно у меня проблема помогите пж когда регаюсь а затем вожу лог всё нармально заходит, а вот когда выхожу и опять захожу вожу лог и у меня тупа проста синий экран... http://imagehost.spark-media.ru/i/DD6FB849-EEAE-D0ED-3891-A35348361646.png Добавлено (29.10.2009, 14:57) --------------------------------------------- xSLiMx, /login тоже можеш снисти
Мод Entercom делал я и DеM(565902113)
|
| |
|
|
| ToYo | Дата: Четверг, 29.10.2009, 15:37 | Сообщение # 10 |
|
Группа:
Продвинутые
Сообщений: 309
Награды: 21
Город: Киев
Замечания: 0%
Статус: 
| ы, EdYa молодец, полезный FAQ, + пока поставить немогу.
|
| |
|
|
| EdYa | Дата: Четверг, 29.10.2009, 18:03 | Сообщение # 11 |
|
Местный
Группа:
Продвинутые
Сообщений: 737
Награды: 16
Город: Таллинн
Репутация: 259
Замечания: 20%
Статус: 
| RoS, попробуй перенести показ первого окна в OnPlayerRequestClass. Если надо, распишу подробнее
|
| |
|
|
| RoS | Дата: Четверг, 29.10.2009, 18:29 | Сообщение # 12 |
|
Новенький
Группа:
Пользователи
Сообщений: 45
Награды: 1
Город: Ros-aNgeleS
Репутация: 7
Замечания: 0%
Статус: 
| EdYa, паши если не сложно
Мод Entercom делал я и DеM(565902113)
|
| |
|
|
| xSLiMx | Дата: Четверг, 29.10.2009, 23:22 | Сообщение # 13 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус: 
| Такс... помогите с такой херью........ када в окошке пишу парольку, выводит на окно с логином. Там (где логин) надо ввести пароль БЕЗ ЧЕТВЕРТОЙ ЦИФРЫ. Например: Йа ввел пароль 123456, в логине надо ввести 12356... как это исправить дам +
|
| |
|
|
| Drago_Jeka | Дата: Четверг, 29.10.2009, 23:54 | Сообщение # 14 |
|
Группа:
I'm V.I.P.
Сообщений: 754
Награды: 41
Город: Где-то там...
Замечания: 0%
Статус: 
| xSLiMx, ты наверно криворукий у меня всё с первого раза поставилось и больше не выёпываеться
|
| |
|
|
| RoS | Дата: Четверг, 29.10.2009, 23:59 | Сообщение # 15 |
|
Новенький
Группа:
Пользователи
Сообщений: 45
Награды: 1
Город: Ros-aNgeleS
Репутация: 7
Замечания: 0%
Статус: 
| xSLiMx, Сматри когда регистрируеш у тебя выскакивает окно проста водиш свой пароль любой затем жмеш регистр зате ещё раз такоеже окно выскакивает ты водешь пароль такой же и жмёш логин вот и всё ты в игре...... там не нужны не какие чёртачки палочки теперь проста тупа пароль будеш вадить..... =)
Мод Entercom делал я и DеM(565902113)
|
| |
|
|
|
 |
|
 | |
| |
|