SA-MP Forums Archive
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)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Help (/showthread.php?tid=278686)



Help - Jafet_Macario - 23.08.2011

Hey, so I'm trying to make a command with multiple parameters, I mean:
Code:
/put [option] [ammount]
And the option can be " Materials " or " Drugs ".With strcmp I got it, but can't get it with ZCMD, looked over tutorials but didn't find anything like this.So, for exemple:
Code:
 /put Materials 50
and
Code:
 /put Drugs 10
Until now I got this code, but it's not working in game...:
pawn Code:
CMD:put(playerid, params[])
{
    new le = PlayerInfo[playerid][pLeader], me = PlayerInfo[playerid][pMember], string[24], option, value;
    if(le==1||le==2||le==3||le==4||le==7||le==9||le==10||le==11||me==1||me==2||me==3||me==4||me==7||me==9||me==10||me==11) return SCM(playerid, COLOR_GREY,"You are not a gang member");
    else if(!PlayerToPoint(25.0,playerid,2027.5966,1008.9321,10.8203) || !PlayerToPoint(3.0,playerid,-2190.7061,641.7987,49.4375) || !PlayerToPoint(3.0,playerid,2782.7209,-1957.9377,13.5469) || !PlayerToPoint(3.0,playerid,679.4280,-1276.8392,13.5956) || !PlayerToPoint(3.0,playerid,2156.3076,-1455.8517,25.5391) || !PlayerToPoint(3.0,playerid,2494.8640,-1668.1879,13.3438)) return SCM(playerid, COLOR_GREY,"You are not at the right place");
    else if (sscanf(params, "s[24]i", option, value)) return SCM(playerid, COLOR_GREY,"USAGE: /put [Materials/Drugs] [ammount]");
    else
    {
        if(value > PlayerInfo[playerid][pMats]) return SCM(playerid, COLOR_GRAD2, "You don't have that much!");
        else
        {
            PlayerInfo[playerid][pMats] -= value;
            PlayerInfo[playerid][pDepositedMats] += value;
            format(string, sizeof(string), "you deposited %d materials!", value);
            SendClientMessage(playerid, COLOR_GRAD4, string);
        }
        if(value > PlayerInfo[playerid][pDrugs]) return SCM(playerid, COLOR_GRAD2, "You don't have that much!");
        else
        {
            PlayerInfo[playerid][pDrugs] -= value;
            PlayerInfo[playerid][pDepositedDrugs] += value;
            format(string, sizeof(string), "you deposited %d grams of drugs!", value);
            SendClientMessage(playerid, COLOR_GRAD4, string);
        }
    }
    return 1;
}
Anyone can help me out please?


Re: Help - =WoR=Varth - 24.08.2011

pawn Code:
CMD:put(playerid, params[])
{
    new string[10],option,value;
    if(PlayerInfo[playerid][pLeader] == 0 || PlayerInfo[playerid][pMember] == 0) return SCM(playerid, COLOR_GREY,"You are not a gang member");
    if(!PlayerToPoint(25.0,playerid,2027.5966,1008.9321,10.8203) || !PlayerToPoint(3.0,playerid,-2190.7061,641.7987,49.4375) || !PlayerToPoint(3.0,playerid,2782.7209,-1957.9377,13.5469) || !PlayerToPoint(3.0,playerid,679.4280,-1276.8392,13.5956) || !PlayerToPoint(3.0,playerid,2156.3076,-1455.8517,25.5391) || !PlayerToPoint(3.0,playerid,2494.8640,-1668.1879,13.3438)) return SCM(playerid, COLOR_GREY,"You are not at the right place");
    if(sscanf(params,"s[129]d",option,value)) return SCM(playerid, COLOR_GREY,"USAGE: /put [Materials/Drugs] [ammount]");
    if(!strcmp(option,"Materials"))
    {
        if(value > PlayerInfo[playerid][pMats]) SCM(playerid, COLOR_GRAD2, "You don't have that much!");
        else
        {
            PlayerInfo[playerid][pMats] -= value;
            PlayerInfo[playerid][pDepositedMats] += value;
            format(string, sizeof(string), "you deposited %d materials!", value);
            SendClientMessage(playerid, COLOR_GRAD4, string);
        }
        return 1;
    }
    else
    {
        if(value > PlayerInfo[playerid][pDrugs]) SCM(playerid, COLOR_GRAD2, "You don't have that much!");
        else
        {
            PlayerInfo[playerid][pDrugs] -= value;
            PlayerInfo[playerid][pDepositedDrugs] += value;
            format(string, sizeof(string), "you deposited %d grams of drugs!", value);
            SendClientMessage(playerid, COLOR_GRAD4, string);
        }
        return 1;
    }
    SCM(playerid, COLOR_GREY,"USAGE: /put [Materials/Drugs] [ammount]");
    return 1;
}
I recommend you to use IsPlayerInRangeOfPoint.


Re: Help - Jafet_Macario - 24.08.2011

Thanks man!