I have questions about mysql
#1

Im new to pawn so im trying to understand how to set up mysql data saves like level and exp system
most of the codes i will give wont be my code i will add //mycode to the lines i added

Код:
public regist(playerid, pass[]){

	format(USER[playerid][PASS],24, "%s",pass);

	new query[512];
	GetPlayerName(playerid, USER[playerid][NAME], MAX_PLAYER_NAME);
	mysql_format(mysql, query, sizeof(query), "INSERT INTO `userlog_info` (`NAME`,`PASS`,`ADMIN`,`MONEY`,`KILLS`,`DEATHS`,`SKIN`,`POS_X`,`POS_Y`,`POS_Z`,`ANGLE`,`HP`,`AM`, `LEVEL`) VALUES ('%s','%s',%d,%d,%d,%d,%d,%f,%f,%f,%f,%f,%f,%d)", USER[playerid][NAME], USER[playerid][PASS],
	USER[playerid][ADMIN] = 0,
	USER[playerid][MONEY] = 1000,
	USER[playerid][KILLS] = 0,
	USER[playerid][DEATHS] = 0,
	USER[playerid][SKIN] = 129,
	USER[playerid][POS_X] = 1925.0215,
 	USER[playerid][POS_Y] = -1684.2222,
	USER[playerid][POS_Z] = 13.5469,
	USER[playerid][ANGLE] = 255.7507,
	USER[playerid][HP] = 100.0,
	USER[playerid][AM] = 100.0,
	USER[playerid][EXP] = 0, //mycode doesnt save in the database
	USER[playerid][LEVEL] = 1); //mycode doesnt save in the database

	mysql_query(mysql, query);
	USER[playerid][ID] = cache_insert_id();

	SendClientMessage(playerid,-1,"You Have Successfully Registered.");
	INGAME[playerid][LOGIN] = true;
	spawn(playerid);
}

public save(playerid){
	GetPlayerPos(playerid,USER[playerid][POS_X],USER[playerid][POS_Y],USER[playerid][POS_Z]);
	GetPlayerFacingAngle(playerid, USER[playerid][ANGLE]);

	new query[256];
	mysql_format(mysql, query, sizeof(query), "UPDATE `userlog_info` SET `ADMIN`=%d,`MONEY`=%d,`KILLS`=%d,`DEATHS`=%d,`SKIN`=%d,`POS_X`=%f,`POS_Y`=%f,`POS_Z`=%f WHERE `NAME`=%d", USER[playerid][ADMIN], USER[playerid][MONEY], USER[playerid][KILLS], USER[playerid][DEATHS], USER[playerid][SKIN], USER[playerid][POS_X], USER[playerid][POS_Y], USER[playerid][POS_Z],playerid);
	mysql_query(mysql, query);
	mysql_format(mysql, query, sizeof(query), "UPDATE `userlog_info` SET `ANGLE`=%f,`HP`=%f,`AM`=%f WHERE `ID`=%d, `EXP`=%d, `LEVEL`=%d WHERE `NAME`=%d", USER[playerid][ANGLE], USER[playerid][HP], USER[playerid][AM], USER[playerid][ID], USER[playerid][EXP], USER[playerid][LEVEL],playerid);
	mysql_query(mysql, query);
}
Public save and the two lines in the public regist doesnt seem to work but however with same variables i can read them on this load code block(like if i set exp to 14 from a mysql client and login game game can fetch the level and exp properly) by the way otheer variables in public regist saves only last two lines doesnt save

Код:
public load(playerid){
	new query[128];
	mysql_format(mysql, query, sizeof(query), "SELECT * FROM `userlog_info` WHERE `ID` = %d LIMIT 1", USER[playerid][ID]);
	mysql_query(mysql, query);

	USER[playerid][ADMIN]   = cache_get_field_content_int(0, "ADMIN");
	USER[playerid][MONEY]   = cache_get_field_content_int(0, "MONEY");
	USER[playerid][KILLS]   = cache_get_field_content_int(0, "KILLS");
	USER[playerid][DEATHS]  = cache_get_field_content_int(0, "DEATHS");
	USER[playerid][SKIN]    = cache_get_field_content_int(0, "SKIN");
	USER[playerid][POS_X]   = cache_get_field_content_float(0, "POS_X");
	USER[playerid][POS_Y]   = cache_get_field_content_float(0, "POS_Y");
	USER[playerid][POS_Z]   = cache_get_field_content_float(0, "POS_Z");
	USER[playerid][ANGLE]   = cache_get_field_content_float(0, "ANGLE");
	USER[playerid][HP]      = cache_get_field_content_float(0, "HP");
	USER[playerid][AM]      = cache_get_field_content_float(0, "AM");
	USER[playerid][EXP]     = cache_get_field_content_int(0, "EXP");
	USER[playerid][LEVEL]   = cache_get_field_content_int(0, "LEVEL");
	spawn(playerid);
}
What am i doing wrong ?
Reply


Messages In This Thread
I have questions about mysql - by grymtn - 04.04.2017, 17:43
Re: I have questions about mysql - by Runn3R - 04.04.2017, 18:15
Re: I have questions about mysql - by grymtn - 04.04.2017, 19:28

Forum Jump:


Users browsing this thread: 1 Guest(s)