Setlevel help.
#1

i'm having little trouble since i got back to scripting..

I forgot everything.. so i got couple errors


PHP код:
stock setadminlevel(playerid)
{
  new 
adname[128];
  switch 
pInfo[playerid][AdminLevel]); // this line
  
{
    case 
0adname "Player"// and this line
    
case 1adname "Trial Administrator";
    case 
2adname "Moderator";
    case 
3adname "Administrator";
    case 
4adname "Head Admin";
    case 
5adname "Co-Owner";
    case 
6adname "Owner/Developer";
  }
  return 
setadminlevel;

Reply
#2

Код:
stock setadminlevel(playerid)
{
  new adname[128];
  switch (pInfo[playerid][AdminLevel]) // this line
  {
    case 0: adname = "Player"; // and this line
    case 1: adname = "Trial Administrator";
    case 2: adname = "Moderator";
    case 3: adname = "Administrator";
    case 4: adname = "Head Admin";
    case 5: adname = "Co-Owner";
    case 6: adname = "Owner/Developer";
  }
  return adname;
}
you forget a bracket , anyway , don't give error at me ..

EDIT: And you put ";" before switch ...
Reply
#3

PHP код:
switch(pInfo[playerid][AdminLevel]) 
Код:
This forum requires that you wait 120 seconds between posts. Please try again in 44 seconds.
Reply
#4

Quote:
Originally Posted by Mariciuc223
Посмотреть сообщение
Код:
stock setadminlevel(playerid)
{
  new adname[128];
  switch (pInfo[playerid][AdminLevel]) // this line
  {
    case 0: adname = "Player"; // and this line
    case 1: adname = "Trial Administrator";
    case 2: adname = "Moderator";
    case 3: adname = "Administrator";
    case 4: adname = "Head Admin";
    case 5: adname = "Co-Owner";
    case 6: adname = "Owner/Developer";
  }
  return adname;
}
you forget a bracket , anyway , don't give error at me ..

EDIT: And you put ";" before switch ...
Thanks mate ! But i got one problem, when i do /setadminlevel it always says promoted to HEAD ADMIN. no matter which level i inputt

