HELP!!! with cmd
#1

Got a command(s) /x /y and /z but what i want to do is allow it to be like /x 100 or something cause at the moment it dont let u type values if u type /x it only moves it like 5 for example i want it to be allowed to type values like /x 100 or /y 50 or /z 500 etc.
can ya help?
pawn Код:
if (strcmp("/x", cmdtext, true, 10) == 0)
{
new Float:X,Float:Y,Float:Z;
GetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
SetVehiclePos(GetPlayerVehicleID(playerid),X+5,Y,Z);
return 0;
}
if (strcmp("/y", cmdtext, true, 10) == 0)
{
new Float:X,Float:Y,Float:Z;
GetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
SetVehiclePos(GetPlayerVehicleID(playerid),X,Y+5,Z);
return 0;
}
if (strcmp("/z", cmdtext, true, 10) == 0)
{
new Float:X,Float:Y,Float:Z;
GetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z+5);
return 0;
}
Reply
#2

Use strtok/bigstrtok/sscanf
Reply
#3

I am a fail scripter i dont know anything about scripting can you help?
Reply
#4

pawn Код:
if(!strcmp("/x", cmdtext, true, 2))
{
    new Float:X, Float:Y, Float:Z, Float:dis;
    if(cmdtext[2] != 32 || cmdtext[3] == EOS) dis = 5.0;
    else dis = floatstr(cmdtext[3]);
    if(IsPlayerInAnyVehicle(playerid))
    {
        new vid = GetPlayerVehicleID(playerid);
        GetVehiclePos(vid, X, Y, Z);
        SetVehiclePos(vid, X + dis, Y, Z);
    }
    else
    {
        GetPlayerPos(playerid, X, Y, Z);
        SetPlayerPos(playerid, X + dis, Y, Z);
    }
    return true;
}

if(!strcmp("/y", cmdtext, true, 2))
{
    new Float:X, Float:Y, Float:Z, Float:dis;
    if(cmdtext[2] != 32 || cmdtext[3] == EOS) dis = 5.0;
    else dis = floatstr(cmdtext[3]);
    if(IsPlayerInAnyVehicle(playerid))
    {
        new vid = GetPlayerVehicleID(playerid);
        GetVehiclePos(vid, X, Y, Z);
        SetVehiclePos(vid, X, Y + dis, Z);
    }
    else
    {
        GetPlayerPos(playerid, X, Y, Z);
        SetPlayerPos(playerid, X, Y + dis, Z);
    }
    return true;
}

if(!strcmp("/z", cmdtext, true, 2))
{
    new Float:X, Float:Y, Float:Z, Float:dis;
    if(cmdtext[2] != 32 || cmdtext[3] == EOS) dis = 5.0;
    else dis = floatstr(cmdtext[3]);
    if(IsPlayerInAnyVehicle(playerid))
    {
        new vid = GetPlayerVehicleID(playerid);
        GetVehiclePos(vid, X, Y, Z);
        SetVehiclePos(vid, X, Y, Z + dis);
    }
    else
    {
        GetPlayerPos(playerid, X, Y, Z);
        SetPlayerPos(playerid, X, Y, Z + dis);
    }
    return true;
}
Reply
#5

Thanks man.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)