OnDialogResponse НА ПОМОЩЬ!!!!!!!!!
#1

Всем привет, вот взялся за диалог, всё работает на маленько - недоделанное УРА)))
--------
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 
{ 
if(dialogid == 1337) 
{ 
if(response) 
{ 
// тут моя фукнция :p 
} 
else 
{ 
SendClientMessage(playerid, COLOR_GREY, "* Вы выбрали 'Отмена'. До свидания!"); 
Kick(playerid); 
} 
} 

if(dialogid == DIALOGID) 
{ 
if(response) 
{ 
if(listitem == 0) // Deagle + M4 
{ 
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Выберите локацию", "Локация 1\nЛокация 2\nЛокация 3", "Выбрать", "Отмена"); 
} 
if(listitem == 1) // Shotgun + MP5 
{ 
ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST, "Выберите локацию", "Локация 1\nЛокация 2\nЛокация 3", "Выбрать", "Отмена"); 
} 
if(listitem == 2) // Sniper + Silenced Pistol 
{ 
ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST, "Выберите локацию", "Локация 1\nЛокация 2\nЛокация 3", "Выбрать", "Отмена"); 
} 
} 
return 1; 
} 

if(dialogid == DIALOGID+1) // Deagle + M4 
{ 
if(response) 
{ 
if(listitem == 0) 
{ 
GivePlayerWeapon(playerid, 24, 9999); 
GivePlayerWeapon(playerid, 31, 9999); 
} 
if(listitem == 1) 
{ 
GivePlayerWeapon(playerid, 24, 9999); 
GivePlayerWeapon(playerid, 31, 9999); 
} 
if(listitem == 2) 
{ 
GivePlayerWeapon(playerid, 24, 9999); 
GivePlayerWeapon(playerid, 31, 9999); 
} 
} 
return 1; 
} 

if(dialogid == DIALOGID+2) // Shotgun + MP5 
{ 
if(response) 
{ 
if(listitem == 0) 
{ 
GivePlayerWeapon(playerid, 25, 9999); 
GivePlayerWeapon(playerid, 29, 9999); 
} 
if(listitem == 1) 
{ 
GivePlayerWeapon(playerid, 25, 9999); 
GivePlayerWeapon(playerid, 29, 9999); 
} 
if(listitem == 2) 
{ 
GivePlayerWeapon(playerid, 25, 9999); 
GivePlayerWeapon(playerid, 29, 9999); 
} 
} 
return 1; 
} 

if(dialogid == DIALOGID+3) // Sniper + Silenced Pistol 
{ 
if(response) 
{ 
if(listitem == 0) 
{ 
GivePlayerWeapon(playerid, 23, 9999); 
GivePlayerWeapon(playerid, 34, 9999); 
} 
if(listitem == 1) 
{ 
GivePlayerWeapon(playerid, 23, 9999); 
GivePlayerWeapon(playerid, 34, 9999); 
} 
if(listitem == 2) 
{ 
GivePlayerWeapon(playerid, 23, 9999); 
GivePlayerWeapon(playerid, 34, 9999); 
} 
} 
return 1; 
} 

return 0; 
}
------
у меня сначало появляется диалог "выбрать группу оружия" (1,2,3) //// При нажатии на отмену происходит кик.
при нажатии на соответствующую "группу оружия" появляется диалог с выбором локаций (1,2,3) ///// При нажатии на отмену мне нужно чтобы возвращало перво-начальный диалог, и при нажатии на ок уже всё есть) Если кому не трудно то подскажите пожалуйста
Reply
#2

дык, чё тут не понятного
создай ещё одно диалоговое действие) где уже будет не Kick, а окно которое ты хочешь видеть (просто копируй его и вставь)
Reply
#3

Код:
if(response) 
{ 
if(listitem == 0) // Deagle + M4 
{ 
ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Выберите локацию", "Локация 1\nЛокация 2\nЛокация 3", "Выбрать", "Отмена"); 
} 
if(listitem == 1) // Shotgun + MP5 
{ 
ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST, "Выберите локацию", "Локация 1\nЛокация 2\nЛокация 3", "Выбрать", "Отмена"); 
} 
if(listitem == 2) // Sniper + Silenced Pistol 
{ 
ShowPlayerDialog(playerid, DIALOGID+3, DIALOG_STYLE_LIST, "Выберите локацию", "Локация 1\nЛокация 2\nЛокация 3", "Выбрать", "Отмена"); 
} 
} 
else
{
 // вот тут добавь ShowPlayerDialog...
}
if(response)
{
}
выполняется если нажата левая кнопка (обычно это Ок или ДА)
а else будет выполнено если нажата отмена, т.е. тебе просто надо в это else поставить ShowPlayerDialog
Reply
#4

ну я это и сказал, тока на словах
Reply
#5

Вот возьми любой скрипт диалогов отсюда http://forum.sa-mp.com/index.php?topic=122943.0 и разбери, там все понятно
Reply
#6

некоторые начинающие скриптеры до этого ВАЩЕ в программировании не разбирались, поэтому им действительно сложно понимать все эти названия, функции, возвращаемые значения, параметры (:
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)