SA-MP Forums Archive
Command help - 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: Command help (/showthread.php?tid=502010)



Command help - Ananisiki - 21.03.2014

how can i do this so if a player do like /skin 2 his skin will be set to 2

if he type /skin only, the menu will show up

pawn Код:
{
    new pID;
    new skinid;
    if(sscanf(params, "d", skinid)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /skin (Skin ID) - Enter A Valid Skin ID");
    if(Dead[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Dead.");
    if(GetPVarInt(playerid, "IsSpecing") == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Spectating.");
    if(GetPVarInt(playerid, "IsFrozen") == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Frozen.");
    if(GetPVarInt(playerid, "IsCaged") == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Caged.");
    if(GetPVarInt(playerid, "IsJailed") == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Jailed.");
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command From A Vehicle.");
    if(sscanf(params, "u", pID))
    {
        if(skinid > 299 || skinid < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid Skin ID.");
        if(skinid == GetPlayerSkin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You Already Have This Skin.");
        if(skinid == 294 || skinid == 0) return SendClientMessage(playerid, COLOR_RED, "You Must Be An Admin To Choose This Skin.");
        SetPlayerSkin(playerid, skinid);
    }
    else
    {
        ShowModelSelectionMenu(playerid, skinlist, "Select A Skin", 0, 1 , 0);
    }
    return 1;
}



Re: Command help - CroM256 - 21.03.2014

Код:
if(sscanf(params, "d", skinid)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /skin (Skin ID) - Enter A Valid Skin ID");
Use this line, if u want in dialog then do this:
Код:
if(sscanf(params, "d", skinid)) return ShowPlayerDialog...



Re: Command help - Equuuuin0X - 22.03.2014

Remove the SendClientMessage(playerid, blabla skin [id] Into return ShowPlayerDialog.

Like above guy said.


Re: Command help - Ananisiki - 22.03.2014

Hmmmm, doesnt work, what i want is like if he type /skin id it will be set, but if he dont know the skin id and just type /skin the model section will show up


Re: Command help - Ananisiki - 22.03.2014

Really need help with this.....


Re: Command help - Stinged - 22.03.2014

Change to what CroM256 said, and add if(!sscanf(..))
Using ! with sscanf is if the play entered the correct form, which is a skin ID here.


Re: Command help - Ananisiki - 22.03.2014

I did but it didnt work


Re: Command help - Ananisiki - 23.03.2014

Bump


Re: Command help - Hanuman - 23.03.2014

Define this at top:
Код:
#if !defined isnull
    #define isnull(%1) \
                ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif
And here is ur cmd

Код:
{
    new pID;
    new skinid;
    if(Dead[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Dead.");
    if(GetPVarInt(playerid, "IsSpecing") == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Spectating.");
    if(GetPVarInt(playerid, "IsFrozen") == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Frozen.");
    if(GetPVarInt(playerid, "IsCaged") == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Caged.");
    if(GetPVarInt(playerid, "IsJailed") == 1) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command When Jailed.");
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "You Cannot Use This Command From A Vehicle.");
    if(isnull(params))
    {
         ShowModelSelectionMenu(playerid, skinlist, "Select A Skin", 0, 1 , 0);
    }
    new skinid ;
    skinid = strval(params);

        if(skinid > 299 || skinid < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid Skin ID.");
        if(skinid == GetPlayerSkin(playerid)) return SendClientMessage(playerid, COLOR_RED, "You Already Have This Skin.");
        if(skinid == 294 || skinid == 0) return SendClientMessage(playerid, COLOR_RED, "You Must Be An Admin To Choose This Skin.");
        SetPlayerSkin(playerid, skinid);
        return 1;
}
I have removed the sscanf


Re: Command help - Ananisiki - 23.03.2014

If i write /skin and the model shows up, it says you must be an admin to select this skin even if i havnt chosen one