Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <natives.h>
- #include <common.h>
- #include <strings.h>
- #include <types.h>
- #include <consts.h>
- #include <vars.h>
- Object obj;
- Ped RocketPed;
- float x, y, z, speed, heading;
- void spawn_car(uint model){
- REQUEST_MODEL(model);
- while(!HAS_MODEL_LOADED(model)) WAIT(0);
- GET_CHAR_COORDINATES(GetPlayerPed(),&x,&y,&z);
- GET_CHAR_HEADING(GetPlayerPed(),&heading);
- if(IS_CHAR_IN_ANY_CAR(GetPlayerPed())){
- GET_CAR_CHAR_IS_USING(GetPlayerPed(),&pveh);
- GET_CAR_SPEED(pveh,&speed);
- GET_DRIVER_OF_CAR(pveh,&driver);
- WARP_CHAR_FROM_CAR_TO_COORD(GetPlayerPed(),x,y,z);
- if(!DOES_CHAR_EXIST(driver) || GetPlayerPed() == driver || !IS_NETWORK_SESSION()){
- DELETE_CAR(&pveh);
- MARK_CAR_AS_NO_LONGER_NEEDED(&pveh);
- }
- }
- else GET_CHAR_SPEED(GetPlayerPed(), &speed);
- CREATE_CAR(model,x,y,z,&pveh,true);
- MARK_MODEL_AS_NO_LONGER_NEEDED(model);
- CHANGE_CAR_COLOUR(pveh, 0, 0);
- SET_EXTRA_CAR_COLOURS(pveh, 0, 0);
- SET_VEHICLE_DIRT_LEVEL(pveh, 0);
- WASH_VEHICLE_TEXTURES(pveh, 255);
- SET_CAR_ENGINE_ON(pveh,true,true);
- WARP_CHAR_INTO_CAR(GetPlayerPed(),pveh);
- SET_CAR_PROOFS(pveh, true, true, true, true, true);
- SET_CAR_HEADING(pveh,heading);
- SET_CAR_FORWARD_SPEED(pveh,speed);
- return;
- }
- void attachobjtoveh(Vehicle veh, int model, float x, float y, float z, float y2, float p, float r, bool collision)
- {
- REQUEST_MODEL(model);
- while(!HAS_MODEL_LOADED(model)) WAIT(0);
- CREATE_OBJECT(model, 0, 0, 0, &obj, true);
- MARK_MODEL_AS_NO_LONGER_NEEDED(model);
- ATTACH_OBJECT_TO_CAR(obj, veh, 0, x, y, z, y2, p, r);
- FREEZE_OBJECT_POSITION(obj, true);
- SET_OBJECT_VISIBLE(obj, true);
- SET_OBJECT_INVINCIBLE(obj, true);
- SET_OBJECT_LIGHTS(obj, true);
- if(collision) SET_OBJECT_COLLISION(obj, true);
- WAIT(50);
- return;
- }
- void SpawnRocketPed(void)
- {
- int car;
- float px, py, pz;
- if(DOES_CHAR_EXIST(GetPlayerPed()))
- {
- GET_CHAR_COORDINATES(GetPlayerPed(), &px, &py, &pz);
- REQUEST_MODEL(0x1CFC648F);
- while(!HAS_MODEL_LOADED(0x1CFC648F)) WAIT(0);
- CREATE_CHAR(1, 0x1CFC648F, px, py, pz, &RocketPed, 1);
- py += 5;
- SET_CHAR_VISIBLE(RocketPed, true);
- SET_CHAR_INVINCIBLE(RocketPed, true);
- SET_CHAR_ACCURACY(RocketPed, 100);
- FREEZE_CHAR_POSITION(RocketPed, true);
- SET_PED_DONT_DO_EVASIVE_DIVES(RocketPed, true);
- SET_PED_DIES_WHEN_INJURED(RocketPed, false);
- SET_CHAR_WILL_USE_COVER(RocketPed, false);
- SET_CHAR_WILL_MOVE_WHEN_INJURED(RocketPed, false);
- SET_CHAR_COLLISION(RocketPed, false);
- REMOVE_ALL_CHAR_WEAPONS(RocketPed);
- WAIT(10);
- UpdateWeaponOfPed(RocketPed, WEAPON_RLAUNCHER);
- SET_CURRENT_CHAR_WEAPON(RocketPed, WEAPON_RLAUNCHER, true);
- WAIT(50);
- GET_CAR_CHAR_IS_USING(GetPlayerPed(), &car);
- ATTACH_PED_TO_CAR(RocketPed, car, false, -0.0900, -1.0908, 1.3813, 0, 0, true, true);
- SET_CHAR_ALL_ANIMS_SPEED(RocketPed, 1);
- SET_CHAR_SHOOT_RATE(RocketPed, 100);
- }
- }
- void SpawnRocketTruck(void)
- {
- spawn_car(MODEL_RANCHER);
- WAIT(10);
- GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pveh);
- if(DOES_VEHICLE_EXIST(pveh))
- {
- SET_CAR_VISIBLE(pveh, true);
- TURN_OFF_VEHICLE_EXTRA(pveh, 1, false);
- TURN_OFF_VEHICLE_EXTRA(pveh, 2, true);
- TURN_OFF_VEHICLE_EXTRA(pveh, 3, true);
- TURN_OFF_VEHICLE_EXTRA(pveh, 4, false);
- TURN_OFF_VEHICLE_EXTRA(pveh, 5, true);
- attachobjtoveh(pveh, 0xDB691DE0, 0, 2.8355, -0.5313, 0.8580, 0, 0, false);
- attachobjtoveh(pveh, 0xDB691DE0, -0.8153, 2.8460, -0.5400, 0.8920, 0, 0, false);
- attachobjtoveh(pveh, 0x33684EFE, -0.2853, 0.9150, 0.4125, 0.6657, 0, 0, false);
- attachobjtoveh(pveh, 0x33684EFE, 0.2903, 0.9237, 0.3902, 0.6170, 0, 0, false);
- attachobjtoveh(pveh, 0x98297FB3, -0.3565, -1.2488, 0.0592, 0, 0, 1.5692, false);
- attachobjtoveh(pveh, 0x98297FB3, 0.3383, -1.2448, 0.0512, 0, 0, -1.5610, false);
- attachobjtoveh(pveh, 0xAF122D49, -0.4393, 0.2718, 1.1045, -0.4540, 0, 3.1660, false);
- attachobjtoveh(pveh, 0xAF122D49, 0.4305, 0.2673, 1.1115, -0.4588, 0, 3.1428, false);
- attachobjtoveh(pveh, 0x975BD0EA, 0.5355, 0.2083, 0.1925, 1.4807, -0.1448, 1.6855, false);
- }
- }
- void Target_OnlinePlayers_Cars(void)
- {
- int netid, car;
- float mx, my, mz, x, y, z;
- GET_CHAR_COORDINATES(GetPlayerPed(), &mx, &my, &mz);
- if(DOES_VEHICLE_EXIST(GET_CLOSEST_CAR(mx, my, mz, 500, 0, 71)))
- {
- GET_NETWORK_ID_FROM_VEHICLE(GET_CLOSEST_CAR(mx, my, mz, 500, 0, 71), &netid);
- GET_VEHICLE_FROM_NETWORK_ID(netid, &car);
- GET_CAR_COORDINATES(car, &x, &y, &z);
- if(DOES_CHAR_EXIST(RocketPed))
- {
- TASK_TURN_CHAR_TO_FACE_COORD(RocketPed, x, y, z);
- FIRE_PED_WEAPON(RocketPed, x, y, z);
- REQUEST_ANIMS("gun@partials");
- while(!HAVE_ANIMS_LOADED("gun@partials")) WAIT(0);
- TASK_PLAY_ANIM_WITH_FLAGS(RocketPed, "rocket_b", "gun@partials", 99999.0, 99999, 1);
- }
- }
- }
- void Target_AI_Cars(void)
- {
- int netid, car;
- float mx, my, mz, x, y, z;
- GET_CHAR_COORDINATES(GetPlayerPed(), &mx, &my, &mz);
- if(DOES_VEHICLE_EXIST(GET_CLOSEST_CAR(mx, my, mz, 500, 0, 71)))
- {
- GET_NETWORK_ID_FROM_VEHICLE(GET_CLOSEST_CAR(mx, my, mz, 500, 0, 71), &netid);
- GET_VEHICLE_FROM_NETWORK_ID(netid, &car);
- GET_CAR_COORDINATES(car, &x, &y, &z);
- if(DOES_CHAR_EXIST(RocketPed))
- {
- TASK_TURN_CHAR_TO_FACE_COORD(RocketPed, x, y, z);
- FIRE_PED_WEAPON(RocketPed, x, y, z);
- REQUEST_ANIMS("gun@partials");
- while(!HAVE_ANIMS_LOADED("gun@partials")) WAIT(0);
- TASK_PLAY_ANIM_WITH_FLAGS(RocketPed, "rocket_b", "gun@partials", 99999.0, 99999, 1);
- }
- }
- }
- void activate_button(void)
- {
- if(IS_BUTTON_JUST_PRESSED(0, BUTTON_X))
- {
- Target_AI_Cars();
- Target_OnlinePlayers_Cars();
- }
- }
- void main(void)
- {
- THIS_SCRIPT_IS_SAFE_FOR_NETWORK_GAME();
- SpawnRocketTruck();
- WAIT(500);
- SpawnRocketPed();
- while(true)
- {
- WAIT(0);
- activate_button();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment