Makarov72
Умник
Команда - /locker разрабатывалась и тестировалась на моде Cream Life, на других модах 100% работа способность не гарантирую.
Приступим к установке команды, первое что мы сделаем это добавим саму команду в мод.
Через поиск найдем public OnPlayerCommandText.
И после любой команды вставим нашу команду.
Но это только первая часть, команда работает через диалог, следующее что мы сделаем это добавим диалог.
В поиске найдем public OnDialogResponse и засунем в него наш диалог. Внимание диалог номер 228 занят этой командой.
И ко всем new добавим new lockertime[MAX_PLAYERS];
Приступим к установке команды, первое что мы сделаем это добавим саму команду в мод.
Через поиск найдем public OnPlayerCommandText.
И после любой команды вставим нашу команду.
PHP:
if(strcmp(cmd, "/locker", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(lockertime[playerid] > 0)
{
SendClientMessage(playerid, COLOR_WHITE, "Отдохни не много!");
return 1;
}
new leader = PlayerInfo[playerid][pLeader];
new member = PlayerInfo[playerid][pMember];
if(member==1 || member==2 || member==3 || member==20 || leader==1 || leader==2 || leader==3 || leader==20)// Проверка на фракцию, меняем на свои
{
if(PlayerToPoint(2.0, playerid, 264.82,119.94,1004.62 ) || PlayerToPoint(2.0, playerid, 267.04,119.94,1004.62 ) || PlayerToPoint(2.0, playerid, 269.26,119.94,1004.62 )
|| PlayerToPoint(2.0, playerid, 261.46,108.35,1004.61 ) || PlayerToPoint(2.0, playerid, 261.46,111.35,1004.61 ) || PlayerToPoint(2.0, playerid, 248.72,185.43,1008.17 )) // Координаты меняем на свои
{
if(PlayerInfo[playerid][pGunLic] == 0)
{
SendClientMessage(playerid, COLOR_RED, "У тебя нет лицензии на ношение оружия!");
return 1;
}
ShowPlayerDialog(playerid,228,DIALOG_STYLE_LIST,"Оружейный шкафчик","Дезерт Игл\nДробовик\nMP5\nAK47\nM4\nСнайперская Винтовка\nНаручники и шокер\nБронежилет\nДымовые шашки","Взять","Отмена");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "Вы не возле шкафчика!");
return 1;
}
}
}
}
В поиске найдем public OnDialogResponse и засунем в него наш диалог. Внимание диалог номер 228 занят этой командой.
PHP:
else if(dialogid == 228)//LOCKER
{
if(response)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(listitem == 0)
{
ServerGivePlayerWeapons(playerid, 24, 35);
format(string, sizeof(string), "* %s берет DE .50 калибра из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
else if(listitem == 1)
{
if(PlayerInfo[playerid][pRank] < 3)
{
SendClientMessage(playerid, COLOR_RED, "У вас недостаточно высокий ранг!");
return 1;
}
ServerGivePlayerWeapons(playerid, 25, 10);
format(string, sizeof(string), "* %s берет дробовик из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
else if(listitem == 2)
{
if(PlayerInfo[playerid][pRank] < 3)
{
SendClientMessage(playerid, COLOR_RED, "У вас недостаточно высокий ранг!");
return 1;
}
ServerGivePlayerWeapons(playerid, 29, 100);
format(string, sizeof(string), "* %s берет карабин mp5 из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
else if(listitem == 3)
{
if(PlayerInfo[playerid][pRank] < 4)
{
SendClientMessage(playerid, COLOR_RED, "У вас недостаточно высокий ранг!");
return 1;
}
ServerGivePlayerWeapons(playerid, 30, 90);
format(string, sizeof(string), "* %s берет обойму AK-47 из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
else if(listitem == 4)
{
if(PlayerInfo[playerid][pRank] < 4)
{
SendClientMessage(playerid, COLOR_RED, "У вас недостаточно высокий ранг!");
return 1;
}
ServerGivePlayerWeapons(playerid, 31, 90);
format(string, sizeof(string), "* %s берет карабин m4 из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
else if(listitem == 5)
{
if(PlayerInfo[playerid][pRank] < 6)
{
SendClientMessage(playerid, COLOR_RED, "У вас недостаточно высокий ранг!");
return 1;
}
ServerGivePlayerWeapons(playerid, 34, 5);
format(string, sizeof(string), "* %s берет снайперскую винтовку из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
else if(listitem == 6)
{
cuffss[playerid] = 2;
tazers[playerid] = 10;
format(string, sizeof(string), "* %s берет наручники и электорошокер из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
else if(listitem == 7)
{
ServerGivePlayerArmour(playerid, 100);
format(string, sizeof(string), "* %s берет бронежилет из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
else if(listitem == 8)
{
if(PlayerInfo[playerid][pMember] != 1 || PlayerInfo[playerid][pLeader] != 1)
{
SendClientMessage(playerid, COLOR_RED, "Вы не член команды S.W.A.T!");
return 1;
}
ServerGivePlayerWeapons(playerid, 17, 3);
format(string, sizeof(string), "* %s берет 3 шашки дымовой гранаты из шкафчика.", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
lockertime[playerid] = 5;
return 1;
}
}
}
На этом все, просьба - модераторы добавьте префикс [C.M.D].
Последнее редактирование:
