[Solved] SSCANF (K)Custom Specifiers...
#1

Im editing Y-Less's specifier, SSCANF:vehicle... (In the sscanf page he mentioned that it is VERY SIMPLIFIED and it NEEDS to be edited...)

This is what I've got...

pawn Код:
new VehicleName[212][] =
{
    {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
    {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
    {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
    {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
    {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
    {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RCBandit"},{"Romero"},{"Packer"},{"Monster"},
    {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
    {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
    {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RCBaron"},{"RCRaider"},{"Glendale"},{"Oceanic"},
    {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
    {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
    {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
    {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
    {"Mesa"},{"RCGoblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
    {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
    {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
    {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
    {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
    {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
    {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
    {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
    {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RCTiger"},{"Flash"},{"Tahoma"},{"Savanna"},
    {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
    {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
    {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
    {"Trailer 3"},{"Andromada"},{"Dodo"},{"RCCam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
    {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
    {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
    {"Utility Trailer"}
};
SSCANF:vehicle(string[])
{
    new ret;
    if ('0' <= string[0] <= '9')
    {
        ret = strval(string);
        if (400 <= ret <= 611)
        {
            return ret;
        }
        else ret = -1;
    }
    else
    {
        for(new i = 0; i < 211; i++)
        {
            if ( strfind(VehicleName[i], string, true) != -1 ) ret = i + 400;
            else ret = -1;
        }
    }
    return ret;
}
I use it in this command...

pawn Код:
YCMD:car(playerid, params[], help)
{
    if(help)
    {
        SendClientMessage(playerid, -1, "Help: [Command] /Car <Part of Vehicle Name>");
        SendClientMessage(playerid, -1, "It spawns a car in front of you.");
    }
    else
    {
        new vehicleid, color1, color2;
        if(sscanf(params, "k<vehicle>(-1)I(0)I(0)", vehicleid, color1, color2))
            return SendClientMessage(playerid, -1, "Error: [Command] /Car <Part of Vehicle Name>");

        else
        {
             if(vehicleid != -1)
             {
                if(GetVehicleModel(pData[playerid][Vehicle])) DestroyVehicle(pData[playerid][Vehicle]);

                new Float:x,Float:y,Float:z,Float:r;
                GetPlayerPos(playerid, x, y, z);
                GetPlayerFacingAngle(playerid,r);
                x += (5 * floatsin(-r, degrees));
                y += (5 * floatcos(-r, degrees));

                pData[playerid][Vehicle] = CreateVehicle(vehicleid, x, y, z, r+90, color1, color2, 0);
            }
            else return SendClientMessage(playerid, -1, "Error: [Command] Invalid Vehicle.");
        }
    }
    return 1;
}
When I use /car <vehicle id> it works, and spawns the vehicle.

But when I use /car <vehicle name>, it send the Invalid Vehicle message... Please help me with the specifier...



REMOVE
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)