Vehicle Spawner spawns forbidden vehicles
#1

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;
}
Reply
#2

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
Reply
#3

Line: VehicleID = GetVehicleModel(Vehicle);

Error: error 035: argument type mismatch (argument 1)
Reply
#4

BUMP
Reply
#5

any ideas?
Reply
#6

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 ..
Reply
#7

Show me function GetVehicleModelIDFromName
Reply
#8

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

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;
}
Reply
#10

its working. Thanks. REP+.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)