Command help, ZCMD.
#1

pawn Код:
COMMAND:v(playerid, params[]) return cmd_vehicle(playerid, params);
COMMAND:vehicle(playerid, params[])
{
    new x_vehicle[129], tmp, str[129],string[129];
    if(JustVehicled[playerid] == 1) return SendErrorMessage(playerid, "You must wait atleast 3 seconds between each operation.");
    JustVehicled[playerid] = 1;
    SetTimerEx("VehicleReset", 2200, false, "i", playerid);
    if(sscanf(params, "s[129]",x_vehicle))
    {
        SendClientMessage(playerid, COLOR_SERVER, "_____________________________________________");
        SendUsageMessage(playerid, "/v(ehicle) [Usage]");
        SendClientMessage(playerid, COLOR_GRAD1, "[ACTIONS]: buy, get");
        SendClientMessage(playerid, COLOR_GRAD2, "[ACTIONS]: scrap {FF6347} (WARNING: This deletes your vehicle permanently.)");
        return 1;

    }
    if(strcmp(x_vehicle, "get", true) == 0)
    {
        if(sscanf(params, "i",tmp)) return SendUsageMessage(playerid, "/v get [1-5]");
        if(tmp == 1)
        {
            SendInfoMessage(playerid, "Debug 1x");
            if(IsVehicleSpawned(PlayerInfo[playerid][pCarKey])) return SendErrorMessage(playerid, "You already have a vehicle that is spawned.");
            if(strcmp(PlayerVehicle[playerid][pVeh1], "None", true))
            {
                SendInfoMessage(playerid, "Debug 2x");
                format(str, sizeof(str), "PARA/Vehicles/%s.cfg",PlayerVehicle[playerid][pVeh1]);
                if(dini_Exists(str))
                {
                    SendInfoMessage(playerid, "Debug x3");
                    LoadVehicles(playerid, PlayerVehicle[playerid][pVeh1]);
                    SendClientMessage(playerid, COLOR_GREEN, "Vehicle is on it's parking place:");
                    format(string, sizeof(string), "%s, Alarm[%d], Lock[%d], Immobilizer[%d], GPS[%d], Insurances[%d], Times destroyed[%d], Insurance price[%d]", VehicleNames[GetVehicleModel(PlayerInfo[playerid][pCarKey])-400],
                    VehicleInfo[PlayerInfo[playerid][pCarKey]][vAlarm], VehicleInfo[PlayerInfo[playerid][pCarKey]][vLockBuyed], VehicleInfo[PlayerInfo[playerid][pCarKey]][vImmob], VehicleInfo[PlayerInfo[playerid][pCarKey]][vGPS], VehicleInfo[PlayerInfo[playerid][pCarKey]][vInsurances], VehicleInfo[PlayerInfo[playerid][pCarKey]][vDestroys], InsurancePrices[GetVehicleModel(PlayerInfo[playerid][pCarKey])-400] * VehicleInfo[PlayerInfo[playerid][pCarKey]][vMaxInsurances]);
                    SendClientMessage(playerid, COLOR_WHITE, string);
                    if(VehicleInfo[PlayerInfo[playerid][pCarKey]][vModel] == 481) { EngineStatus[PlayerInfo[playerid][pCarKey]] = 1; } else { EngineStatus[PlayerInfo[playerid][pCarKey]] = 0; }
                    SetPlayerCheckpoint(playerid, VehicleInfo[PlayerInfo[playerid][pCarKey]][vX], VehicleInfo[PlayerInfo[playerid][pCarKey]][vY], VehicleInfo[PlayerInfo[playerid][pCarKey]][vZ], 5.0); }
                    VCP[playerid] = 1;
                    ActiveCP[playerid] = 1;
                }
                else SendErrorMessage(playerid, "Vehicle Slot [1] is bugged for you, contact a developer.");
                return 1;
            }
            else
            {
                SendErrorMessage(playerid, "There is no vehicle in that slot.");
                return 1;
            }
        }
        //
        return 1;
    }

The spawning of the vehicle and such isn't being reached, and I'm honestly tired and lost right now.
Reply
#2

I'm not sure but you should check the parameters from sscanf realms and go after, cannot add parameters with sscanf 2 times, only one and go checking parameters within the command or function.

Try this.

