Стили: 3 стиля диалогового окна. Стиль 0=DIALOG_STYLE_MSGBOX Стиль 1=DIALOG_STYLE_INPUT Стиль 2=DIALOG_STYLE_LIST
Примеры использования стилей: DIALOG_STYLE_MSGBOX(0) можно использовать для вывода сообщений. DIALOG_STYLE_INPUT(1) система регистрации и т.п. DIALOG_STYLE_LIST(2) Лист возможных опций
caption: Название диалога info: Текст в диалоговом окне button1: Первая кнопка например: Ок, Login button2: вторая кнопка .Пример:Cancel
Вот вам пример кода:
Code
if(strcmp(cmdtext, "/login", true) == 0) { new s[128]; new loginname[MAX_PLAYER_NAME]; GetPlayerName(playerid,loginname,MAX_PLAYER_NAME); format(s,sizeof(s),"Welcome again, %s!\n\nContiune to login!",loginname); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login Plase!",s,"Login","Cancel"); return 1; }
Добавка от меня а если вот так то текст будет по-русски:
Code
if(strcmp(cmdtext, "/login", true) == 0) { new s[128]; new loginname[MAX_PLAYER_NAME]; GetPlayerName(playerid,loginname,MAX_PLAYER_NAME); format(s,sizeof(s)," Здарова еще раз, %s!\n\n Зайди под своим ником!",loginname); ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT," Форма Логина!",s," Логин"," Отмена"); return 1; }
Проверено, пишет по-русски.. ладно продолжим туториал...Дальше вообще то отсутствует функция работы с диалоговым окном, т.е. что будет срабатывать если нажали на Ок.... в туториале который я переводил но шас попробую вам рассказать сам.
Вот паблик функции работы с ней:
Code
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Сейчас расскажу здесь что означает: playerid: ну я думаю вы поняли что это ид игрок. dialogid: ид диалогового окна response: проверка нажал ли игрок на первую кнопку или на вторую listitem: если выбрали стиль окна DIALOG_STYLE_LIST ,то это будет выбор опции находящего в списке inputtext[] это то что игрок ввел в поле, например, в системе регистрации.
Сейчас сделаю скрипт диалогового окна на примере стиля DIALOG_STYLE_MSGBOX(0).
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 0) { if(response) { //Здесь то что случится если игрок нажмет на кнопка1 } else { //А здесь если он нажмет кнопка2 } } }[/pwn]
Вот Вам не большой пример скрипта..
Кстати да при использования диалогового окна в случае необходимости нужно пользоваться: \b - backspae - забой \f - Form feed - перевод страницы \n - new line - новая строка \r - возврат каретки \t - табуляция \v - вертикальная табуляция \' - одиночная кавычка \" - двойные кавычки \? - вопросительный знак
Но вот проблема! Даже если пользователь ничего не ввел его всеравно регает! Как это исправить? Как сделать так чтобы окно выскакивало пока он не введет норм пароль?
ну так напиши всем, чтобы знали что делать...эгоист
Тсссс, тссс, отключите снисходительный тон. Помните: вас уже лишали права слова на этом форуме. Прошу прощения у всех кого я заебал или оскорбил (Кроме икварпа и чеза - вы ибланы). Великс ты красава.
C:\ÌîÄý\GF.pwn(4956) : error 004: function "CheckForLicenseTestCheckpoint" is not implemented C:\ÌîÄý\GF.pwn(4971) : error 004: function "CheckForLicenseTestCheckpoint" is not implemented C:\ÌîÄý\GF.pwn(5379) : error 004: function "IsADrivingTest" is not implemented C:\ÌîÄý\GF.pwn(6590) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6603) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6617) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6630) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6644) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6658) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6671) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6684) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6700) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(6713) : error 004: function "ClearChatbox" is not implemented C:\ÌîÄý\GF.pwn(7294) : error 004: function "SaveGas" is not implemented C:\ÌîÄý\GF.pwn(8703) : error 004: function "LoadGas" is not implemented C:\ÌîÄý\GF.pwn(12932) : error 004: function "RemoveRoadblock" is not implemented C:\ÌîÄý\GF.pwn(12945) : error 004: function "RemoveRoadblock" is not implemented C:\ÌîÄý\GF.pwn(14070) : error 004: function "SaveGas" is not implemented C:\ÌîÄý\GF.pwn(14136) : error 017: undefined symbol "RangeBan" C:\ÌîÄý\GF.pwn(36405) : error 079: inconsistent return types (array & non-array) C:\ÌîÄý\GF.pwn(36425) : error 079: inconsistent return types (array & non-array) C:\ÌîÄý\GF.pwn(36448) : error 079: inconsistent return types (array & non-array) C:\ÌîÄý\GF.pwn(36456) : error 079: inconsistent return types (array & non-array) C:\ÌîÄý\GF.pwn(36469) : error 079: inconsistent return types (array & non-array) C:\ÌîÄý\GF.pwn(36477) : error 079: inconsistent return types (array & non-array) C:\ÌîÄý\GF.pwn(36485) : error 079: inconsistent return types (array & non-array)
if(dialogid == 123 && response) { switch(listitem) { case 0: { //действие при нажатие на Работа 1 } case 1: { //действие при нажатие на Работа 2 } case 2: { //действие при нажатие на Работа 3 } } }
Из-за чего может быть такая штука? У меня окно ShowPlayerDialog типа DIALOG_STYLE_LIST и вот, когда прокручиваешь мышкой список до конца и отпускаешь мышь то через несколько секунд опять список переходит на начало, хотя я видел на некоторых серверах не переходит, а остаётся там где и оставили.
Из-за чего может быть такая штука? У меня окно ShowPlayerDialog типа DIALOG_STYLE_LIST и вот, когда прокручиваешь мышкой список до конца и отпускаешь мышь то через несколько секунд опять список переходит на начало, хотя я видел на некоторых серверах не переходит, а остаётся там где и оставили.
Диалог открываеться через пикап ? Если да то после нового появления пикпа а это где то 3 секунды - диалог сново выскакивает. на других серверах настраивают сам пикап. Или же DestroyPickup ) Wiki юзай )
Попробуй вместо 2(или что там у тебя) поставить вот эту цифру 4. Мы таким образом сменим тип пикапа , 4 - исчезнет и появиться через некоторое время. Но я канешно сомневаюсь в эотм способе но всё можетполучиться.. ) Тем более если учитывать проходимость канала хостинга на катором стоит или будет стоять твой сервер а так же интернет игрока вскрывающего диалог то времени достаточно на пользование самим диалогом. ) На локалке тебе просто кажеться что быстро )
Ах да . Вот тебе переведенный списочек типов. Попробуешь может ище какие нибуть.
Пикап не отображается.
1 Не pickupable, существует все время. (Подходит для полностью сценарий Доставка использованием OnPlayerPickUpPickup)
2 Pickupable, появляется снова через некоторое время.
3 Pickupable, появляется после смерти
4 Исчезает вскоре после того, создается (возможно, для оружия капли?)
5 Исчезает вскоре после того, создается (возможно, для оружия капли?)
8 Pickupable, но не имеет никакого эффекта. Исчезает автоматически.
11 Взрывает несколько секунд после создания (бомбы?)
12 Взрывает несколько секунд после создания.
13 Медленно decends на землю.
14 Pickupable, но только тогда, когда в транспортном средстве. Фолс через предметы, сделанные с CreateObject, и т.д.
15 Pickupable, появляется после смерти
19 Pickupable, но не имеет никакого эффекта (информация иконки?)
Поменял на 4, перескакиваний нет, но у меня пикап выдаёт оружие и полочается как только я что-то купил, пикап сразу пропадает и появляется только после того как я выйду и войду в магазин. За перевод спасобо, но PROMT у меня тоже есть
maximus-vrn Я кагбе не промт а гугл онлайн юзал Если такая обстановка не устраивает то тогда создавай таймер в SetPlayerUnJaill. По которому будет удалять пикаап и опять ставить его. ) Но там полная марока. Я уже объяснил что нечего страшного в такой фишке что у тебя происходит - нэт
SMOUK, А почему в списке описаний ID пикапов отсутствуют некоторые номера? Те которые отсутствуют они действующие, просто о них нет информации на Wiki?