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;