29.07.2013, 14:46
Depois de tentar alguns mйtodos e ver que nгo foram bem sucedidos, me recorri a ajuda de vocкs ! :X
Eu tentei fazer da seguinte maneira: Quando um player fosse algemado, uma certa variбvel armazenaria um certo valor e entгo, quando o Policial digitasse /prender , prenderia esse ultimo Player, portanto, a variбvel pegaria seu valor padrгo.Nгo deu exatamente certo, por isso, peзo a ajuda de vocкs !
#Comando de Algemar:
#Comando de Prender:
PS; Nгo serб preciso digitar o ID do player ao usar o comando /prender, o player que estiver algemado serб preso.
Abraзs!
@Edit
#Comando para Desalgemar:
Eu tentei fazer da seguinte maneira: Quando um player fosse algemado, uma certa variбvel armazenaria um certo valor e entгo, quando o Policial digitasse /prender , prenderia esse ultimo Player, portanto, a variбvel pegaria seu valor padrгo.Nгo deu exatamente certo, por isso, peзo a ajuda de vocкs !
#Comando de Algemar:
pawn Код:
if(strcmp(cmd, "/algemar", true) == 0) {
if(algemou[playerid] == 1) return SendClientMessage(playerid, Vermelho, "(ERRO) Aguarde 1 minuto para algemar novamente!");
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "Profissao") == Policia_Militar || dini_Int(file, "Profissao") == Policia_Civil || dini_Int(file, "Profissao") == Policia_Federal || dini_Int(file, "Profissao") == Delegado || dini_Int(file, "Profissao") == Bope || dini_Int(file, "Profissao") == Swat || dini_Int(file, "Profissao") == Narcoticos || dini_Int(file, "Profissao") == FBI || dini_Int(file, "Profissao") == Interpol || dini_Int(file, "aAdmin") == 1){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, " /algemar [id] [motivo]");
return 1;
}
plid = strval(tmp);
if(plid == playerid){
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo pode usar este comando em vocк mesmo.");
return 1 ;
}
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "(ERRO) Jogador nгo conectado.");
return 1;
} else {
if(GetDistanceBetweenPlayers(plid,playerid) < 10){
format(string, sizeof(string), "(INFO) Vocк foi algemado por %s.", aname);
GameTextForPlayer(plid,"~w~Algemado", 58000, 0);
SendClientMessage(plid, 0x8C8CFFAA, string);
TogglePlayerControllable(plid, 0);
SendClientMessage(playerid, 0x8C8CFFAA, "(INFO) Algemado com sucesso.");
algemado[plid] = 1;
algemou[playerid] = 1;
return 1;
} else {
SendClientMessage(playerid,Vermelho," Chegue mais perto para algemar.");
return 1;
}
}
} else {
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um policial!");
return 1;
}
}
pawn Код:
if(strcmp(cmd, "/prender", true) == 0) {
new check_prender;
check_prender = CPS_GetPlayerCheckpoint(playerid);
if(prendeu[playerid] == 1) return SendClientMessage(playerid, Vermelho, "(ERRO) Aguarde 1 minuto para prender novamente!");
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "Profissao") == Policia_Civil || dini_Int(file, "Profissao") == Policia_Federal || dini_Int(file, "Profissao") == Interpol || dini_Int(file, "Profissao") == Delegado || dini_Int(file, "Profissao") == Bope || dini_Int(file, "Profissao") == Swat || dini_Int(file, "Profissao") == Narcoticos || dini_Int(file, "Profissao") == Policia_Militar || dini_Int(file, "Profissao") == FBI || dini_Int(file, "aAdmin") == 1){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "Voce nгo estб em nenhum Departamento de Policia !");
return 1;
}
plid = strval(tmp);
if(IsPlayerInAnyVehicle(plid) == 1 || IsPlayerInAnyVehicle(playerid) == 1){
SendClientMessage(playerid, Vermelho, " Alguem estб dentro de um carro.");
return 1 ;
}
if(plid == playerid){
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo pode usar este comando em vocк mesmo.");
return 1 ;
}
if(Procurados[plid] < 5){
SendClientMessage(playerid, Vermelho, "(ERRO) Apenas jogadores com nivel 6 podem ser presos !");
return 1;
}
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "(ERRO) Jogador nгo conectado.");
return 1;
} else {
if(check_prender == cop_prender){
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
format(string, sizeof(string), "O policial %s te prendeu.", aname);
SendClientMessage(plid, Blue, string);
SetPlayerPos(plid, 263.8820,77.4002,1001.0391);
SetPlayerInterior(plid, 6);
SetPlayerHealth(plid, 99999);
ResetPlayerWeapons(plid);
dini_IntSet(file2, "Preso", 1);
SendClientMessage(playerid, 0x8C8CFFAA, "(INFO) Preso com sucesso.");
prendeu[playerid] = 1;
preso[plid] = 1;
TogglePlayerControllable(plid, 1);
if(Procurados[plid] == 1){
Procurados[plid] = 0;
dini_IntSet(file2, "Procurado", 0);
}
return 1;
} else {
SendClientMessage(playerid,Vermelho," Chegue mais perto para Prender!");
return 1;
}
}
} else {
SendClientMessage(playerid,Vermelho," Apenas Policiais podem fazer isso!");
return 1;
}
}
PS; Nгo serб preciso digitar o ID do player ao usar o comando /prender, o player que estiver algemado serб preso.
Abraзs!
@Edit
#Comando para Desalgemar:
pawn Код:
if(strcmp(cmd, "/desalgemar", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(dini_Int(file, "Profissao") == Policia_Militar || dini_Int(file, "Profissao") == Policia_Civil || dini_Int(file, "Profissao") == Policia_Federal || dini_Int(file, "Profissao") == Delegado || dini_Int(file, "Profissao") == Bope || dini_Int(file, "Profissao") == Swat || dini_Int(file, "Profissao") == Narcoticos || dini_Int(file, "Profissao") == FBI || dini_Int(file, "Profissao") == Interpol || dini_Int(file, "aAdmin") == 1){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "/desalgemar [id]");
return 1;
}
plid = strval(tmp);
if(plid == playerid){
SendClientMessage(playerid, Vermelho, "Vocк nгo pode fazer isto com si mesmo.");
return 1 ;
}
if(!IsPlayerConnected(plid)){
SendClientMessage(playerid, Vermelho, "O jogador nгo estб conectado");
return 1;
} else {
if(GetDistanceBetweenPlayers(plid,playerid) < 10){
format(string, sizeof(string), "(INFO) O jogador %s te desalgemou.", aname);
GameTextForPlayer(plid,"~w~Desalgemado", 2000, 0);
TogglePlayerControllable(plid, 1);
SendClientMessage(plid, 0x8C8CFFAA, string);
SendClientMessage(playerid, 0x8C8CFFAA, "(INFO) Desalgemado com sucesso.");
algemado[plid] = 0;
return 1;
} else {
SendClientMessage(playerid,Vermelho," Chegue mais perto para desalgemar.");
return 1;
}
}
} else {
SendClientMessage(playerid,Vermelho,"(ERRO) Vocк nгo й um policial!");
return 1;
}
}