// Продать мед. аптечки. Для доктора
else if(!strcmp(cmd, "/sellmedkit", true))
{
if(PlayerInfo[playerid][pMember] != MEDIC_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник министерства здравоохранения.");
if(PlayerInfo[playerid][pRank] < 4 && PlayerInfo[playerid][pMember] == MEDIC_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 4-ым рангом, чтобы продавать аптечки.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(PlayerCuffed[playerid] || PlayerTied[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Находясь в наручниках или связанным, это действие невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /sellmedkit [ id игрока ] [ стоимость ]");
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /sellmedkit [ id игрока ] [ стоимость ]");
new price = strval(tmp);
if(price < 10 || price > 5000) return SendClientMessage(playerid, COLOR_GRAY, "Вы ввели неверную стоимость аптечки. Используйте цену от 10 до 5000 руб.");
if(PlayerInfo[playerid][pMedkit] < 1) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет с собой медицинских аптечек.");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(PlayerInfo[giveplayerid][pMedkit] >= 5) return SendClientMessage(playerid, COLOR_GRAY, "У данного игрока максимальное количество медицинских аптечек.");
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if(price > GetPlayerMoneyEx(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAY, "У данного игрока не хватает денег на покупку.");
GetPlayerTransfer[giveplayerid] = playerid;
GetPlayerOption[giveplayerid] = price;
f(string, "Вы предложил игроку {3caa3c}%s{FFFFFF} купить у вас аптечку за {3caa3c}%d руб.", PlayerNameEx[giveplayerid], price);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "\
Доктор %s предлагает вам купить у него аптечку за %d руб.\n\
Вы согласны?\
", PlayerNameEx[playerid], price);
ShowDialog(giveplayerid, MEDIC_ID+1, DIALOG_STYLE_MSGBOX, "Аптечки", string, "Да", "Нет");
}
return 1;
}
// Отобрать оружие. Для милиции
else if(!strcmp(cmd, "/takegun", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 4 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 4-ым рангом, чтобы отбирать оружие.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /takegun [ id игрока ]");
giveplayerid = strval(tmp);
new bool:weapon;
new getgun[13];
new ammopragmaunused;
for(new i=0; i<13; i++)
{
GetPlayerWeaponData(giveplayerid, i, getgun[i], ammopragmaunused);
if(getgun[i] != 0)
{
weapon = true;
break;
}
}
if(!weapon) return SendClientMessage(playerid, COLOR_GRAY, "У этого игрока нет оружия.");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
RemovePlayerAllWeaponEx(giveplayerid);
f(string, "Сотрудник милиции {3caa3c}%s{ffffff} отобрал у вас всё оружие.", PlayerNameEx[playerid]);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
f(string, "Вы отобрали всё оружие у игрока {3caa3c}%s", PlayerNameEx[giveplayerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "{B17FC8}Сотрудник милиции %s забрал оружие у %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
}
return 1;
}
// Отобрать материалы. Для милиции
else if(!strcmp(cmd, "/takemats", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 4 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 4-ым рангом, чтобы отбирать материалы.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /takemats [ id игрока ]");
giveplayerid = strval(tmp);
if(PlayerInfo[giveplayerid][pMats] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У этого игрока нет материалов.");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
PlayerInfo[giveplayerid][pMats] = 0;
f(string, "Сотрудник милиции {3caa3c}%s{ffffff} отобрал у вас все материалы.", PlayerNameEx[playerid]);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
f(string, "Вы отобрали все материалы у игрока {3caa3c}%s", PlayerNameEx[giveplayerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "{B17FC8}Сотрудник милиции %s забрал материалы у %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
}
return 1;
}
// Отобрать наркотики. Для Милиции
else if(!strcmp(cmd, "/takedrugs", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 4 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 4-ым рангом, чтобы отбирать наркотики.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /takedrugs [ id игрока ]");
giveplayerid = strval(tmp);
if(PlayerInfo[giveplayerid][pDrugs] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У данного игрока нет наркотиков.");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
PlayerInfo[giveplayerid][pDrugs] = 0;
f(string, "Сотрудник милиции {3caa3c}%s{ffffff} отобрал у вас все наркотики.", PlayerNameEx[playerid]);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
f(string, "Вы отобрали все наркотики у игрока {3caa3c}%s", PlayerNameEx[giveplayerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "{B17FC8}Сотрудник милиции %s забрал наркотики у %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
}
return 1;
}
// Передать материалы
else if(!strcmp(cmd, "/givemats", true))
{
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(PlayerCuffed[playerid] || PlayerTied[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Находясь в наручниках или связанным, это действие невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /givemats [ id игрока ] [ количество материалов ]");
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /givemats [ id игрока ] [ количество материалов ]");
new amount = strval(tmp);
if(amount < 1 || PlayerInfo[playerid][pMats] < amount) return SendClientMessage(playerid, COLOR_GRAY, "Вы указали неверное количество материалов.");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if((amount+PlayerInfo[giveplayerid][pMats]) > 5000) return SendClientMessage(playerid, COLOR_GRAY, "У указанного вами игрока нет места для такого количества материалов.");
f(string, "Вы предложили игроку {3caa3c}%s{FFFFFF} взять у вас {3caa3c}%d{FFFFFF} материалов.", PlayerNameEx[giveplayerid], amount);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "\
Игрок %s хочет дать тебе %d материалов.\n\
Вы согласны?\
", PlayerNameEx[playerid], amount);
ShowDialog(giveplayerid, GIVER_ID, DIALOG_STYLE_MSGBOX, "Материалы", string, "Да", "Нет");
GetPlayerTransfer[giveplayerid] = playerid;
GetPlayerOption[giveplayerid] = amount;
}
return 1;
}
// Дать наркотики
else if(!strcmp(cmd, "/givedrugs", true))
{
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(PlayerCuffed[playerid] || PlayerTied[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Находясь в наручниках или связанным, это действие невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /givedrugs [ id игрока ] [ количество наркотиков ]");
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /givedrugs [ id игрока ] [ количество наркотиков ]");
new amount = strval(tmp);
if(amount < 1 || PlayerInfo[playerid][pDrugs] < amount) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет такого количества наркотиков.");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if((amount+PlayerInfo[giveplayerid][pDrugs]) > 100) return SendClientMessage(playerid, COLOR_GRAY, "У данного игрока нет места для наркотиков.");
f(string, "Вы предложили игроку {3caa3c}%s{FFFFFF} взять у вас {3caa3c}%d гр.{FFFFFF} наркотиков.", PlayerNameEx[giveplayerid], amount);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "\
Игрок %s хочет дать вам %d гр. наркотиков.\n\
Вы согласны?\
", PlayerNameEx[playerid], amount);
ShowDialog(giveplayerid, GIVER_ID+1, DIALOG_STYLE_MSGBOX, "Наркотики", string, "Да", "Нет");
GetPlayerTransfer[giveplayerid] = playerid;
GetPlayerOption[giveplayerid] = amount;
}
return 1;
}
// Арествовать игрока. Для милиции
else if(!strcmp(cmd, "/arrest", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 2 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 2-ым рангом, чтобы садить игроков.");
if(!PlayerToPoint(playerid, 10, -335.2388,369.7510,702.2500)) return SendClientMessage(playerid, COLOR_GREEN, "Ты находишься слишком далеко от тюремной камеры");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /arrest [ id игрока ]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(PlayerInfo[giveplayerid][pMember] == MILICIA_ORG) return MSG_COPACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if(GetPlayerWantedLevel(giveplayerid) == 0) return SendClientMessage(playerid, COLOR_GRAY, "У этого игрока нет розыска.");
PlayerInfo[giveplayerid][pJailTime] = GetPlayerWantedLevel(giveplayerid)*300;
f(string, "Сотрудник милиции {3caa3c}%s{ffffff} посадил игрока {3caa3c}%s{ffffff} на {3caa3c}%s{ffffff} минут.", PlayerNameEx[playerid], PlayerNameEx[giveplayerid], ConvertTime(PlayerInfo[giveplayerid][pJailTime]));
SendFamilyMessage(MILICIA_ORG, COLOR_WHITE, string);
f(string, "Вас посадил в тюрьму сотрудник милиции {3caa3c}%s{ffffff} на {3caa3c}%s{ffffff} минут.", PlayerNameEx[playerid], ConvertTime(PlayerInfo[giveplayerid][pJailTime]));
SendClientMessage(giveplayerid, COLOR_WHITE, string);
JailTimer[giveplayerid] = SetTimerEx("CountPlayerUnJail", 1000, true, "i", giveplayerid);
if(PlayerConvoi[giveplayerid])
{
PlayerConvoi[giveplayerid] = false;
GetPlayerConvoi[giveplayerid] = INVALID_PLAYER_ID;
DeleteAnimation(giveplayerid);
}
if(PlayerCuffed[giveplayerid])
{
PlayerCuffed[giveplayerid] = false;
SetPlayerCuffed(giveplayerid, false);
TogglePlayerControllable(giveplayerid, true);
}
SpawnPlayerInJail(giveplayerid);
}
return 1;
}
// Открываем ворота. Для милиции
if(strcmp(cmdtext, "/milopen", true) == 0)
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(!PlayerToPoint(playerid, 10, 2580.2219,-2435.2778,21.7870)) return SendClientMessage(playerid, COLOR_GRAY, "На таком расстояние пульт ДУ не ловит сигнал.");
SetTimer("OpenLSPDBarrier", 50, 0); // таймер, который будет поворачивать шлагбаум
f(string, "Сотрудник милиции %s поднял шлакбаум", GetPlayerRank(playerid), PlayerNameEx[playerid], result);
SendFamilyMessage(MILICIA_ORG, COLOR_YELLOW, string);
f(string, "{B17FC8}Сотрудник милиции %s поднял шлакбаум при помощи пульта ДУ.",PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
return 1;
}
// Открываем ворота. Для больницы
if(strcmp(cmdtext, "/bolopen", true) == 0)
{
if(PlayerInfo[playerid][pMember] != MEDIC_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник министерства здравоохранения.");
if(!PlayerToPoint(playerid, 10, 2089.7705,-2402.6255,21.7476)) return SendClientMessage(playerid, COLOR_GRAY, "На таком расстояние пульт ДУ не ловит сигнал.");
SetTimer("OpenMEDICBarrier", 50, 0); // таймер, который будет поворачивать шлагбаум
f(string, "%s %s поднял шлакбаум", GetPlayerRank(playerid), PlayerNameEx[playerid], result);
SendFamilyMessage(MEDIC_ORG, COLOR_YELLOW, string);
f(string, "{B17FC8}Сотрудник МЗ %s поднял шлакбаум при помощи пульта ДУ.",PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
return 1;
}
// Открываем ворота. Для автошколы
if(strcmp(cmdtext, "/asopen", true) == 0)
{
if(PlayerInfo[playerid][pMember] != AVTOSCHOOL_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник автошколы 'РОСТО ДОСААФ'");
if(!PlayerToPoint(playerid, 10, 1906.44, 2250.35, 14.71)) return SendClientMessage(playerid, COLOR_GRAY, "На таком расстояние пульт ДУ не ловит сигнал.");
SetTimer("OpenSCHOOLBarrier", 50, 0); // таймер, который будет поворачивать шлагбаум
f(string, "%s %s поднял шлакбаум", GetPlayerRank(playerid), PlayerNameEx[playerid], result);
SendFamilyMessage(AVTOSCHOOL_ORG, COLOR_YELLOW, string);
f(string, "{B17FC8}Сотрудник автошколы %s поднял шлакбаум при помощи пульта ДУ.",PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
return 1;
}
// Изменить место спавна
else if(!strcmp(cmd, "/setspawn", true))
{
ShowPlayerSetSpawnDialog(playerid);
return 1;
}
// Жучок
else if(!strcmp(cmd, "/listening", true))
{
if(PlayerCuffed[playerid] || PlayerTied[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Находясь в наручниках или связанным, это действие невозможно.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
ShowPlayerListeningDialog(playerid);
return 1;
}
// Надеть наручники. Для милиции
else if(!strcmp(cmd, "/cuff", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 2 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 2-ым рангом, чтобы одевать наручники.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /cuff [ id игрока ]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(PlayerInfo[giveplayerid][pMember] == MILICIA_ORG) return MSG_COPACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAY, "Указанный вами игрок находится в машине.");
if(PlayerCuffed[giveplayerid]) return SendClientMessage(playerid, COLOR_GRAY, "На данном игроке уже одеты наручники.");
f(string, "{B17FC8}Сотрудник милиции %s одел наручники на %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
PlayerCuffed[giveplayerid] = true;
SetPlayerCuffed(giveplayerid, true);
TogglePlayerControllable(giveplayerid, false);
}
return 1;
}
// Снять наручники. Для милиции
else if(!strcmp(cmd, "/uncuff", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 2 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 2-ым рангом, чтобы снимать наручники.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /uncuff [ id игрока ]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if(!PlayerCuffed[giveplayerid]) return SendClientMessage(playerid, COLOR_GRAY, "На данном игроке нет наручников.");
f(string, "{B17FC8}Сотрудник милиции %s снял наручники с игрока %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
PlayerCuffed[giveplayerid] = false;
SetPlayerCuffed(giveplayerid, false);
TogglePlayerControllable(giveplayerid, true);
}
return 1;
}
// Взять под конвой. Для милиции
else if(!strcmp(cmd, "/drag", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 5 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 5-ым рангом, чтобы снимать наручники.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(IsPlayerInAnyVehicle(playerid)) return MSG_INVEHICLE(playerid);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /drag [ id игрока ]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(PlayerInfo[giveplayerid][pMember] == MILICIA_ORG) return MSG_COPACT(playerid);
if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAY, "Указанный вами игрок находиться в машине.");
if(PlayerConvoi[giveplayerid]) return SendClientMessage(playerid, COLOR_GRAY, "Указанный вами игрок уже под конвоем.");
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if(!PlayerCuffed[giveplayerid]) return SendClientMessage(playerid, COLOR_GRAY, "На указанном вами игроке не надеты наручники.");
f(string, "{B17FC8}Сотрудник милиции %s ведет за собой %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
PlayerConvoi[giveplayerid] = true;
GetPlayerConvoi[giveplayerid] = playerid;
}
return 1;
}
// Снять с конвоя. Для милиции
else if(!strcmp(cmd, "/undrag", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 5 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 5-ым рангом, чтобы снимать наручники.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(IsPlayerInAnyVehicle(playerid)) return MSG_INVEHICLE(playerid);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /undrag [ id игрока ]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAY, "Указанный вами игрок находиться в машине.");
if(!PlayerConvoi[giveplayerid]) return SendClientMessage(playerid, COLOR_GRAY, "Указанный вами игрок не под конвоем.");
f(string, "{B17FC8}Сотрудник милиции %s отпустил %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
PlayerConvoi[giveplayerid] = false;
GetPlayerConvoi[giveplayerid] = INVALID_PLAYER_ID;
}
return 1;
}
// Проверить на алкоголь. Для милиции
else if(!strcmp(cmd, "/alco", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /alco [ id игрока ]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if(GetPlayerDrunkLevel(giveplayerid) > 0)
{
f(string, "В крови {3caa3c}%s{FFFFFF} обнаружен алкоголь.", PlayerNameEx[giveplayerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
else
{
f(string, "В крови {3caa3c}%s{FFFFFF} алкоголь не обнаружен.", PlayerNameEx[giveplayerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
f(string, "{B17FC8}Сотрудник милиции %s проверяет %s на алкоголь.", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
}
return 1;
}
// Поставить шипы. Для милиции
else if(!strcmp(cmd, "/strip", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 5 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 5-ым рангом, чтобы ставить шипы.");
if(GetPlayerStrip[playerid] == -1)
{
new Float:POS[4];
GetPlayerPos(playerid, POS[0], POS[1], POS[2]);
GetPlayerFacingAngle(playerid, POS[3]);
for(new i=0; i<MAX_SPIKES; i++)
{
if(SpikesInfo[i][ssCreated] == 0)
{
SpikesInfo[i][ssCreated] = 1;
SpikesInfo[i][ssPos][0] = POS[0];
SpikesInfo[i][ssPos][1] = POS[1];
SpikesInfo[i][ssPos][2] = POS[2]-0.7;
SeccureAnimation(playerid, "BOMBER", "BOM_Plant_Loop");
SpikesInfo[i][ssObject] = CreateObject(2892, POS[0], POS[1], POS[2]-0.9, 0.0, 0.0, POS[3]-90);
GetPlayerStrip[playerid] = i;
f(string, "{B17FC8}Сотрудник милиции %s поставил шипы.", PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
break;
}
}
}
else
{
new i = GetPlayerStrip[playerid];
if(!PlayerToPoint(playerid, 5.0, SpikesInfo[i][ssPos][0], SpikesInfo[i][ssPos][1], SpikesInfo[i][ssPos][2])) return SendClientMessage(playerid, COLOR_GRAY, "Вы находитесь слишком далеко от установленных шипов.");
DeletePlayerStrip(playerid);
SeccureAnimation(playerid, "BOMBER", "BOM_Plant_Loop");
f(string, "{B17FC8}Сотрудник милиции %s убрал шипы.", PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
}
return 1;
}
// Затащить в машину. Для милиции
else if(!strcmp(cmd, "/incar", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(IsPlayerInAnyVehicle(playerid)) return MSG_INVEHICLE(playerid);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /incar [ id игрока ]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if(PlayerInfo[giveplayerid][pMember] == MILICIA_ORG) return MSG_COPACT(playerid);
if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAY, "Указанный вами игрок уже находится в машине.");
new vehicleid = INVALID_VEHICLE_ID;
new Float:POS[3];
for(new i=0; i<MAX_VEHICLES; i++)
{
GetVehiclePos(i, POS[0], POS[1], POS[2]);
if(PlayerToPoint(playerid, 3.0, POS[0], POS[1], POS[2]))
{
vehicleid = i;
break;
}
}
if(vehicleid != INVALID_VEHICLE_ID)
{
if(VehicleLock[vehicleid]) return SendClientMessage(playerid, COLOR_GRAY, "Близжайщее транспортное средство закрыто на замок.");
new bool:seat[4],getter = 999;
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i) && GetPlayerVehicleID(i) == vehicleid)
{
if(GetPlayerVehicleSeat(i) == 1) seat[1] = true;
else if(GetPlayerVehicleSeat(i) == 2) seat[2] = true;
else if(GetPlayerVehicleSeat(i) == 3) seat[3] = true;
}
}
for(new i=1; i<4; i++)
{
if(!seat[i])
{
getter = i;
break;
}
}
if(getter == 999) return SendClientMessage(playerid, COLOR_GRAY, "В этой машине нет свободных мест.");
f(string, "Сотрудник милиции {3caa3c}%s{FFFFFF} затащил вас в машину.", PlayerNameEx[playerid]);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
f(string, "Вы затащили в машину игрока {3caa3c}%s", PlayerNameEx[giveplayerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
PutPlayerInVehicle(giveplayerid, vehicleid, getter);
}
else
{
SendClientMessage(playerid, COLOR_GRAY, "Вы находитесь далеко от машины.");
}
}
return 1;
}
// Список розыскиваемых. Для милиции
else if(!strcmp(cmd, "/wanted", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
new want_text[256],want;
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i) && GetPlayerWantedLevel(i) > 0)
{
f(want_text, "{FFFFFF}ID: {3caa3c}%d {FFFFFF}| Имя: {3caa3c}%s {FFFFFF}| Количество звёзд: {3caa3c}%d\n", i, PlayerNameEx[i], GetPlayerWantedLevel(i));
strcat(string, want_text); want += 1;
}
}
if(want == 0) f(string, "Список пуст");
ShowDialog(playerid, 00000, DIALOG_STYLE_MSGBOX, "Список подозреваемых", string, "Закрыть", "");
return 1;
}
// Сказать в мегафон. Для милиции
else if(!strcmp(cmd, "/m", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pMuteTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "У вас молчанка, вы не можете разговаривать/писать в чат.");
if(!IsMiliciaCar(GetPlayerVehicleID(playerid)) && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны находиться в служебном транспорте.");
result = strrest(cmdtext, idx);
if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /m [ текст ]");
f(string, "{FFEE00}[ МЕГАФОН ] %s: %s", PlayerNameEx[playerid], result);
SendDistanceChat(playerid, 50.0, string);
return 1;
}
// Выписать штраф. Для милиции
else if(!strcmp(cmd, "/ticket", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 2 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 2-ым рангом, чтобы выписывать штраф.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /ticket [ id игрока ] [ штраф ] [ нарушение ]");
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /ticket [ id игрока ] [ штраф ] [ нарушение ]");
new price = strval(tmp);
if(price < 100 || price > 10000) return SendClientMessage(playerid, COLOR_GRAY, "Сумма штраф может быть не меньше 100 и не больше 10.000 рублей.");
result = strrest(cmdtext, idx);
if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /ticket [ id игрока ] [ штраф ] [ нарушение ]");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(PlayerInfo[giveplayerid][pMember] == MILICIA_ORG) return MSG_COPACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
if(price > GetPlayerMoneyEx(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAY, "У нарушителя нет такой сумму денег.");
f(string, "{B17FC8}%s выписал штраф гражданину %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
f(string, "\
{3caa3c}Выписка штрафа.\n\
{ffffff}Сотрудник милиции %s выписал вам штраф на на сумму %d руб.\n\
Причина штрафа: %s\n\
Вы согласны оплатить штраф?\
", PlayerNameEx[playerid], price, result);
ShowDialog(giveplayerid, TICKET_ID, DIALOG_STYLE_MSGBOX, "Штраф", string, "Да", "Нет");
GetPlayerTransfer[giveplayerid] = playerid;
GetPlayerOption[giveplayerid] = price;
}
return 1;
}
// Выдать розыск. Для милиции
else if(!strcmp(cmd, "/su", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 2 && PlayerInfo[playerid][pMember] == MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 2-ым рангом, чтобы подавать в розыск.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /su [ id игрока ] [ количество звёзд ] [ причина ]");
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /su [ id игрока ] [ количество звёзд ] [ причина ]");
new wanted = strval(tmp);
if(wanted < 0 || wanted > 6) return SendClientMessage(playerid, COLOR_GRAY, "Вы ввели не верное количество звёзд. Используйте количество от 0 до 6.");
result = strrest(cmdtext, idx);
if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /su [ id игрока ] [ количество звёзд ] [ причина ]");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(PlayerInfo[giveplayerid][pMember] == MILICIA_ORG) return MSG_COPACT(playerid);
f(string, "Вы дали {3caa3c}%d{FFFFFF} звёзд игроку {3caa3c}%s. {FFFFFF}Причина: {3caa3c}%s", wanted, PlayerNameEx[giveplayerid], result);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "Сотрудник милиции {3caa3c}%s{FFFFFF} выдал вам {3caa3c}%d{ffffff} звёзд. {FFFFFF}Причина: {3caa3c}%s", PlayerNameEx[playerid], wanted, result);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
SetPlayerWantedLevel(giveplayerid, wanted);
f(string, "{B17FC8}%s объявил в розыск %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(playerid, 20.0, string);
}
return 1;
}
// Очистить розыск. Для милиции
else if(!strcmp(cmd, "/clear", true))
{
if(PlayerInfo[playerid][pMember] != MILICIA_ORG) return SendClientMessage(playerid, COLOR_GRAY, "Вы не сотрудник милиции.");
if(PlayerInfo[playerid][pRank] < 4) return SendClientMessage(playerid, COLOR_GRAY, "Вы должны быть 2-ым рангом, чтобы очищать розыск.");
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /clear [ id игрока ]");
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(PlayerInfo[giveplayerid][pMember] == MILICIA_ORG) return MSG_COPACT(playerid);
if(GetPlayerWantedLevel(giveplayerid) == 0) return SendClientMessage(playerid, COLOR_GRAY, "У этого игрока нет уровеня розыска");
f(string, "Вы очистили уровень розыска у игрока {3caa3c}%s", PlayerNameEx[giveplayerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "Сотрудник милиции {3caa3c}%s{FFFFFF} очистил ваш уровень розыска.", PlayerNameEx[playerid]);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
SetPlayerWantedLevel(giveplayerid, 0);
}
return 1;
}
// Узнать номер мобильного телефона.
else if(!strcmp(cmd, "/number", true))
{
if(PlayerInfo[playerid][pPhBook] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет телефонной книжки. Приобрести можно в магазине 24/7.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /number [ id игрока ]");
giveplayerid = strval(tmp);
if(giveplayerid == playerid) return MSG_NOMEACT(playerid);
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(PlayerInfo[giveplayerid][pPhNumber] == 0) return SendClientMessage(playerid, COLOR_GRAY, "Номер игрока не найден.");
f(string, "Игрок: {3caa3c}%s{FFFFFF} Номер телефона: {3caa3c}%d", PlayerNameEx[giveplayerid], PlayerInfo[giveplayerid][pPhNumber]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
return 1;
}
// Включить / Выключить телефон.
else if(!strcmp(cmd, "/nutrition", true))
{
if(PlayerInfo[playerid][pPhNumber] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет сотового телефона. Приобрести можно в магазине 24/7.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /nutrition [1 - Включить ] [2 - Выключить ]");
new type = strval(tmp);
if(type < 1 || type > 2) return SendClientMessage(playerid, COLOR_GRAY, "Вы использовали недопустимое значение. Используйте от 1 до 2");
switch(type)
{
case 1: PlayerInfo[playerid][pPhones] = 1;
case 2: PlayerInfo[playerid][pPhones] = 2;
}
new getcarx = strval(tmp);
if(getcarx == 1)
{
SendClientMessage(playerid, COLOR_GREEN, "Вы включили телефон.");
SaveAllInformation();
}
if(getcarx == 2)
{
SendClientMessage(playerid, COLOR_GREEN, "Вы выключили телефон.");
SaveAllInformation();
}
return 1;
}
// Отправить SMS
else if(!strcmp(cmd, "/sms", true))
{
if(PlayerInfo[playerid][pPhNumber] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет сотового телефона. Приобрести можно в магазине 24/7.");
if(PlayerInfo[giveplayerid][pPhones] == 2) return SendClientMessage(playerid, COLOR_GRAY, "Телефон данного игрока выключен.");
if(PlayerCuffed[playerid] || PlayerTied[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Находясь в наручниках или связанным, это действие невозможно.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /sms [ номер телефона ] [ текст ]");
new phone = strval(tmp);
result = strrest(cmdtext, idx);
if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /sms [ номер телефона ] [ текст ]");
if(PlayerInfo[playerid][pPhNumber] == phone) return SendClientMessage(playerid, COLOR_GRAY, "Нельзя отправить сообщение самому себе.");
giveplayerid = 999;
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pPhNumber] == phone && phone != 0)
{
giveplayerid = i;
break;
}
}
}
if(giveplayerid != 999)
{
if(PlayerInfo[playerid][pPhBalance] < 1) return SendClientMessage(playerid, COLOR_GRAY, "Недостаточно средств на телефоне, для отправки сообщения.");
PlayerInfo[playerid][pPhBalance] -= 1;
BusinessInfo[PHONE_BIZZ][bBalance] += 1;
BusinessInfo[PHONE_BIZZ][bFunds] -= 1;
f(string, "{ffff00}SMS: %s [ Получатель %d ]", result, phone);
SendClientMessage(playerid, 0x09A3E0FF, string);
f(string, "{ffff00}SMS: %s [ Отправитель %d ]", result, PlayerInfo[playerid][pPhNumber]);
SendClientMessage(giveplayerid, 0x09A3E0FF, string);
f(string, "{B17FC8}%s Достал телефон, и пишет сообщение.", PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
}
else
{
SendClientMessage(playerid, COLOR_GRAY, "Игрок с указанным телефоном не найден.");
}
return 1;
}
// Позвонить
else if(!strcmp(cmd, "/call", true))
{
if(PlayerInfo[playerid][pPhNumber] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет сотового телефона. Приобрести можно в магазине 24/7.");
if(PlayerInfo[giveplayerid][pPhones] == 2) return SendClientMessage(playerid, COLOR_GRAY, "У вас выключен телефон."); // Если выключен телефон.
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(PlayerCuffed[playerid] || PlayerTied[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Находясь в наручниках или связанным, это действие невозможно.");
result = strrest(cmdtext, idx);
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAY, "Используйте: /call [ номер телефона ]");
SendClientMessage(playerid, COLOR_GRAY, "*100# - Проверить баланс телефона. *222# - Узнать точное время. 112 - Экстренный вызов.");
return 1;
}
if(PlayerInfo[playerid][pPhNumber] == strval(result)) return SendClientMessage(playerid, COLOR_GRAY, "Нельзя позвонить самому себе.");
// баланс
if(!strcmp(result, "*100#", true))
{
f(string, "На вашем счету {3caa3c}%d рублей.", PlayerInfo[playerid][pPhBalance]);
ShowDialog(playerid, 00000, DIALOG_STYLE_MSGBOX, "Баланс сотового телефона", string, "Закрыть", "");
f(string, "{B17FC8}%s Достал телефон, и набирает номер.", PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
return 1;
}
// точное время
if(!strcmp(result, "*222#", true))
{
new hours, minutes, seconds, year, month, day;
gettime(hours, minutes, seconds);
getdate(year, month, day);
f(string, "{ffffff}Точное время: {3caa3c}%s%d:%s%d:%s%d\n\
{ffffff}Точная дата: {3caa3c}%s%d.%s%d.%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("0") : (""), seconds, (day < 10) ? ("0") : (""), day, (month < 10) ? ("0") : (""), month, year);
ShowDialog(playerid, 00000, DIALOG_STYLE_MSGBOX, "Точное время", string, "Закрыть", "");
f(string, "{B17FC8}%s Достал телефон, и набирает номер.", PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
return 1;
}
// 112
if(!strcmp(result, "112", true))
{
PlayerUsePhone(playerid, true);
f(string, "{B17FC8}%s Достал телефон, и набирает номер.", PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
ShowDialog(playerid, CALL_ID, DIALOG_STYLE_LIST, "Экстренный вызов:", "\
{3caa3c}[ 1 ]{ffffff} Такси 'Сатурн'\n\
{3caa3c}[ 2 ]{ffffff} Больница\n\
{3caa3c}[ 3 ]{ffffff} Милиция\n\
{3caa3c}[ 4 ]{ffffff} Пожарная часть\
", "Далее", "Отмена");
return 1;
}
new phone = strval(result);
giveplayerid = 999;
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pPhNumber] == phone && phone != 0)
{
giveplayerid = i;
break;
}
}
}
if(giveplayerid != 999)
{
if(PlayerInfo[playerid][pPhBalance] < 1) return SendClientMessage(playerid,COLOR_GRAY, "Недостаточно средств на телефоне, для совершения данного звонка.");
if(PlayerCalledEx[playerid] || PlayerCalled[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Вы уже с кем-то разговариваете/звоните.");
GetPlayerCalled[playerid] = giveplayerid;
GetPlayerCalled[giveplayerid] = playerid;
PlayerCallMode[playerid] = 1;
PlayerCallMode[giveplayerid] = 1;
PlayerCalledEx[playerid] = true;
f(string, "{B17FC8}%s Достал телефон, и набирает номер.", PlayerNameEx[playerid]);
SendDistanceChat(playerid, 20.0, string);
PlayerUsePhone(playerid, true);
f(string, "Вы звоните на телефон {3caa3c}%d", phone);
SendClientMessage(playerid, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_GRAY, "Чтобы положить трубку используйте команду {FFFFFF}/h");
f(string, "Вам звонят с телефона {3caa3c}%d", PlayerInfo[playerid][pPhNumber]);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
f(string, "{B17FC8}У %s Зазвонил телефон.", PlayerNameEx[playerid]);
SendDistanceChat(giveplayerid, 20.0, string);
SendClientMessage(giveplayerid, COLOR_GRAY, "Чтобы положить трубку используй команду {FFFFFF}/h {DEDEDE}| чтобы взять {FFFFFF}/p");
}
else
{
SendClientMessage(playerid, COLOR_GRAY, "Игрок с указанным вами телефоном не найден.");
}
return 1;
}
// Поднять трубку.
else if(!strcmp(cmd, "/p", true))
{
if(PlayerInfo[playerid][pPhNumber] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет сотового телефона. Приобрести можно в магазине 24/7.");
if(GetPlayerCalled[playerid] == INVALID_PLAYER_ID || GetPlayerCalled[playerid] == 112
|| GetPlayerCalled[playerid] == 1000 || GetPlayerCalled[playerid] == 2000) return SendClientMessage(playerid, COLOR_GRAY, "Вам никто не звонил.");
if(PlayerCalledEx[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Вы уже звоните/разговариваете.");
giveplayerid = GetPlayerCalled[playerid];
PlayerCalled[giveplayerid] = true;
PlayerUsePhone(playerid, true);
SendClientMessage(playerid, COLOR_GRAY, "Абонент поднял трубку, разговор начался.");
SendClientMessage(playerid, COLOR_GRAY, "Чтобы сказать в трубку, используйте {FF8300}/t");
SendClientMessage(giveplayerid, COLOR_GRAY, "Вы взяли трубку, разговор начался.");
SendClientMessage(giveplayerid, COLOR_GRAY, "Чтобы сказать в трубку, используйте {FF8300}/t");
PlayerCallMode[playerid] = 2;
PlayerCallMode[giveplayerid] = 2;
return 1;
}
// Положить трубку
else if(!strcmp(cmd, "/h", true))
{
if(PlayerInfo[playerid][pPhNumber] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет сотового телефона. Приобрести можно в магазине 24/7.");
if(GetPlayerCalled[playerid] == INVALID_PLAYER_ID || GetPlayerCalled[playerid] == 112) return SendClientMessage(playerid, COLOR_GRAY, "Вам никто не звонил.");
giveplayerid = GetPlayerCalled[playerid];
PlayerCalled[giveplayerid] = false;
PlayerCalledEx[giveplayerid] = false;
PlayerCalled[playerid] = false;
PlayerCalledEx[playerid] = false;
GetPlayerCalled[giveplayerid] = INVALID_PLAYER_ID;
GetPlayerCalled[playerid] = INVALID_PLAYER_ID;
if(PlayerCallMode[playerid] == 2)
{
SendClientMessage(playerid, COLOR_GRAY, "Вы положили трубку.");
SendClientMessage(giveplayerid, COLOR_WHITE, "Собеседник положил трубку.");
}
else
{
SendClientMessage(playerid, COLOR_GRAY, "Вы отклонили звонок.");
SendClientMessage(giveplayerid, COLOR_WHITE, "Собеседник отклонил звонок.");
}
PlayerUsePhone(playerid, false);
PlayerUsePhone(giveplayerid, false);
PlayerCallMode[playerid] = 0;
PlayerCallMode[giveplayerid] = 0;
return 1;
}
// Сказать в трубку
else if(!strcmp(cmd, "/t", true))
{
if(PlayerInfo[playerid][pPhNumber] == 0) return SendClientMessage(playerid, COLOR_GRAY, "У вас нет сотового телефона. Приобрести можно в магазине 24/7.");
if(GetPlayerCalled[playerid] == INVALID_PLAYER_ID || GetPlayerCalled[playerid] == 112) return SendClientMessage(playerid, COLOR_GRAY, "Вам никто не звонил.");
if(PlayerCallMode[playerid] == 1) return SendClientMessage(playerid, COLOR_GRAY, "Вы еще не разговариваете.");
result = strrest(cmdtext, idx);
if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /t [ текст ]");
giveplayerid = GetPlayerCalled[playerid];
if(PlayerCallMode[playerid] == 2)
{
f(string, "{ffff00}[ Телефон ] %s", result);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "{ffff00}[ Телефон ] %s", result);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
}
return 1;
}
// Передать деньги игрока
else if(!strcmp(cmd, "/pay", true))
{
if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GRAY, "Это действие в тюрьме невозможно.");
if(PlayerCuffed[playerid] || PlayerTied[playerid]) return SendClientMessage(playerid, COLOR_GRAY, "Находясь в наручниках или связанным, это действие невозможно.");
new moneys;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /pay [ id игрока ] [ количество денег ]");
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAY, "Используйте: /pay [ id игрока ] [ количество денег ]");
moneys = strval(tmp);
if(moneys < 1 || GetPlayerMoneyEx(playerid) < moneys) return SendClientMessage(playerid, COLOR_GRAY, "Вы указали неверную сумму.");
if(!IsPlayerConnected(giveplayerid)) return MSG_NOTPLAYER(playerid);
{
if(playerid == giveplayerid) return MSG_NOMEACT(playerid);
if(GetDistancePlayers(playerid, giveplayerid) > 3.0) return MSG_BIGDIST(playerid);
f(string, "{B17FC8}%s Что-то передал %s", PlayerNameEx[playerid], PlayerNameEx[giveplayerid]);
SendDistanceChat(giveplayerid, 20.0, string);
f(string, "Вы передали игроку {3caa3c}%s %d руб.", PlayerNameEx[giveplayerid], moneys);
SendClientMessage(playerid, COLOR_WHITE, string);
f(string, "Игрок {3caa3c}%s{ffffff} передал вам {3caa3c}%d руб.", PlayerNameEx[playerid], moneys);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
GivePlayerMoneyEx(giveplayerid, moneys);
GivePlayerMoneyEx(playerid, -moneys);
GetPlayerTransfer[playerid] = INVALID_PLAYER_ID;
}
return 1;
}