18/04/2021 22:54
(08/04/2021 21:44)k2bi_YT Escreveu: Dei uma reformulada e corrigi alguns problemas, basta testar.ate que funciono mais quando player reconecta ele nao volta pra prisao
Código PHP:forward VerificarPreso(playerid);
forward TempoPrisao(playerid);
new TimerPreso[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
VerificarPreso(playerid);
}
public VerificarPreso(playerid)
{
if(pInfo[playerid][Prisao] > 0)
{
if(!IsPlayerInRangeOfPoint(playerid, 10, 264.6288,77.5742,1001.0391))
{
SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
SetPlayerInterior(playerid, 6);
SendClientMessage(playerid, Vermelho, "Seu Tempo de Cadeia ainda não acabou!");
}
TimerPreso[playerid] = SetTimerEx("TempoPrisao", 1000, true, "i", playerid);
}
return 1;
}
public TempoPrisao(playerid)
{
if(pInfo[playerid][Prisao] > 0)
{
pInfo[playerid][Prisao]--;
if(!IsPlayerInRangeOfPoint(playerid, 10, 264.6288,77.5742,1001.0391))
{
SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
SetPlayerInterior(playerid, 6);
SendClientMessage(playerid, Vermelho, "Seu Tempo de Cadeia ainda não acabou!");
}
}
else
if(pInfo[playerid][Prisao] <= 0)
{
SpawnPlayer(playerid);
SendClientMessage(playerid, VerdeC, "Você está livre da cadeia! Alvara cantou.");
KillTimer(TimerPreso[playerid]);
}
return 1;
}
CMD:prender(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 6.0, 1526.199, -1678, 5.900)) SendClientMessage(playerid, Vermelho, "Você precisa estar na DP para usar o comando.");
if(pInfo[playerid][Cop] != 1) return SendClientMessage(playerid, Vermelho, "Você não é um Policial.");
new id, Tempo, Motivo[30], str[128];
if(sscanf(params, "uds[30]", id, Tempo, Motivo)) return SendClientMessage(playerid, Vermelho, "|ERRO|: Use /prender [id][Minutos][motivo]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Vermelho, "Jogador jogador não conectado.");
format(str, sizeof(str), "O Policial %s prendeu o vagabundo %s, motivo %s.", pNome(playerid), pNome(id), Motivo);
SendClientMessageToAll(Azul, str);
SetPlayerPos(id, 264.6288,77.5742,1001.0391);
SetPlayerInterior(id, 6);
ResetPlayerWeapons(id);
ResetPlayerMoney(id);
SetPlayerWantedLevel(id, 0);
TogglePlayerControllable(id, 1);
pInfo[id][Prisao] = Tempo;
VerificarPreso(id);
return 1;
}