New to Pawno language, and having several problems with looping through an array -
So I just started today making a little command system. Altho I'm from JAVA, I've understood a few things in pawno. Everything was going fine untill the loop didn't loop through all the elements in the VerhicleArray. It stops at the 4th element. Because the function "strcmp" things those 2 strings are the same. BUT THEY ARENT ;o.
The player command looks like this: "/vehicle 'Bullet'.
Код:
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"
};
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strfind(cmdtext, "/vehicle", true) != -1)
{
new output[10][10];
strexplode(output,cmdtext, "'");
for(new i = 0; i <= sizeof(VehicleNames); i++)
{
if(!strcmp(output[i], VehicleNames[i], true))
{
new Float:x, Float:y, Float:z, Float:az;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, az);
CreateVehicle(i + 400, x+5, y+5, z, az, -1, -1, 180);
SendClientMessage(playerid, -1, "Vehicle command executed!");
return 1;
}
}
}
return 0;
}
Re: New to Pawno language, and having several problems with looping through an array -
First: the language is called Pawn. Pawno is an editor. Secondly, I don't get what you're trying to do. Why are you using strexplode? By the way, I think sscanf comes with some sort of vehicle specifier in the form of:
Re: New to Pawno language, and having several problems with looping through an array -
My apologise for being so stupid. Ofcourse it's Pawn, but I've seen several websites using the word 'Pawno'. But it's an IDE. I'm using strexplode for splitting the string in several parts. So I can get the value between ''. Nothing wrong with that right? But anyways, it's nice that you have gave me an example of sscanf but my problem isn't solved yet. Why doesn't the loop continue after 4 elements?
Re: New to Pawno language, and having several problems with looping through an array -
because if string is empty strcmp return 'match', your output[i] is empty (null) and strcmp fail
Re: New to Pawno language, and having several problems with looping through an array -
The problem is that you're using strcmp, use Vince's sscanf solution or use strfind.
Re: New to Pawno language, and having several problems with looping through an array -
Note that in a loop, you shouldn't use "<=" with sizeof because indexes start from 0 or else it'll cause Run time error 4: "Array index out of bounds".
Re: New to Pawno language, and having several problems with looping through an array -
Oh my god.. I'm seeing it now.. output[i] should have been output[1] since I need the second part.. *FACEPALM*