SA-MP Forums Archive
Admins don't save - 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: Admins don't save (/showthread.php?tid=588284)



Admins don't save - saffierr - 07.09.2015

If I set someone as an admin, it doesn't save whenever the server restarts.
How do I save the admins from being an admin?
I use <dini>


Re: Admins don't save - Gangster-rocks - 07.09.2015

i can't use telepathy to determine the code.


Re: Admins don't save - saffierr - 07.09.2015

What the hack do you mean?


Re: Admins don't save - jlalt - 07.09.2015

show us your setlevel command please

also your register command if there any


Re: Admins don't save - Gangster-rocks - 07.09.2015

Quote:
Originally Posted by saffierr
Посмотреть сообщение
What the hack do you mean?
post the code to get help, i dunno what you scripted to begin with lol.


Re: Admins don't save - saffierr - 07.09.2015

Quote:

#include <dini>

Quote:

enum pInfo
{
AdminLevel
}

Quote:

#define DIALOG_REGISTER 2
#define DIALOG_LOGIN 3

REGISTER/LOGIN SYSTEM with dini
PHP код:
public OnPlayerConnect(playerid)
{
 new 
pData[120];
    
mutedtime[playerid] = 0;
    
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
    
format(pDatasizeof pData"/Accounts/%s.txt"pName);
    if(
dini_Exists(pData))
    {
        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT"Login""Enter your password""Login""Cancel");
    }
    else
    {
        
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT"Register""Fill in a password to register""Register""Cancel");
    }
    return 
1;

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
if(
dialogid==DIALOG_LOGIN)
    {
        if(
response==0)
        {
            
SendClientMessage(playeridCOLOR_RED"You have been automatically kicked from the server!");
            
Kick(playerid);
            return 
1;
        }
        if(
response==1)
        {
            if(!
strlen(inputtext))
            {
            
SendClientMessage(playeridCOLOR_RED"Enter your password!");
              
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT"Login""Enter your password""Login""Cancel");
            return 
1;
            }
            else
            {
              
Login(playeridinputtext);
            return 
1;
            }
        }
    }
    if(
dialogid==DIALOG_REGISTER)
    {
        if(
response==0)
        {
            
SendClientMessage(playeridCOLOR_RED"You have been automatically kicked from the server!");
            
Kick(playerid);
            return 
1;
        }
        if(
response==1)
        {
            if(!
strlen(inputtext))
            {
                
SendClientMessage(playeridCOLOR_RED"Fill in a password to register!");
                
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT"Register""Fill in a password to register""Register""Cancel");
                return 
1;
            }
            else
            {
                
Register(playeridinputtext);
                return 
1;
            }
        }
    } 
Setadmin cmd
PHP код:
CMD:setadmin(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return 0;
    new 
targetplayerpName[MAX_PLAYER_NAME], pName2[MAX_PLAYER_NAME], string[150], Levels;
    if(
sscanf(params"ui"targetplayerLevels)) return SendClientMessage(playeridCOLOR_ORANGE"Usage: /setadmin [ID] [Level 1-5]");
    if(
Levels || Levels 5) return SendClientMessage(playeridCOLOR_RED"Error: Available admin levels [1 - 5]");
    if(!
IsPlayerConnected(targetplayer)) return SendClientMessage(playeridCOLOR_RED"Error: Player is not connected!");
    if(
PlayerInfo[targetplayer][AdminLevel] == Levels) return SendClientMessage(playeridCOLOR_RED"Error: The player is already this admin level.");
    
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
    
GetPlayerName(targetplayerpName2MAX_PLAYER_NAME);
    
format(stringsizeof string"%s has set your admin level to %d."pNameLevels);
    
SendClientMessage(targetplayerCOLOR_GREENstring);
    
format(stringsizeof string"You have set %s his admin level to %d."pName2Levels);
    
SendClientMessage(playeridCOLOR_WHITEstring);
    
PlayerInfo[targetplayer][AdminLevel] = Levels;
    return 
1;

NOTE: I've got an "Accounts" folder in my scriptfiles.


Re: Admins don't save - Gangster-rocks - 07.09.2015

Show the saving code as well.


Re: Admins don't save - saffierr - 07.09.2015

That's the prob, I don't have any... That was this thread about lol, how do I make that.


Re: Admins don't save - jlalt - 07.09.2015

try this:
PHP код:
CMD:setadmin(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return 0;
    new 
targetplayerpName[MAX_PLAYER_NAME], pName2[MAX_PLAYER_NAME], string[150], Levels;
    if(
sscanf(params"ui"targetplayerLevels)) return SendClientMessage(playeridCOLOR_ORANGE"Usage: /setadmin [ID] [Level 1-5]");
    if(
Levels || Levels 5) return SendClientMessage(playeridCOLOR_RED"Error: Available admin levels [1 - 5]");
    if(!
IsPlayerConnected(targetplayer)) return SendClientMessage(playeridCOLOR_RED"Error: Player is not connected!");
    if(
PlayerInfo[targetplayer][AdminLevel] == Levels) return SendClientMessage(playeridCOLOR_RED"Error: The player is already this admin level.");
    
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
    
GetPlayerName(targetplayerpName2MAX_PLAYER_NAME);
    
format(stringsizeof string"%s has set your admin level to %d."pNameLevels);
    
SendClientMessage(targetplayerCOLOR_GREENstring);
    
format(stringsizeof string"You have set %s his admin level to %d."pName2Levels);
    
SendClientMessage(playeridCOLOR_WHITEstring);
    
PlayerInfo[targetplayer][AdminLevel] = Levels;
    
dUserSetINT(PlayerName2(targetplayer)).("AdminLevel",(Levels));
    return 
1;
}
PlayerName2(playerid) {
  new 
pname[MAX_PLAYER_NAME];
  
GetPlayerName(playeridpnamesizeof(pname));
  return 
pname;




Re: Admins don't save - jlalt - 07.09.2015

PHP код:
CMD:setadmin(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return 0;
    new 
targetplayerpName[MAX_PLAYER_NAME], pName2[MAX_PLAYER_NAME], string[150], Levels;
    if(
sscanf(params"ui"targetplayerLevels)) return SendClientMessage(playeridCOLOR_ORANGE"Usage: /setadmin [ID] [Level 1-5]");
    if(
Levels || Levels 5) return SendClientMessage(playeridCOLOR_RED"Error: Available admin levels [1 - 5]");
    if(!
IsPlayerConnected(targetplayer)) return SendClientMessage(playeridCOLOR_RED"Error: Player is not connected!");
    if(
PlayerInfo[targetplayer][AdminLevel] == Levels) return SendClientMessage(playeridCOLOR_RED"Error: The player is already this admin level.");
    
GetPlayerName(playeridpNameMAX_PLAYER_NAME);
    
GetPlayerName(targetplayerpName2MAX_PLAYER_NAME);
    
format(stringsizeof string"%s has set your admin level to %d."pNameLevels);
    
SendClientMessage(targetplayerCOLOR_GREENstring);
    
format(stringsizeof string"You have set %s his admin level to %d."pName2Levels);
    
SendClientMessage(playeridCOLOR_WHITEstring);
    
PlayerInfo[targetplayer][AdminLevel] = Levels;
    
dini_IntSet(pData"AdminLevel"Levels);
    return 
1;

Maybe