PHP код:
COMMAND:vehicle(playeridparams[])
{
    if(
JustVehicled[playerid] == 1)
        return 
SendErrorMessage(playerid"You must wait atleast 3 seconds between each operation.");
    
JustVehicled[playerid] = 1;
    
SetTimerEx("VehicleReset"2200false"i"playerid);
    new 
x_vehicle[7], tmpstr[129],string[129];
    if(
sscanf(params"s[7]i"x_vehicletmp))
    {
        if(
isnull(x_vehicle))
        {
            
SendClientMessage(playeridCOLOR_SERVER"_____________________________________________");
            
SendUsageMessage(playerid"/v(ehicle) [Usage]");
            
SendClientMessage(playeridCOLOR_GRAD1"[ACTIONS]: buy, get");
            
SendClientMessage(playeridCOLOR_GRAD2"[ACTIONS]: scrap {FF6347} (WARNING: This deletes your vehicle permanently.)");
        }
        else if(
strcmp(x_vehicle"get"true) == && tmp || tmp 5)
        {
            
SendUsageMessage(playerid"/v get [1-5]");
        }
        else if(
strcmp(x_vehicle"buy"true) == && isnull(tmp))
        {
            
SendUsageMessage(playerid"/v buy [parameters].");
        }
        return 
true;
    }
    if(
strcmp(x_vehicle"get"true) == 0)
    {
        if(
tmp == 1)
        {
            
SendInfoMessage(playerid"Debug 1x");
            if(
IsVehicleSpawned(PlayerInfo[playerid][pCarKey]))
                return 
SendErrorMessage(playerid"You already have a vehicle that is spawned.");
            if(
strcmp(PlayerVehicle[playerid][pVeh1], "None"true))
            {
                
SendInfoMessage(playerid"Debug 2x");
                
format(strsizeof(str), "PARA/Vehicles/%s.cfg",PlayerVehicle[playerid][pVeh1]);
                if(
dini_Exists(str))
                {
                    
SendInfoMessage(playerid"Debug x3");
                    
LoadVehicles(playeridPlayerVehicle[playerid][pVeh1]);
                    
SendClientMessage(playeridCOLOR_GREEN"Vehicle is on it's parking place:");
                    
format(stringsizeof(string), "%s, Alarm[%d], Lock[%d], Immobilizer[%d], GPS[%d], Insurances[%d], Times destroyed[%d], Insurance price[%d]"VehicleNames[GetVehicleModel(PlayerInfo[playerid][pCarKey])-400],
                    
VehicleInfo[PlayerInfo[playerid][pCarKey]][vAlarm], VehicleInfo[PlayerInfo[playerid][pCarKey]][vLockBuyed], VehicleInfo[PlayerInfo[playerid][pCarKey]][vImmob], VehicleInfo[PlayerInfo[playerid][pCarKey]][vGPS], VehicleInfo[PlayerInfo[playerid][pCarKey]][vInsurances], VehicleInfo[PlayerInfo[playerid][pCarKey]][vDestroys], InsurancePrices[GetVehicleModel(PlayerInfo[playerid][pCarKey])-400] * VehicleInfo[PlayerInfo[playerid][pCarKey]][vMaxInsurances]);
                    
SendClientMessage(playeridCOLOR_WHITEstring);
                    if(
VehicleInfo[PlayerInfo[playerid][pCarKey]][vModel] == 481) { EngineStatus[PlayerInfo[playerid][pCarKey]] = 1; } else { EngineStatus[PlayerInfo[playerid][pCarKey]] = 0; }
                    
SetPlayerCheckpoint(playeridVehicleInfo[PlayerInfo[playerid][pCarKey]][vX], VehicleInfo[PlayerInfo[playerid][pCarKey]][vY], VehicleInfo[PlayerInfo[playerid][pCarKey]][vZ], 5.0); }
                    
VCP[playerid] = 1;
                    
ActiveCP[playerid] = 1;
                }
                else 
SendErrorMessage(playerid"Vehicle Slot [1] is bugged for you, contact a developer.");
            }
            else
            {
                
SendErrorMessage(playerid"There is no vehicle in that slot.");
            }
        }
    }
    return 
true;

Reply
#3

Your second sscanf line should include the string.
pawn Код:
if(sscanf(params, "s[129]i", x_vehicle, tmp)) return SendUsageMessage(playerid, "/v get [1-5]");
Or you could just use your first sscanf instead of 2 different.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)