CMD:test(playerid,params[]){
LoggedCMD OwnerCMD
new String[128];
format(String,sizeof(String),"You got a: %s",GetVehicleName(DB[playerid][Vehicle1]));
MSG(playerid,-1,String);
return 1;}
new VehicleNames[][] =
{
"Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
"Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
"Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
"Esperanto", "Taxi", "Washington", "Bobcat", "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",
"Squallo", "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", "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", "RC Goblin",
"Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
"Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "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", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
"Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
"Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
"Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
"News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
"Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
"Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
"Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
"Tiller", "Utility Trailer"
};
stock GetVehicleName(vehicleid)
{
new String[32];
format(String,sizeof(String),"%s",VehicleNames[GetVehicleModel(vehicleid) - 400]);
return String;
}
CMD:test(playerid,params[])
{
printf("Vehicle1: %d",DB[playerid][Vehicle1]);
new String[128];
format(String,sizeof(String),"You got a: %s",GetVehicleName(DB[playerid][Vehicle1]));
MSG(playerid,-1,String);
return 1;
}
#if !defined strcpy
#define strcpy(%0,%1) strcat((%0[0] = EOS, %0), %1)
#endif
GetVehicleName(vehicleid)
{
new String[32] = "N/A", modelid = GetVehicleModel(vehicleid);
if (!modelid) return String;
strcpy(String, VehicleNames[modelid - 400], sizeof(String));
return String;
}
The vehicle specified does not exist, GetVehicleModel returns 0 and subtracting from it goes to invalid index -400.
PHP код:
PHP код:
|
The vehicle specified does not exist, GetVehicleModel returns 0 and subtracting from it goes to invalid index -400.
PHP код:
PHP код:
|
It shows N/A that the vehicle does not exist and prevents the run time error 4.
DB[playerid][Vehicle1] is 0, you need to assign a vehicle ID on it. |
GetVehicleName(vehicleid, model = 0)
{
new String[32] = "N/A";
if(!model)
{
new modelid = GetVehicleModel(vehicleid);
if(modelid) strcpy(String, VehicleNames[modelid - 400], sizeof(String));
}
else
{
if(400 <= vehicleid <= 611) strcpy(String, VehicleNames[modelid - 400], sizeof(String));
}
return String;
}
GetVehicleName(vehicleid)
GetVehicleName(modelid, 1)
That's the mistake, the function is supposed to get a vehicle ID and not a vehicle model ID.
PHP код:
pawn Код:
|
if(IsPlayerInRangeOfPoint(playerid,3,1481.9901,-1796.1001,17.0359)){
format(String,sizeof(String),"Slot 1: %s\n\
Slot 2: %s\n\
Slot 3: %s\n\
Slot 4: %s\n\
Slot 5: %s\n\
Slot 6: %s\n\
Slot 7: %s\n\
Slot 8: %s\n\
Slot 9: %s\n\
Slot 10: %s",GetVehicleName(DB[playerid][Vehicle1],1),
GetVehicleName(DB[playerid][Vehicle2]),
GetVehicleName(DB[playerid][Vehicle3]),
GetVehicleName(DB[playerid][Vehicle4]),
GetVehicleName(DB[playerid][Vehicle5]),
GetVehicleName(DB[playerid][Vehicle6]),
GetVehicleName(DB[playerid][Vehicle7]),
GetVehicleName(DB[playerid][Vehicle8]),
GetVehicleName(DB[playerid][Vehicle9]),
GetVehicleName(DB[playerid][Vehicle10]));
DLG(playerid,17,DIALOG_STYLE_LIST,"Pick a slot",String,"Pick","Cancel");
I don't know what those variables are meant to store.
If you store the model ID (such as 411 for infernus, 562 for elegy etc), then use the second parameter and set it to 1. If you store the vehicle ID (which is returned by CreateVehicle or AddStaticVehicle(ex)), then don't use the second parameter at all. |
if(IsPlayerInRangeOfPoint(playerid,3,1481.9901,-1796.1001,17.0359)){
format(String,sizeof(String),"Slot 1: %s\n\
Slot 2: %s\n\
Slot 3: %s\n\
Slot 4: %s\n\
Slot 5: %s\n\
Slot 6: %s\n\
Slot 7: %s\n\
Slot 8: %s\n\
Slot 9: %s\n\
Slot 10: %s",GetVehicleName(DB[playerid][Vehicle1],1),
GetVehicleName(DB[playerid][Vehicle2],1),
GetVehicleName(DB[playerid][Vehicle3],1),
GetVehicleName(DB[playerid][Vehicle4],1),
GetVehicleName(DB[playerid][Vehicle5],1),
GetVehicleName(DB[playerid][Vehicle6],1),
GetVehicleName(DB[playerid][Vehicle7],1),
GetVehicleName(DB[playerid][Vehicle8],1),
GetVehicleName(DB[playerid][Vehicle9],1),
GetVehicleName(DB[playerid][Vehicle10],1));
DLG(playerid,17,DIALOG_STYLE_LIST,"Pick a slot",String,"Pick","Cancel");