Dcmd to Strcmp
#1

Okay, I have a Dcmd which my friend wrote for my old acc system. But Im puting it into Strcmp. I got this far but it says

undefined symbol "level"

Any ideas??


DCMD

Код:
dcmd_setlevel(playerid,params[])
{
	new string[128],player,level,adminname[MAX_PLAYER_NAME];
	if(sscanf(params,"dd",player, level)) return SendClientMessage(playerid,ANNOUNCEMENT,"USAGE: /setlevel <id> <level 0 - 5>");
	if(AccountInfo[playerid][aAdminLevel] < 5) return SendClientMessage(playerid,ANNOUNCEMENT,"You have to be The Owner to do this!");
	if(level == AccountInfo[player][aAdminLevel]) return SendClientMessage(playerid,ANNOUNCEMENT,"This player is already that level!");
	if(!IsPlayerConnected(player)) return SendClientMessage(playerid,ANNOUNCEMENT,"Invalid ID");
	if(level >= 8) return SendClientMessage(playerid,ANNOUNCEMENT,"USAGE: /setlevel <id> <level 0 - 1>");
	if(player == playerid) return SendClientMessage(playerid,ANNOUNCEMENT,"USAGE: /setlevel <id> <level 0 - 5>");
	if(AccountInfo[player][aAdminLevel] < level)
	{
		GetPlayerName(player,adminname,24);
		format(string,sizeof(string),"%s Has been promoted to level %d admin",adminname,level);
		SendClientMessageToAll(ANNOUNCEMENT,string);
		AccountInfo[player][aAdminLevel] = level;
		return 1;
	}
	if(AccountInfo[player][aAdminLevel] > level)
	{
		GetPlayerName(player,adminname,24);
		format(string,sizeof(string),"%s Has been demoted to level %d admin",adminname,level);
		SendClientMessageToAll(ANNOUNCEMENT,string);
		AccountInfo[player][aAdminLevel] = level;
		return 1;
	}
	return 1;
}
STRCMP So far

Код:
	if (strcmp(cmdtext,"/setlevel", true, 9) == 0)
	{
	if(PlayerInfo[playerid][pAdminLevel] == 0) return SendClientMessage(playerid,COLOR_RED,"Your Not an Admin and cant use this");
    if(PlayerInfo[playerid][pAdminLevel] == 1337)
    {
	if(level == PlayerInfo[playerid][pAdminLevel]) return SendClientMessage(playerid,COLOR_RED,"This player is already that level!");
	if(level == 1337) return SendClientMessage(playerid,ANNOUNCEMENT,"USAGE: /setlevel <id> <level 0 - 1>");
	if(PlayerInfo[playerid][pAdminLevel] < level)
	{
		GetPlayerName(player,adminname,24);
		format(string,sizeof(string),"%s Has been promoted to level %d admin",adminname,level);
		SendClientMessageToAll(ANNOUNCEMENT,string);
		PlayerInfo[playerid][pAdminLevel] = level;
		return 1;
	}
	if(PlayerInfo[playerid][pAdminLevel] > level)
	{
		GetPlayerName(player,adminname,24);
		format(string,sizeof(string),"%s Has been demoted to level %d admin",adminname,level);
		SendClientMessageToAll(ANNOUNCEMENT,string);
		AccountInfo[player][aAdminLevel] = level;
		return 1;
	}
	retrun 1;
	}
Reply
#2

Why the hell are you converting dcmd to strcmp??
It's like exchanging a Ferrari with a Volvo or something >.<
Reply
#3

Quote:
Originally Posted by LarzI
Посмотреть сообщение
Why the hell are you converting dcmd to strcmp??
It's like exchanging a Ferrari with a Volvo or something >.<
Yarp.

If you hate the idea of having commands loose in a gamemode, put em in an include file I'd say.

Else, you could try to make a 'macro' to put everything under OnPlayerCommandText again, or boringly change everything to strcmp XD
Reply
#4

But if you really want strcmp instead, use this:

EDIT: http://pastebin.ca/1932411

EDIT2: Oh, and incase you didn't know, you need strtok
Reply
#5

Fixed Thanks
Reply
#6

pawn Код:
enum pInfo
{
pAdminLevel,
pCash,
pScore
};
new PlayerInfo[MAX_PLAYERS][pInfo];
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)