Доступ к архиву

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Смена стиля боя в диалоге

Статус
В этой теме нельзя размещать новые ответы.

Pelekan

Начинающий
Пользователь
Регистрация
19 Мар 2013
Сообщения
51
Лучшие ответы
0
Репутация
14
Здравствуйте все пользователи pawno-info.ru
Хочу показать команду новичкам как сделать смену стиля боя в диалоге. По ходу кода всё разъясню
И так начинаем.
PHP:
В public OnPlayerCommandText(playerid, cmdtext[])
//Сюда пишутся все команды сервера
Вставляем код
PHP:
if(strcmp("/fight",cmdtext,true) == 0) 
    { 
        ShowPlayerDialog(playerid,89,2,"OSDM Стиль боя","Нормальный(-100дмов)\nБоксёр(-100дмов)\nКунгФу(-100дмов)\nСкинХед(-100дмов)","Выбор","Отмена"); 
        return 1; 
    }
ShowPlayerDialog-показывает диалог игроку
playerid = ид игрока который будет показываться диалог((так и оставляем))
89 = ид диалога если вы пишите мод с 0 используем незанятый, если вставляете используйте числа по типу 5555 и.т.д.
2 - Диалог LISTEM
В начале мода советую объявить
Код:
#define DIALOG_STYLE_MSGBOX		0
#define DIALOG_STYLE_INPUT		1
#define DIALOG_STYLE_LIST		2
#define DIALOG_STYLE_PASSWORD	3
или же написать DIALOG_STYLE_LIST
Далее идёт название диалог, потом что выбирать в диалоге ну и выбор с отменой
Далее в
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
делаем так чтобы диалог работал
PHP:
if(dialogid == 89) 
    { 
        if(response) 
        { 
            if(listitem == 0) 
            { 
                SetPlayerFightingStyle(playerid,4); 
                GivePlayerMoney(playerid,-100); 
                SendClientMessage(playerid,COLOR_GREEN,"OSDM Стиль боя установлен на нормальный(-100дмов)"); 
            } 
              if(listitem == 1) 
            { 
                SetPlayerFightingStyle(playerid,5); 
                GivePlayerMoney(playerid,-100); 
                SendClientMessage(playerid,COLOR_GREEN,"OSDM Стиль боя установлен на боксёра(-100дмов)"); 
            } 
              if(listitem == 2) 
            { 
                SetPlayerFightingStyle(playerid,6); 
                GivePlayerMoney(playerid,-100); 
                SendClientMessage(playerid,COLOR_GREEN,"OSDM Стиль боя установлен на КунгФу(-100дмов)"); 
            } 
              if(listitem == 3) 
            { 
                SetPlayerFightingStyle(playerid,7); 
                GivePlayerMoney(playerid,-100); 
                SendClientMessage(playerid,COLOR_GREEN,"OSDM Стиль боя установлен на СкинХеда(-100дмов)"); 
            } 
            return 1; 
        } 
    }
Сначала " если ид диалога 89 выполняем , response нужен чтобы можно было нажать кнопку отмена"
listitem всегда начинается с 0.
ну и всё дальше просто
SetPlayerFightingStyle = делает игроку указанный стиль боя
Далее отнимаем у игрока деньги -100
И выводим сообщение о том что он выбрал .

Ну вот и всё.
Если будут вопросы пишите в тему.
Урок простой я знаю, но полезен новичкам разобраться с диалогами,вроде всё объяснил .
Спасибо за внимание(Pelekan)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу