SA-MP Forums Archive
That function is acting weird. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: That function is acting weird. (/showthread.php?tid=461884)



That function is acting weird. - Magic_Time - 04.09.2013

Hi, I've taken a part from the sscanf script and made some changes to it:

PHP код:
stock GetVehicleModelByName(string[])
{
    new 
model;
     if (
strfind(string"Landstalker",true ) != -1model 400;
    if (
strfind(string"Bravura",true ) != -1model 401;
    if (
strfind(string"Buffalo",true ) != -1model 402;
    if (
strfind(string"Linerunner",true ) != -1model 403;
    if (
strfind(string"Perenniel",true ) != -1model 404;
    if (
strfind(string"Sentinel",true ) != -1model 405;
    if (
strfind(string"Dumper",true ) != -1model 406;
    if (
strfind(string"Firetruck",true ) != -1model 407;
    if (
strfind(string"Trashmaster",true ) != -1model 408;
    if (
strfind(string"Stretch",true ) != -1model 409;
    if (
strfind(string"Manana",true ) != -1model 410;
    if (
strfind(string"Infernus",true ) != -1model 411;
    if (
strfind(string"Voodoo",true ) != -1model 412;
    if (
strfind(string"Pony",true ) != -1model 413;
    if (
strfind(string"Mule",true ) != -1model 414;
    if (
strfind(string"Cheetah",true ) != -1model 415;
    if (
strfind(string"Ambulance",true ) != -1model 416;
    if (
strfind(string"Leviathan",true ) != -1model 417;
    if (
strfind(string"Moonbeam",true ) != -1model 418;
    if (
strfind(string"Esperanto",true ) != -1model 419;
    if (
strfind(string"Taxi",true ) != -1model 420;
    if (
strfind(string"Washington",true ) != -1model 421;
    if (
strfind(string"Bobcat",true ) != -1model 422;
    if (
strfind(string"Mr Whoopee",true ) != -1model 423;
    if (
strfind(string"BF Injection",true ) != -1model 424;
    if (
strfind(string"Hunter",true ) != -1model 425;
    if (
strfind(string"Premier",true ) != -1model 426;
    if (
strfind(string"Enforcer",true ) != -1model 427;
    if (
strfind(string"Securicar",true ) != -1model 428;
    if (
strfind(string"Banshee",true ) != -1model 429;
    if (
strfind(string"Predator",true ) != -1model 430;
    if (
strfind(string"Bus",true ) != -1model 431;
    if (
strfind(string"Rhino",true ) != -1model 432;
    if (
strfind(string"Barracks",true ) != -1model 433;
    if (
strfind(string"Hotknife",true ) != -1model 434;
    if (
strfind(string"Article Trailer",true ) != -1model 435;
    if (
strfind(string"Previon",true ) != -1model 436;
    if (
strfind(string"Coach",true ) != -1model 437;
    if (
strfind(string"Cabbie",true ) != -1model 438;
    if (
strfind(string"Stallion",true ) != -1model 439;
    if (
strfind(string"Rumpo",true ) != -1model 440;
    if (
strfind(string"RC Bandit",true ) != -1model 441;
    if (
strfind(string"Romero",true ) != -1model 442;
    if (
strfind(string"Packer",true ) != -1model 443;
    if (
strfind(string"Monster",true ) != -1model 444;
    if (
strfind(string"Admiral",true ) != -1model 445;
    if (
strfind(string"Squallo",true ) != -1model 446;
    if (
strfind(string"Seasparrow",true ) != -1model 447;
    if (
strfind(string"Pizzaboy",true ) != -1model 448;
    if (
strfind(string"Tram",true ) != -1model 449;
    if (
strfind(string"Article Trailer 2",true ) != -1model 450;
    if (
strfind(string"Turismo",true ) != -1model 451;
    if (
strfind(string"Speeder",true ) != -1model 452;
    if (
strfind(string"Reefer",true ) != -1model 453;
    if (
strfind(string"Tropic",true ) != -1model 454;
    if (
strfind(string"Flatbed",true ) != -1model 455;
    if (
strfind(string"Yankee",true ) != -1model 456;
    if (
strfind(string"Caddy",true ) != -1model 457;
    if (
strfind(string"Solair",true ) != -1model 458;
    if (
strfind(string"Berkley's RC Van",true ) != -1model 459;
    if (
strfind(string"Skimmer",true ) != -1model 460;
    if (
strfind(string"PCJ-600",true ) != -1model 461;
    if (
strfind(string"Faggio",true ) != -1model 462;
    if (
strfind(string"Freeway",true ) != -1model 463;
    if (
strfind(string"RC Baron",true ) != -1model 464;
    if (
strfind(string"RC Raider",true ) != -1model 465;
    if (
strfind(string"Glendale",true ) != -1model 466;
    if (
strfind(string"Oceanic",true ) != -1model 467;
    if (
strfind(string"Sanchez",true ) != -1model 468;
    if (
strfind(string"Sparrow",true ) != -1model 469;
    if (
strfind(string"Patriot",true ) != -1model 470;
    if (
strfind(string"Quad",true ) != -1model 471;
    if (
strfind(string"Coastguard",true ) != -1model 472;
    if (
strfind(string"Dinghy",true ) != -1model 473;
    if (
strfind(string"Hermes",true ) != -1model 474;
    if (
strfind(string"Sabre",true ) != -1model 475;
    if (
strfind(string"Rustler",true ) != -1model 476;
    if (
strfind(string"ZR-350",true ) != -1model 477;
    if (
strfind(string"Walton",true ) != -1model 478;
    if (
strfind(string"Regina",true ) != -1model 479;
    if (
strfind(string"Comet",true ) != -1model 480;
    if (
strfind(string"BMX",true ) != -1model 481;
    if (
strfind(string"Burrito",true ) != -1model 482;
    if (
strfind(string"Camper",true ) != -1model 483;
    if (
strfind(string"Marquis",true ) != -1model 484;
    if (
strfind(string"Baggage",true ) != -1model 485;
    if (
strfind(string"Dozer",true ) != -1model 486;
    if (
strfind(string"Maverick",true ) != -1model 487;
    if (
strfind(string"SAN News Maverick",true ) != -1model 488;
    if (
strfind(string"Rancher",true ) != -1model 489;
    if (
strfind(string"FBI Rancher",true ) != -1model 490;
    if (
strfind(string"Virgo",true ) != -1model 491;
    if (
strfind(string"Greenwood",true ) != -1model 492;
    if (
strfind(string"Jetmax",true ) != -1model 493;
    if (
strfind(string"Hotring Racer",true ) != -1model 494;
    if (
strfind(string"Sandking",true ) != -1model 495;
    if (
strfind(string"Blista Compact",true ) != -1model 496;
    if (
strfind(string"Police Maverick",true ) != -1model 497;
    if (
strfind(string"Boxville",true ) != -1model 498;
    if (
strfind(string"Benson",true ) != -1model 499;
    if (
strfind(string"Mesa",true ) != -1model 500;
    if (
strfind(string"RC Goblin",true ) != -1model 501;
    if (
strfind(string"Hotring Racer",true ) != -1model 502;
    if (
strfind(string"Hotring Racer",true ) != -1model 503;
    if (
strfind(string"Bloodring Banger",true ) != -1model 504;
    if (
strfind(string"Rancher",true ) != -1model 505;
    if (
strfind(string"Super GT",true ) != -1model 506;
    if (
strfind(string"Elegant",true ) != -1model 507;
    if (
strfind(string"Journey",true ) != -1model 508;
    if (
strfind(string"Bike",true ) != -1model 509;
    if (
strfind(string"Mountain Bike",true ) != -1model 510;
    if (
strfind(string"Beagle",true ) != -1model 511;
    if (
strfind(string"Cropduster",true ) != -1model 512;
    if (
strfind(string"Stuntplane",true ) != -1model 513;
    if (
strfind(string"Tanker",true ) != -1model 514;
    if (
strfind(string"Roadtrain",true ) != -1model 515;
    if (
strfind(string"Nebula",true ) != -1model 516;
    if (
strfind(string"Majestic",true ) != -1model 517;
    if (
strfind(string"Buccaneer",true ) != -1model 518;
    if (
strfind(string"Shamal",true ) != -1model 519;
    if (
strfind(string"Hydra",true ) != -1model 520;
    if (
strfind(string"FCR-900",true ) != -1model 521;
    if (
strfind(string"NRG-500",true ) != -1model 522;
    if (
strfind(string"HPV1000",true ) != -1model 523;
    if (
strfind(string"Cement Truck",true ) != -1model 524;
    if (
strfind(string"Towtruck",true ) != -1model 525;
    if (
strfind(string"Fortune",true ) != -1model 526;
    if (
strfind(string"Cadrona",true ) != -1model 527;
    if (
strfind(string"FBI Truck",true ) != -1model 528;
    if (
strfind(string"Willard",true ) != -1model 529;
    if (
strfind(string"Forklift",true ) != -1model 530;
    if (
strfind(string"Tractor",true ) != -1model 531;
    if (
strfind(string"Combine Harvester",true ) != -1model 532;
    if (
strfind(string"Feltzer",true ) != -1model 533;
    if (
strfind(string"Remington",true ) != -1model 534;
    if (
strfind(string"Slamvan",true ) != -1model 535;
    if (
strfind(string"Blade",true ) != -1model 536;
    if (
strfind(string"Freight (Train)",true ) != -1model 537;
    if (
strfind(string"Brownstreak (Train)",true ) != -1model 538;
    if (
strfind(string"Vortex",true ) != -1model 539;
    if (
strfind(string"Vincent",true ) != -1model 540;
    if (
strfind(string"Bullet",true ) != -1model 541;
    if (
strfind(string"Clover",true ) != -1model 542;
    if (
strfind(string"Sadler",true ) != -1model 543;
    if (
strfind(string"Firetruck LA",true ) != -1model 544;
    if (
strfind(string"Hustler",true ) != -1model 545;
    if (
strfind(string"Intruder",true ) != -1model 546;
    if (
strfind(string"Primo",true ) != -1model 547;
    if (
strfind(string"Cargobob",true ) != -1model 548;
    if (
strfind(string"Tampa",true ) != -1model 549;
    if (
strfind(string"Sunrise",true ) != -1model 550;
    if (
strfind(string"Merit",true ) != -1model 551;
    if (
strfind(string"Utility Van",true ) != -1model 552;
    if (
strfind(string"Nevada",true ) != -1model 553;
    if (
strfind(string"Yosemite",true ) != -1model 554;
    if (
strfind(string"Windsor",true ) != -1model 555;
    if (
strfind(string"Monster \"A\"",true ) != -1model 556;
    if (
strfind(string"Monster \"B\"",true ) != -1model 557;
    if (
strfind(string"Uranus",true ) != -1model 558;
    if (
strfind(string"Jester",true ) != -1model 559;
    if (
strfind(string"Sultan",true ) != -1model 560;
    if (
strfind(string"Stratum",true ) != -1model 561;
    if (
strfind(string"Elegy",true ) != -1model 562;
    if (
strfind(string"Raindance",true ) != -1model 563;
    if (
strfind(string"RC Tiger",true ) != -1model 564;
    if (
strfind(string"Flash",true ) != -1model 565;
    if (
strfind(string"Tahoma",true ) != -1model 566;
    if (
strfind(string"Savanna",true ) != -1model 567;
    if (
strfind(string"Bandito",true ) != -1model 568;
    if (
strfind(string"Freight Flat Trailer (Train)",true ) != -1model 569;
    if (
strfind(string"Streak Trailer (Train)",true ) != -1model 570;
    if (
strfind(string"Kart",true ) != -1model 571;
    if (
strfind(string"Mower",true ) != -1model 572;
    if (
strfind(string"Dune",true ) != -1model 573;
    if (
strfind(string"Sweeper",true ) != -1model 574;
    if (
strfind(string"Broadway",true ) != -1model 575;
    if (
strfind(string"Tornado",true ) != -1model 576;
    if (
strfind(string"AT400",true ) != -1model 577;
    if (
strfind(string"DFT-30",true ) != -1model 578;
    if (
strfind(string"Huntley",true ) != -1model 579;
    if (
strfind(string"Stafford",true ) != -1model 580;
    if (
strfind(string"BF-400",true ) != -1model 581;
    if (
strfind(string"Newsvan",true ) != -1model 582;
    if (
strfind(string"Tug",true ) != -1model 583;
    if (
strfind(string"Petrol Trailer",true ) != -1model 584;
    if (
strfind(string"Emperor",true ) != -1model 585;
    if (
strfind(string"Wayfarer",true ) != -1model 586;
    if (
strfind(string"Euros",true ) != -1model 587;
    if (
strfind(string"Hotdog",true ) != -1model 588;
    if (
strfind(string"Club",true ) != -1model 589;
    if (
strfind(string"Freight Box Trailer (Train)",true ) != -1model 590;
    if (
strfind(string"Article Trailer 3",true ) != -1model 591;
    if (
strfind(string"Andromada",true ) != -1model 592;
    if (
strfind(string"Dodo",true ) != -1model 593;
    if (
strfind(string"RC Cam",true ) != -1model 594;
    if (
strfind(string"Launch",true ) != -1model 595;
    if (
strfind(string"Police Car (LSPD)",true ) != -1model 596;
    if (
strfind(string"Police Car (SFPD)",true ) != -1model 597;
    if (
strfind(string"Police Car (LVPD)",true ) != -1model 598;
    if (
strfind(string"Police Ranger",true ) != -1model 599;
    if (
strfind(string"Picador",true ) != -1model 600;
    if (
strfind(string"S.W.A.T.",true ) != -1model 601;
    if (
strfind(string"Alpha",true ) != -1model 602;
    if (
strfind(string"Phoenix",true ) != -1model 603;
    if (
strfind(string"Glendale Shit",true ) != -1model 604;
    if (
strfind(string"Sadler Shit",true ) != -1model 605;
    if (
strfind(string"Baggage Trailer \"A\"",true ) != -1model 606;
    if (
strfind(string"Baggage Trailer \"B\"",true ) != -1model 607;
    if (
strfind(string"Tug Stairs Trailer",true ) != -1model 608;
    if (
strfind(string"Boxville",true ) != -1model 609;
    if (
strfind(string"Farm Trailer",true ) != -1model 610;
    if (
strfind(string"Utility Trailer",true ) != -1model 611;
    return 
model;

I've tried to do it with sscanf(******) but I have the same problem. I have this cmd:

PHP код:
CMD:car(playeridparams[])
{
    new 
vname[40], modelveh;
    if(
sscanf(params"s[40]"vname)) return USAGE(playerid"/car [vehicle name]");
    
model GetVehicleModelByName(vname);
    new 
Float:Pos[5];
    
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
    
GetPlayerFacingAngle(playeridPos[3]);
    
Vehicle[veh] = CreateVehicle(modelPos[0], Pos[1], Pos[2], Pos[3], 1230);
    return 
1;

If I do
Код:
/car nrg
It won't spawn any car.

I must do /car nrg-500 or /car NRG-500 to spawn the car.

Why is it happening?


Using sscanf:

I know it uses strcmp.
But it takes some time to spawn the car:
PHP код:
CMD:car(playeridparams[])
{
    new 
vname[40], modelveh;
    if(
sscanf(params"s[40]"vname)) return USAGE(playerid"/car [vehicle name]");
    
sscanf(vname"k<vehicle>"model);
    new 
Float:Pos[5];
    
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
    
GetPlayerFacingAngle(playeridPos[3]);
    
Vehicle[veh] = CreateVehicle(modelPos[0], Pos[1], Pos[2], Pos[3], 1230);
    return 
1;

- Sorry for my bad english skills.


Re: That function is acting weird. - cessil - 04.09.2013

you'll need to read the wiki more carefully
https://sampwiki.blast.hk/wiki/Strfind

(text to search in, searching for, ignore case, position to start from)


Re: That function is acting weird. - Magic_Time - 04.09.2013

Still don't get it:

PHP код:
if (strfind(string"Landstalker",true ) != -1model 400
Код:
string =  The string you want to search in 
"Landstalker" = The string you want to search for
true = When set to true, the case doesn't matter - HeLLo is the same as Hello. When false, they're not the same.
!= -1)  = //returns 4 (!= -1 because -1 would be 'not found')



Re: That function is acting weird. - cessil - 04.09.2013

say you search for "stalKer"
you're not going to find "Landstalker" in "stalKer" because "Landstalker" is not inside "stalKer" however "stalKer" is inside of "Landstalker" so strfind("Landstalker",string,true ) != -1