Admins don't save
#1

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>
Reply
#2

i can't use telepathy to determine the code.
Reply
#3

What the hack do you mean?
Reply
#4

show us your setlevel command please

also your register command if there any
Reply
#5

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.
Reply
#6

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.
Reply
#7

Show the saving code as well.
Reply
#8

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

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;

Reply
#10

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)