if(strcmp(cmd, "/abordar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!IsACop(playerid))
{
SendClientMessage(playerid, COLOR_GREY, " Vocк nгo й um policial!");
return true;
}
if(OnDuty[playerid] != 1)
{
SendClientMessage(playerid, COLOR_GREY, " Vocк nгo Bateu o cartгo!");
return true;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Use: /abordar [id]");
return true;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(WantedPoints[giveplayerid] == 0)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, " Este jogador nгo estб sendo procurado!");
return true;
}
if(Abordagem[giveplayerid] == 1)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, " O jogador ja estб sendo Abordado.");
return true;
}
if(VozDePrisao[giveplayerid] == 1)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, " O jogador jб sendo perseguido.");
return true;
}
if (ProxDetectorS(5.0, playerid, giveplayerid))
{
if(PlayerInfo[playerid][pMembro] != 3 || PlayerInfo[playerid][pLider] != 3)
{
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode abordar se abordar."); return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "[POLICIA] O jogador %s tem 15s para se render.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "[POLICIA] Se o jogador nгo se render inicie uma perseguiзгo com o comando /vdp [id]");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "Vocк foi abordado pelo policial %s[%d] e tem 15s para se render.", sendername, playerid);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
GameTextForPlayer(playerid, " ~r~Policia, ~b~Pare ", 5000, 3);
format(string, sizeof(string), " Digite /render para se render.", sendername, playerid);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
Ttimer = SetTimerEx("Abordagemm", 15000, 0, "ii", playerid, giveplayerid);
Abordagem[giveplayerid] = 1;
}
else if(ProxDetectorS(5.0, playerid, giveplayerid))
{
if(PlayerInfo[playerid][pMembro] == 3 || PlayerInfo[playerid][pLider] == 3)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode abordar se abordar."); return 1; }
format(string, sizeof(string), "[EXERCITO] O jogador %s tem 15s para se render.", giveplayer);
SendClientMessage(playerid, COLOR_GREEN, string);
format(string, sizeof(string), "[EXERCITO] Se o jogador nгo se render inicie uma perseguiзгo com o comando /vdp [id]");
SendClientMessage(playerid, COLOR_GREEN, string);
format(string, sizeof(string), "Vocк foi abordado pelo militar %s[%d] e tem 15s para se render.", sendername, playerid);
SendClientMessage(giveplayerid, COLOR_GREEN, string);
GameTextForPlayer(playerid, " ~r~Exercito, ~b~Pare ", 5000, 3);
format(string, sizeof(string), " Digite /render para se render.", sendername, playerid);
SendClientMessage(giveplayerid, COLOR_GREEN, string);
Ttimer = SetTimerEx("Abordagemm", 15000, 0, "ii", playerid, giveplayerid);
Abordagem[giveplayerid] = 1;
return true;
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "Chegue Mais perto.");
return true;
}
}
}
}
}
}
}
if(strcmp(cmd, "/render", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Abordagem[playerid] == 0)
{
SendClientMessage(playerid, COLOR_ORANGE, " Vocк nгo esta sendo abordado.");
return true;
}
if(Rendido[playerid] == 1)
{
SendClientMessage(playerid, COLOR_ORANGE, " Vocк jб se rendeu, aguarde o policia fazer a autuaзгo.");
return true;
}
if(Abordagem[playerid] == 1)
{
TogglePlayerControllable(playerid, 0);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_HANDSUP);
Rendido[playerid] = 1;
SetTimerEx("Rendidoo", segundos(30), 0, "ii", playerid, giveplayerid);
KillTimer(Ttimer);
return true;
}
}
}
#define SCM SendClientMessage
new tRender;
CMD:abordar(playerid, params[])
{
new idx,
Float:pos[3],
aname[MAX_PLAYER_NAME],
Nike[MAX_PLAYER_NAME],
String[150];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(sscanf(params,"d",idx)) return SCM(playerid, -1, "[SERVER] Comando incorreto! Use: /abordar [id]");
GetPlayerName(idx, Nike, MAX_PLAYER_NAME);
if(IsPlayerConnected(idx)) return SCM(playerid, -1, "[SERVER] O jogador, nгo estб conectado");
if(!IsACop(playerid)) return SCM(playerid, -1, "[SERVER] Vocк nгo й policial");
if(OnDuty[playerid] != 1) return SCM(playerid, -1, "[SERVER] Vocк nгo Bateu o cartгo!");
if(GetPlayerWantedLevel(idx) <= 0) return SCM(playerid, -1, "[SERVER] Este jogador, nгo estб sendo procurado");
if(Abordagem[idx] >= 1) return SCM(playerid, -1, "[SERVER] O jogador jб estб sendo abordado!");
if(VozDePrisao[idx] >= 1) return SCM(playerid, -1, "[SERVER] O jogador jб estб sendo perseguido");
if(isPlayerInRangeOfPoint(idx, 5.0, pos[0], pos[1], pos[2]))
{
if(idx == playerid) return SCM(playerid, -1, "[ERRO] Vocк nгo pode se prender");
if(PlayerInfo[playerid][pMembro] != 3 || PlayerInfo[playerid][pLider] != 3)
{
format(String, sizeof(String), "[CENTRAL] O jogador %s, tem 15 Seg para se render, caso contrario inicie uma perseguiзгo!",Nike);
SCM(playerid, -1, String);
format(String, sizeof(String), "Vocк estб sendo abordado pelo policial %s, Vocк tem 15 segundos para se render!", aname);
SCM(idx, -1, String);
GameTextForPlayer(idx, "Parado! Aqui й a policia", 5000, 3);
SCM(idx, -1, "Digite: /renderse para se render!");
tRender = SetTimerEx("nRendeu", 15000, false, "i", idx);
}
}
else { SCM(playerid, -1, "[SERVER] O jogador estб muito distante"); }
return 1;
}
forward nRendeu(playerid);
public nRendeu(playerid)
{
SCM(playerid, -1, "[CENTRAL] O jogador nгo se rendeu! inicie uma perseguiзгo!");
return 1;
}
CMD:renderse(playerid)
{
if(Abordagem[playerid] >= 1)
{
killtimer(tRender);
Rendido[playerid] = 1;
TogglePlayerControllable(playeid, 1);
SetPlayerSpecialAction(playerid, 10);
}
else {SCM(playerid, -1, "[SERVER] Vocк nгo esґta sendo abordado"); }
return 1;
}
"refiz" todo sistema em sscanf2 E zcmd, o sscanf te poupa de usar muito cуdigo desnecessario!
se ajudei da +rep PHP код:
|
if(GetPlayerWantedLevel(idx) <= 0) return SendClientMessage(playerid, -1, "[SERVER] Este jogador, nгo estб sendo procurado"); if(isPlayerInRangeOfPoint(idx, 5.0, pos[0], pos[1], pos[2]))
new tRender[MAX_PLAYERS], pMeAbordando[MAX_PLAYERS];
forward nRendeu(playerid);
CMD:abordar(playerid, params[]) {
new idx, Float:pos[3], aname[MAX_PLAYER_NAME], Nike[MAX_PLAYER_NAME], String[128];
if(sscanf(params, "d", idx)) return SendClientMessage(playerid, -1, "[SERVER] Comando incorreto! Use: /abordar [id]");
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerName(playerid, aname, sizeof(aname));
GetPlayerName(idx, Nike, sizeof(Nike));
if(idx == playerid) return SendClientMessage(playerid, -1, "[ERRO] Vocк nгo pode se prender");
if(IsPlayerConnected(idx)) return SendClientMessage(playerid, -1, "[SERVER] O jogador, nгo estб conectado");
if(!IsACop(playerid)) return SendClientMessage(playerid, -1, "[SERVER] Vocк nгo й policial");
if(OnDuty[playerid] != 1) return SendClientMessage(playerid, -1, "[SERVER] Vocк nгo Bateu o cartгo!");
if(Abordagem[idx] >= 1) return SendClientMessage(playerid, -1, "[SERVER] O jogador jб estб sendo abordado!");
if(VozDePrisao[idx] >= 1) return SendClientMessage(playerid, -1, "[SERVER] O jogador jб estб sendo perseguido");
if(!IsPlayerInRangeOfPoint(idx, 5.0, pos[0], pos[1], pos[2])) return SendClientMessage(playerid, -1, "[SERVER] O jogador estб muito distante");
if(PlayerInfo[playerid][pMembro] != 3 || PlayerInfo[playerid][pLider] != 3) {
format(String, sizeof(String), "[CENTRAL] O jogador %s, tem 15 Seg para se render, caso contrario inicie uma perseguiзгo!",Nike);
SendClientMessage(playerid, -1, String);
format(String, sizeof(String), "Vocк estб sendo abordado pelo policial %s, Vocк tem 15 segundos para se render!", aname);
SendClientMessage(idx, -1, String);
GameTextForPlayer(idx, "Parado! Aqui й a policia", 5000, 3);
SendClientMessage(idx, -1, "Digite: /renderse para se render!");
tRender[idx] = SetTimerEx("nRendeu", 15000, false, "i", idx);
pMeAbordando[idx] = playerid;
}
return 1;
}
public nRendeu(playerid) { return SendClientMessage(playerid, -1, "[CENTRAL] O jogador nгo se rendeu! inicie uma perseguiзгo!"); }
CMD:renderse(playerid) {
if(Abordagem[playerid] <= 0) return SendClientMessage(playerid, -1, "[SERVER] Vocк nгo esta sendo abordado");
KillTimer(tRender[playerid]);
Rendido[playerid] = 1;
TogglePlayerControllable(playeid, true);
SetPlayerSpecialAction(playerid, 10);
SendClientMessage(pMeAbordando[playerid], -1, "O jogador se rendeu, faзa a revista !");
return 1;
}
Nгo quero reputaзгo, apenas corrigindo algumas coisas.
Код:
if(GetPlayerWantedLevel(idx) <= 0) return SendClientMessage(playerid, -1, "[SERVER] Este jogador, nгo estб sendo procurado"); if(isPlayerInRangeOfPoint(idx, 5.0, pos[0], pos[1], pos[2])) PHP код:
|
Nгo quero reputaзгo, apenas corrigindo algumas coisas.
Код:
if(GetPlayerWantedLevel(idx) <= 0) return SendClientMessage(playerid, -1, "[SERVER] Este jogador, nгo estб sendo procurado"); if(isPlayerInRangeOfPoint(idx, 5.0, pos[0], pos[1], pos[2])) PHP код:
|