if(strcmp(cmd, "/prender", true) == 0) { if(IsPlayerConnected(playerid)) { if(gTeam[playerid] == 2 || IsACop(playerid) || IsAPre(playerid)) { if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMembro] == 1 && PlayerInfo[playerid][pMembro] == 17) { SendClientMessage(playerid, COLOR_GREY, " Vocк nгo estб de plantгo!"); return 1; } if(!PlayerToPoint(6.0, playerid, 198.5995,179.4211,1003.0315)) {// Jail spot SendClientMessage(playerid, COLOR_GREY, " Voce nгo estб perto da cela, nгo pode prender o suspeito !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /prender [preзo] [tempo (minutos)] [fianca (0=nao 1=sim)] [preco da fianca]"); return 1; } moneys = strval(tmp); if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, " O Preзo nгo pode ser menor que R$1 ou maior que R$99999 !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /prender [preзo] [tempo (minutos)] [fianca (0=nao 1=sim)] [preco da fianca]"); return 1; } new time = strval(tmp); if(time < 1 || time > 20) { SendClientMessage(playerid, COLOR_GREY, " O Tempo nao pode ser menor que 1 nem maior que 20 !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /prender [preзo] [tempo (minutos)] [fianca (0=nao 1=sim)] [preco da fianca]"); return 1; } new bail = strval(tmp); if(bail < 0 || bail > 1) { SendClientMessage(playerid, COLOR_GREY, " Fianca nao pode ser menor que 0 nem maior que 1 !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /prender [preзo] [tempo (minutos)] [fianca (0=nao 1=sim)] [preco da fianca]"); return 1; } new bailprice = strval(tmp); if(bailprice < 0 || bailprice > 3000000) { SendClientMessage(playerid, COLOR_GREY, " O Preзo nao pode ser menor que %0 nem maior que R$3000000 !"); return 1; } new suspect = GetClosestPlayer(playerid); if(IsPlayerConnected(suspect)) { if(GetDistanceBetweenPlayers(playerid,suspect) < 5) { GetPlayerName(suspect, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(WantedLevel[suspect] < 1) { SendClientMessage(playerid, COLOR_GREY, " O Jogador deve ter no minimo 1 nivel de procurado!"); return 1; } format(string, sizeof(string), "* Prendeu %s !", giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); GivePlayerMoneyEx(suspect, -moneys); format(string, sizeof(string), "Preso por %s ~n~ fou R$%d", sendername, moneys); GameTextForPlayer(suspect, string, 5000, 5); ResetPlayerWeapons(suspect); if(PlayerInfo[playerid][pMembro]==1||PlayerInfo[playerid][pLider]==1) { format(string, sizeof(string), "<< Policial Militar %s prendeu o suspeito %s >>", sendername, giveplayer); SendClientMessageToAll(COLOR_LIGHTRED, string); } else if(PlayerInfo[playerid][pMembro]==2||PlayerInfo[playerid][pLider]==2) { format(string, sizeof(string), "<< Policial Federal %s prendeu o suspeito %s >>", sendername, giveplayer); SendClientMessageToAll(COLOR_LIGHTRED, string); } else if(PlayerInfo[playerid][pMembro]==3||PlayerInfo[playerid][pLider]==3) { format(string, sizeof(string), "<< Exйrcito %s prendeu o suspeito %s >>", sendername, giveplayer); SendClientMessageToAll(COLOR_LIGHTRED, string); } else if(PlayerInfo[playerid][pMembro]==7||PlayerInfo[playerid][pLider]==7) { format(string, sizeof(string), "<< Policia Especial %s prendeu o suspeito %s >>", sendername, giveplayer); SendClientMessageToAll(COLOR_LIGHTRED, string); } else if(PlayerInfo[playerid][pMembro]==13||PlayerInfo[playerid][pLider]==137) { format(string, sizeof(string), "<< Policia Rodoviaria %s prendeu o suspeito %s >>", sendername, giveplayer); SendClientMessageToAll(COLOR_LIGHTRED, string); } else if(PlayerInfo[playerid][pMembro]==25||PlayerInfo[playerid][pLider]==25) { format(string, sizeof(string), "<< FAB %s prendeu o suspeito %s >>", sendername, giveplayer); SendClientMessageToAll(COLOR_LIGHTRED, string); } SetPlayerInterior(suspect, 3); SetPlayerPos(suspect,197.4018,175.4152,1003.0234); PlayerInfo[suspect][pJailTime] = time * 60; if(bail == 1) { JailPrice[suspect] = bailprice; format(string, sizeof(string), "Voce foi preso por %d Segundos. Bail: R$%d", PlayerInfo[suspect][pJailTime], JailPrice[suspect]); SendClientMessage(suspect, COLOR_LIGHTBLUE, string); } else { JailPrice[suspect] = 0; format(string, sizeof(string), "Voce foi preso por %d Segundos. Bail: Unable", PlayerInfo[suspect][pJailTime]); SendClientMessage(suspect, COLOR_LIGHTBLUE, string); } PlayerInfo[suspect][pJailed] = 1; PlayerInfo[suspect][pArrested] += 1; SetPlayerFree(suspect,playerid, "Foi Preso"); WantedPoints[suspect] = 0; WantedLevel[suspect] = 0; WantAdvogado[suspect] = 1; }//distance }//not connected else { SendClientMessage(playerid, COLOR_GREY, " Nao e o suficiente para fechar a prisao."); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Voce nгo e Policial/ROTAM/Exercito/Policia Especial/Policia Rodoviaria/FAB !"); return 1; } }//not connected return 1; }
//No Topo do GM, perto das outras forwards:
forward RetirarPlayerJaula();
//No OnGameModeInit:
SetTimer("RetirarPlayerJaula", 1000, 1);
//Final do GM:
public RetirarPlayerJaula()
{
new string[256];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pJailTime] > 0 && WantAdvogado[i] == 0)
{
PlayerInfo[i][pJailTime]--;
}
if(PlayerInfo[i][pJailTime] <= 0 && WantAdvogado[i] == 0)
{
PlayerInfo[i][pJailTime] = 0;
if(PlayerInfo[i][pJailed] == 1)
{
SetPlayerInterior(i, 6);
SetPlayerPos(i,268.0903,77.6489,1001.0391);
}
else if(PlayerInfo[i][pJailed] == 2)
{
SetPlayerWorldBounds(i,20000.0000,-20000.0000,20000.0000,-20000.0000);
SetPlayerInterior(i, 0);
SetPlayerPos(i, 90.2101,1920.4854,17.9422);
}
PlayerInfo[i][pJailed] = 0;
SendClientMessage(i, COLOR_GRAD1,"Voce pagou sua divida com a sociedade.");
format(string, sizeof(string), "~g~Livre~n~~w~Nao cometa mais crimes");
GameTextForPlayer(i, string, 5000, 1);
ClearCrime(i);
SetPlayerToTeamColor(i);
}
}
}
}
Tava com esse problema, mais resolveu apуs eu reconfigurar meu HouseInfo.
|
new string[256];//Essa estб no comeзo da public RetirarPlayerJaula.
SendClientMessage(i, COLOR_GRAD1,"Voce pagou sua divida com a sociedade.");//Essa estб no final da public.
format(string, sizeof(string), "~g~Livre~n~~w~Nao cometa mais crimes");//Essa estб no final da public.
GameTextForPlayer(i, string, 5000, 1);//Essa estб no final da public.