SA-MP Forums Archive
[Help] Adding +1 (OffLine) (INI_WriteInt) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: [Help] Adding +1 (OffLine) (INI_WriteInt) (/showthread.php?tid=593432)



[Help] Adding +1 (OffLine) (INI_WriteInt) - David (Sabljak) - 05.11.2015

Hello, can someone explain me how to add +1 on Warn, if user have 3 warns, i want to make function u type /offwarn Nickname, and then script add +1

I tryed this but gives me error

Short code for CMD
Код:
YCMD:offwarn(playerid, params[],help)
{
        #pragma unused help
	new player[64],yinifile[64];
	if(sscanf(params,"s[64]", player)) return SCM(playerid,-1,"/offwarn [NICK]");
	format(yinifile, sizeof(yinifile),USER_PATH,player);
	new INI:iniFile = INI_Open(yinifile);
	INI_WriteInt(iniFile,"Warn",PlayerInfo[player][pWarns]++); // "player" is wrong... 
	INI_Close(iniFile);
  	return 1;
}
error 033: array must be indexed (variable "player")


Re: [Help] Adding +1 (OffLine) (INI_WriteInt) - AbyssMorgan - 05.11.2015

PHP код:
player - string
INI_WriteInt
(iniFile,"Warn",PlayerInfo[player][pWarns]++); //<--player must be integer 



Re: [Help] Adding +1 (OffLine) (INI_WriteInt) - David (Sabljak) - 05.11.2015

I'm confused, dont get it how to put it.


Re: [Help] Adding +1 (OffLine) (INI_WriteInt) - Jefff - 05.11.2015

pawn Код:
#define USER_PATH   "/Users/%s.ini"
new off_warn;

forward OfflineWarn(name[], value[]);
public OfflineWarn(name[], value[])
{
    INI_Int("Warn",off_warn);
    return 1;
}

YCMD:offwarn(playerid, params[],help)
{
        #pragma unused help
    if(isnull(params)) SCM(playerid,-1,"/offwarn [NICK]");
    else if(!(2 < strlen(params) < MAX_PLAYER_NAME)) SendClientMessage(playerid,-1,"Error: Incorrect name lenght.");
    else
    {
        new str[60];
        off_warn = 0;
        format(str, sizeof(str),USER_PATH,params);
        if(!INI_ParseFile(str, "OfflineWarn")) SendClientMessage(playerid,-1,"Error: Account doesn't exists.");
        else
        {
            new INI:iniFile = INI_Open(str);
            INI_SetTag(iniFile,"data");
            INI_WriteInt(iniFile,"Warn",off_warn + 1);
            INI_Close(iniFile);
        }
    }
    return 1;
}



Re: [Help] Adding +1 (OffLine) (INI_WriteInt) - David (Sabljak) - 06.11.2015

Quote:
Originally Posted by Jefff
ПоÑмотреть Ñообщение
pawn Код:
#define USER_PATH   "/Users/%s.ini"
new off_warn;

forward OfflineWarn(name[], value[]);
public OfflineWarn(name[], value[])
{
    INI_Int("Warn",off_warn);
    return 1;
}

YCMD:offwarn(playerid, params[],help)
{
        #pragma unused help
    if(isnull(params)) SCM(playerid,-1,"/offwarn [NICK]");
    else if(!(2 < strlen(params) < MAX_PLAYER_NAME)) SendClientMessage(playerid,-1,"Error: Incorrect name lenght.");
    else
    {
        new str[60];
        off_warn = 0;
        format(str, sizeof(str),USER_PATH,params);
        if(!INI_ParseFile(str, "OfflineWarn")) SendClientMessage(playerid,-1,"Error: Account doesn't exists.");
        else
        {
            new INI:iniFile = INI_Open(str);
            INI_SetTag(iniFile,"data");
            INI_WriteInt(iniFile,"Warn",off_warn + 1);
            INI_Close(iniFile);
        }
    }
    return 1;
}
I believe its working, thanks for good path, REP+ to you, thank you very much!