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

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

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

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

/givelicense в Диалоге.

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

Pelekan

Начинающий
Пользователь
Регистрация
19 Мар 2013
Сообщения
51
Лучшие ответы
0
Репутация
14
Сегодня я расскажу как сделать команду /givelicense в диалоге.
Если было простите,в поиске не нашел.

Начнем:

1)Находим
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
2)Вставляем туда
PHP:
if(strcmp(cmd, "/givelicense", true) == 0 )
        {
            if(IsPlayerConnected(playerid))
            {
                if(IsAnInstructor(playerid))
                {
                    ShowPlayerDialog(playerid,34,DIALOG_STYLE_LIST,"Выберите лицензию:","Водительские права\nЛицензия на Полёты\nЛодочная лицензия\nЛицензия на Рыбалку\nРазрешение на Оружие\n","Выбор","Отмена");
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   .Вы не Школьный Инструктор !");
                    return 1;
                }
            }
                printf("Использвалась команда %s",cmd);
            return 1;
        }
3)Ищем
PHP:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
4)Вставляем туда это:
PHP:
 if(dialogid == 34)
        {
            if(response)
            {
                        if(listitem == 0)
                    {
                        ShowPlayerDialog(playerid,35,DIALOG_STYLE_INPUT,"Введите id игрока","Введите id игрока\n чтобы выдать ему Водительские права","Принять","Отмена");
                        }
                        if(listitem == 1)
                        {
                            ShowPlayerDialog(playerid,36,DIALOG_STYLE_INPUT,"Введите id игрока","Введите id игрока\n чтобы выдать ему Лицензию на полёты","Принять","Отмена");
                            return 0;
                    }
                    if(listitem == 2)
                        {
                            ShowPlayerDialog(playerid,37,DIALOG_STYLE_INPUT,"Введите id игрока","Введите id игрока\n чтобы выдать ему Лицензию на водный транспорт","Принять","Отмена");
                            return 0;
                    }
                    if(listitem == 3)
                        {
                            ShowPlayerDialog(playerid,38,DIALOG_STYLE_INPUT,"Введите id игрока","Введите id игрока\n чтобы выдать ему Лицензию на Рыбалку","Принять","Отмена");
                            return 0;
                    }
                    if(listitem == 4)
                        {
                            ShowPlayerDialog(playerid,39,DIALOG_STYLE_INPUT,"Введите id игрока","Введите id игрока\n чтобы выдать ему Разрешение на оружие","Принять","Отмена");
                            return 0;
                    }
                }
        }
        if(dialogid == 35)
        {
                if(response)
                {
                    new cashdeposit = strval(inputtext);
                        new giveplayer[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        GetPlayerName(cashdeposit, giveplayer, sizeof(giveplayer));
                format(string, sizeof(string), "* Вы выдали Водительские права %s.",giveplayer);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Инструктор %s выдал Вам Водительские Права",sendername);
                        SendClientMessage(cashdeposit, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Инструктор %s выдал Водительские Права %s", sendername,giveplayer);
                        ProxDetector(30.0, playerid, string, COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE);
                        PlayerInfo[cashdeposit][pCarLic] = 1;
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на Права %s", sendername,giveplayer);
                        SendRadioMessage(11, COLOR_ALLDEPT, string);
                }
        }
        if(dialogid == 36)
        {
                if(response)
                {
                    new cashdeposit = strval(inputtext);
                        new giveplayer[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        GetPlayerName(cashdeposit, giveplayer, sizeof(giveplayer));
                        format(string, sizeof(string), "* .Вы дали Лицензию на полёты %s.",giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* .Инструктор %s вдал Вам Лицензию на полёты",sendername);
                        SendClientMessage(cashdeposit, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на полёты %s", sendername,giveplayer);
                        ProxDetector(30.0, playerid, string, COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE);
                        PlayerInfo[cashdeposit][pFlyLic] = 1;
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на полёты %s", sendername,giveplayer);
                        SendRadioMessage(11, COLOR_ALLDEPT, string);
                }
        }
        if(dialogid == 37)
        {
                if(response)
                {
                    new cashdeposit = strval(inputtext);
                    new giveplayer[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        GetPlayerName(cashdeposit, giveplayer, sizeof(giveplayer));
                        format(string, sizeof(string), "* .Вы дали Лицензию на водный транспорт %s.",giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* .Инструктор %s вдал Вам Лицензию на водный транспорт",sendername);
                        SendClientMessage(cashdeposit, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на водный транспорт %s", sendername,giveplayer);
                        ProxDetector(30.0, playerid, string, COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE);
                        PlayerInfo[cashdeposit][pBoatLic] = 1;
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на водный транспорт %s", sendername,giveplayer);
                        SendRadioMessage(11, COLOR_ALLDEPT, string);
                }
        }
        if(dialogid == 38)
        {
                if(response)
                {
                    new cashdeposit = strval(inputtext);
                    new giveplayer[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        GetPlayerName(cashdeposit, giveplayer, sizeof(giveplayer));
                        format(string, sizeof(string), "* .Вы дали Лицензию на Рыбалку %s.",giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* .Инструктор %s выдал Вам Лицензию на Рыбалку",sendername);
                        SendClientMessage(cashdeposit, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на Рыбалку %s", sendername,giveplayer);
                        ProxDetector(30.0, playerid, string, COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE);
                        PlayerInfo[cashdeposit][pFishLic] = 1;
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на Рыбалку %s", sendername,giveplayer);
                        SendRadioMessage(11, COLOR_ALLDEPT, string);
                }
        }
        if(dialogid == 39)
        {
                if(response)
                {
                    new cashdeposit = strval(inputtext);
                    new giveplayer[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        GetPlayerName(cashdeposit, giveplayer, sizeof(giveplayer));
                        format(string, sizeof(string), "* .Вы дали Лицензию на Оружие %s.",giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Инструктор %s вдал Вам Лицензию на Оружие",sendername);
                        SendClientMessage(cashdeposit, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на Оружие %s", sendername,giveplayer);
                        ProxDetector(30.0, playerid, string, COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE,COLOR_BLUE);
                        PlayerInfo[cashdeposit][pGunLic] = 1;
                        format(string, sizeof(string), "* Инструктор %s выдал Лицензию на Оружие %s", sendername,giveplayer);
                        SendRadioMessage(11, COLOR_ALLDEPT, string);
                }
        }
5)Чтобы не было ошибок (Ошибка 17 неизвестный символ -pGunLic и т.д.)

Находим
PHP:
pInfo
и вставляем туда:
PHP:
 pBikeLic,
        pFlyLic,
        pBoatLic,
        pFishLic,
        pGunLic
6) А если его нет то:
PHP:
pInfo
{
        pBikeLic,
        pFlyLic,
        pBoatLic,
        pFishLic,
        pGunLic
};
new PlayerInfo[MAX_PLAYERS][pInfo];
7) Также в конец мода:
PHP:
stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
        if(IsPlayerConnected(playerid))
        {
                new Float:posx, Float:posy, Float:posz;
                new Float:oldposx, Float:oldposy, Float:oldposz;
                new Float:tempposx, Float:tempposy, Float:tempposz;
                GetPlayerPos(playerid, oldposx, oldposy, oldposz);
                //radi = 2.0; //Trigger Radius
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                        if(IsPlayerConnected(i))
                        {
                                if(!BigEar[i])
                                {
                                        GetPlayerPos(i, posx, posy, posz);
                                        tempposx = (oldposx -posx);
                                        tempposy = (oldposy -posy);
                                        tempposz = (oldposz -posz);
                                        //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
                                        if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
                                        {
                                                SendClientMessage(i, col1, string);
                                        }
                                        else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
                                        {
                                                SendClientMessage(i, col2, string);
                                        }
                                        else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
                                        {
                                                SendClientMessage(i, col3, string);
                                        }
                                        else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
                                        {
                                                SendClientMessage(i, col4, string);
                                        }
                                        else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
                                        {
                                                SendClientMessage(i, col5, string);
                                        }
                                }
                                else
                                {
                                        SendClientMessage(i, col1, string);
                                }
                        }
                }
        }//not connected
        return 1;
}
Вот и все.
Жду +сиков xD
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу