Data twice
#1

It's not something very important, although if you'd ask me, its annoying for me.
In my Users.txt from my register/login system, I get this.
After I set someone his admin level or w/e it may be, I see the data twice as you can see.
Is this a bug or ?
The [PlayerData] should actually be on top.
Reply
#2

Check your PlayerData tag.. Might be a copy-paste fail.

Could you post the Snippet.. Including custom functions(if any)
Reply
#3

Lucky lmao I don't even get it once and you get it twice . Check the onplayerdisconnet and onplayerlogin dialog. You maybe getting the stats twice.
Reply
#4

Hahhahah @fuckingcruse HAHAHHA, you really made me laugh

And, no the tag is simply created with INI_SetTag();

PHP код:
public OnPlayerDisconnect(playeridreason)
   new 
INI:File INI_Open(UserPath(playerid));
    
INI_SetTag(File"PlayerData");
    
INI_WriteInt(File"Password"PlayerInfo[playerid][Password]);
    
INI_WriteInt(File"Admin"PlayerInfo[playerid][AdminLevel]);
    
INI_WriteInt(File"Money"PlayerInfo[playerid][Money]);
    
INI_WriteInt(File"Vip"PlayerInfo[playerid][VipLevel]);
    
INI_WriteInt(File"Mechanic"PlayerInfo[playerid][Mechanic]);
    
INI_WriteInt(File"SupportMember"PlayerInfo[playerid][SupportMember]);
    
INI_WriteInt(File"Hitman"PlayerInfo[playerid][Hitman]);
    
INI_Close(File); 
PHP код:
OnDialogResponse()
       new 
INI:File INI_Open(UserPath(playerid));
            
INI_SetTag(File"PlayerData");
            
INI_WriteInt(File"Password"udb_hash(inputtext));
            
INI_WriteInt(File"Admin"0);
            
INI_WriteInt(File"Money"0);
            
INI_WriteInt(File"Vip"0);
            
INI_WriteInt(File"Mechanic"0);
            
INI_WriteInt(File"SupportMember"0);
            
INI_WriteInt(File"Hitman"0);
            
INI_Close(File); 
Reply
#5

Do you, by any chance update the file after the admin level is set? If so, please show that too..
Reply
#6

