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

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

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

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

[Урок] Создание команды /bar в любом месте

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

Павел57rus

Умник
Выкладываю специально для новичков, желательно у кого мод RLS. Потому что я её переделывал именно под этот мод.​

За основу брал команду /kfc, автор которой "Estelle".

Итак:
1. Ко всем forward'ам
PHP:
forward IsAtKFC(playerid);
2. В самый конец мода добавим stock
PHP:
stock IsAtKFC(playerid)
 {
 if(IsPlayerConnected(playerid))
 {
 if(PlayerToPoint(5.0,playerid,1509.0759,-1571.5166,24.8713)|| PlayerToPoint(5.0,playerid,1507.3114,-1561.6696,30.3244))
 {
 return 1;
 }
 }
 return 0;
 }
3. Добавим саму команду в public OnPlayerCommandText
PHP:
if(strcmp(cmd, "/bar", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (IsAtKFC(playerid))
    {
    ShowPlayerDialog(playerid,20122,DIALOG_STYLE_LIST,".:. Вам предложил бармен .:.","Вино <200вирт>\nПиво <150вирт>\nАбцсент <325вирт>","Хорошо","Отказаться");
    return 1;
    }
    else { SendClientMessage(playerid, COLOR_GREY,"Вы слишком далеко."); }
    }
    }
4. Создаем сам диалог к команде /bar, ищем public OnDialogResponse
PHP:
if(dialogid == 20122)
 {
 if(response)
 {
 if(listitem == 0)
 {
 if(PlayerInfo[playerid][pCash] < 200) return SendClientMessage(playerid, COLOR_GREY, "Бармен не даёт вам выпить! Вам не чем заплатить... ");
    PlayerInfo[playerid][pCash] -=200;
    new Float: health;
    GetPlayerHealth(playerid, health);
    if(health < 100)
    {
        SetPlayerHealthAC(playerid, health + 13.0);
        PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
        return 1;
    }
    else
    {
        SendClientMessage(playerid,COLOR_LIGHTRED,"Вы уже достаточно выпили");
    }
 }
 if(listitem == 1)
 {
 if(PlayerInfo[playerid][pCash] < 150) return SendClientMessage(playerid, COLOR_GREY, "Бармен не даёт вам выпить! Вам не чем заплатить... ");
    PlayerInfo[playerid][pCash] -=150;
    new Float: health;
    GetPlayerHealth(playerid, health);
    if(health < 100)
    {
        SetPlayerHealthAC(playerid, health + 20.0);
        PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
        return 1;
    }
    else
    {
        SendClientMessage(playerid,COLOR_LIGHTRED,"Вы уже достаточно выпили");
    }
 }
 if(listitem == 2)
 {
 if(PlayerInfo[playerid][pCash] < 325) return SendClientMessage(playerid, COLOR_GREY, "Бармен не даёт вам выпить! Вам не чем заплатить... ");
    PlayerInfo[playerid][pCash] -=325;
    new Float: health;
    GetPlayerHealth(playerid, health);
    if(health < 100)
    {
        SetPlayerHealthAC(playerid, health + 35.0);
        PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
        return 1;
    }
    else
    {
        SendClientMessage(playerid,COLOR_LIGHTRED,"Вы уже достаточно выпили");
 return 1;
 }
 }
 }
 }
Ну вот и всё, вроде ничего не забыл:)
Изменял команду я

Понравилось? Не забываем ставить >> "Спасибо":bo:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу