Skin save +REP
#1

Here is what i'm using to save all my current skins in a file and the extension is .dudb.sav which mean i'm using dudb. Here is my save things:

pawn Код:
public SaveStats()
{
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i)) {
            if(PLAYERLIST_authed[i])
            {
                dUserSetINT(PlayerName(i)).("Score", GetPlayerScore(i));
                dUserSetINT(PlayerName(i)).("AdminLevel", GetPVarInt(i, "AdminLevel"));
                dUserSetINT(PlayerName(i)).("Cash", GetPlayerMoney(i));
                dUserSetINT(PlayerName(i)).("BankCash", GetPVarInt(i, "BankCash"));
                dUserSetINT(PlayerName(i)).("Banned", GetPVarInt(i, "Banned"));
                dUserSetINT(PlayerName(i)).("WantedLevel", GetPlayerWantedLevel(i));
                dUserSetINT(PlayerName(i)).("Warnings", GetPVarInt(i, "Warnings"));
                dUserSetINT(PlayerName(i)).("HasPack", GetPVarInt(i, "HasPack"));
                dUserSetINT(PlayerName(i)).("ArmyPermission", GetPVarInt(i, "ArmyPermission"));
                dUserSetINT(PlayerName(i)).("PackCash", GetPVarInt(i, "PackCash"));
                dUserSetINT(PlayerName(i)).("PackSnack", GetPVarInt(i, "PackSnack"));
                dUserSetINT(PlayerName(i)).("PackPipe", GetPVarInt(i, "PackPipe"));
                dUserSetINT(PlayerName(i)).("PackPot", GetPVarInt(i, "PackPot"));
                dUserSetINT(PlayerName(i)).("PackCondom", GetPVarInt(i, "PackCondom"));
                dUserSetINT(PlayerName(i)).("JailTime", GetPVarInt(i, "JailTime"));
                dUserSetINT(PlayerName(i)).("RobSkill", GetPVarInt(i, "RobSkill"));
                dUserSetINT(PlayerName(i)).("Elite", GetPVarInt(i, "Elite"));
                dUserSetINT(PlayerName(i)).("PackExp", GetPVarInt(i, "PackExp"));
                dUserSetINT(PlayerName(i)).("TerrorSkill", GetPVarInt(i, "TerrorSkill"));
            }
        }
    }
    return 1;
}
And here is other one:

pawn Код:
if(dialogid == DIALOG_LOGIN)
    {
        if(response == 0)
        {
        if(!response) return Kick(playerid);
            return 1;
        }
        if(response == 1)
        {
            if(strlen(inputtext) == 0)
            {
                SendClientMessage(playerid, COLOR_ERROR, "Please enter your password below.");
                LogPlayer(playerid);
            }
            if(udb_CheckLogin(PlayerName(playerid),inputtext))
            {
                SetPVarInt(playerid, "AdminLevel", dUserINT(PlayerName(playerid)).("AdminLevel"));
                SetPVarInt(playerid, "Banned", dUserINT(PlayerName(playerid)).("Banned"));
                SetPVarInt(playerid, "BankCash", dUserINT(PlayerName(playerid)).("BankCash"));
                SetPVarInt(playerid, "Cash", dUserINT(PlayerName(playerid)).("Cash"));
                SetPVarInt(playerid, "WantedLevel", dUserINT(PlayerName(playerid)).("WantedLevel"));
                SetPVarInt(playerid, "HasPack", dUserINT(PlayerName(playerid)).("HasPack"));
                SetPVarInt(playerid, "Warnings", dUserINT(PlayerName(playerid)).("Warnings"));
                SetPVarInt(playerid, "PackCash", dUserINT(PlayerName(playerid)).("PackCash"));
                SetPVarInt(playerid, "ArmyPermission", dUserINT(PlayerName(playerid)).("ArmyPermission"));
                SetPVarInt(playerid, "PackPipe", dUserINT(PlayerName(playerid)).("PackPipe"));
                SetPVarInt(playerid, "PackCondom", dUserINT(PlayerName(playerid)).("PackCondom"));
                SetPVarInt(playerid, "PackExp", dUserINT(PlayerName(playerid)).("PackExp"));
                SetPVarInt(playerid, "PackSnack", dUserINT(PlayerName(playerid)).("PackSnack"));
                SetPVarInt(playerid, "PackPot", dUserINT(PlayerName(playerid)).("PackPot"));
                SetPVarInt(playerid, "JailTime", dUserINT(PlayerName(playerid)).("JailTime"));
                SetPVarInt(playerid, "RobSkill", dUserINT(PlayerName(playerid)).("RobSkill"));
                SetPVarInt(playerid, "Elite", dUserINT(PlayerName(playerid)).("Elite"));
                SetPVarInt(playerid, "TerrorSkill", dUserINT(PlayerName(playerid)).("TerrorSkill"));
All that is working well. Just how do i save the skin? And when I save skin, i want to bypass or skip the select skin screen. please help?
Reply
#2

to SaveStats function, under '[I]if(PLAYERLIST_authed)'
Код:
dUserSetINT(PlayerName(i)).("Skin", GetPVarInt(i, "Skin"));
to LOGIN dialog, under 'if(udb_CheckLogin(PlayerName(playerid),inputtext))'
Код:
SetPVarInt(playerid, "Skin", dUserINT(PlayerName(playerid)).("Skin"));
to OnPlayerSpawn callback
Код:
SetPlayerSkin(playerid, GetPVarInt(playerid, "Skin"));
Reply
#3

Quote:
Originally Posted by NeTuddMeg
Посмотреть сообщение
to SaveStats function, under '[I]if(PLAYERLIST_authed)'
Код:
dUserSetINT(PlayerName(i)).("Skin", GetPVarInt(i, "Skin"));
to LOGIN dialog, under 'if(udb_CheckLogin(PlayerName(playerid),inputtext))'
Код:
SetPVarInt(playerid, "Skin", dUserINT(PlayerName(playerid)).("Skin"));
to OnPlayerSpawn callback
Код:
SetPlayerSkin(playerid, GetPVarInt(playerid, "Skin"));
I just tested it out but when I go into game, it will still go into spawn screen even when im already registered or when i just registered and i pick a skin, it will always make me skin id 0 (CJ) even if i pick a different skin. Please help anyone?
Reply
#4

Works but how do I skip the "choose class" screen after I log in? Here is some part of my log in code:

pawn Код:
{
        SendClientMessage(playerid, COLOR_ERROR, "This player name is taken. Please login.");
        LogPlayer(playerid);
        SpawnPlayer(playerid);
        SetPVarInt(playerid, "Skin", dUserINT(PlayerName(playerid)).("Skin"));
    }
BUT when new player comes in and he just registers and log's in, he will have to pick a skin but when player leaves and comes back, since he is old player, he doesn't have to select skin.
Reply
#5

pawn Код:
{
        SendClientMessage(playerid, COLOR_ERROR, "This player name is taken. Please login.");
        LogPlayer(playerid);
        SpawnPlayer(playerid);
        SetPVarInt(playerid, "Skin", dUserINT(PlayerName(playerid)).("Skin"));
    }
where did you put this?
Reply
#6

Quote:
Originally Posted by RollTi
Посмотреть сообщение
pawn Код:
{
        SendClientMessage(playerid, COLOR_ERROR, "This player name is taken. Please login.");
        LogPlayer(playerid);
        SpawnPlayer(playerid);
        SetPVarInt(playerid, "Skin", dUserINT(PlayerName(playerid)).("Skin"));
    }
where did you put this?
Sorry I put that under "public OnPlayerConnect(playerid)"

And its supposed to be
pawn Код:
{
        SendClientMessage(playerid, COLOR_ERROR, "This player name is taken. Please login.");
        LogPlayer(playerid);
        SetPVarInt(playerid, "Skin", dUserINT(PlayerName(playerid)).("Skin"));
    }
But i added
Код:
        SpawnPlayer(playerid);
thinking it will retrieve the saved data but it didn't so i can remove that. So now what i have is:

pawn Код:
{
        SendClientMessage(playerid, COLOR_ERROR, "This player name is taken. Please login.");
        LogPlayer(playerid);
        SetPVarInt(playerid, "Skin", dUserINT(PlayerName(playerid)).("Skin"));
    }
Any idea of what to add?
Reply
#7

trigger SpawnPlayer(playerid);

OnPlayerLogin. Or OnPlayerRequestClass
Reply
#8

I've never used dudb before, but just make two "Int's" in the file called "HaveSkin" "SkinID". HaveSkin will be 0, and SkinID will be 0 too.
If someone saves their skin, HaveSkin will be 1, and SkinID will be their skin ID.
When the player spawns, check if HaveSkin is 1. If it is, then change his skin to SkinID.
Good luck .
Reply
#9

Quote:
Originally Posted by Marco_Valentine
Посмотреть сообщение
trigger SpawnPlayer(playerid);

OnPlayerLogin. Or OnPlayerRequestClass
That is not working. I tried putting it on OnPlayerRequestClass and under OnPlayerLogin but it doesn't work. Please help?

Quote:
Originally Posted by Sphex
Посмотреть сообщение
I've never used dudb before, but just make two "Int's" in the file called "HaveSkin" "SkinID". HaveSkin will be 0, and SkinID will be 0 too.
If someone saves their skin, HaveSkin will be 1, and SkinID will be their skin ID.
When the player spawns, check if HaveSkin is 1. If it is, then change his skin to SkinID.
Good luck .
And can you or someone else help me a little more with the "HaveSkin"?

I just need it so when someone already has a saved skin on file, they can skip the class selection screen and directly spawn.
Reply
#10

pawn Код:
public SaveStats()
{
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i)) {
            if(PLAYERLIST_authed[i])
            {
                dUserSetINT(PlayerName(i)).("Score", GetPlayerScore(i));
                dUserSetINT(PlayerName(i)).("AdminLevel", GetPVarInt(i, "AdminLevel"));
                dUserSetINT(PlayerName(i)).("Cash", GetPlayerMoney(i));
                dUserSetINT(PlayerName(i)).("BankCash", GetPVarInt(i, "BankCash"));
                dUserSetINT(PlayerName(i)).("Banned", GetPVarInt(i, "Banned"));
                dUserSetINT(PlayerName(i)).("WantedLevel", GetPlayerWantedLevel(i));
                dUserSetINT(PlayerName(i)).("Warnings", GetPVarInt(i, "Warnings"));
                dUserSetINT(PlayerName(i)).("HasPack", GetPVarInt(i, "HasPack"));
                dUserSetINT(PlayerName(i)).("ArmyPermission", GetPVarInt(i, "ArmyPermission"));
                dUserSetINT(PlayerName(i)).("PackCash", GetPVarInt(i, "PackCash"));
                dUserSetINT(PlayerName(i)).("PackSnack", GetPVarInt(i, "PackSnack"));
                dUserSetINT(PlayerName(i)).("PackPipe", GetPVarInt(i, "PackPipe"));
                dUserSetINT(PlayerName(i)).("PackPot", GetPVarInt(i, "PackPot"));
                dUserSetINT(PlayerName(i)).("PackCondom", GetPVarInt(i, "PackCondom"));
                dUserSetINT(PlayerName(i)).("JailTime", GetPVarInt(i, "JailTime"));
                dUserSetINT(PlayerName(i)).("RobSkill", GetPVarInt(i, "RobSkill"));
                dUserSetINT(PlayerName(i)).("Elite", GetPVarInt(i, "Elite"));
                dUserSetINT(PlayerName(i)).("PackExp", GetPVarInt(i, "PackExp"));
                dUserSetINT(PlayerName(i)).("TerrorSkill", GetPVarInt(i, "TerrorSkill"));
                dUserSetINT(PlayerName(i)).("Skin", GetPlayerSkin(i));
            }
        }
    }
    return 1;
}
pawn Код:
if(dialogid == DIALOG_LOGIN)
    {
        if(response == 0)
        {
        if(!response) return Kick(playerid);
            return 1;
        }
        if(response == 1)
        {
            if(strlen(inputtext) == 0)
            {
                SendClientMessage(playerid, COLOR_ERROR, "Please enter your password below.");
                LogPlayer(playerid);
            }
            if(udb_CheckLogin(PlayerName(playerid),inputtext))
            {
                SetPVarInt(playerid, "AdminLevel", dUserINT(PlayerName(playerid)).("AdminLevel"));
                SetPVarInt(playerid, "Banned", dUserINT(PlayerName(playerid)).("Banned"));
                SetPVarInt(playerid, "BankCash", dUserINT(PlayerName(playerid)).("BankCash"));
                SetPVarInt(playerid, "Cash", dUserINT(PlayerName(playerid)).("Cash"));
                SetPVarInt(playerid, "WantedLevel", dUserINT(PlayerName(playerid)).("WantedLevel"));
                SetPVarInt(playerid, "HasPack", dUserINT(PlayerName(playerid)).("HasPack"));
                SetPVarInt(playerid, "Warnings", dUserINT(PlayerName(playerid)).("Warnings"));
                SetPVarInt(playerid, "PackCash", dUserINT(PlayerName(playerid)).("PackCash"));
                SetPVarInt(playerid, "ArmyPermission", dUserINT(PlayerName(playerid)).("ArmyPermission"));
                SetPVarInt(playerid, "PackPipe", dUserINT(PlayerName(playerid)).("PackPipe"));
                SetPVarInt(playerid, "PackCondom", dUserINT(PlayerName(playerid)).("PackCondom"));
                SetPVarInt(playerid, "PackExp", dUserINT(PlayerName(playerid)).("PackExp"));
                SetPVarInt(playerid, "PackSnack", dUserINT(PlayerName(playerid)).("PackSnack"));
                SetPVarInt(playerid, "PackPot", dUserINT(PlayerName(playerid)).("PackPot"));
                SetPVarInt(playerid, "JailTime", dUserINT(PlayerName(playerid)).("JailTime"));
                SetPVarInt(playerid, "RobSkill", dUserINT(PlayerName(playerid)).("RobSkill"));
                SetPVarInt(playerid, "Elite", dUserINT(PlayerName(playerid)).("Elite"));
                SetPVarInt(playerid, "TerrorSkill", dUserINT(PlayerName(playerid)).("TerrorSkill"));
                SetPVarInt(playerid, "Skin", dUserINT(PlayerName(playerid)).("Skin"));
pawn Код:
OnPlayerSpawn(playerid)
     {
     SetPlayerSkin(playerid,GetPVarInt(playerid,"Skin"));
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)