OnDialogResponse НА ПОМОЩЬ!!!!!!!!! -
odyvan - 03.12.2009
Всем привет, вот взялся за диалог, всё работает на маленько - недоделанное УРА)))
--------
Код:
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) ///// При нажатии на отмену мне нужно чтобы возвращало перво-начальный диалог, и при нажатии на ок уже всё есть) Если кому не трудно то подскажите пожалуйста
Re: OnDialogResponse НА ПОМОЩЬ!!!!!!!!! -
xSlim - 03.12.2009
дык, чё тут не понятного
![Smiley](images/smilies/smile.png)
создай ещё одно диалоговое действие) где уже будет не Kick, а окно которое ты хочешь видеть (просто копируй его и вставь)
Re: OnDialogResponse НА ПОМОЩЬ!!!!!!!!! -
Serafim_sd - 03.12.2009
Код:
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
Re: OnDialogResponse НА ПОМОЩЬ!!!!!!!!! -
xSlim - 03.12.2009
ну я это и сказал, тока на словах
Re: OnDialogResponse НА ПОМОЩЬ!!!!!!!!! -
CrunkBankS - 03.12.2009
Вот возьми любой скрипт диалогов отсюда
http://forum.sa-mp.com/index.php?topic=122943.0 и разбери, там все понятно
Re: OnDialogResponse НА ПОМОЩЬ!!!!!!!!! -
MX_Master - 05.12.2009
некоторые начинающие скриптеры до этого ВАЩЕ в программировании не разбирались, поэтому им действительно сложно понимать все эти названия, функции, возвращаемые значения, параметры (: