Slawon
Компетентный
Эта команда даёт ментам возможность сожать заключёных с причиною
PHP:
if (strcmp(cmd, "/kpz", true) == 0)
{
if(PlayerInfo[playerid][pFraction] != 1 && PlayerInfo[playerid][pFraction] != 2 && PlayerInfo[playerid][pFraction] != 3 && PlayerInfo[playerid][pFraction] != 10 && PlayerInfo[playerid][pFraction] != 19) {
SendClientMessage(playerid, COLOR_RED, "(( Вы не сотрудник ПО! ))");
return 1; }
tmp = strtok(cmdtext, idx);
giveplayerid = ReturnUser(tmp);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_GRAD2, "(( Используйте: /kpz [id] [время в минутах] [причина] ))");
return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(PlayerInfo[giveplayerid][pJail] > 0) {
SendClientMessage(playerid, COLOR_RED, "(( Этот игрок уже в КПЗ. ))");
return 1; }
if(playerid == giveplayerid) {
SendClientMessage(playerid, COLOR_RED, "(( Вы не можете посадить самого себя. ))");
return 1; }
tmp = strtok(cmdtext, idx);
new time = strval(tmp);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_GRAD2, "(( Используйте: /kpz [id] [время в минутах] [причина] ))");
return 1; }
if(time < 1) {
SendClientMessage(playerid, COLOR_RED, "(( Время заключения не может быть меншьше 1 минуты. ))");
return 1; }
if(time > 340) {
SendClientMessage(playerid, COLOR_RED, "(( Время заключения не может быть больше 340 минут. ))");
return 1; }
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "(( Используйте: /kpz [id] [время в минутах] [причина] ))");
return 1;
}
if(strlen(result) > 20)
{
SendClientMessage(playerid, COLOR_RED, "(( Максимальная длинна причины 20 символов. ))");
return 1;
}
if(strlen(result) < 3)
{
SendClientMessage(playerid, COLOR_RED, "(( Минимальная длинна причины 3 символа. ))");
return 1;
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[giveplayerid][pJail] = time * 60;
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
format(string, sizeof(string), "(( * Вы посадили %s в КПЗ на %d минут, причина: %s. ))", giveplayer, time, (result));
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "(( * Сотрудник ПО %s посадил вас в КПЗ на %d минут, причина: %s. ))", sendername, time, (result));
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
SetPlayerPos(giveplayerid,263.3217,77.5844,1001.0391);
SetPlayerFacingAngle(giveplayerid, 89.7582);
ServerResetPlayerWeapons(giveplayerid);
if (PlayerInfo[giveplayerid][pSex] == 1) {
SetPlayerSkin(giveplayerid, 62);
}
if (PlayerInfo[giveplayerid][pSex] == 2) {
SetPlayerSkin(giveplayerid, 69);
}
SetPlayerInterior(giveplayerid,6);
SetPlayerColor(giveplayerid, COLOR_INV);
rabota[giveplayerid] = 0;
JailText[giveplayerid] = TextDrawCreate(490.000000, 108.000000,"jail time left:");
TextDrawBackgroundColor(JailText[giveplayerid], 255);
TextDrawFont(JailText[giveplayerid], 2);
TextDrawLetterSize(JailText[giveplayerid], 0.250000, 0.999999);
TextDrawColor(JailText[giveplayerid], -1);
TextDrawSetOutline(JailText[giveplayerid], 1);
TextDrawSetProportional(JailText[giveplayerid], 1);
TextDrawShowForPlayer(giveplayerid,JailText[giveplayerid]);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "(( Этого игрока нет на сервере! ))");
return 1;
}
return 1;
}
