new VehNames[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"},{"Article Trailer"}, {"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"}, {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Article Trailer 2"},{"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"},{"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"}, {"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},{"Bandito"},{"Freight Flat"},{"Streak Carriage"}, {"Kart"},{"Mower"},{"Dunerider"},{"Sweeper"},{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"}, {"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Article Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Mobile Hotdog"}, {"Club"},{"Freight Carriage"},{"Trailer 3"},{"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"} }; stock GetVehicleName(vehicleid) { new GVNString[56]; format(GVNString, sizeof(GVNString), VehNames[GetVehicleModel(vehicleid)-400]); return GVNString; }
CMD:createveh(playerid, params[]) { new vehID; new string[128]; new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, Float:X, Float:Y, Float:Z); if(sscanf(params, "i", vehID)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Sintassi errata, utilizza: /createveh [vehID]."); else if(vehID < 400 || vehID > 611) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Parametro [vehID] errato."); else { pVehicle[playerid] = CreateVehicle(vehID, X, Y, Z + 3.0, 0, -1, -1, -1, 1); format(string,sizeof(string), "[SUCCESSO] Hai spawnato un(a) %s (%i).", GetVehicleName(vehID), vehID); SendClientMessage(playerid, COLOR_GREEN, string); PutPlayerInVehicle(playerid, pVehicle[playerid], 0); } return 1; }
stock static GetVehicleName(modelid) { static vehName[30]; strunpack(vehName, VehicleNames[modelid - 400]); return vehName; }
Use this function
Code:
stock static GetVehicleName(modelid) { static vehName[30]; strunpack(vehName, VehicleNames[modelid - 400]); return vehName; } |
CMD:destroyveh(playerid, params[]) { new vehID; new string[128]; if(sscanf(params, "i", vehID)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Sintassi errata, utilizza: /destroyveh [vehID]."); else if(IsValidVehicle(vehID)) { DestroyVehicle(vehID); format(string, sizeof(string), "[SUCCESSO] Hai despawnato un(a) %s (%i).", GetVehicleName(vehID), vehID); SendClientMessage(playerid, COLOR_GREEN, string); } else SendClientMessage(playerid, COLOR_RED, "[ERRORE] Parametro [vehID] errato."); return 1; }
Thanks for your reply, it works.
But, why it doesn't with this code: ~snip~ |
GetVehicleName(vehID) should be GetVehicleName(GetVehicleModel(vehID))
|
When I'm home I'll try it. I have one more question: what's the difference between the code I wrote in cmd:createveh (GetVehicleName(vehID) works perfectly) and cmd:deleteveh (where I need to put GetVehicleName(GetVehicleModel(vehID)))?
|
CMD:destroyveh(playerid, params[]) { new vehID; new string[128]; if(sscanf(params, "i", vehID)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Sintassi errata, utilizza: /destroyveh [vehID]."); else if(IsValidVehicle(vehID)) { DestroyVehicle(vehID); format(string, sizeof(string), "[SUCCESSO] Hai despawnato un(a) %s (%i).", GetVehicleName(GetVehicleModel(vehID)); SendClientMessage(playerid, COLOR_GREEN, string); } else SendClientMessage(playerid, COLOR_RED, "[ERRORE] Parametro [vehID] errato."); return 1; }
CMD:destroyveh(playerid, params[])
{
new vehID, string[128];
if(sscanf(params, "i", vehID)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Sintassi errata, utilizza: /destroyveh [vehID].");
if(IsValidVehicle(vehID))
{
format(string, sizeof(string), "[SUCCESSO] Hai despawnato un(a) %s (Model ID: %i | ID: %i).", VehNames[GetVehicleModel(vehID) - 400], GetVehicleModel(vehID), vehID);
SendClientMessage(playerid, COLOR_GREEN, string);
DestroyVehicle(vehID);
} else SendClientMessage(playerid, COLOR_RED, "[ERRORE] Parametro [vehID] errato.");
return 1;
}
//not need use stock for get vehicle name. Use this.
//and `DestroyVehicle()` must be after `format()` because vehicle destroyed and `GetVehicleModel()` has return invalid model id.
pawn Code:
|
CMD:createveh(playerid, params[]) { new vehID; new string[128]; new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, Float:X, Float:Y, Float:Z); if(sscanf(params, "i", vehID)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Sintassi errata, utilizza: /createveh [vehID]."); else if(vehID < 400 || vehID > 611) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Parametro [vehID] errato."); else { pVehicle[playerid] = CreateVehicle(vehID, X, Y, Z + 3.0, 0, -1, -1, -1, 1); PutPlayerInVehicle(playerid, pVehicle[playerid], 0); format(string, sizeof(string), "[SUCCESSO] Hai despawnato un(a) %s (Model ID: %i, ID: %i).", VehNames[GetVehicleModel(vehID) - 400], GetVehicleModel(vehID), vehID); SendClientMessage(playerid, COLOR_GREEN, string); } return 1; }
Use this function
Code:
stock static GetVehicleName(modelid) { static vehName[30]; strunpack(vehName, VehicleNames[modelid - 400]); return vehName; } |
I've deleted my stock and used your code on CMD:createveh too. The vehicle gets created but no message appears.
Code:
CMD:createveh(playerid, params[]) { new vehID; new string[128]; new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, Float:X, Float:Y, Float:Z); if(sscanf(params, "i", vehID)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Sintassi errata, utilizza: /createveh [vehID]."); else if(vehID < 400 || vehID > 611) return SendClientMessage(playerid, COLOR_RED, "[ERRORE] Parametro [vehID] errato."); else { pVehicle[playerid] = CreateVehicle(vehID, X, Y, Z + 3.0, 0, -1, -1, -1, 1); PutPlayerInVehicle(playerid, pVehicle[playerid], 0); format(string, sizeof(string), "[SUCCESSO] Hai despawnato un(a) %s (Model ID: %i, ID: %i).", VehNames[GetVehicleModel(vehID) - 400], GetVehicleModel(vehID), vehID); SendClientMessage(playerid, COLOR_GREEN, string); } return 1; } |