CMD:offban(playerid, params[])
{
new user[50], path[128], string[350], motivo[128];
if(UserInfo[playerid][Logged] == 0) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} Non puoi effettuare comandi quando non sei loggato!");
if(UserInfo[playerid][LvlAdmin] < 2) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} Non sei un Admin o non hai il livello adatto!");
if(UserInfo[playerid][Aduty] == 0) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} Non sei in servizio!");
if(sscanf(params, "s[50]s[128]", user, motivo)) return SendClientMessage(playerid, C_ARANCIO, "USO:{"E_BIANCO"} /offban [Nome]");
format(path, sizeof(path), "utenti/%s.ini", user);
if(!fexist(path)) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} L'utente non и stato trovato dal sistema!");
INI_ParseFile(path, "BanInfo", .bExtra = true, .extra = playerid);
if(GetPVarInt(playerid, "baninfo") == 1) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} L'utente и giа bannato!");
format(string, sizeof(string), "{"E_ARANCIO"}Hai bannato permanentemente l'utente offline {"E_BIANCO"}%s{"E_ARANCIO"} per {"E_BIANCO"}%s", user, motivo);
SendClientMessage(playerid, C_ARANCIO, string);
printf("[INFO] L'admin %s ha bannato %s per %s", GetUserName(playerid), user, motivo);
format(string, sizeof(string), "Sei stato bannato dall'Admin %s.\nMotivo: %s", GetUserName(playerid), motivo);
new INI:ini = INI_Open(path);
INI_WriteInt(ini, "Banned", 1);
INI_WriteString(ini, "BanReason", string);
INI_Close(ini);
return 1;
}
forward BanInfo(playerid, name[], value[]);
public BanInfo(playerid, name[], value[])
{
new baninfo;
INI_Int("Banned", baninfo);
SetPVarInt(playerid, "baninfo", baninfo);
return 1;
}
You need to write it to a global variable, you can't use locals or pvars.
|
CMD:offban(playerid, params[]) { new user[50], path[128], string[350], motivo[128]; if(UserInfo[playerid][Logged] == 0) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} Non puoi effettuare comandi quando non sei loggato!"); if(UserInfo[playerid][LvlAdmin] < 2) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} Non sei un Admin o non hai il livello adatto!"); if(UserInfo[playerid][Aduty] == 0) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} Non sei in servizio!"); if(sscanf(params, "s[50]s[128]", user, motivo)) return SendClientMessage(playerid, C_ARANCIO, "USO:{"E_BIANCO"} /offban [Nome]"); format(path, sizeof(path), "utenti/%s.ini", user); if(!fexist(path)) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} L'utente non и stato trovato dal sistema!"); INI_ParseFile(path, "BanInfo", .bExtra = true, .extra = playerid); if(UserBanInfo[playerid] == 1) return SendClientMessage(playerid, C_ROSSO, "ERRORE:{"E_BIANCO"} L'utente и giа bannato!"); format(string, sizeof(string), "{"E_ARANCIO"}Hai bannato permanentemente l'utente offline {"E_BIANCO"}%s{"E_ARANCIO"} per {"E_BIANCO"}%s", user, motivo); SendClientMessage(playerid, C_ARANCIO, string); printf("[INFO] L'admin %s ha bannato %s per %s", GetUserName(playerid), user, motivo); format(string, sizeof(string), "Sei stato bannato dall'Admin %s.\nMotivo: %s", GetUserName(playerid), motivo); new INI:ini = INI_Open(path); INI_WriteInt(ini, "Banned", 1); INI_WriteString(ini, "BanReason", string); INI_Close(ini); return 1; }
// VARS new UserBanInfo[MAX_PLAYERS];
forward BanInfo(playerid, name[], value[]); public BanInfo(playerid, name[], value[]) { INI_Int("Banned", UserBanInfo[playerid]); return 1; }
stock DeleteVars(playerid) { KillTimer(LoginTimerKick[playerid]); UserBanInfo[playerid] = 0; return 1; }