OnPlayerRequestClass save sakin -
kampuman - 24.07.2016
I need help guys. I want to save the skin of the player directly to MySQL after they choose their desired skin on onPlayerRequestClass but I don't know how and what the correct format script is.
This is script for my command cmd:/skin, you might need this for more info.
PHP код:
format(gsQuery,sizeof(gsQuery),"UPDATE `accounts` SET `SavedSkin` = '%d' WHERE `Key` = '%d'",skinid,PlayerInfo[ playerid ][ AccID ]);
mysql_query( gsQuery, THREAD_NONE, playerid );
format(gsQuery,sizeof(gsQuery),"UPDATE `accounts` SET `IsSavedSkin` = '1' WHERE `Key` = '%d'",skinid,PlayerInfo[ playerid ][ AccID ]);
mysql_query( gsQuery, THREAD_NONE, playerid );
SetPlayerSkin(playerid, skinid);
PlayerInfo[ playerid ][ SavedSkin ] = skinid;
PlayerInfo[ playerid ][ IsSavedSkin ] = 1;
Re: OnPlayerRequestClass save -
Freaksken - 24.07.2016
Execute that query in OnPlayerRequestClass and when the player connects later, use
SetSpawnInfo and
SpawnPlayer to bypass the skin choosing process.
Re: OnPlayerRequestClass save -
kampuman - 25.07.2016
Thanks for the tips @Freaksken
But I solved it using this. Putting it under OnPlayerRequestSpawn and adding
Код:
skinid = GetPlayerSkin(playerid);
PHP код:
public OnPlayerRequestSpawn( playerid )
{
new skinid;
format(gsQuery,sizeof(gsQuery),"UPDATE `accounts` SET `SavedSkin` = '%d' WHERE `Key` = '%d'",skinid,PlayerInfo[ playerid ][ AccID ]);
mysql_query( gsQuery, THREAD_NONE, playerid );
format(gsQuery,sizeof(gsQuery),"UPDATE `accounts` SET `IsSavedSkin` = '1' WHERE `Key` = '%d'",skinid,PlayerInfo[ playerid ][ AccID ]);
mysql_query( gsQuery, THREAD_NONE, playerid );
skinid = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, skinid);
PlayerInfo[ playerid ][ SavedSkin ] = skinid;
PlayerInfo[ playerid ][ IsSavedSkin ] = 1;
return ( 1 );
}
Re: OnPlayerRequestClass save -
Threshold - 25.07.2016
You might want to double check this line...:
pawn Код:
format(gsQuery,sizeof(gsQuery),"UPDATE `accounts` SET `IsSavedSkin` = '1' WHERE `Key` = '%d'",skinid,PlayerInfo[ playerid ][ AccID ]);
Re: OnPlayerRequestClass save -
kampuman - 25.07.2016
It looks like the skin are not still saving, after hitting Spawn it shoul've changed the value to the skin id of the player which he chooses and IsSavedSkin should be 1. Am I missing something?
@thereshold I noticed the skinid parameter which is not needed right?
So I've managed to fix it by doing this. But the problem was when i'm in a different world expect 0 and I died there. It keeps spawning me as CJ skin
PHP код:
new skinid, IsSaved = 1;
skinid = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, skinid);
PlayerInfo[ playerid ][ SavedSkin ] = skinid;
PlayerInfo[ playerid ][ IsSavedSkin ] = IsSaved;
format(gsQuery,sizeof(gsQuery),"UPDATE `accounts` SET `SavedSkin` = '%d' WHERE `Key` = '%d'",skinid,PlayerInfo[ playerid ][ AccID ]);
mysql_query( gsQuery, THREAD_NONE, playerid );
format(gsQuery,sizeof(gsQuery),"UPDATE `accounts` SET `IsSavedSkin` = '%d' WHERE `Key` = '%d'",IsSaved,PlayerInfo[ playerid ][ AccID ]);
mysql_query( gsQuery, THREAD_NONE, playerid );