CMD:jail(playerid, params[])
{
//check if the player is a admin
//LevelCheck(playerid, 2);
new target, time, reason[128];
if(sscanf(params, "uI(60)S(No reason specified)[128]", target, time, reason)) return SendClientMessage(playerid, COLOR_THISTLE, "USAGE: /jail [player] [*seconds] [*reason]");
if(! IsPlayerConnected(target)) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: The specified player is not conected.");
if(GetPlayerGAdminLevel(playerid) < GetPlayerGAdminLevel(target)) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: You cannot use this command on higher level admin.");
if(time > 5*60 || time < 10) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: The jail time must be b/w 10 - 360(5 minutes) seconds.");
//if(target == playerid) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: You cannot jail yourself.");
if(gUser[target][u_jailed] == 1) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: Player is already in jail.");
gUser[target][u_jailed] = 1;
gUser[target][u_jailtime] = time;
JailPlayer(target);
PlayerPlaySound(target, 1057, 0.0, 0.0, 0.0);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
new string[144];
format(string, sizeof(string), "* %s[%i] has been jailed by admin %s[%i] for %i seconds [Reason: %s]", ReturnPlayerName(target), target, ReturnPlayerName(playerid), playerid, time, reason);
SendClientMessageToAll(COLOR_DODGER_BLUE, string);
format(string, sizeof(string), "~b~~h~~h~~h~Jailed for %i secs", time);
GameTextForPlayer(target, string, 5000, 3);
new key = DB::RetrieveKey(gGlobal[s_usertable], "username", ReturnPlayerName(playerid));
DB::SetIntEntry(gGlobal[s_usertable], key, "jailed", gUser[target][u_jailed]);
DB::SetIntEntry(gGlobal[s_usertable], key, "jailtime", gUser[target][u_jailtime]);
key = DB::RetrieveKey(gGlobal[s_statscount], "username", ReturnPlayerName(playerid));
DB::SetIntEntry(gGlobal[s_statscount], key, "jailcount+", gUser[target][u_jailcount]);
SaveStatsCount(playerid);
return 1;
}
CMD:jail(playerid, params[])
{
//check if the player is a admin
//LevelCheck(playerid, 2);
new target, time, reason[128];
if(sscanf(params, "uI(60)S(No reason specified)[128]", target, time, reason)) return SendClientMessage(playerid, COLOR_THISTLE, "USAGE: /jail [player] [*seconds] [*reason]");
if(! IsPlayerConnected(target)) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: The specified player is not conected.");
if(GetPlayerGAdminLevel(playerid) < GetPlayerGAdminLevel(target)) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: You cannot use this command on higher level admin.");
if(time > 5*60 || time < 10) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: The jail time must be b/w 10 - 360(5 minutes) seconds.");
//if(target == playerid) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: You cannot jail yourself.");
if(gUser[target][u_jailed] == 1) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: Player is already in jail.");
gUser[target][u_jailed] = 1;
gUser[target][u_jailed]++; // FAZ A CONTAGEM
gUser[target][u_jailtime] = time;
JailPlayer(target);
PlayerPlaySound(target, 1057, 0.0, 0.0, 0.0);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
new string[144];
format(string, sizeof(string), "* %s[%i] has been jailed by admin %s[%i] for %i seconds [Reason: %s]", ReturnPlayerName(target), target, ReturnPlayerName(playerid), playerid, time, reason);
SendClientMessageToAll(COLOR_DODGER_BLUE, string);
format(string, sizeof(string), "~b~~h~~h~~h~Jailed for %i secs", time);
GameTextForPlayer(target, string, 5000, 3);
new key = DB::RetrieveKey(gGlobal[s_usertable], "username", ReturnPlayerName(playerid));
DB::SetIntEntry(gGlobal[s_usertable], key, "jailed", gUser[target][u_jailed]);
DB::SetIntEntry(gGlobal[s_usertable], key, "jailed", gUser[target][u_jailedcount]);
DB::SetIntEntry(gGlobal[s_usertable], key, "jailtime", gUser[target][u_jailtime]);
return 1;
}
gUser[target][u_jailed]++; |
DB::SetIntEntry(gGlobal[s_usertable], key, "jailed", gUser[target][u_jailedcount]); |
DB::SetIntEntry(gGlobal[s_statscount], key, "jailcount+", gUser[target][u_jailcount]+=gUser[target][u_jailed]); |
if(gUser[playerid][u_jailed] == 1) { if(gUser[playerid][u_jailtime] >= 1) { gUser[playerid][u_jailtime] -= 1; gUser[playerid][u_jailed] = 1; new key = DB::RetrieveKey(gGlobal[s_usertable], "username", ReturnPlayerName(playerid)); DB::SetIntEntry(gGlobal[s_usertable], key, "jailed", gUser[target][u_jailed]); DB::SetIntEntry(gGlobal[s_usertable], key, "jailtime", gUser[target][u_jailtime]); } else if(gUser[playerid][u_jailtime] <= 0) { gUser[playerid][u_jailtime] = 0; gUser[playerid][u_jailed] = 0; format(string, sizeof(string), "* %s[%d] has been unjailed after completing his/her time.", ReturnPlayerName(playerid), playerid); SendClientMessageToAll(COLOR_STEEL_BLUE, string); SpawnPlayer(playerid); new key = DB::RetrieveKey(gGlobal[s_usertable], "username", ReturnPlayerName(playerid)); DB::SetIntEntry(gGlobal[s_usertable], key, "jailed", gUser[target][u_jailed]); DB::SetIntEntry(gGlobal[s_usertable], key, "jailtime", gUser[target][u_jailtime]); } } |