CMD PRENDER - Smith - 03/04/2021
Galera auguem pode me ajudar estou tentando fazer um comando de prender para as cop
na pratica esta funcionando certinho porem depois que você usa o comando /prender id tempo motivo
os outro comandos fica invalido tipo que desativa os outros comandos, quando vai usar outro comando fala que o comando não existe
e mostra a mensagem SERVE: Unknown command.
pwn abaixo
Código: forward VerificarPreso(playerid);
forward TempoPrisao(playerid);
public OnPlayerConnect
{
SetTimerEx("VerificarPreso", 1000, true, "i", playerid);
}
public VerificarPreso(playerid)
{
if(pInfo[playerid][Prisao] > 0)
{
SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
SetPlayerInterior(playerid, 6);
SendClientMessage(playerid, Vermelho, "Seu Tempo de Cadeia ainda não acabou!");
SetTimerEx("TempoPrisao", 1000, true, "i", playerid);
}
return 1;
}
public TempoPrisao(playerid){
pInfo[playerid][Prisao]--;
if(pInfo[playerid][Prisao] <= 0)
{
SpawnPlayer(playerid);
SendClientMessage(playerid, VerdeC, "Você está livre da cadeia! alvara cantou");
KillTimer(TempoPrisao(playerid));
}
}
CMD:prender(playerid, params[])
if(!IsPlayerInRangeOfPoint(playerid, 6.0, 1526.1999511719, -1678, 5.9000000953674))return SendClientMessage(playerid, Vermelho, "Voce precisa estar na dp para usar o comando");
if(pInfo[playerid][Cop] !=1) return SendClientMessage(playerid, Vermelho, "Voce nao e um Policial");
new id, Tempo, Motivo[30], str[128];
if(sscanf(params, "uds", id, Tempo, Motivo))return SendClientMessage(playerid, Vermelho, "|ERRO|: Use /prender [id][Minutos][motivo]");
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;
SetTimerEx("TempoPrisao", 1000, true, "i", id);
return 1;
}
RE: CMD PRENDER - Smith - 08/04/2021
(03/04/2021 22:02)Smith Escreveu: Galera auguem pode me ajudar estou tentando fazer um comando de prender para as cop
na pratica esta funcionando certinho porem depois que você usa o comando /prender id tempo motivo
os outro comandos fica invalido tipo que desativa os outros comandos, quando vai usar outro comando fala que o comando não existe
e mostra a mensagem SERVE: Unknown command.
pwn abaixo
Código: forward VerificarPreso(playerid);
forward TempoPrisao(playerid);
public OnPlayerConnect
{
SetTimerEx("VerificarPreso", 1000, true, "i", playerid);
}
public VerificarPreso(playerid)
{
if(pInfo[playerid][Prisao] > 0)
{
SetPlayerPos(playerid, 264.6288,77.5742,1001.0391);
SetPlayerInterior(playerid, 6);
SendClientMessage(playerid, Vermelho, "Seu Tempo de Cadeia ainda não acabou!");
SetTimerEx("TempoPrisao", 1000, true, "i", playerid);
}
return 1;
}
public TempoPrisao(playerid){
pInfo[playerid][Prisao]--;
if(pInfo[playerid][Prisao] <= 0)
{
SpawnPlayer(playerid);
SendClientMessage(playerid, VerdeC, "Você está livre da cadeia! alvara cantou");
KillTimer(TempoPrisao(playerid));
}
}
CMD:prender(playerid, params[])
if(!IsPlayerInRangeOfPoint(playerid, 6.0, 1526.1999511719, -1678, 5.9000000953674))return SendClientMessage(playerid, Vermelho, "Voce precisa estar na dp para usar o comando");
if(pInfo[playerid][Cop] !=1) return SendClientMessage(playerid, Vermelho, "Voce nao e um Policial");
new id, Tempo, Motivo[30], str[128];
if(sscanf(params, "uds", id, Tempo, Motivo))return SendClientMessage(playerid, Vermelho, "|ERRO|: Use /prender [id][Minutos][motivo]");
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;
SetTimerEx("TempoPrisao", 1000, true, "i", id);
return 1;
}
alguem pode me ajudar? se não achar erro no codico podem me falar uma outra forma de fazer esse sistema? uma base?
RE: CMD PRENDER - k2bi_YT - 08/04/2021
Dei uma reformulada e corrigi alguns problemas, basta testar.
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; }
RE: CMD PRENDER - Smith - 18/04/2021
(08/04/2021 21:44)k2bi_YT Escreveu: Dei uma reformulada e corrigi alguns problemas, basta testar.
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; }
ate que funciono mais quando player reconecta ele nao volta pra prisao
|