PHP код:
stock Register(name[])
{
    new 
INI:File INI_Open(name); 
    
INI_SetTag(File"PlayerData"); 
    
INI_WriteInt(File"Password"1);
    
INI_WriteInt(File"Admin"0); 
    
INI_WriteInt(File"Money"0); 
    
INI_WriteInt(File"Vip"0); 
    
INI_WriteInt(File"Mechanic"0); 
    
INI_WriteInt(File"SupportMember"0); 
    
INI_WriteInt(File"Hitman"0); 
    
INI_Close(File);

Quote:

[PlayerData]
Password = 1
Admin = 0
Money = 0
Vip = 0
Mechanic = 0
SupportMember = 0
Hitman = 0

PHP код:
stock Logout(name[])
{
    new 
INI:File INI_Open(name); 
    
INI_SetTag(File"PlayerData"); 
    
INI_WriteInt(File"Password"12);
    
INI_WriteInt(File"Admin"12);
    
INI_WriteInt(File"Money"12);
    
INI_WriteInt(File"Vip"12);
    
INI_WriteInt(File"Mechanic"12);
    
INI_WriteInt(File"SupportMember"23);
    
INI_WriteInt(File"Hitman"23);
    
INI_Close(File); 

Quote:

[PlayerData]
Password = 12
Admin = 12
Money = 12
Vip = 12
Mechanic = 12
SupportMember = 23
Hitman = 23

PHP код:
stock SetAdmin(name[])
{
    new 
INI:File INI_Open(name);
    
//INI_SetTag(File, "PlayerData");
    
INI_WriteInt(File"Password"12);
    
INI_WriteInt(File"Admin"999);
    
INI_WriteInt(File"Money"12);
    
INI_WriteInt(File"Vip"12);
    
INI_WriteInt(File"Mechanic"12);
    
INI_WriteInt(File"SupportMember"23);
    
INI_WriteInt(File"Hitman"23);
    
INI_Close(File);

This gives me the same bug as your's.. After I comment-out the SetTag-Function.

Quote:

Password = 12
Admin = 999
Money = 12
Vip = 12
Mechanic = 12
SupportMember = 23
Hitman = 23
[PlayerData]
Password = 12
Admin = 12
Money = 12
Vip = 12
Mechanic = 12
SupportMember = 23
Hitman = 23

So that ought to be it..
Reply
#7

PHP код:
CMD:setadmin(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return 0;
    new 
targetplayerstring[150], Level;
    if(
sscanf(params"ui"targetplayerLevel)) return SendClientMessage(playeridCOLOR_ORANGE"Usage: /setadmin [ID] [Level 1-5]");
    if(
Level || Level 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] == Level) return SendClientMessage(playeridCOLOR_RED"Error: The player is already this admin level.");
    new 
INI:File INI_Open(UserPath(targetplayer));
    
INI_WriteInt(File"Admin"Level);
    
INI_Close(File);
    if(
Level == 1)
    {
        
format(stringsizeof string"You have been set to a Trial Moderator by %s."PlayerName(playerid));
        
SendClientMessage(targetplayerCOLOR_LIGHTBLUEstring);
        
format(stringsizeof string"You have set %s as a Trial Moderator."PlayerName(targetplayer));
        
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
    }
    if(
Level == 2)
    {
         
format(stringsizeof string"You have been set to a Moderator by %s."PlayerName(playerid));
        
SendClientMessage(targetplayerCOLOR_YELLOWstring);
        
format(stringsizeof string"You have set %s as a Moderator."PlayerName(targetplayer));
        
SendClientMessage(playeridCOLOR_YELLOWstring);
    }
    if(
Level == 3)
     {
          
format(stringsizeof string"You have been set to a General Administrator by %s."PlayerName(playerid));
        
SendClientMessage(targetplayerCOLOR_GREENstring);
        
format(stringsizeof string"You have set %s as a General Administrator."PlayerName(targetplayer));
        
SendClientMessage(playeridCOLOR_GREENstring);
      }
    if(
Level == 4)
     {
          
format(stringsizeof string"You have been set to a Co-Owner by %s."PlayerName(playerid));
        
SendClientMessage(targetplayerCOLOR_ORANGEstring);
        
format(stringsizeof string"You have set %s as a Co-Owner."PlayerName(targetplayer));
        
SendClientMessage(playeridCOLOR_ORANGEstring);
    }
    if(
Level == 5)
    {
        
format(stringsizeof string"You have been set to the server Owner by %s."PlayerName(playerid));
        
SendClientMessage(targetplayerCOLOR_LEMONstring);
        
format(stringsizeof string"You have set %s to the server Owner."PlayerName(targetplayer));
        
SendClientMessage(playeridCOLOR_LEMONstring);
    }
    
printf("[SETADMIN] %s has set %s as an admin ( %i )"PlayerName(playerid), PlayerName(targetplayer), Level);
    
PlayerInfo[targetplayer][AdminLevel] = Level;
    return 
1;

NOTE:When I set lets say ID 13 as an admin, the next player with ID 13 gets the same admin level... what Should I do?
Reply
#8

Someone ?
Reply
#9

PHP код:
CMD:setadmin(playeridparams[]) 

    if(!
IsPlayerAdmin(playerid)) return 0
    new 
targetplayerstring[150], Level
    if(
sscanf(params"ui"targetplayerLevel)) return SendClientMessage(playeridCOLOR_ORANGE"Usage: /setadmin [ID] [Level 1-5]"); 
    if(
Level || Level 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] == Level) return SendClientMessage(playeridCOLOR_RED"Error: The player is already this admin level."); 
    new 
INI:File INI_Open(UserPath(targetplayer)); 
    
INI_SetTag(File"PlayerData"); //THIS IS THE FIX.. 
    //You have forgotten this line in other commands too.. Like /setvip /setmechanic or w.e
    
INI_WriteInt(File"Admin"Level); 
    
INI_Close(File); 
    if(
Level == 1
    { 
        
format(stringsizeof string"You have been set to a Trial Moderator by %s."PlayerName(playerid)); 
        
SendClientMessage(targetplayerCOLOR_LIGHTBLUEstring); 
        
format(stringsizeof string"You have set %s as a Trial Moderator."PlayerName(targetplayer)); 
        
SendClientMessage(playeridCOLOR_LIGHTBLUEstring); 
    } 
    if(
Level == 2
    { 
         
format(stringsizeof string"You have been set to a Moderator by %s."PlayerName(playerid)); 
        
SendClientMessage(targetplayerCOLOR_YELLOWstring); 
        
format(stringsizeof string"You have set %s as a Moderator."PlayerName(targetplayer)); 
        
SendClientMessage(playeridCOLOR_YELLOWstring); 
    } 
    if(
Level == 3
     { 
          
format(stringsizeof string"You have been set to a General Administrator by %s."PlayerName(playerid)); 
        
SendClientMessage(targetplayerCOLOR_GREENstring); 
        
format(stringsizeof string"You have set %s as a General Administrator."PlayerName(targetplayer)); 
        
SendClientMessage(playeridCOLOR_GREENstring); 
      } 
    if(
Level == 4
     { 
          
format(stringsizeof string"You have been set to a Co-Owner by %s."PlayerName(playerid)); 
        
SendClientMessage(targetplayerCOLOR_ORANGEstring); 
        
format(stringsizeof string"You have set %s as a Co-Owner."PlayerName(targetplayer)); 
        
SendClientMessage(playeridCOLOR_ORANGEstring); 
    } 
    if(
Level == 5
    { 
        
format(stringsizeof string"You have been set to the server Owner by %s."PlayerName(playerid)); 
        
SendClientMessage(targetplayerCOLOR_LEMONstring); 
        
format(stringsizeof string"You have set %s to the server Owner."PlayerName(targetplayer)); 
        
SendClientMessage(playeridCOLOR_LEMONstring); 
    } 
    
printf("[SETADMIN] %s has set %s as an admin ( %i )"PlayerName(playerid), PlayerName(targetplayer), Level); 
    
PlayerInfo[targetplayer][AdminLevel] = Level
    return 
1

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)