for(new i; i < MAX_PLAYERS; i++) { if(IsACop(i) && morto[i] == 0 && admstatus[i] != 1) { if(IsPlayerInRangeOfPoint(i, 30.0, Pos[0], Pos[1], Pos[2])) { GameTextForPlayer(i, "~Y~ARRASTED CRIMINAL", 5000, 1); GivePlayerMoneyEx(i, dinheiroARREST[id]); COPskills[i] += skillsARREST[id]; PlayerPlaySound(i, 5204, 0.0, 0.0, 0.0); format(string, sizeof(string), "Current COP Skill: %i (DINHEIRO:%i SKILL:%i)", COPskills[playerid], dinheiroARREST[id], skillsARREST[id] ); SendClientMessage(playerid, COLOR_NEWS, string); } } }
CMD:arrest(playerid, params[]) { new id, string[128]; if(sscanf(params,"u", id)) return SendClientMessage(playerid, -1, "Use: /arrest [id]"); if(id != INVALID_PLAYER_ID) { if(morto[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You can not use this command killed."); new Float:Pos[3]; GetPlayerPos(id, Pos[0], Pos[1], Pos[2]); if(!IsPlayerInRangeOfPoint(playerid, 5.0, Pos[0], Pos[1], Pos[2])) return SendClientMessage(playerid, COLOR_RED, "Vocк nгo estб perto desse jogador."); if(preso[id] > 0) return SendClientMessage(playerid, COLOR_RED, "Esse jogador jб foi condenado."); if(wanted[id] == 0) return SendClientMessage(playerid, COLOR_RED, "Esse jogador nгo й procurado."); if(PlayerCuffed[id] == 0) return SendClientMessage(playerid, COLOR_RED, "This player is not handcuffed! Use: /cuff ID"); PlayerPlaySound(id, 5206, 0.0, 0.0, 0.0); preso[id] = 1; if(VIP[id] == 0) { presotime[id] = wanted[id] * 2; } else { presotime[id] = wanted[id] * 3; } new autobail = presotime[id] * 20; bank[id] -= autobail; PlayerCuffed[id] = 0; maconha[id] = 0; sementes[id] = 0; mortotime[id] = 2; if(wanted[id] >= 1 && wanted[id] <= 2) { dinheiroARREST[id] = 1000; skillsARREST[id] = 0; } else if(wanted[id] >= 3 && wanted[id] <= 30) { dinheiroARREST[id] = 2000; skillsARREST[id] = 1; } else if(wanted[id] >= 31 && wanted[id] <= 50) { dinheiroARREST[id] = 3000; skillsARREST[id] = 2; } else if(wanted[id] >= 51 && wanted[id] <= 99) { dinheiroARREST[id] = 4000; skillsARREST[id] = 2; } else if(wanted[id] >= 100) { dinheiroARREST[id] = 5000; skillsARREST[id] = 3; } // pra nego n ficar farmando skills if(CRIMINALskills[id] > 2) { CRIMINALskills[id] -= 2; format(string, sizeof(string), "Current Criminal Skill: %i", CRIMINALskills[id] ); SendClientMessage(id, COLOR_NEWS, string); } else { skillsARREST[id] = 0; dinheiroARREST[id] = 0; } wanted[id] = 0; for(new i; i < MAX_PLAYERS; i++) { if(IsACop(i) && morto[i] == 0 && admstatus[i] != 1) { if(IsPlayerInRangeOfPoint(i, 30.0, Pos[0], Pos[1], Pos[2])) { GameTextForPlayer(i, "~Y~ARRASTED CRIMINAL", 5000, 1); GivePlayerMoneyEx(i, dinheiroARREST[id]); COPskills[i] += skillsARREST[id]; PlayerPlaySound(i, 5204, 0.0, 0.0, 0.0); format(string, sizeof(string), "Current COP Skill: %i (MONEY:+%i SKILL:+%i)", COPskills[playerid], dinheiroARREST[id], skillsARREST[id] ); SendClientMessage(playerid, COLOR_NEWS, string); } } } } return 1; }
for(new i=0; i < MAX_PLAYERS; i++)
Vocк nгo inicializou a variбvel i.
Tente desta forma: Код:
for(new i=0; i < MAX_PLAYERS; i++) ![]() |
for(new i; i < MAX_PLAYERS; i++) { for(new i=0; i < MAX_PLAYERS; i++) {
Vocк estб enviando a mensagem de que o policial recebeu o skill e o dinheiro para o jogador que digitou o comando. Coloque para enviar apenas para o jogador que de fato recebeu o skill.
Vocк tambйm estб exibindo apenas o skill do jogador que digitou o comando. Ainda recomendo, que por ser um loop para jogadores, verifique se o ID a ser trabalhado estб conectado, usando IsPlayerConnected. |
CMD:arrest(playerid, params[]) { new id, string[128]; if(sscanf(params,"u", id)) return SendClientMessage(playerid, -1, "Use: /arrest [id]"); if(id != INVALID_PLAYER_ID) { if(morto[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You can not use this command killed."); new Float:Pos[3]; GetPlayerPos(id, Pos[0], Pos[1], Pos[2]); if(!IsPlayerInRangeOfPoint(playerid, 5.0, Pos[0], Pos[1], Pos[2])) return SendClientMessage(playerid, COLOR_RED, "Vocк nгo estб perto desse jogador."); if(preso[id] > 0) return SendClientMessage(playerid, COLOR_RED, "Esse jogador jб foi condenado."); if(wanted[id] == 0) return SendClientMessage(playerid, COLOR_RED, "Esse jogador nгo й procurado."); if(PlayerCuffed[id] == 0) return SendClientMessage(playerid, COLOR_RED, "This player is not handcuffed! Use: /cuff ID"); PlayerPlaySound(id, 5206, 0.0, 0.0, 0.0); preso[id] = 1; if(VIP[id] == 0) { presotime[id] = wanted[id] * 2; } else { presotime[id] = wanted[id] * 3; } new autobail = presotime[id] * 20; bank[id] -= autobail; PlayerCuffed[id] = 0; maconha[id] = 0; sementes[id] = 0; mortotime[id] = 2; if(wanted[id] >= 1 && wanted[id] <= 2) { dinheiroARREST[id] = 1000; skillsARREST[id] = 0; } else if(wanted[id] >= 3 && wanted[id] <= 30) { dinheiroARREST[id] = 2000; skillsARREST[id] = 1; } else if(wanted[id] >= 31 && wanted[id] <= 50) { dinheiroARREST[id] = 3000; skillsARREST[id] = 2; } else if(wanted[id] >= 51 && wanted[id] <= 99) { dinheiroARREST[id] = 4000; skillsARREST[id] = 2; } else if(wanted[id] >= 100) { dinheiroARREST[id] = 5000; skillsARREST[id] = 3; } // pra nego n ficar farmando skills if(CRIMINALskills[id] > 2) { CRIMINALskills[id] -= 2; format(string, sizeof(string), "Current Criminal Skill: %i", CRIMINALskills[id] ); SendClientMessage(id, COLOR_NEWS, string); } else { skillsARREST[id] = 0; dinheiroARREST[id] = 0; } wanted[id] = 0; for(new i=0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; if(IsACop(i) && morto[i] == 0 && admstatus[i] != 1) { if(IsPlayerInRangeOfPoint(i, 30.0, Pos[0], Pos[1], Pos[2])) { GameTextForPlayer(i, "~Y~ARRASTED CRIMINAL", 5000, 1); GivePlayerMoneyEx(i, dinheiroARREST[id]); COPskills[i] += skillsARREST[id]; PlayerPlaySound(i, 5204, 0.0, 0.0, 0.0); format(string, sizeof(string), "Current COP Skill: %i (MONEY:+%i SKILL:+%i)", COPskills[playerid], dinheiroARREST[id], skillsARREST[id] ); SendClientMessage(playerid, COLOR_NEWS, string); } } } } return 1; }