Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- spawnDrivableCar()
- {
- if(!isDefined(self.car["spawned"]))
- {
- setDvar("cg_thirdPersonRange", "300");
- self.car["carModel"] = "veh_t6_drone_rcxd";
- self.car["spawned"] = true;
- self.car["runCar"] = true;
- self.car["spawnPosition"] = self.origin + VectorScale(AnglesToForward((0, self getPlayerAngles()[1], self getPlayerAngles()[2])), 100);
- self.car["spawnAngles"] = (0, self getPlayerAngles()[1], self getPlayerAngles()[2]);
- self.car["carEntity"] = spawn("script_model", self.car["spawnPosition"]);
- self.car["carEntity"].angles = self.car["spawnAngles"];
- self.car["carEntity"] setModel(self.car["carModel"]);
- wait .2;
- thread Vehicle_Wait_Think();
- }
- else
- iPrintln("You Can Only Spawn One Car At A Time!");
- }
- Vehicle_Wait_Think()
- {
- self endon("disconnect");
- self endon("end_car");
- while(self.car["runCar"])
- {
- if(distance(self.origin, self.car["carEntity"].origin) < 120)
- {
- if(self useButtonPressed())
- {
- if(!self.car["inCar"])
- {
- iPrintln("Press [{+attack}] To Accelerate");
- iPrintln("Press [{+speed_throw}] To Reverse/Break");
- iPrintln("Press [{+reload}] To Exit Car");
- self.car["speed"] = 0;
- self.car["inCar"] = true;
- self disableWeapons();
- self detachAll();
- self setOrigin(((self.car["carEntity"].origin) + (AnglesToForward(self.car["carEntity"].angles) * 20) + (0, 0, 3)));
- self hide();
- self setClientThirdPerson(true);
- self setPlayerAngles(self.car["carEntity"].angles + (0, 0, 0));
- self PlayerLinkTo(self.car["carEntity"]);
- thread Vehicle_Physics_Think();
- thread Vehicle_Death_Think();
- wait 1;
- }
- else
- thread Vehicle_Exit_Think();
- }
- }
- wait .05;
- }
- }
- Vehicle_Physics_Think()
- {
- self endon("disconnect");
- self endon("end_car");
- self.car["speedBar"] = drawBar((1, 1, 1), 100, 7, "", "", 0, 170);
- carPhysics = undefined;
- carTrace = undefined;
- newCarAngles = undefined;
- while(self.car["runCar"])
- {
- carPhysics = ((self.car["carEntity"].origin) + ((AnglesToForward(self.car["carEntity"].angles) * (self.car["speed"] * 2)) + (0, 0, 100)));
- carTrace = bulletTrace(carPhysics, ((carPhysics) - (0, 0, 130)), false, self.car["carEntity"])["position"];
- if(self attackButtonPressed())
- {
- if(self.car["speed"] < 0)
- self.car["speed"] = 0;
- if(self.car["speed"] < 50)
- self.car["speed"] += 0.4;
- newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
- self.car["carEntity"] moveTo(carTrace, 0.2);
- self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
- }
- else
- {
- if(self.car["speed"] > 0)
- {
- newCarAngles = vectorToAngles(carTrace - self.car["carEntity"].origin);
- self.car["speed"] -= 0.7;
- self.car["carEntity"] moveTo(carTrace, 0.2);
- self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
- }
- }
- if(self adsButtonPressed())
- {
- if(self.car["speed"] > -20)
- {
- if(self.car["speed"] < 0)
- newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
- self.car["speed"] -= 0.5;
- self.car["carEntity"] moveTo(carTrace, 0.2);
- }
- else
- self.car["speed"] += 0.5;
- self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
- }
- else
- {
- if(self.car["speed"] < -1)
- {
- if(self.car["speed"] < 0)
- newCarAngles = vectorToAngles(self.car["carEntity"].origin - carTrace);
- self.car["speed"] += 0.8;
- self.car["carEntity"] moveTo(carTrace, 0.2);
- self.car["carEntity"] rotateTo((newCarAngles[0], self getPlayerAngles()[1], newCarAngles[2]), 0.2);
- }
- }
- self.car["speedBar"] updateBar(self.car["speed"]/50);
- wait 0.05;
- }
- }
- Vehicle_Death_Think()
- {
- self endon("disconnect");
- self endon("end_car");
- self waittill("death");
- if(self.car["inCar"])
- thread Vehicle_Exit_Think();
- else
- self.car["carEntity"] delete();
- wait 0.2;
- }
- Vehicle_Exit_Think()
- {
- self.car["speed"] = 0;
- self.car["inCar"] = false;
- self.car["runCar"] = false;
- self.car["spawned"] = undefined;
- self.car["speedBar"] destroyElem();
- self.car["carEntity"] delete();
- self unlink();
- self enableWeapons();
- self show();
- self setClientThirdPerson(false);
- wait 0.3;
- self notify("end_car");
- }
- traceBullet(distance)
- {
- if (!isDefined(distance))
- distance = 10000000;
- return bulletTrace(self getEye(), self getEye() + vectorScale(AnglesToForward(self getPlayerAngles()), distance), false, self)["position"];
- }
- drawBar(color, width, height, align, relative, x, y)
- {
- bar = createBar(color, width, height, self);
- bar setPoint(align, relative, x, y);
- bar.hideWhenInMenu = true;
- return bar;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement