Saving skin
#1

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;
}
Reply
#2

pInfo[id][Skin] = skinid;
Reply
#3

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

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?
Reply
#5

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);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)