SeReO
Дебютант
Сегодня я расскажу вам как сделать /givelicense в диалогах.
В OnPlayerCommandText добавляем
В OnDialogResponse
Обращайте внимание на комментарии после строк, заменяйте id диалогов.
Урок делал сам.
Спасибо за внимание.
[Прошу прощения если не так оформил, мой первый урок.]
В OnPlayerCommandText добавляем
Код:
if(strcmp(cmd, "/givelicense", true) == 0)
{
if(IsAnInstructor(playerid))
{
ShowPlayerDialog(playerid,999,DIALOG_STYLE_LIST,"Выдача лицензий:","Лицензия на вождение\nЛицензия на полёты\nЛицензия на рыболовлю\nЛицензия на вождение водного транспорта\nЛицензия на оружие","Продолжить"," Отмена");//тут id вашего диалога
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не школьный инструктор !");
return 1;
}
}
Код:
if(dialogid == 999)//Тут id вашего диалога
{
if(response)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid, 556, DIALOG_STYLE_INPUT, "Выдать водительские права","Введите ИД того, кому вы хотите выдать лицензию", "Выдать", "Отмена");
return 0;
}
if(listitem == 1)
{
ShowPlayerDialog(playerid, 557, DIALOG_STYLE_INPUT, "Выдать лицензию на полёты","Введите ИД того, кому вы хотите выдать лицензию", "Выдать", "Отмена");
return 0;
}
if(listitem == 2)
{
ShowPlayerDialog(playerid, 558, DIALOG_STYLE_INPUT, "Выдать лицензию на рыболовлю","Введите ИД того, кому вы хотите выдать лицензию", "Выдать", "Отмена");
return 0;
}
if(listitem == 3)
{
ShowPlayerDialog(playerid, 559, DIALOG_STYLE_INPUT, "Выдать лицензию на вождение водного транспорта","Введите ИД того, кому вы хотите выдать лицензию", "Выдать", "Отмена");
return 0;
}
if(listitem == 4)
{
ShowPlayerDialog(playerid, 560, DIALOG_STYLE_INPUT, "Выдать лицензию на оружие","Введите ИД того, кому вы хотите выдать лицензию", "Выдать", "Отмена");
return 0;
}
}
}
if(dialogid == 556)//Тут id вашего диалога
{
if(response)
{
new string556[255];
new pname[MAX_PLAYER_NAME];
new idd = strval(inputtext);
new lname[MAX_PLAYER_NAME];
if(idd == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, COLOR_GREY, "Такого игрока нет на сервере!");
return 1;
}
if(PlayerInfo[idd][pCarLic] == 1)//Если у вас другое название лицензии - замените
{
SendClientMessage(playerid, COLOR_GREY, "У этого игрока есть права!");
return 1;
}
GetPlayerName(idd, pname, sizeof(pname));
format(string556, sizeof(string556), "Вы выдали права %s[%d].",pname, idd);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string556);
PlayerInfo[idd][pCarLic] = 1;
GetPlayerName(playerid, lname, sizeof(lname));
format(string556, sizeof(string556), "Инструктор %s выдал права на вождение транспортом %s.",lname, pname);
SendClientMessageToAll(COLOR_DBLUE , string556);
SendClientMessage(idd, COLOR_LIGHTBLUE, "Вам выдали права");
}
}
if(dialogid == 557)//Тут id вашего диалога
{
if(response)
{
new string557[255];
new plname[MAX_PLAYER_NAME];
new idd = strval(inputtext);
new lname[MAX_PLAYER_NAME];
if(idd == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, COLOR_GREY, "Такого игрока нет на сервере!");
return 1;
}
if(PlayerInfo[idd][pFlyLic] == 1)//Если у вас другое название лицензии - замените
{
SendClientMessage(playerid, COLOR_GREY, "У этого игрока есть лицензия на полёты!");
return 1;
}
GetPlayerName(idd, plname, sizeof(plname));
format(string557, sizeof(string557), "Вы выдали лицензию на полёты %s[%d].",plname, idd);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string557);
PlayerInfo[idd][pFlyLic] = 1;
GetPlayerName(playerid, lname, sizeof(lname));
format(string557, sizeof(string557), "Инструктор %s выдал лицензию на управление воздушным транспортом %s.",lname, plname);
SendClientMessageToAll(COLOR_DBLUE , string557);
SendClientMessage(idd, COLOR_LIGHTBLUE, "Вам выдали лицензию на полёты");
}
}
if(dialogid == 558)//Тут id вашего диалога
{
if(response)
{
new string558[255];
new planame[MAX_PLAYER_NAME];
new idd = strval(inputtext);
new lname[MAX_PLAYER_NAME];
if(idd == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, COLOR_GREY, "Такого игрока нет на сервере!");
return 1;
}
if(PlayerInfo[idd][pFishLic] == 1)//Если у вас другое название лицензии - замените
{
SendClientMessage(playerid, COLOR_GREY, "У этого игрока есть разрешение на рыболовство!");
return 1;
}
GetPlayerName(idd, planame, sizeof(planame));
format(string558, sizeof(string558), "Вы выдали лицензию на рыболовлю %s[%d].",planame, idd);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string558);
PlayerInfo[idd][pFishLic] = 1;
GetPlayerName(playerid, lname, sizeof(lname));
format(string558, sizeof(string558), "Инструктор %s выдал разрешение на рыболовство %s",lname, planame);
SendClientMessageToAll(COLOR_DBLUE , string558);
SendClientMessage(idd, COLOR_LIGHTBLUE, "Вам выдали разрешение на рыболовство.");
}
}
if(dialogid == 559)//Тут id вашего диалога
{
if(response)
{
new string559[255];
new playname[MAX_PLAYER_NAME];
new idd = strval(inputtext);
new lname[MAX_PLAYER_NAME];
if(idd == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, COLOR_GREY, "Такого игрока нет на сервере!");
return 1;
}
if(PlayerInfo[idd][pBoatLic] == 1)//Если у вас другое название лицензии - замените
{
SendClientMessage(playerid, COLOR_GREY, "У этого игрока есть лицензия на лодку!");
return 1;
}
GetPlayerName(idd, playname, sizeof(playname));
format(string559, sizeof(string559), "Вы выдали лицензию на лодку %s[%d].",playname, idd);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string559);
PlayerInfo[idd][pBoatLic] = 1;
GetPlayerName(playerid, lname, sizeof(lname));
format(string559, sizeof(string559), "Инструктор %s выдал лицензию на управление водным транспортом %s.",lname, playname);
SendClientMessageToAll(COLOR_DBLUE , string559);
SendClientMessage(idd, COLOR_LIGHTBLUE, "Вам выдали лицензию на лодку");
}
}
if(dialogid == 560)//Тут id вашего диалога
{
if(response)
{
new string560[255];
new playename[MAX_PLAYER_NAME];
new idd = strval(inputtext);
new lname[MAX_PLAYER_NAME];
if(idd == INVALID_PLAYER_ID)
{
SendClientMessage(playerid, COLOR_GREY, "Такого игрока нет на сервере!");
return 1;
}
if(PlayerInfo[idd][pGunLic] == 1)//Если у вас другое название лицензии - замените
{
SendClientMessage(playerid, COLOR_GREY, "У этого игрока есть лицензия на оружие!");
return 1;
}
GetPlayerName(idd, playename, sizeof(playename));
format(string560, sizeof(string560), "Вы выдали лицензию на оружие %s[%d].",playename, idd);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string560);
PlayerInfo[idd][pGunLic] = 1;
GetPlayerName(playerid, lname, sizeof(lname));
format(string560, sizeof(string560), "Инструктор %s выдал разрешение на оружие %s.",lname, playename);
SendClientMessageToAll(COLOR_DBLUE , string560);
SendClientMessage(idd, COLOR_LIGHTBLUE, "Вам выдали лицензию на оружие.");
}
}
Урок делал сам.
Спасибо за внимание.
[Прошу прощения если не так оформил, мой первый урок.]
Последнее редактирование:
