Command help
#1

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

Код:
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...
Reply
#3

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

Like above guy said.
Reply
#4

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

Really need help with this.....
Reply
#6

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.
Reply
#7

I did but it didnt work
Reply
#8

Bump
Reply
#9

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
Reply
#10

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)