PHP код:
CMD:setadminlevel(playerid,params[])
{
  if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{FF0000}ERROR: You don't have the rights to use this command !");
  new 
pidlevel;
  if(
sscanf(params"ui",pid,level)) return SendClientMessage(playerid, -1"USAGE: /setadminlevel [id] [level]");
  if(!
IsPlayerConnected(pid)) return SendClientMessage(playerid, -1"{FF0000}The player which are you trying to set the level to is not connected !");
  if(
level || level 6) return SendClientMessage(playerid, -1"{FF0000}ERROR: You have entered invaild admin level.");
  {
    
PlayerPlaySound(pid,17802,0.0,0.0,0.0);
  }
  new 
file[64],PlayerName[24], string[128];
  
GetPlayerName(pid,PlayerName,sizeof PlayerName);
  
format(filesizeof file"Accounts/%s.ini"PlayerName);
  if(!
fexist(file)) return SendClientMessage(playerid, -1"{FF0000}The player is not REGISTERED");
  
INI_Open(file);
  
INI_WriteInt("Level",level);
  
INI_Save();
  
INI_Close();
  
format(stringsizeof(string), "You have been promoted to {FF0000}%s{FFFFFF} Congratulations ! !"setadminlevel(playerid));
  
SendClientMessageToAll(-1string);
  
GameTextForPlayer(pid"PROMOTED"20001);
  
PlayerPlaySound(pid,17802,0.0,0.0,0.0);
  return 
1;

Reply
#5

You also could do sth like this:

PHP код:
#define getAdminLevel(%0,%1) strunpack(%1,adminlevel[pInfo[%0][AdminLevel]])
stock const adminlevel[][] = //@top of your script
{
    !
"Player",!"Trial Administrator",!"Moderator",!"Administrator",!"Head Admin",!"Co-Owner",!"Owner/Developer"
};
//Then where you wanna use it:
new tmp[20];
getAdminLevel(pidtmp);
//Then in tmp you have the adminlevel :) 
//You have to use pid
Reply
#6

PHP код:
CMD:setadminlevel(playerid,params[]) 

  if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{FF0000}ERROR: You don't have the rights to use this command !"); 
  new 
pidlevel
  if(
sscanf(params"ui",pid,level)) return SendClientMessage(playerid, -1"USAGE: /setadminlevel [id] [level]"); 
  if(!
IsPlayerConnected(pid)) return SendClientMessage(playerid, -1"{FF0000}The player which are you trying to set the level to is not connected !"); 
  if(
level || level 6) return SendClientMessage(playerid, -1"{FF0000}ERROR: You have entered invaild admin level."); 
  { 
    
PlayerPlaySound(pid,17802,0.0,0.0,0.0); 
  } 
  new 
file[64],PlayerName[24], string[128]; 
  
GetPlayerName(pid,PlayerName,sizeof PlayerName); 
  
format(filesizeof file"Accounts/%s.ini"PlayerName); 
  if(!
fexist(file)) return SendClientMessage(playerid, -1"{FF0000}The player is not REGISTERED"); 
  
INI_Open(file); 
  
INI_WriteInt("Level",level); 
  
INI_Save(); 
  
INI_Close(); 
  
pInfo[playerid][AdminLevel] = level;
  
format(stringsizeof(string), "You have been promoted to {FF0000}%s{FFFFFF} Congratulations ! !"setadminlevel(playerid)); 
  
SendClientMessageToAll(-1string); 
  
GameTextForPlayer(pid"PROMOTED"20001); 
  
PlayerPlaySound(pid,17802,0.0,0.0,0.0); 
  return 
1

Reply
#7

Quote:
Originally Posted by Kaliber
Посмотреть сообщение
You also could do sth like this:

PHP код:
#define getAdminLevel(%0,%1) strunpack(%1,adminlevel[pInfo[%0][AdminLevel]])
stock const adminlevel[][] = //@top of your script
{
    !
"Player",!"Trial Administrator",!"Moderator",!"Administrator",!"Head Admin",!"Co-Owner",!"Owner/Developer"
};
//Then where you wanna use it:
new tmp[20];
getAdminLevel(pidtmp);
//Then in tmp you have the adminlevel :) 
//You have to use pid
C:\Users\yan\Desktop\LS-GW\filterscripts\adminsystem.pwn(176) : error 021: symbol already defined: "strunpack"
C:\Users\yan\Desktop\LS-GW\filterscripts\adminsystem.pwn(177) : warning 203: symbol is never used: "tmp"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


1 Error.
Reply
#8

lol remove this line #define getAdminLevel(%0,%1) strunpack(%1,adminlevel[pInfo[%0][AdminLevel]])
because it's already defined TWICE somewhere
Reply
#9

Код:
//Global var to store the admin level names, put it on top
new
	AdminLevelName[7][24] =
	{
	    {"Player"},
		{"Trial Moderator"},
		{"Moderator"},
		{"Administrator"},
		{"HeadAdmin"},
		{"Co-Owner"},
		{"Owner/Developer"}
	};
	

CMD:setadminlevel(playerid,params[])
{
  if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}ERROR: You don't have the rights to use this command !");
  new pid, level;
  if(sscanf(params, "ui",pid,level)) return SendClientMessage(playerid, -1, "USAGE: /setadminlevel [id] [level]");
  if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, -1, "{FF0000}The player which are you trying to set the level to is not connected !");
  if(level < 0 || level > 6) return SendClientMessage(playerid, -1, "{FF0000}ERROR: You have entered invaild admin level.");
  {
    PlayerPlaySound(pid,17802,0.0,0.0,0.0);
  }
  new file[64],PlayerName[24], string[128];
  GetPlayerName(pid,PlayerName,sizeof PlayerName);
  format(file, sizeof file, "Accounts/%s.ini", PlayerName);
  if(!fexist(file)) return SendClientMessage(playerid, -1, "{FF0000}The player is not REGISTERED");
  INI_Open(file);
  INI_WriteInt("Level",level);
  INI_Save();
  INI_Close();
  pInfo[pid][AdminLevel] = level;
  format(string, sizeof(string), "You have been promoted to {FF0000}%s{FFFFFF} Congratulations ! !", AdminLevelName[pInfo[pid][AdminLevel]]);
  SendClientMessageToAll(-1, string);
  GameTextForPlayer(pid, "PROMOTED", 2000, 1);
  PlayerPlaySound(pid,17802,0.0,0.0,0.0);
  return 1;
}
Reply
#10

Quote:
Originally Posted by nezo2001
Посмотреть сообщение
PHP код:
CMD:setadminlevel(playerid,params[]) 

  if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{FF0000}ERROR: You don't have the rights to use this command !"); 
  new 
pidlevel
  if(
sscanf(params"ui",pid,level)) return SendClientMessage(playerid, -1"USAGE: /setadminlevel [id] [level]"); 
  if(!
IsPlayerConnected(pid)) return SendClientMessage(playerid, -1"{FF0000}The player which are you trying to set the level to is not connected !"); 
  if(
level || level 6) return SendClientMessage(playerid, -1"{FF0000}ERROR: You have entered invaild admin level."); 
  { 
    
PlayerPlaySound(pid,17802,0.0,0.0,0.0); 
  } 
  new 
file[64],PlayerName[24], string[128]; 
  
GetPlayerName(pid,PlayerName,sizeof PlayerName); 
  
format(filesizeof file"Accounts/%s.ini"PlayerName); 
  if(!
fexist(file)) return SendClientMessage(playerid, -1"{FF0000}The player is not REGISTERED"); 
  
INI_Open(file); 
  
INI_WriteInt("Level",level); 
  
INI_Save(); 
  
INI_Close(); 
  
//------------------------------------------//
  
pInfo[playerid][AdminLevel] = level;
  
//=----------------------------------------//
    
format(stringsizeof(string), "You have been promoted to {FF0000}%s{FFFFFF} Congratulations ! !"setadminlevel(playerid)); 
  
SendClientMessageToAll(-1string); 
  
GameTextForPlayer(pid"PROMOTED"20001); 
  
PlayerPlaySound(pid,17802,0.0,0.0,0.0); 
  return 
1

You didn't take care from the begging
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)