if(strcmp(cmd, "/multar", 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") == Policial_C || dini_Int(file, "Profissao") == Policial_F || dini_Int(file, "Profissao") == Delegado || dini_Int(file, "Profissao") == Bope || dini_Int(file, "Profissao") == Swat || dini_Int(file, "Profissao") == Narcoticos || dini_Int(file, "Profissao") == Policial_M || dini_Int(file, "Profissao") == FBI || dini_Int(file, "Profissao") == Interpol || dini_Int(file, "Profissao") == LSPD || dini_Int(file, "aAdmin") == 1 || IsPlayerAdmin(playerid)){ new tmp[256]; new plid; new quant; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, Vermelho, "/multar [id] [quantidade]"); return 1; } plid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, Vermelho, "/multar [id] [quantidade]"); return 1; } quant = strval(tmp); if(quant > 1000 || quant <= 0){ SendClientMessage(playerid, Vermelho, "(INFO) Vocк nгo estб multando de forma justa."); return 1; } if(IsPlayerConnected(plid)){ new pname[MAX_PLAYER_NAME]; GetPlayerName(plid, pname, MAX_PLAYER_NAME); format(file2, sizeof(file2), PASTA_CONTAS, pname); format(string, sizeof(string), "(INFO) Vocк recebeu uma multa de R$%d Pelo policial %s . O dinheiro foi retirado do banco.", quant, aname); SendClientMessage(plid, COLOR_GREEN, string); SendClientMessage(playerid, COLOR_GREEN, "(INFO) Multa dada."); dini_IntSet(file2, "SaldoBancario", dini_Int(file2, "SaldoBancario")- quant); return 1; } else{ SendClientMessage(playerid, Vermelho, "(INFO) O jogador nгo estб conectado!"); return 1; } } }
new bool:UsouID[MAX_PLAYERS]; if(strcmp(cmd, "/multar", 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") == Policial_C || dini_Int(file, "Profissao") == Policial_F || dini_Int(file, "Profissao") == Delegado || dini_Int(file, "Profissao") == Bope || dini_Int(file, "Profissao") == Swat || dini_Int(file, "Profissao") == Narcoticos || dini_Int(file, "Profissao") == Policial_M || dini_Int(file, "Profissao") == FBI || dini_Int(file, "Profissao") == Interpol || dini_Int(file, "Profissao") == LSPD || dini_Int(file, "aAdmin") == 1 || IsPlayerAdmin(playerid)) { new tmp[256]; new plid; new quant; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, Vermelho, "/multar [id] [quantidade]"); return 1; } plid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, Vermelho, "/multar [id] [quantidade]"); return 1; } if(UsouID[plid] == true) return SendClientMessage(playerid, Vermelho, "Esse ID jб foi utilizado!"); quant = strval(tmp); if(quant > 1000 || quant <= 0) { SendClientMessage(playerid, Vermelho, "(INFO) Vocк nгo estб multando de forma justa."); return 1; } if(IsPlayerConnected(plid)) { new pname[MAX_PLAYER_NAME]; GetPlayerName(plid, pname, MAX_PLAYER_NAME); format(file2, sizeof(file2), PASTA_CONTAS, pname); format(string, sizeof(string), "(INFO) Vocк recebeu uma multa de R$%d Pelo policial %s . O dinheiro foi retirado do banco.", quant, aname); SendClientMessage(plid, COLOR_GREEN, string); SendClientMessage(playerid, COLOR_GREEN, "(INFO) Multa dada."); UsouID[plid] = true; dini_IntSet(file2, "SaldoBancario", dini_Int(file2, "SaldoBancario")- quant); return 1; } else { SendClientMessage(playerid, Vermelho, "(INFO) O jogador nгo estб conectado!"); return 1; } } }
lembre-se de criar um timer para dar um reset na UsouID[plid] caso contrario nunca mais poderб multar aquele id em quanto nгo der gmx
|
public OnGameModeInit() { SetTimer("ResetarMultados", 300000, true); return 1; } forward ResetarMultados(); public ResetarMultados() { for(new i = 0; i < MAX_PLAYERS; i ++) UsouID[i] = false; return 1; }
Vai zerar de 5 em 5 minutos
Код:
public OnGameModeInit() { SetTimer("ResetarMultados", 300000, true); return 1; } forward ResetarMultados(); public ResetarMultados() { for(new i = 0; i < MAX_PLAYERS; i ++) UsouID[i] = false; return 1; } |
F1N4L, recomendo que dispare o timer quando ele for multado pra evitar bug de acabar de multar e na sorte for no mesmo momento do timer zerar.
|
F1N4L, recomendo que dispare o timer quando ele for multado pra evitar bug de acabar de multar e na sorte for no mesmo momento do timer zerar.
|
new bool:UsouID[MAX_PLAYERS]; if(strcmp(cmd, "/multar", 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") == Policial_C || dini_Int(file, "Profissao") == Policial_F || dini_Int(file, "Profissao") == Delegado || dini_Int(file, "Profissao") == Bope || dini_Int(file, "Profissao") == Swat || dini_Int(file, "Profissao") == Narcoticos || dini_Int(file, "Profissao") == Policial_M || dini_Int(file, "Profissao") == FBI || dini_Int(file, "Profissao") == Interpol || dini_Int(file, "Profissao") == LSPD || dini_Int(file, "aAdmin") == 1 || IsPlayerAdmin(playerid)) { new tmp[256]; new plid; new quant; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, Vermelho, "/multar [id] [quantidade]"); return 1; } plid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, Vermelho, "/multar [id] [quantidade]"); return 1; } if(UsouID[plid] == true) return SendClientMessage(playerid, Vermelho, "Esse ID jб foi utilizado!"); quant = strval(tmp); if(quant > 1000 || quant <= 0) { SendClientMessage(playerid, Vermelho, "(INFO) Vocк nгo estб multando de forma justa."); return 1; } if(IsPlayerConnected(plid)) { new pname[MAX_PLAYER_NAME]; GetPlayerName(plid, pname, MAX_PLAYER_NAME); format(file2, sizeof(file2), PASTA_CONTAS, pname); format(string, sizeof(string), "(INFO) Vocк recebeu uma multa de R$%d Pelo policial %s . O dinheiro foi retirado do banco.", quant, aname); SendClientMessage(plid, COLOR_GREEN, string); SendClientMessage(playerid, COLOR_GREEN, "(INFO) Multa dada."); UsouID[plid] = true; SetTimerEx("ResetarMultados", 300000, true, "i", plid); dini_IntSet(file2, "SaldoBancario", dini_Int(file2, "SaldoBancario")- quant); return 1; } else { SendClientMessage(playerid, Vermelho, "(INFO) O jogador nгo estб conectado!"); return 1; } } } forward ResetarMultados(playerid); public ResetarMultados(playerid) return UsouID[playerid] = false;