Error 76: Syntax error in the expression, or invalid function call
#1

Hello. I need help with this error, I don't see any difference between the three lines of mysql_format ( which I used because if I combine them all the line is too big ) but it still gives me this error:
Код:
 Error 76: Syntax error in the expression, or invalid function call
The line where the error is is "mysql_format(Database, query2...)"
Код:
public OnPlayerDisconnect(playerid)
{
	new query[300], query1[300], query2[300], Float:pos[4];
	new skin = GetPlayerSkin(playerid);
	GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
	GetPlayerFacingAngle(playerid, pos[3]);

	mysql_format(Database, query, sizeof(query), "UPDATE `account` SET `Cash` = '%i', `Bank` = '%i', `Level` = '%i', `Points` = '%i', `Admin` = '%i', `Tester` = '%i', `Donator` = '%i' WHERE `ID` = '%i'", pInfo[playerid][Cash], pInfo[playerid][Bank], pInfo[playerid][Level], pInfo[playerid][Points], pInfo[playerid][Admin], pInfo[playerid][Tester], pInfo[playerid][Donator], pInfo[playerid][ID]);
	mysql_format(Database, query1, sizeof(query1), "UPDATE `account` SET `Car1` = '%i', `Car2` = '%i', `Car3` = '%i', `House` = '%i', `Business' = '%i', `Faction` = '%i', `FRank` = '%i', `FLeader` = '%i' WHERE `ID` = '%i'", pInfo[playerid][Car1], pInfo[playerid][Car2], pInfo[playerid][Car3], pInfo[playerid][House], pInfo[playerid][Business], pInfo[playerid][Faction], pInfo[playerid][FRank], pInfo[playerid][FLeader], pInfo[playerid][ID]);
	mysql_format(Database, query2, sizeof(query2), "UPDATE `account` SET `Job` = '%i', `JRank` = '%i', `Phone` = '%i', `Skin` = '%i', `Mute` = '%i', `Jail` = '%i', `Ban` = '%i', `PosX` = '%f', `PosY` = '%f', `PosZ` = '%f', `PosA` = '%f' WHERE `ID` = '%i'", pInfo[playerid][Job], pInfo[playerid][JRank], pInfo[playerid][Phone], skin, pInfo[playerid][Mute], pInfo[playerid][Jail], pInfo[playerid][Ban], pos[0], pos[1], pos[2], pos[3], pInfo[playerid][ID]);
	mysql_query(Database, query);
	mysql_query(Database, query1);
	mysql_query(Database, query2);
	return 1;
}
Reply
#2

Saving this much player data at once is a bad idea. You should save things like skin, job, cash, etc. right when they changes. For example when the player bought a new skin, save it right away.

You dont need 3 query variables, if you use the one like this:

pawn Код:
new query[300];
mysql_format(Database, query, sizeof(query), ..., ...);
mysql_tquery(Database, query);

mysql_format(Database, query, sizeof(query), ..., ...);
mysql_tquery(Database, query);
...and so on.

Are you sure the error is on that line? If yes, you most likely misspelled one of your enumerators.
Reply
#3

Код:
enum PlayerData
{
	ID,
	Cash,
	Bank,
	Level,
	Points,
	Admin,
	Tester,
	Donator,
	Car1,
	Car2,
	Car3,
	House,
	Business,
	Faction,
	FRank,
	FLeader,
	Job,
	JRank,
	Phone,
	Skin,
	Mute,
	Jail,
	Banned,
	Kills,
	Deaths,
	Float:PosX,
	Float:PosY,
	Float:PosZ,
	Float:PosA
};

new pInfo[MAX_PLAYERS][PlayerData];
This is my enum, don't know why it shows the error.
Reply
#4

Change OnPlayerDisconnect(playerid) to OnPlayerDisconnect(playerid, reason)
Reply
#5

Quote:
Originally Posted by FireBoy89
Посмотреть сообщение
Change OnPlayerDisconnect(playerid) to OnPlayerDisconnect(playerid, reason)
Tried it, still get the same error.
Reply
#6

Could you specify/provide the error line/number?
Reply
#7

Quote:
Originally Posted by FireBoy89
Посмотреть сообщение
Could you specify/provide the error line/number?
Line 89, which is this one:

Код:
	mysql_format(Database, query2, sizeof(query2), "UPDATE `account` SET `Job` = '%i', `JRank` = '%i', `Phone` = '%i', `Skin` = '%i', `Mute` = '%i', `Jail` = '%i', `Ban` = '%i', `PosX` = '%f', `PosY` = '%f', `PosZ` = '%f', `PosA` = '%f' WHERE `ID` = '%i'", pInfo[playerid][Job], pInfo[playerid][JRank], pInfo[playerid][Phone], skin, pInfo[playerid][Mute], pInfo[playerid][Jail], pInfo[playerid][Ban], pos[0], pos[1], pos[2], pos[3], pInfo[playerid][ID]);
Reply
#8

You have to change pInfo[playerid][Ban] to pInfo[playerid][Banned]

Ban is a native function you can't use it as a variable name.
Reply
#9

Quote:
Originally Posted by polygxn
Посмотреть сообщение
Are you sure the error is on that line? If yes, you most likely misspelled one of your enumerators.
Just read.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)