Admin Level HELP !
#1

Hello guys in a server.I'm lvl 6(MAX LEVEL) and when i make someone lvl 1.When we relog it sets my level to 1 and the other guy is not admin.can you guys tell me how to fix this please.





Thank you for helping
Reply
#2

Give the code of the set admin level command.
Reply
#3

Quote:
Originally Posted by Allihopp
Посмотреть сообщение
Give the code of the set admin level command.
Here's the admin filterscript

https://www.mediafire.com/?c96r3504dpjxsld
Reply
#4

Set other guy level 3, and see if script sets to level 3 as well.
Reply
#5

Yes...its the same....
With all the levels
Reply
#6

I usually only show the right way, wont leave you at the destination:

Quote:

new key = DB::RetrieveKey(gGlobal[s_usertable], "username", ReturnPlayerName(playerid));
DB::SetIntEntry(gGlobal[s_usertable], key, "admin", level);

Look at that ^ (in /setlevel)
Reply
#7

So..what should i do cause im not a scripter...
Reply
#8

I got this gamemode from Gamemodes in here.
Reply
#9

Quote:
Originally Posted by Allihopp
Посмотреть сообщение
Give the code of the set admin level command.
Код:
CMD:setlevel(playerid, params[])
{
	//check if the player is a admin
	LevelCheck(playerid, 5);

	new target, level;
	if(sscanf(params, "ui", target, level)) return SendClientMessage(playerid, COLOR_THISTLE, "USAGE: /setlevel [player] [level]");

	if(! IsPlayerConnected(target)) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: The specified player is not conected.");

	if(GetPlayerGAdminLevel(playerid) < GetPlayerGAdminLevel(target)) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: You cannot use this command on higher level admin.");

	if(level < 0 || level > MAX_ADMIN_LEVELS) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: Invalid level, mus be b/w 0-"#MAX_ADMIN_LEVELS".");

	if(level == GetPlayerGAdminLevel(target)) return SendClientMessage(playerid, COLOR_FIREBRICK, "ERROR: Player is already of that level.");

	new string[144];
    if(GetPlayerGAdminLevel(playerid) < level)
    {
        GameTextForPlayer(target, "~g~~h~~h~~h~Promoted", 5000, 1);
		format(string, sizeof(string), "You have been promoted to admin level %i by %s[%i], Congratulation.", level, ReturnPlayerName(playerid), playerid);
		SendClientMessage(target, COLOR_DODGER_BLUE, string);
		format(string, sizeof(string), "You have promoted %s[%i] to admin level %i.", ReturnPlayerName(target), target, level);
        SendClientMessage(playerid, COLOR_DODGER_BLUE, string);
    }
    else if(GetPlayerGAdminLevel(playerid) > level)
    {
        GameTextForPlayer(target, "~r~~h~~h~~h~Demoted", 5000, 1);
		format(string, sizeof(string), "You have been demoted to admin level %i by %s[%i], Sorry.", level, ReturnPlayerName(playerid), playerid);
		SendClientMessage(target, COLOR_DODGER_BLUE, string);
		format(string, sizeof(string), "You have demoted %s[%i] to admin level %i.", ReturnPlayerName(target), target, level);
        SendClientMessage(playerid, COLOR_DODGER_BLUE, string);
    }
	PlayerPlaySound(target, 1057, 0.0, 0.0, 0.0);
	PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);

	new key = DB::RetrieveKey(gGlobal[s_usertable], "username", ReturnPlayerName(playerid));
	DB::SetIntEntry(gGlobal[s_usertable], key, "admin", level);

    gUser[target][u_admin] = level;
	return 1;
}
Reply
#10

Below code should work perfectly fine.

PHP код:
CMD:setlevel(playeridparams[])
{
    
//check if the player is a admin
    
LevelCheck(playerid5);
    new 
targetlevel;
    if(
sscanf(params"ui"targetlevel)) return SendClientMessage(playeridCOLOR_THISTLE"USAGE: /setlevel [player] [level]");
    if(! 
IsPlayerConnected(target)) return SendClientMessage(playeridCOLOR_FIREBRICK"ERROR: The specified player is not conected.");
    if(
GetPlayerGAdminLevel(playerid) < GetPlayerGAdminLevel(target)) return SendClientMessage(playeridCOLOR_FIREBRICK"ERROR: You cannot use this command on higher level admin.");
    if(
level || level MAX_ADMIN_LEVELS) return SendClientMessage(playeridCOLOR_FIREBRICK"ERROR: Invalid level, mus be b/w 0-"#MAX_ADMIN_LEVELS".");
    
if(level == GetPlayerGAdminLevel(target)) return SendClientMessage(playeridCOLOR_FIREBRICK"ERROR: Player is already of that level.");
    new 
string[144];
    if(
GetPlayerGAdminLevel(playerid) < level)
    {
        
GameTextForPlayer(target"~g~~h~~h~~h~Promoted"50001);
        
format(stringsizeof(string), "You have been promoted to admin level %i by %s[%i], Congratulation."levelReturnPlayerName(playerid), playerid);
        
SendClientMessage(targetCOLOR_DODGER_BLUEstring);
        
format(stringsizeof(string), "You have promoted %s[%i] to admin level %i."ReturnPlayerName(target), targetlevel);
        
SendClientMessage(playeridCOLOR_DODGER_BLUEstring);
    }
    else if(
GetPlayerGAdminLevel(playerid) > level)
    {
        
GameTextForPlayer(target"~r~~h~~h~~h~Demoted"50001);
        
format(stringsizeof(string), "You have been demoted to admin level %i by %s[%i], Sorry."levelReturnPlayerName(playerid), playerid);
        
SendClientMessage(targetCOLOR_DODGER_BLUEstring);
        
format(stringsizeof(string), "You have demoted %s[%i] to admin level %i."ReturnPlayerName(target), targetlevel);
        
SendClientMessage(playeridCOLOR_DODGER_BLUEstring);
    }
    
PlayerPlaySound(target10570.00.00.0);
    
PlayerPlaySound(playerid10570.00.00.0);
    new 
key DB::RetrieveKey(gGlobal[s_usertable], "username"ReturnPlayerName(target)); // It was "playerid" should be "target"
    
DB::SetIntEntry(gGlobal[s_usertable], key"admin"level);
        
gUser[target][u_admin] = level;
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)