Toma uma base, o resto й usar a lуgica e adaptar ao seu GM.
New's
pawn Код:
new Copsronda = 0;
new CopsrondaCall = 999;
new CopsrondaCallTime[MAX_PLAYERS];
new CopsrondaAccepted[MAX_PLAYERS];
new PolicialInRonda[MAX_PLAYERS];
Comando Policial entrando em serviзo de Ronda
pawn Код:
if(strcmp(cmd,"/ronda",true)==0)
{
if(IsPlayerConnected(playerid))
{
if(IsACop(playerid))
{
if(EmpregoDuty[playerid] >= 1)
{
SendClientMessage(playerid, 0x33CCFFAA, "Vocк nгo esta mais em serviзo.");
EmpregoDuty[playerid] = 0;
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string, sizeof(string), "O Policial %s nгo esta mais em serviзo.", PlayerName(playerid));
OOCNews(0xFF6347AA,string);
Copsronda -= 1;
}
else
{
SendClientMessage(playerid, 0x33CCFFAA, "* Agora vocк estб de serviзo e poderб receber chamadas de pessoas que precisam.");
EmpregoDuty[playerid] = 2;
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string, sizeof(string), "O Policial %s esta em serviзo, para alguma ocorrкncia digite /servico policia.", PlayerName(playerid));
OOCNews(0xFF6347AA,string);
Copsronda += 1;
}
}
}
return true;
}
Comando pedindo ajuda policial
pawn Код:
if(strcmp(cmd, "/servico", true) == 0 || strcmp(cmd, "/serviзo", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new x_nr[32];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, 0xFFFFFFAA, "|__________________[ SERVIЗO POLICIAL]__________________|");
SendClientMessage(playerid, 0xFFFFFFAA, "USE: /servico policia");
return true;
}
if(strcmp(x_nr,"policia",true) == 0)
{
if(Copsronda < 1)
{
SendClientMessage(playerid, 0xAFAFAFAA, "Nenhum Policial em ronda no momento.");
return true;
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsACop(i) && IsPlayerConnected(i))
{
if(PolicialInRonda[i] == 1)
{
SendClientMessage(playerid, 0x33CCFFAA, "* Estгo fazendo uma chamada.");
return true;
}
}
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "** %s estб precisando de um Policial. (Digite /aceitar chamada para aceitar a chamada)", PlayerName(playerid));
SendFamilyMessage(ID_DA_ORG_POLICIAL, 0x2641FEC8, string);
SendClientMessage(playerid, 0x33CCFFAA, "* Vocк chamou um Policial Aguarde a Resposta.");
CopsrondaCall = playerid;
return true;
}
Comando aceitando ajuda policial
pawn Код:
if(strcmp(cmd,"/aceitar",true)==0)
{
if(IsPlayerConnected(playerid))
{
new x_Emprego[32];
x_Emprego = strtok(cmdtext, idx);
if(!strlen(x_Emprego)) {
SendClientMessage(playerid, 0xFFFFFFAA, "|__________________[ Aceitar Pedido Policial]__________________|");
SendClientMessage(playerid, 0xFFFFFFAA, "Use: aceitar chamada");
}
if(strcmp(x_Emprego,"chamada",true) == 0)
{
if(IsACop(playerid))
{
if(CopsrondaCallTime[playerid] > 0)
{
SendClientMessage(playerid, 0xAFAFAFAA, " Vocк aceitou o chamado!");
return true;
}
if(PolicialInRonda[playerid] == 1)
{
SendClientMessage(playerid, 0xAFAFAFAA, " Vocк jб estб em um chamado...");
return true;
}
if(CopsrondaCall < 999)
{
if(IsPlayerConnected(CopsrondaCall))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(CopsrondaCall, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Voce aceitou a chamada do(a) %s, A marca estarб visнvel atй vocк chegar.",giveplayer);
SendClientMessage(playerid, 0x33CCFFAA, string);
format(string, sizeof(string), "* Policial : %s aceitou sua chamada, mantenha-se neste local e espere-o chegar.",PlayerName(playerid));
SendClientMessage(CopsrondaCall, 0x33CCFFAA, string);
GameTextForPlayer(playerid, "~w~Cliente~n~~r~Va Ate a Marca Vermelha", 5000, 1);
SendClientMessage(playerid, 0xAFAFAFAA, " Para Cancelar a chamada,digite /cancelar policia !");
CopsrondaCallTime[playerid] = 1;
CopsrondaAccepted[playerid] = CopsrondaCall;
CopsrondaCall = 999;
return true;
}
}
else
{
SendClientMessage(playerid, 0xAFAFAFAA, " Ninguem solicitou um policial ");
return true;
}
}
else
{
SendClientMessage(playerid, 0xAFAFAFAA, " Vocк nгo й um Policial !");
return true;
}
}