PDA

Просмотр полной версии : [Вопрос] Изменение команды /jail



kala4iks
22.09.2015, 19:26
Добрый вечер, помогите пожалуйста как добавить такое в /jail как на скрине.

http://rghost.ru/7SljGWpC2/image.png (http://rghost.ru/7SljGWpC2.view)

Или допустим чтоб с 60 минут пересадить на 30 и писало что пересадил со стольки то до стольки, а если -время то освобождался из кпз.


CMD:jail(playerid,params[])
{
new string[164];
if(Player[playerid][pAdmin] < 3 || AdminDuty[playerid] == 0)return NoRights;
if(sscanf(params,"rds[64]",params[0],params[1],params[2]))return send(playerid,COLOR_COMAND,"[КОМАНДЫ] {FFFFFF}/jail [id игрока] [Время] [Причина].");
if(!IsPlayerConnected(params[0]))return Notonline;
if(params[1] == 0)
{
send(params[0],COLOR_WHITE,"Ты был(а) телепортирован(а) на место появления администратором.");
SpawnPlayer(params[0]);
return 1;
}
if(params[1] > 50000)return send(playerid,COLOR_RED,"[ОШИБКА] {FFFFFF}Доступное значение минут заключения до 50000.");
f(string,"Администратор %s посадил(а) %s в тюрьму на %d минут. Причина: %s",Player[playerid][pName],Player[params[0]][pName],params[1],params[2]);
SendClientMessageToAll(COLOR_ORANGERED,string);
ResetPlayerWeapons(params[0]);
Player[params[0]][pWanted] = 0;
SetPlayerWantedLevel(params[0],0);
Player[params[0]][pJailed] = true;
Player[params[0]][pJailTime] = params[1]*60;
Player[params[0]][pJailBlock] = false;
OnPlayerSpawn(params[0]);
SaveAccount(params[0]);
return 1;
}

L0ndl3m
22.09.2015, 22:13
Если честно, я нихрена не понял.

$continue$
23.09.2015, 01:06
CMD:jail(playerid, params[])
{
if (Player[playerid][pAdmin] < 3 || AdminDuty[playerid] == 0)
return NoRights;
if (sscanf(params, "dds[64]", params[0], params[1], params[2]))
return SendClientMessage(playerid, COLOR_COMAND, "[КОМАНДЫ] {FFFFFF}/jail [id игрока] [Время] [Причина].");
if (!IsPlayerConnected(params[0]))
return Notonline;
if (Player[params[0]][pJailTime] > 0)
return SendClientMessage(params[0], -1, "Вас пересадили");
if (params[1] == 0)
{
SendClientMessage(params[0], -1, "Ты был(а) телепортирован(а) на место появления администратором.");
SpawnPlayer(params[0]);
return 1;
}
if (params[1] > 50000)
return SendClientMessage(playerid, COLOR_RED, "[ОШИБКА] {FFFFFF}Доступное значение минут заключения до 50000.");
static const fmt_str[] = "Администратор %s посадил(а) %s в тюрьму на %d минут. Причина: %s";
new str[sizeof(fmt_str) - 8];
format(str, sizeof(str), fmt_str, Player[playerid][pName], Player[params[0]][pName], params[1], params[2]);
SendClientMessageToAll(COLOR_ORANGERED, str);
ResetPlayerWeapons(params[0]);
Player[params[0]][pWanted] = 0;
SetPlayerWantedLevel(params[0], 0);
Player[params[0]][pJailed] = true;
Player[params[0]][pJailTime] = params[1] * 60;
Player[params[0]][pJailBlock] = false;
OnPlayerSpawn(params[0]);
SaveAccount(params[0]);
return 1;
}

kala4iks
24.09.2015, 18:17
В общем вот я сделал но теперь меня интересует как сделать что можно было вводить -1 допустим если когда игрок сидит в кпз и ввести /jail id -1 то будет написано Администратор пересадил игрока со стольки-то до -1 и при этом если -1 то игрока выпускало.


CMD:jail(playerid,params[])
{
new string[164];
if(Player[playerid][pAdmin] < 3 || AdminDuty[playerid] == 0)return NoRights;
if(sscanf(params,"rds[64]",params[0],params[1],params[2]))return send(playerid,COLOR_COMAND,"[КОМАНДЫ] {FFFFFF}/jail [id игрока] [Время] [Причина].");
if(!IsPlayerConnected(params[0]))return Notonline;
if(params[1] == 0)
{
send(params[0],COLOR_WHITE,"Ты был(а) телепортирован(а) на место появления администратором.");
SpawnPlayer(params[0]);
return 1;
}
if(params[1] > 50000)return send(playerid,COLOR_RED,"[ОШИБКА] {FFFFFF}Доступное значение минут заключения до 50000.");
if(Player[params[0]][pJailed])
{
f(string,"Администратор %s пересадил(а) %s в тюрьму с %d на %d минут. Причина: %s",Player[playerid][pName],Player[params[0]][pName],Player[params[0]][pJailTime]/60,params[1],params[2]);
SendClientMessageToAll(COLOR_ORANGERED,string);
}
else
{
f(string,"Администратор %s посадил(а) %s в тюрьму на %d минут. Причина: %s",Player[playerid][pName],Player[params[0]][pName],params[1],params[2]);
SendClientMessageToAll(COLOR_ORANGERED,string);
}
ResetPlayerWeapons(params[0]);
Player[params[0]][pWanted] = 0;
SetPlayerWantedLevel(params[0],0);
Player[params[0]][pJailed] = true;
Player[params[0]][pJailTime] = params[1]*60;
Player[params[0]][pJailBlock] = false;
OnPlayerSpawn(params[0]);
SaveAccount(params[0]);
return 1;
}

