SA-MP Forums Archive
Y_INI Help - 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: Y_INI Help (/showthread.php?tid=384727)



Y_INI Help - MrReBzz - 13.10.2012

Hi. I have been recently Making An Login System. Heres My On Player Login
Code:
        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    PlayerInfo[playerid][pAdmin] = INI_Int(file, "Admin");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }
    }
    return 1;
}
Just Note The Line

Code:
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    PlayerInfo[playerid][pAdmin] = INI_Int(file, "Admin"); // This ONe
When I Add It, And Compile, The Pawno Stops Responding. All I Want Is To Load THe Admin File When I
Login. Please Help


Re: Y_INI Help - Jarnu - 13.10.2012

you just parsed the LoadUser_%s. So, you don't need to use

Code:
PlayerInfo[playerid][pAdmin] = INI_Int(file, "Admin"); // This ONe
It probably auto loads the stats when parsed! .. (in mine though).


Re: Y_INI Help - Glint - 13.10.2012

NVM i am wrong.


Re: Y_INI Help - T-Raw - 13.10.2012

INI_WriteInt(File,"Admin",0);

Other wise u can load or save as normal send link 2 yini ur using, the tut


Re: Y_INI Help - MrReBzz - 13.10.2012

But... WHen I use /kick Command. It Says i need to be level 2 to use this cmd.

Heres My Kick cmd

Code:
CMD:kick(playerid,params[])
{
	new id,reason[128],name[MAX_PLAYER_NAME], string1[128];
	if(PlayerInfo[playerid][pAdmin] > 2)
	{
	    if(sscanf(params,"us[128]",id,reason)) return SendClientMessage(playerid, COLOR_RED,"USAGE: /kick <id> <reason>");
	    else
	    {
	        format(string1,sizeof(string1),"%s have been kicked from the server: reason: %s",GetPlayerName(id,name,sizeof(name)),reason);
	        SendClientMessageToAll(COLOR_RED,string1);
	        Kick(id);
		}
	}
	else
	{
	    SendClientMessage(playerid, COLOR_RED, "ERROR: You Need To Be Level 2 To Use This Command");
	}
	return 1;
}



Re: Y_INI Help - T-Raw - 13.10.2012

and that has 2 do with? that has nothing 2 do with kick in dialog, i said the link of the tutorialu used 2 make that

this should help
https://sampforum.blast.hk/showthread.php?tid=273088
REP ++ if i helped in any way


Re: Y_INI Help - Glint - 13.10.2012

Are you sure you are parsing the file correctly give us the custom public that you are parsing and the INI_ParseFile lines.


Re: Y_INI Help - gtakillerIV - 13.10.2012

PHP Code:
INI_ParseFile 
Loads the user's file and LOADS ALL OF HIS DATA. So remove the
PHP Code:
PlayerInfo[playerid][pAdmin] = INI_Int(file"Admin"); 
EDIT:

Give this command a shot!

PHP Code:
CMD:kick(playeridparams[])
{
    new 
aname [MAX_PLAYER_NAME], reason[128], string[128], tname [MAX_PLAYER_NAME], targetid;
    if(
PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playeridRed"You must be a level 2 Admin to use this command!");
     if(
sscanf(params"us[128]"targetidreason)) return SendClientMessage(playeridYellow"Correct Usage: /kick [PlayerID] [Reason]");
     if(!
IsPlayerConnected(targetid)) return SendClientMessage(playeridYellow"Player is not connected to the server");
    
GetPlayerName(playeridanameMAX_PLAYER_NAME);
    
GetPlayerName(targetidtnameMAX_PLAYER_NAME);
    
format(stringsizeof(string), "Admin %s has kicked %s. Reason: %s"anametnamereason);
    
SendClientMessageToAll(Yellowstring);
    
Kick(targetid);
    return 
1;




Re: Y_INI Help - MrReBzz - 14.10.2012

It doesn't work. There might be someway....


Re: Y_INI Help - JhnzRep - 14.10.2012

You have to put
PHP Code:
INI_Int("Admin"PlayerInfo[playerid][pAdmin]); 
under LoadUser_data, then just use INI_ParseFile.


Re: Y_INI Help - Anthony © - 14.10.2012

Quote:

[pAdmin] > 2)

You're saying if the pAdmin is bigger than 2. So you're asking if the pAdmin equals 3 or bigger, if you want it to be a level 2 command, change it to:

Quote:

[pAdmin] >= 2)

That's if you want level 2 admins to use it.


Re: Y_INI Help - MrReBzz - 15.10.2012

I Am Level 7

It Might Be A Probelm Of My Setlevel COmmand To

Code:
CMD:setlevel(playerid,params[])
{
	new id,level,n[MAX_PLAYER_NAME], str[265];
	new playername[MAX_PLAYER_NAME];
	new adminname [MAX_PLAYER_NAME];
	if(IsPlayerAdmin(playerid))
	{
	    if(sscanf(params,"ud",id,level)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /setlevel <id> level[1-7]!");
		else
		{
	        if(level > 7) return SendClientMessage(playerid, COLOR_RED, "USAGE: /setlevel <id> level[1-7]!");
			else
			{
			    
			    GetPlayerName(id,n,MAX_PLAYER_NAME);
   				GetPlayerName(player1, playername, sizeof(playername));
				GetPlayerName(playerid, adminname, sizeof(adminname));
			    
	        	new INI:File = INI_Open(UserPath(id));
	        	INI_WriteInt(File,"Admin",level); 
	        	INI_Close(File); 
    			format(str,sizeof(str),"You have set %s's level to %d",n,level);
        		SendClientMessage(playerid,COLOR_LIGHTBLUE,str);
     			format(str,sizeof(str),"Administrator %s Has Set Your Level To %d",adminname,level);
     			SendClientMessage(player1,COLOR_LIGHTBLUE,str);
			}
		}
	}
	else
	{
	    SendClientMessage(playerid, COLOR_RED, "ERROR: You Are Not Rcon Admin!");
	}
	return 1;
}
Heres My Setlevel Command