/vx [vehicle name] HELP
#1

So basically, I made a /vx command and it compiles and everything, but the problem is that the include I'm using for vehicle names is 0 ~ 212 (there are 212 vehicles in the game) however the first vehicle's id in the game is 400, so basically if I do "/vx sultan" it finds the ID of the Sultan by the include, which is 160, even though it really is 560.
The list is in order, however, I need to find a way that the list in the include will start at 400.
So the first vehicle, instead of being ID 0, it'll be 400.
And the second vehicle in the list, will be 401 instead of 1.
Got my point?

Include:
PHP код:
new VehicleNames[212][] = {
    
"Landstalker","Bravura","Buffalo","Linerunner","Pereniel","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","Previon","Coach","Cabbie",
    
"Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
    
"Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
    
"Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","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","RC Goblin","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","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
    
"Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
    
"Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
    
"Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","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"
}; 
/vx command (even though I believe it has nothing to do with it)
PHP код:
CMD:vx(playeridparams[])
{
    new 
vehname[20], message[60];
    if(
sscanf(params"s[20]"vehname)) return SendClientMessage(playeridCOLOR_WHITE"Usage: /vx [Vehicle Name]");
    else
    {
        new 
vehid GetVehicleModelIDFromName(vehname);
        if(
vehid || vehid 212) return SendClientMessage(playeridCOLOR_RED"[ERROR]: Invalid Vehicle Name.");
        new 
Float:x,
            
Float:y,
            
Float:z,
            
Float:angle,
            
name[MAX_PLAYER_NAME+1];
        
GetPlayerPos(playeridxyz);
        
GetPlayerFacingAngle(playeridangle);
        
GetPlayerName(playeridnamesizeof(name));
        
CreateVehicle(vehidxyzangle015);
        
format(messagesizeof(message), "[Info] %s has spawned a %s (ID: %d)."nameVehicleNames[vehid], vehid);
        
SendClientMessageToAll(COLOR_WHITEmessage);
    }
    return 
1;

Reply
#2

Have you read GetVehicleModelIDFromName function?
pawn Код:
stock GetVehicleModelIDFromName(vehname[])
{
        for(new i = 0; i < 211; i++)
        {
                if (strfind(VehicleNames[i], vehname, true) != -1) return i + 400;
        }
        return -1;
}
It adds + 400 so it will be between 400-611.

So change to:
pawn Код:
if(vehid < 400 || vehid > 611) return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid Vehicle Name.");
and
pawn Код:
format(message, sizeof(message), "[Info] %s has spawned a %s (ID: %d).", name, VehicleNames[vehid - 400], vehid);
Reply
#3

thx it now works
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)