SA-MP Forums Archive
[Tutorial] Easy MySQL Register/Login 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: Tutorials (https://sampforum.blast.hk/forumdisplay.php?fid=70)
+---- Thread: [Tutorial] Easy MySQL Register/Login system! (/showthread.php?tid=160971)

Pages: 1 2 3


Re: Easy MySQL Register/Login system! - Martin_Santiago - 05.08.2010

Nice way of setting up man, its a lot cleaner than the way i was doing it.

Just one thing. There isnt really much point to do this

Code:
SavePlayer(playerid)
{
	if(!PlayerLogged[playerid])
		return 0;

    	UserStats[playerid][Money] = GetPlayerMoney(playerid);
    

	CheckMySQL();
    
    	new string[256];
        format(string, sizeof(string), "UPDATE Users SET Password='%s', Admin='%d', Money='%d' WHERE Name='%s'", UserStats[playerid][Password], UserStats[playerid][Admin], UserStats[playerid][Money], UserStats[playerid][Name]);
    	mysql_query(string);
    	return 1;
}
Your much better off just updating what you need to update. Its not like their password ever changes while they are logged in unless your going to add a change password option or something.

My Way
Code:
SavePlayer(playerid)
{
	if(!PlayerLogged[playerid])
		return 0;

    	UserStats[playerid][Money] = GetPlayerMoney(playerid);
    

	CheckMySQL();
    
    	new string[256];
    	format(string, sizeof(string), "UPDATE `users` SET `admin`='%d', `money`='%d' WHERE `name`='%s'", UserStats[playerid][Admin], UserStats[playerid][Money], UserStats[playerid][Name]);
    	mysql_query(string);
    	return 1;
}
Just thought id let ya know =D


Re: Easy MySQL Register/Login system! - WackoX - 05.08.2010

Quote:
Originally Posted by Martin_Santiago
View Post
Nice way of setting up man, its a lot cleaner than the way i was doing it.

Just one thing. There isnt really much point to do this

Your much better off just updating what you need to update. Its not like their password ever changes while they are logged in unless your going to add a change password option or something.

My Way

Just thought id let ya know =D
Yes thanks,
I always had it like that, but for the tutorial I implemented the password variable somehow, lol.


Re: Easy MySQL Register/Login system! - Kyle - 09.08.2010

Help please?




Re: Easy MySQL Register/Login system! - playbox12 - 17.08.2010

Download VS9 version in the topic of the mysql plugin, otherwise update Net. Framework (I think).


Re: Easy MySQL Register/Login system! - KotoK - 26.12.2010

For me all works fine! Just started to learn mysql system and this tutorial is exactly what I need.


Re: Easy MySQL Register/Login system! - Anthonyx3' - 08.01.2011

Immah sound stupid right now, but if i wanted to change to dialog, how do i do this correctly, i attempted and failed.


Re: Easy MySQL Register/Login system! - [MWR]Blood - 15.01.2011

That's hardly bugged mate, I register and when I rejoin and I try to login it says I'm not registered.


Re: Easy MySQL Register/Login system! - Anthonyx3' - 15.01.2011

Its not bugged then, you just messed up with the database im guessing


Re: Easy MySQL Register/Login system! - THE_KNOWN - 15.01.2011

erm i need help with it saving skins. i tried it but it doesnt.


Re: Easy MySQL Register/Login system! - THE_KNOWN - 21.01.2011

got it.
my comment for the tut:
SIMPLY PERFECT!!!

my request to add:
save data of different tables and not only users(stats maybe?(having a hard time figuring it out))


Re: Easy MySQL Register/Login system! - HyperZ - 31.01.2011

Quote:
Originally Posted by Delux13
View Post
That's hardly bugged mate, I register and when I rejoin and I try to login it says I'm not registered.
+1

Same here.


Re: Easy MySQL Register/Login system! - jesse237 - 05.02.2011

Code:
SavePlayer(playerid)
{
	if(!PlayerLogged[playerid])
		return 0;

    	UserStats[playerid][Money] = GetPlayerMoney(playerid);
    

	CheckMySQL();
    
    	new string[256];
    	format(string, sizeof(string), "UPDATE Users SET Password='%s',Admin='%d',Money='%d' WHERE Name='%s'", UserStats[playerid][Password], UserStats[playerid][Admin], UserStats[playerid][Money], UserStats[playerid][Name]);
    	mysql_query(string);
    	return 1;
}
I am having some issues with the code above. I tried adding more .. but I get thess errors:

Code:
C:\SA-MP servers\The Roleplay Server\gamemodes\MySQL.pwn(1183) : error 075: input line too long (after substitutions)
C:\SA-MP servers\The Roleplay Server\gamemodes\MySQL.pwn(1184) : error 037: invalid string (possibly non-terminated string)
C:\SA-MP servers\The Roleplay Server\gamemodes\MySQL.pwn(1184) : error 017: undefined symbol "UPDATE"
C:\SA-MP servers\The Roleplay Server\gamemodes\MySQL.pwn(1184) : error 029: invalid expression, assumed zero
C:\SA-MP servers\The Roleplay Server\gamemodes\MySQL.pwn(1184) : fatal error 107: too many error messages on one line
I know this has something to do with .. too many charactars/ being too long inside the format function, but I'm no mastermind and can't figure out how to fix it currently. I know it has to be shortened to fix it probably, but I need all of them.
my code:

Code:
stock SavePInfo(playerid)
{
	if(GetPVarInt(playerid, "LoggedIN") == 1)
	{
		new Query[600];

		format(Query, sizeof(Query), "UPDATE `playerinfo` SET `kills` = %d, `deaths` = %d, `money` = %d, `Level` = %d, `Last Pos X` = %f, `Last Pos Y` = %f, `Last Pos Z` = %f, `Interior` = %d, `PMstatus` = %d, `Phonenumber` = %d, `Strength` = %d, `Jailtime` = %d, `Prisontime` = %d, `FactionID` = %d, `FactionRank` = %d, `FactionName` = %s, `RadioFreq` = %d, `PaycheckTime` = %d, `Gun0` = %d, `Gun1` = %d, `Gun2` = %d, `Gun3` = %d, `Gun4` = %d WHERE `user` = '%s'", // Also remember to update this...

		PVar[playerid][pKills],
		PVar[playerid][pDeaths],
		GetPlayerMoney(playerid),
		PVar[playerid][pAdminLevel],
		PVar[playerid][pLastX],
		PVar[playerid][pLastY],
		PVar[playerid][pLastZ],
		GetPlayerInterior(playerid),
		PVar[playerid][pPMstatus],
		PVar[playerid][pPhoneNumber],
		PVar[playerid][pStrentgh],
		PVar[playerid][pJailtime],
		PVar[playerid][pPrisontime],
		PVar[playerid][pFaction],
		PVar[playerid][pFactionRank],
		PVar[playerid][pFactionName],
		PVar[playerid][pRadioFrequency],
		PVar[playerid][pPaycheckTime],
		PVar[playerid][pGun0],
		PVar[playerid][pGun1],
		PVar[playerid][pGun2],
		PVar[playerid][pGun3],
		PVar[playerid][pGun4],
		pName(playerid));
		
		new Query2[600];
		format(Query, sizeof(Query), "UPDATE `playerinfo` SET `Ammo0` = %d, `Ammo1` = %d, `Ammo2` = %d, `Ammo3` = %d, `Ammo4` = %d, `IDnumber` = %d, `CarKey1` = %d, `Carkey2` = %d, `Carkey3` = %d,`WeaponLicense` = %d, `DrivingLicense` = %d, `Origin` = %d, `Sex` = %d, `BankPin` = %d, `Housekey1` = %d, `Housekey2` = %d, `Housekey3` = %d, `Bizkey1` = %d, `Bizkey2` = %d, `Bizkey3` = %d, `Rentkey` = %d, `Job` = %d, `Phonecontact1` = %d, `Phonecontact2` = %d, `Phonecontact3` = %d, `Phonecontact4` = %d WHERE `user` = '%s'", // Also remember to update this...
		
		PVar[playerid][pAmmo0],
		PVar[playerid][pAmmo1],
		PVar[playerid][pAmmo2],
		PVar[playerid][pAmmo3],
		PVar[playerid][pAmmo4],
		PVar[playerid][pIDnumber],
		PVar[playerid][pCarkey1],
		PVar[playerid][pCarkey2],
		PVar[playerid][pCarkey3],
		PVar[playerid][pWeaponLicense],
		PVar[playerid][pDrivingLicense],
		PVar[playerid][pOrigin],
		PVar[playerid][pSex],
		PVar[playerid][pBankpin],
		PVar[playerid][pHousekey1],
		PVar[playerid][pHousekey2],
		PVar[playerid][pHousekey3],
		PVar[playerid][pBizkey1],
		PVar[playerid][pBizkey2],
		PVar[playerid][pBizkey3],
		PVar[playerid][pRentkey],
		PVar[playerid][pJob],
		PVar[playerid][pPhoneContact1],
		PVar[playerid][pPhoneContact2],
		PVar[playerid][pPhoneContact3],
		PVar[playerid][pPhoneContact4],
		pName(playerid));
		
		new Query3[600];

		format(Query3, sizeof(Query3), "UPDATE `playerinfo` SET , `Phonecontact5` = %d, `Phonecontact6` = %d, `Phonecontact7` = %d, `Phonecontact8` = %d, `Phonecontact9` = %d, `Phonecontact10` = %d, `Phonecontact1` = %d, `Phonecontact11` = %d, `Phonecontact12` = %d, `Phonecontact13` = %d, `Phonecontact14` = %d, `Phonecontact15` = %d, `Jobcheckpoints` = %d, `Accent` = %d, `Virtualworld` = %d WHERE `user` = '%s'", // Also remember to update this...
		
		PVar[playerid][pPhoneContact5],
		PVar[playerid][pPhoneContact6],
		PVar[playerid][pPhoneContact7],
		PVar[playerid][pPhoneContact8],
		PVar[playerid][pPhoneContact9],
		PVar[playerid][pPhoneContact10],
		PVar[playerid][pPhoneContact11],
		PVar[playerid][pPhoneContact12],
		PVar[playerid][pPhoneContact13],
		PVar[playerid][pPhoneContact14],
		PVar[playerid][pPhoneContact15],
		PVar[playerid][pJobCheckpoints],
		PVar[playerid][pAccent],
		PVar[playerid][pVirtualWorld],
		pName(playerid));

		mysql_query(Query);
		mysql_query(Query2);
		mysql_query(Query3);
		mysql_free_result();
		return 1;
	}
	else return 0;
}



Re: Easy MySQL Register/Login system! - TheLazySloth - 11.10.2011

What about Floats? In the loading system.


Re : Easy MySQL Register/Login system! - falor - 22.02.2012

I did it, but when i'm connected to my server, i have absolutely no message from your script

And if i do /register it does nothing

i'm kinda lost


Re: Easy MySQL Register/Login system! - ArmyOps - 22.02.2012

is it secured of injecting?


Re: Easy MySQL Register/Login system! - swindle69 - 22.02.2012

this is just the worse... i can code in C++ and create my own scripts just fine, but when it comes to pawn..
well..
i fucking hate pawn..


Respuesta: Easy MySQL Register/Login system! - ValenRatti - 26.02.2012

Uhm, any help about the id? I mean, iv put on the table a column(idk if its a column) which was ids which it auto increments, but i dont know how to apply that to the sv =S, anyways, very useful tut. =)


Re: Easy MySQL Register/Login system! - x96664 - 19.07.2012

It's not working!
-When I enter the server and type /register (it doesn't matter did I type password or no) it tells me that I'm already registered!
-When I login , I can do it with any password ! (for an example : I enter the server and type /login 1234 it shows me message that I'm succesfully logged in! When I restart the server and enter it again and type /login 123456 it again shows me that I'm succesfully logged in).
-Also must it save the money ? Before restarting the server I had about 20k $ and when I restarted the server I had 0$.. (Is it not saving the data in database or I didn't make as it's shown ?


Re: Easy MySQL Register/Login system! - Yashas - 04.12.2012

error 017: undefined symbol "mysql_query"

Only "mysql_query" ,other functions work!!
I am using R7 Windows Version of MySQL.


Re: Easy MySQL Register/Login system! - x96664 - 04.12.2012

Quote:
Originally Posted by Yashas
View Post
error 017: undefined symbol "mysql_query"

Only "mysql_query" ,other functions work!!
I am using R7 Windows Version of MySQL.
Change with older plugin R5 or R6