#Vito
26.09.2015, 02:02
CMD:jail(playerid,params[])
{
new string[164];
if(Player[playerid][pAdmin] < 3 || AdminDuty[playerid] == 0)return NoRights;
if(sscanf(params,"rds[64]",params[0],params[1],params[2]))return send(playerid,COLOR_COMAND,"[КОМАНДЫ] {FFFFFF}/jail [id игрока] [Время] [Причина].");
if(!IsPlayerConnected(params[0]))return Notonline;
if(params[1] == 0)
{
send(params[0],COLOR_WHITE,"Ты был(а) телепортирован(а) на место появления администратором.");
SpawnPlayer(params[0]);
return 1;
}
if(params[1] > 50000)return send(playerid,COLOR_RED,"[ОШИБКА] {FFFFFF}Доступное значение минут заключения до 50000.");
if(Player[params[0]][pJailed])
{
f(string,"Администратор %s пересадил(а) %s в тюрьму с %d на %d минут. Причина: %s",Player[playerid][pName],Player[params[0]][pName],Player[params[0]][pJailTime]/60,params[1],params[2]);
SendClientMessageToAll(COLOR_ORANGERED,string);
}
else
{
f(string,"Администратор %s посадил(а) %s в тюрьму на %d минут. Причина: %s",Player[playerid][pName],Player[params[0]][pName],params[1],params[2]);
SendClientMessageToAll(COLOR_ORANGERED,string);
}
if(params[1] < 0)
{
Player[params[0]][pJailed] = false;
Player[params[0]][pJailTime] = 0;
Player[params[0]][pJailBlock] = false;
OnPlayerSpawn(params[0]);
SaveAccount(params[0]);
return 1;
}
ResetPlayerWeapons(params[0]);
Player[params[0]][pWanted] = 0;
SetPlayerWantedLevel(params[0],0);
Player[params[0]][pJailed] = true;
Player[params[0]][pJailTime] = params[1]*60;
Player[params[0]][pJailBlock] = false;
OnPlayerSpawn(params[0]);
SaveAccount(params[0]);
return 1;
}

kala4iks
26.09.2015, 09:55
CMD:jail(playerid,params[])
{
new string[164];
if(Player[playerid][pAdmin] < 3 || AdminDuty[playerid] == 0)return NoRights;
if(sscanf(params,"rds[64]",params[0],params[1],params[2]))return send(playerid,COLOR_COMAND,"[КОМАНДЫ] {FFFFFF}/jail [id игрока] [Время] [Причина].");
if(!IsPlayerConnected(params[0]))return Notonline;
if(params[1] == 0)
{
send(params[0],COLOR_WHITE,"Ты был(а) телепортирован(а) на место появления администратором.");
SpawnPlayer(params[0]);
return 1;
}
if(params[1] > 50000)return send(playerid,COLOR_RED,"[ОШИБКА] {FFFFFF}Доступное значение минут заключения до 50000.");
if(Player[params[0]][pJailed])
{
f(string,"Администратор %s пересадил(а) %s в тюрьму с %d на %d минут. Причина: %s",Player[playerid][pName],Player[params[0]][pName],Player[params[0]][pJailTime]/60,params[1],params[2]);
SendClientMessageToAll(COLOR_ORANGERED,string);
}
else
{
f(string,"Администратор %s посадил(а) %s в тюрьму на %d минут. Причина: %s",Player[playerid][pName],Player[params[0]][pName],params[1],params[2]);
SendClientMessageToAll(COLOR_ORANGERED,string);
}
if(params[1] < 0)
{
Player[params[0]][pJailed] = false;
Player[params[0]][pJailTime] = 0;
Player[params[0]][pJailBlock] = false;
OnPlayerSpawn(params[0]);
SaveAccount(params[0]);
return 1;
}
ResetPlayerWeapons(params[0]);
Player[params[0]][pWanted] = 0;
SetPlayerWantedLevel(params[0],0);
Player[params[0]][pJailed] = true;
Player[params[0]][pJailTime] = params[1]*60;
Player[params[0]][pJailBlock] = false;
OnPlayerSpawn(params[0]);
SaveAccount(params[0]);
return 1;
}
Спасибо большое.