Problem with INI_ParseFile
#1

I want load a variable (UserInfo[playerid][Banned]) and Set the value of that variable at admin.

PHP код:
CMD:offban(playeridparams[])
{
     new 
user[50], path[128], string[350], motivo[128];
    if(
UserInfo[playerid][Logged] == 0) return SendClientMessage(playeridC_ROSSO"ERRORE:{"E_BIANCO"} Non puoi effettuare comandi quando non sei loggato!");
    if(
UserInfo[playerid][LvlAdmin] < 2) return SendClientMessage(playeridC_ROSSO"ERRORE:{"E_BIANCO"} Non sei un Admin o non hai il livello adatto!");
    if(
UserInfo[playerid][Aduty] == 0) return SendClientMessage(playeridC_ROSSO"ERRORE:{"E_BIANCO"} Non sei in servizio!");
    if(
sscanf(params"s[50]s[128]"usermotivo)) return SendClientMessage(playeridC_ARANCIO"USO:{"E_BIANCO"} /offban [Nome]");
    
format(pathsizeof(path), "utenti/%s.ini"user);
    if(!
fexist(path)) return SendClientMessage(playeridC_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(playeridC_ROSSO"ERRORE:{"E_BIANCO"} L'utente и giа bannato!");
    
format(stringsizeof(string), "{"E_ARANCIO"}Hai bannato permanentemente l'utente offline {"E_BIANCO"}%s{"E_ARANCIO"} per {"E_BIANCO"}%s"usermotivo);
    
SendClientMessage(playeridC_ARANCIOstring);
    
printf("[INFO] L'admin %s ha bannato %s per %s"GetUserName(playerid), usermotivo);
    
format(stringsizeof(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;

The method that i used, not function!!
PHP код:
forward BanInfo(playeridname[], value[]);
public 
BanInfo(playeridname[], value[])
{
    new 
baninfo;
    
INI_Int("Banned"baninfo);
    
SetPVarInt(playerid"baninfo"baninfo);
    return 
1;

Sorry for the bad english, I'm Italian.
Reply
#2

Quote:
Originally Posted by ******
Посмотреть сообщение
You need to write it to a global variable, you can't use locals or pvars.
Is it right?

THE CMD
Код:
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;
}
VAR
Код:
// VARS
new UserBanInfo[MAX_PLAYERS];
INI PARSE FILE
Код:
forward BanInfo(playerid, name[], value[]);
public BanInfo(playerid, name[], value[])
{
	INI_Int("Banned", UserBanInfo[playerid]);
	return 1;
}
ON PLAYER DISCONNECT
Код:
stock DeleteVars(playerid)
{
	KillTimer(LoginTimerKick[playerid]);
	UserBanInfo[playerid] = 0;
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)