hi i found a script on resources.
visiblecock = 1 cockpit = 1 rollEnabler = 1 aircraftCompat = 0 ax = nil isBike = nil function cam() local theVehicle = getPedOccupiedVehicle(getLocalPlayer()) if theVehicle then if cockModel == getElementModel(theVehicle) then if rollEnabler then local ax, ay, az = getElementPosition(gnat) local bx, by, bz = getElementPosition(bee) local z = az-bz roll = -0.8*math.deg(math.asin(z)) end local x, y, z = getElementPosition(gnat) local cx, cy, cz = getElementPosition(fly) setCameraMatrix(x, y, z, cx, cy, cz, roll) cockVehicle = theVehicle cockModel = getElementModel(theVehicle) else camStop(theVehicle, 0) camStart(theVehicle, 0) end elseif charles then camStop(cockVehicle, 0) end end function camStart(theVehicle, seat) if (cockpit == 1) then if (seat == 0) then local x, y, z = getElementPosition(getLocalPlayer()) fly = createObject(3803, x, y, z) setElementAlpha(fly, 0) gnat = createObject(3803, x, y, z) setElementAlpha(gnat, 0) bee = createObject(3803, x, y, z) setElementAlpha(bee, 0) local vModel = getElementModel(theVehicle) if (vModel == 426 or vModel == 596 or vModel == 597 or vModel == 420) then -- Premier based cars ax, ay, az = -0.55, 1, 0.5 bx, by, bz = -0.55, -0.2, 0.55 elseif (vModel == 598) then -- LVPD ax, ay, az = -0.55, 1, 0.6 bx, by, bz = -0.55, -0.2, 0.65 elseif (vModel == 490) then -- FBI Rancher ax, ay, az = -0.55, 3, 0.7 bx, by, bz = -0.55, 0.2, 0.75 elseif (vModel == 427) then -- SWAT Truck ax, ay, az = -0.5, 3, 0.9 bx, by, bz = -0.5, 0.8, 0.95 elseif (vModel == 599 or vModel == 489 or vModel == 505) then -- Rancher based cars ax, ay, az = -0.55, 1, 0.7 bx, by, bz = -0.55, -0.4, 0.75 elseif (vModel == 602) then -- Alpha ax, ay, az = -0.55, 1, 0.3 bx, by, bz = -0.55, -0.4, 0.37 elseif (vModel == 496) then -- Blista Compact ax, ay, az = -0.48, 1, 0.4 bx, by, bz = -0.48, -0.5, 0.45 elseif (vModel == 401) then -- Bravura ax, ay, az = -0.55, 1, 0.4 bx, by, bz = -0.55, -0.3, 0.45 elseif (vModel == 518) then -- Buccaneer ax, ay, az = -0.6, 1, 0.35 bx, by, bz = -0.6, -0.2, 0.4 elseif (vModel == 527) then -- Cadrona ax, ay, az = -0.45, 1, 0.45 bx, by, bz = -0.45, -0.3, 0.5 elseif (vModel == 589) then -- Club ax, ay, az = -0.5, 1, 0.65 bx, by, bz = -0.5, -0.3, 0.7 elseif (vModel == 419) then -- Esperanto ax, ay, az = -0.5, 1, 0.3 bx, by, bz = -0.5, -0.4, 0.35 elseif (vModel == 533) then -- Feltzer ax, ay, az = -0.5, 1, 0.4 bx, by, bz = -0.5, -0.4, 0.45 elseif (vModel == 526) then -- Fortune ax, ay, az = -0.5, 1, 0.3 bx, by, bz = -0.5, -0.3, 0.35 elseif (vModel == 474) then -- Hermes ax, ay, az = -0.5, 1, 0.45 bx, by, bz = -0.5, -0.5, 0.48 elseif (vModel == 545) then -- Hustler ax, ay, az = -0.4, 1, 0.4 bx, by, bz = -0.4, -0.4, 0.45 elseif (vModel == 517) then -- Majestic ax, ay, az = -0.45, 1, 0.45 bx, by, bz = -0.45, -0.3, 0.5 elseif (vModel == 410) then -- Manana ax, ay, az = -0.45, 1, 0.45 bx, by, bz = -0.45, -0.3, 0.5 elseif (vModel == 600) then -- Picador ax, ay, az = -0.55, 1, 0.42 bx, by, bz = -0.55, -0.1, 0.47 elseif (vModel == 436) then -- Previon ax, ay, az = -0.45, 1, 0.47 bx, by, bz = -0.45, -0.35, 0.52 elseif (vModel == 580) then -- Stafford ax, ay, az = -0.55, 1, 0.65 bx, by, bz = -0.55, -0.2, 0.75 elseif (vModel == 439) then -- Stallion ax, ay, az = -0.5, 1, 0.35 bx, by, bz = -0.5, -0.7, 0.4 elseif (vModel == 549) then -- Tampa ax, ay, az = -0.45, 1, 0.4 bx, by, bz = -0.5, -0.2, 0.45 elseif (vModel == 491) then -- Virgo ax, ay, az = -0.45, 1, 0.3 bx, by, bz = -0.45, -0.5, 0.35 elseif (vModel == 445) then -- Admiral ax, ay, az = -0.5, 1, 0.5 bx, by, bz = -0.5, -0.3, 0.55 elseif (vModel == 507) then -- Elegant ax, ay, az = -0.55, 1, 0.45 bx, by, bz = -0.55, -0.3, 0.5 elseif (vModel == 585) then -- Emperor ax, ay, az = -0.5, 1, 0.6 bx, by, bz = -0.5, -0.3, 0.65 elseif (vModel == 587) then -- Euros ax, ay, az = -0.55, 1, 0.4 bx, by, bz = -0.55, -0.6, 0.45 elseif (vModel == 604 or vModel == 466) then -- Glendale ax, ay, az = -0.5, 1, 0.45 bx, by, bz = -0.5, -0.2, 0.5 elseif (vModel == 492) then -- Greenwood ax, ay, az = -0.5, 1, 0.5 bx, by, bz = -0.5, -0.3, 0.55 elseif (vModel == 546) then -- Intruder ax, ay, az = -0.6, 1, 0.45 bx, by, bz = -0.6, -0.5, 0.5 elseif (vModel == 551) then -- Merit ax, ay, az = -0.5, 1, 0.45 bx, by, bz = -0.5, -0.2, 0.5 elseif (vModel == 516) then -- Nebula ax, ay, az = -0.5, 1, 0.45 bx, by, bz = -0.5, -0.2, 0.5 elseif (vModel == 467) then -- Oceanic ax, ay, az = -0.5, 1, 0.45 bx, by, bz = -0.5, -0.2, 0.5 elseif (vModel == 547) then -- Primo ax, ay, az = -0.5, 1, 0.5 bx, by, bz = -0.5, -0.3, 0.55 elseif (vModel == 405) then -- Sentinel ax, ay, az = -0.4, 1, 0.35 bx, by, bz = -0.4, -0.3, 0.4 elseif (vModel == 409) then -- Stretch ax, ay, az = -0.5, 2, 0.4 bx, by, bz = -0.5, 0.7, 0.45 elseif (vModel == 550) then -- Sunrise ax, ay, az = -0.55, 1, 0.3 bx, by, bz = -0.55, -0.3, 0.4 elseif (vModel == 566) then -- Tahoma ax, ay, az = -0.55, 1, 0.35 bx, by, bz = -0.55, -0.25, 0.45 elseif (vModel == 540) then -- Vincent ax, ay, az = -0.55, 1, 0.35 bx, by, bz = -0.55, -0.45, 0.4 elseif (vModel == 421) then -- Washington ax, ay, az = -0.45, 1, 0.35 bx, by, bz = -0.45, -0.15, 0.4 elseif (vModel == 529) then -- Willard ax, ay, az = -0.55, 1, 0.5 bx, by, bz = -0.55, -0.4, 0.55 -- elseif (vModel == 592) then -- Andromeda has no cockpit -- ax, ay, az = 0, 20, 2 -- bx, by, bz = 0, 13, 4 elseif (vModel == 577) then -- AT 400 ax, ay, az = -0.5, 30, 4 bx, by, bz = -0.5, 24, 4.8 elseif (vModel == 511) then -- Beagle ax, ay, az = -0.4, 4, -0.5 bx, by, bz = -0.4, 1.7, 0 elseif (vModel == 548) then -- Cargobob ax, ay, az = -0.68, 9, -0.5 bx, by, bz = -0.68, 4.3, -0.1 elseif (vModel == 512) then -- Cropduster ax, ay, az = 0, 1, 0.5 bx, by, bz = 0, -0.35, 0.5 elseif (vModel == 593) then -- Dodo ax, ay, az = -0.32, 1, 0.65 bx, by, bz = -0.32, -0.2, 0.65 elseif (vModel == 425) then -- Hunter ax, ay, az = 0, 5, 0.7 bx, by, bz = 0, 2.3, 0.7 elseif (vModel == 520) then -- Hydra ax, ay, az = 0, 5, 0.6 bx, by, bz = 0, 2.7, 0.65 elseif (vModel == 417) then -- Leviathan ax, ay, az = -0.5, 9, 1.2 bx, by, bz = -0.5, 3, 1.2 elseif (vModel == 487 or vModel == 497) then -- Maverick based vehicles ax, ay, az = -0.5, 5, 0.5 bx, by, bz = -0.5, 1.3, 0.5 elseif (vModel == 553) then -- Nevada ax, ay, az = -0.4, 20, 0.2 bx, by, bz = -0.4, 9.3, 0.6 elseif (vModel == 488) then -- News chopper ax, ay, az = -0.5, 5, 0.5 bx, by, bz = -0.5, 0.5, 0.5 elseif (vModel == 563) then -- Raindance ax, ay, az = -0.5, 9, 0.3 bx, by, bz = -0.5, 2.3, 0.3 elseif (vModel == 476) then -- Rustler ax, ay, az = 0, 1, 0.4 bx, by, bz = 0, -0.6, 0.4 elseif (vModel == 469 or vModel == 447) then -- Sparrow based vehicles ax, ay, az = -0.4, 5, 0.5 bx, by, bz = -0.4, 0.7, 0.5 elseif (vModel == 519) then -- Shamal ax, ay, az = -0.4, 10, 0 bx, by, bz = -0.4, 5, 0.5 elseif (vModel == 460) then -- Skimmer ax, ay, az = -0.35, 1, 0.5 bx, by, bz = -0.35, 0, 0.7 elseif (vModel == 513) then -- Stunt Plane ax, ay, az = 0, 1, 0.2 bx, by, bz = 0, -1.3, 0.2 elseif (vModel == 581 or vModel == 521 or vModel == 461 or vModel == 522) then -- BF 400, PCJ 600, FCR 900, NRG 500 ax, ay, az = 0, 1, 0.75 bx, by, bz = 0, -0.05, 0.75 isBike = 1 elseif (vModel == 509) then -- Bike ax, ay, az = 0, 1, 0.7 bx, by, bz = 0, -0.3, 0.7 elseif (vModel == 481) then -- BMX ax, ay, az = 0, 1, 0.7 bx, by, bz = 0, -0.2, 0.7 elseif (vModel == 462 or vModel == 448) then -- Faggio based vehicles ax, ay, az = 0, 1, 0.8 bx, by, bz = 0, -0.2, 0.8 isBike = 1 elseif (vModel == 463) then -- Freeway ax, ay, az = 0, 1, 0.8 bx, by, bz = 0, -0.6, 0.8 elseif (vModel == 510) then -- Mountain Bike ax, ay, az = 0, 1, 0.7 bx, by, bz = 0, -0.1, 0.7 elseif (vModel == 468) then -- Sanchez ax, ay, az = 0, 1, 0.85 bx, by, bz = 0, -0.3, 0.85 isBike = 1 elseif (vModel == 586) then -- Wayfarer ax, ay, az = 0, 1, 0.9 bx, by, bz = 0, -0.5, 0.9 isBike = 1 elseif (vModel == 472) then -- Coastguard ax, ay, az = -0.2, 1, 1.4