SA-MP Forums Archive
Vehicle Spawner spawns forbidden vehicles - 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: Vehicle Spawner spawns forbidden vehicles (/showthread.php?tid=553597)



Vehicle Spawner spawns forbidden vehicles - Stoyanov - 30.12.2014

If i type /v rhino it says this "You are not allowed to spawn this vehicle!!". Good, but if i type ./v 432 it spawns rhino. I don't wanna spawn it. What should i do guys? Help.


On The TOP:
Код:
new spawncar[MAX_PLAYERS];
new  Float:upX, Float:upY, Float:upZ, Float:upAngle;
new VehicleNames[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"},{"Trailer 1"},{"Previon"},
	{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
	{"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"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"},{"Duneride"},{"Sweeper"},
	{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
	{"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"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"}};
Command:
Код:
CMD:v(playerid, params[])
{
new Vehicle[32], VehicleID, ColorOne, ColorTwo;
	if(sscanf(params, "s[32]D(1)D(1)", Vehicle, ColorOne, ColorTwo)) return SendClientMessage(playerid, WHITE, "[USAGE]: /v [Vehiclename/Vehicleid] [Color 1] [Color 2]");
	VehicleID = GetVehicleModelIDFromName(Vehicle);
	if(VehicleID != 425 && VehicleID != 432 && VehicleID != 447 &&
	VehicleID != 430 && VehicleID != 417 && VehicleID != 435 &&
	VehicleID != 449 && VehicleID != 450 && VehicleID != 497 &&
	VehicleID != 460 && VehicleID != 464 && VehicleID != 465 &&
	VehicleID != 469 && VehicleID != 472 && VehicleID != 476 &&
	VehicleID != 501 && VehicleID != 511 &&	VehicleID != 520 &&
	VehicleID != 537 && VehicleID != 538 && VehicleID != 548 &&
	VehicleID != 553 && VehicleID != 563 && VehicleID != 564 &&
	VehicleID != 569 && VehicleID != 570 && VehicleID != 607 &&
	VehicleID != 584 && VehicleID != 590 && VehicleID != 591 &&
	VehicleID != 592 && VehicleID != 594 && VehicleID != 606 &&
	VehicleID != 608 && VehicleID != 610 && VehicleID != 611)
	{
		if(VehicleID == -1 )
		{
			VehicleID = strval(Vehicle);

			if(VehicleID < 400 || VehicleID > 611 )
			{
				return SendClientMessage(playerid, RED, "You entered an invalid vehiclename!");
			}
		}
		GetPlayerPos(playerid, upX, upY, upZ);
		GetPlayerFacingAngle(playerid, upAngle);
		if(spawncar[playerid] !=0)
		{
			DestroyVehicle(spawncar[playerid]);
		}
		spawncar[playerid] = CreateVehicle(VehicleID, upX, upY, upZ+2.1, upAngle, ColorOne, ColorTwo, -1);
		LinkVehicleToInterior(spawncar[playerid], GetPlayerInterior(playerid));
		PutPlayerInVehicle(playerid, spawncar[playerid], 0);
	}
	else return SendClientMessage(playerid, RED, "You are not allowed to spawn this vehicle!!");
	return 1;
}



Re : Vehicle Spawner spawns forbidden vehicles - MCZOFT - 30.12.2014

Change this line it works fine for me , i recompile it evrything works after the edit


PHP код:
    VehicleID GetVehicleModelIDFromName(Vehicle); 
with this one


PHP код:
    VehicleID GetVehicleModel(Vehicle); 

good luck


Re: Vehicle Spawner spawns forbidden vehicles - Stoyanov - 30.12.2014

Line: VehicleID = GetVehicleModel(Vehicle);

Error: error 035: argument type mismatch (argument 1)


Re: Vehicle Spawner spawns forbidden vehicles - Stoyanov - 31.12.2014

BUMP


Re: Vehicle Spawner spawns forbidden vehicles - Stoyanov - 01.01.2015

any ideas?


Re : Vehicle Spawner spawns forbidden vehicles - MCZOFT - 01.01.2015

FIrst i forgot to tell you

change the && to || because it will never be logicly , selecting multiply Cars in a Command in same time .. nono ...

&& = selecting car id = ID and same time with other car id and like this ...
|| = selecting this car id or this car id , not in the same time ..

and weird thing , that i dont have that error ... it compiles for me fine ..


Re: Vehicle Spawner spawns forbidden vehicles - rickisme - 01.01.2015

Show me function GetVehicleModelIDFromName


Re: Vehicle Spawner spawns forbidden vehicles - Stoyanov - 01.01.2015

Код:
public GetVehicleModelIDFromName(vname[])
{
	for(new i = 0; i < 211; i++)
	{
		if ( strfind(VehicleNames[i], vname, true) != -1 )
		return i + 400;
	}
	return -1;
}



Re: Vehicle Spawner spawns forbidden vehicles - rickisme - 01.01.2015

Try this
pawn Код:
stock AllowVehicleModel(model)
{
    if(model < 400 || model > 611) return false;
    switch(model)
    {
        case 425, 432, 447, 430, 417, 435, 449, 450, 497, 460, 464, 465, 469, 472, 476, 501, 511, 520, 537, 538, 548, 553, 563, 564, 569, 570, 607, 584, 590, 591, 592, 594, 606, 608, 610, 611: return false;
    }
    return true;
}
CMD:v(playerid, params[])
{
    new Vehicle[32], VehicleID, ColorOne, ColorTwo;
    if(sscanf(params, "s[32]D(1)D(1)", Vehicle, ColorOne, ColorTwo)) return SendClientMessage(playerid, WHITE, "[USAGE]: /v [Vehiclename/Vehicleid] [Color 1] [Color 2]");
    VehicleID = GetVehicleModelIDFromName(Vehicle);

    if(VehicleID == -1) VehicleID = strval(Vehicle);
    if(!AllowVehicleModel(VehicleID))   return SendClientMessage(playerid, RED, "You are not allowed to spawn this vehicle!!");

    GetPlayerPos(playerid, upX, upY, upZ);
    GetPlayerFacingAngle(playerid, upAngle);
    if(spawncar[playerid] !=0)
    {
        DestroyVehicle(spawncar[playerid]);
    }
    spawncar[playerid] = CreateVehicle(VehicleID, upX, upY, upZ+2.1, upAngle, ColorOne, ColorTwo, -1);
    LinkVehicleToInterior(spawncar[playerid], GetPlayerInterior(playerid));
    PutPlayerInVehicle(playerid, spawncar[playerid], 0);

    return 1;
}



Re: Vehicle Spawner spawns forbidden vehicles - Stoyanov - 01.01.2015

its working. Thanks. REP+.