SA-MP Forums Archive
Levle system ! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Levle system ! (/showthread.php?tid=106978)



Levle system ! - GaGlets(R) - 07.11.2009

Hi all im making level system that vould look like this..
level 1 - can use flip
level 2 - antifall
etc...


i have problem.. with this
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
  new cmd[256];
	new idx;
	new Money;
	cmd = strtok(cmdtext, idx);
	Money = GetPlayerMoney(playerid);
	
	if(strcmp("/buylevel", cmdtext, true, 10) == 0)	{
 	if(PlayerInfo[playerid][pLevel] == 0)
	{
		if(Money >= 10000)
  		{
  		SendClientMessage(playerid,COLOR_1,"You Have bought level 1!");
  		PlayerData[playerid][pLevel] == 1)
  		return 1;
  	}
 	}
	else
	if(PlayerInfo[playerid][pLevel] == 1)
	{
		if(Money >= 15000)
  		{
  		SendClientMessage(playerid,COLOR_1,"You Have bought level 2!");
  		PlayerInfo[playerid][pLevel] == 2)
  		flip = 1;
  		return 1;
  		}
 	}
	else
	else if(PlayerInfo[playerid][pLevel] == 2)
	{
 		if(Money >= 20000)
  		{
			SendClientMessage(playerid,COLOR_1,"You Have bought level 3!");
			PlayerInfo[playerid][pLevel] == 3)
			flip = 1;
  	 		return 1;
  	}
 	}
	else
	else if(PlayerInfo[playerid][pLevel] == 3)
	{
 		if(Money >= 40000)
 		{
  		SendClientMessage(playerid,COLOR_1,"You Have bought level 4!");
  		PlayerInfo[playerid][pLevel] == 4)
  		flip = 1;
  		return 1;
  	}
 	}
there is errors..
Код:
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(145) : error 017: undefined symbol "PlayerInfo"
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(145) : warning 215: expression has no effect
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(145) : error 001: expected token: ";", but found "]"
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(145) : error 029: invalid expression, assumed zero
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(145) : fatal error 107: too many error messages on one line
Where i need to write playerinfo etc

other codes
Код:
new PlayerInfo[MAX_PLAYERS][PlayerData];
new pLevel;

enum PlayerData
{
pLevel
}



Re: Levle system ! - yom - 07.11.2009

Change this:
pawn Код:
new PlayerInfo[MAX_PLAYERS][PlayerData];
new pLevel;

enum PlayerData
{
pLevel
}
to this:
pawn Код:
enum PlayerData
{
  pLevel
}

new PlayerInfo[MAX_PLAYERS][PlayerData];
You also have those weird lines:
pawn Код:
PlayerInfo[playerid][pLevel] == 4)
that should be:
pawn Код:
PlayerInfo[playerid][pLevel] = 4;



Re: Levle system ! - GaGlets(R) - 07.11.2009

Quote:
Originally Posted by 0rb
You also have those weird lines:
pawn Код:
PlayerInfo[playerid][pLevel] == 4)
that should be:
pawn Код:
PlayerInfo[playerid][pLevel] = 4;
But its about that - if you have 4lvl -1lvl etc..


Re: Levle system ! - Badger(new) - 07.11.2009

No. When you're checking if they are a certain level, you use
pawn Код:
if(PlayerInfo[playerid][pLevel]==4)
But to set their level, you use
pawn Код:
PlayerInfo[playerid][pLevel]=4;



Re: Levle system ! - GaGlets(R) - 07.11.2009

Quote:
Originally Posted by -The_Badger-
[pawn]if(PlayerInfo[playerid][pLevel]==4)
So this is my error it says that
Код:
[playerid][pLevel]
cant be togather.. (see error upper)


Re: Levle system ! - Anwix - 07.11.2009

Код:
enum PlayerData
{
	pLevel
}
new PlayerInfo[MAX_PLAYERS][PlayerData];

