12:58
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 29
  • 1
  • 2
  • 3
  • 28
  • 29
  • »
Модератор форума: Alcoholik  
Форум SAMP о мультиплеерах для GTA. » Популярные моды » The Godfather » F.A.Q. по созданию регистрации / логина диалоговыми окнами (ShowPlayerDialog (0.3 SA-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"
mda
Как исправить?
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, + пока поставить немогу. :D
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, ты наверно криворукий fun у меня всё с первого раза поставилось и больше не выёпываеться crazy


RoSДата: Четверг, 29.10.2009, 23:59 | Сообщение # 15
Новенький
Группа: Пользователи
Сообщений: 45
Награды: 1
Город: Ros-aNgeleS
Репутация: 7
Замечания: 0%
Статус:
xSLiMx, Сматри когда регистрируеш у тебя выскакивает окно проста водиш свой пароль любой затем жмеш регистр зате ещё раз такоеже окно выскакивает ты водешь пароль такой же и жмёш логин вот и всё ты в игре...... там не нужны не какие чёртачки палочки теперь проста тупа пароль будеш вадить..... =)


Мод Entercom делал я и DеM(565902113)
Форум SAMP о мультиплеерах для GTA. » Популярные моды » The Godfather » F.A.Q. по созданию регистрации / логина диалоговыми окнами (ShowPlayerDialog (0.3 SA-MP))
  • Страница 1 из 29
  • 1
  • 2
  • 3
  • 28
  • 29
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua