SA-MP Forums Archive
Saving skin - 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)
+--- Thread: Saving skin (/showthread.php?tid=412736)



Saving skin - Noles2197 - 02.02.2013

How can I make it to where whatever the admin sets the person's skinid to, it saves it..?
Something like this..
// pInfo[id][Skin]=%s;

pawn Код:
CMD:setskin(playerid, params[])
{
     if(pInfo[playerid][Admin]>0)
     {
         new str[128],skinid,id;
         if(sscanf(params,"ui",id,skinid)) return SendClientMessage(playerid,COLOR_GRAY,"USAGE: /setskin [playerid] [skinid]");
         if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,"Invalid playerid!");
         if(skinid > 299)
         {
            SetPlayerSkin(id,skinid); // pInfo[id][Skin]=%s;
            format(str,sizeof(str),"Administrator %s set your skinid to %i.",GetName(playerid),skinid);
            SendClientMessage(id,COLOR_GRAY,str);
            format(str,sizeof(str),"You've set the skinid of %s to %i.",GetName2(id),skinid);
            SendClientMessage(playerid,COLOR_GRAY,str);
         }
         else SendClientMessage(playerid,COLOR_RED,"Invalid skinid!");
     }
     return 1;
}



Re: Saving skin - spedico - 02.02.2013

pInfo[id][Skin] = skinid;


Re: Saving skin - -Prodigy- - 02.02.2013

Код:
if(skinid > 299)
That won't work. Change it to "<"


Re: Saving skin - Noles2197 - 02.02.2013

When an admin sets a player's skin, it saves it to their user file.

pawn Код:
CMD:setskin(playerid, params[])
{
     if(pInfo[playerid][Admin]>0)
     {
         new str[128],skinid,id;
         if(sscanf(params,"ui",id,skinid)) return SendClientMessage(playerid,COLOR_GRAY,"USAGE: /setskin [playerid] [skinid]");
         if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,"Invalid playerid!");
         if(0 < skinid < 299)
         {
            SetPlayerSkin(id,skinid);
            pInfo[id][Skin] = skinid;
            format(str,sizeof(str),"Staff member %s set your skinid to %i.",GetName(playerid),skinid);
            SendClientMessage(id,COLOR_GRAY,str);
            format(str,sizeof(str),"You've set the skinid of %s to %i.",GetName2(id),skinid);
            SendClientMessage(playerid,COLOR_GRAY,str);
         }
         else SendClientMessage(playerid,COLOR_RED,"Invalid skinid!");
     }
     return 1;
}
After a player logs in, it gives the player his skinid that was given to him by the staff member.

pawn Код:
SetPlayerSkin(playerid,pInfo[playerid][Skin]);
SpawnPlayer(playerid);
pawn Код:
public OnGameModeInit()
{
    AddPlayerClass(252,-1974,138,27,90,24,200,0,0,0,0);
    return 1;
}
.. but then when the player spawns, it gives the player whatever his class is. How can it to where they will spawn with whatever skin is in their file?


Re: Saving skin - -Prodigy- - 02.02.2013

Use the following:

pawn Код:
SetSpawnInfo(playerid, 0, pInfo[playerid][Skin], 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0); // Edit it to your needs
SpawnPlayer(playerid);