public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256];
	new idx;
	new Money;
	cmd = strtok(cmdtext, idx);
	Money = GetPlayerMoney(playerid);

	if(strcmp("/buylevel", cmdtext, true, 10) == 0)
	{
	 	if(PlayerInfo[playerid][pLevel] == 0)
		{
			if(Money >= 10000)
	  		{
	  			SendClientMessage(playerid,COLOR_1,"You Have bought level 1!");
	  			PlayerData[playerid][pLevel] = 1;
	  			return 1;
	  		}
	 	}
		else if(PlayerInfo[playerid][pLevel] == 1)
		{
			if(Money >= 15000)
	  		{
	  			SendClientMessage(playerid,COLOR_1,"You Have bought level 2!");
	  			PlayerInfo[playerid][pLevel] = 2;
				flip = 1;
	  			return 1;
	  		}
 		}
		else if(PlayerInfo[playerid][pLevel] == 2)
		{
	 		if(Money >= 20000)
	  		{
				SendClientMessage(playerid,COLOR_1,"You Have bought level 3!");
				PlayerInfo[playerid][pLevel] = 3;
				flip = 1;
	  	 		return 1;
	  		}
	 	}
		else if(PlayerInfo[playerid][pLevel] == 3)
		{
	 		if(Money >= 40000)
	 		{
	  			SendClientMessage(playerid,COLOR_1,"You Have bought level 4!");
	  			PlayerInfo[playerid][pLevel] = 4;
	  			flip = 1;
	  			return 1;
	  		}
	 	}
	 	return 1;
	}
	
	/* Other Commands Here */
	return 0;
}
EDIT: Added Badger's comment.


Re: Level system ! - Badger(new) - 07.11.2009

OnPlayerCommandText should return 0; or it will make any OnPlayerCommandText on other scripts not work.
Also the command needs to return 1; since if level 4s type it, nothing will happen, and it should stop at the end of the command rather than returning 0.


Re: Levle system ! - GaGlets(R) - 07.11.2009

Quote:
Originally Posted by Anwix
Код:
enum PlayerData
{
	pLevel
}
new PlayerInfo[MAX_PLAYERS][PlayerData];

public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256];
	new idx;
	new Money;
	cmd = strtok(cmdtext, idx);
	Money = GetPlayerMoney(playerid);

	if(strcmp("/buylevel", cmdtext, true, 10) == 0)
	{
	 	if(PlayerInfo[playerid][pLevel] == 0)
		{
			if(Money >= 10000)
	  		{
	  			SendClientMessage(playerid,COLOR_1,"You Have bought level 1!");
	  			PlayerData[playerid][pLevel] = 1;
	  			return 1;
	  		}
	 	}
		else if(PlayerInfo[playerid][pLevel] == 1)
		{
			if(Money >= 15000)
	  		{
	  			SendClientMessage(playerid,COLOR_1,"You Have bought level 2!");
	  			PlayerInfo[playerid][pLevel] = 2;
				flip = 1;
	  			return 1;
	  		}
 		}
		else if(PlayerInfo[playerid][pLevel] == 2)
		{
	 		if(Money >= 20000)
	  		{
				SendClientMessage(playerid,COLOR_1,"You Have bought level 3!");
				PlayerInfo[playerid][pLevel] = 3;
				flip = 1;
	  	 		return 1;
	  		}
	 	}
		else if(PlayerInfo[playerid][pLevel] == 3)
		{
	 		if(Money >= 40000)
	 		{
	  			SendClientMessage(playerid,COLOR_1,"You Have bought level 4!");
	  			PlayerInfo[playerid][pLevel] = 4;
	  			flip = 1;
	  			return 1;
	  		}
	 	}
	 	return 1;
	}
	
	/* Other Commands Here */
	return 0;
}
EDIT: Added Badger's comment.
The same error's


Re: Levle system ! - Badger(new) - 07.11.2009

Which line has this error on it? Also what are the 2 lines above it.


Re: Levle system ! - GaGlets(R) - 07.11.2009

HerE is the pastebin -
http://pastebin.com/f56bedcf7

errors
Код:
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(144) : error 017: undefined symbol "PlayerInfo"
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(144) : warning 215: expression has no effect
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(144) : error 001: expected token: ";", but found "]"
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(144) : error 029: invalid expression, assumed zero
C:\DOCUME~1\User\Desktop\LEVELS~1.PWN(144) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.