Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*--------------------------------------------------------------------------------------------------------------------------
- AC-130 Source - XF CH3WY
- *Do not change anything unless you know what you're doing
- *Do not leech
- Credits:
- K3R3D0R - Giving me the idea to create an object on the waypoint's coords and attaching the plane to it and spin the object.
- Swizz - Some testing
- xStormsnoutx - Helped with weapon options & making the video
- Information:
- How this mod works is when toggled a helicopter with the plane object will be spawned. The pilot will always have a task,
- either he will travel to your waypoint or he would travel around the map with the coordinates I placed. How the plane
- circles is an object spawned on the waypoint's coordinates and the helicopter is simply attached to the object with certain
- angles and the object spins to give the illusion it's flying in a circle. When you are either circling the waypoint or on
- autopilot you will be able to access your guns. You can scroll through the weapons between a 25mm-50mm-105mm cannons. Enjoy!
- --------------------------------------------------------------------------------------------------------------------------*/
- ///Includes
- #include <natives.h>
- #include <common.h>
- #include <consts.h>
- #include <types.h>
- #include <strings.h>
- ///Defines
- #define BUTTON_SELECT 0xD
- #define BUTTON_START 0xC
- #define BUTTON_X 0xE
- #define BUTTON_Y 0xF
- #define BUTTON_A 0x10
- #define BUTTON_B 0x11
- #define DPAD_UP 0x8
- #define DPAD_DOWN 0x9
- #define DPAD_LEFT 0xA
- #define DPAD_RIGHT 0xB
- #define BUTTON_L 0x5
- #define BUTTON_R 0x7
- #define BUTTON_LB 0x4
- #define BUTTON_RB 0x6
- #define STICK_LEFT 0x12
- #define STICK_RIGHT 0x13
- ///Bools
- bool modon = false;
- bool controlling = false;
- bool coords = false;
- bool circle = false;
- bool turnoff = false;
- bool wander = false;
- bool showSelection = false;
- bool mm25 = true;
- bool mm50 = false;
- bool mm105 = false;
- ///Declarations
- Ped pilot, driver;
- Vehicle pveh;
- Vector3 position;
- Object plane, dum, projectilesmm105;
- Object projectilesmm25[30], projectilesmm50[5];
- ///Integers
- int maxDistance = 100;
- int task = 1, select = 1, pedID;
- int mm25number = 0, mm50number = 0;
- int projectileIDmm25, anotherNumber = 0;
- int projectileIDmm50, projectileIDmm105;
- uint projectile = 0x501811B6;
- ///Floats
- float a, x, y, z, cx, cy, cz;
- float px, py, pz, ox, oy, oz, objHeading;
- float zGround, distance, dist, heading;
- float objRotX, objRotZ, objX, objY, objZ;
- float ch1X = 1232, ch1Y = 1822; //top right corner of the map
- float ch2X = 2786, ch2Y = 424; //airport
- float ch3X = 987, ch3Y = -497; //carnival area
- float ch4X = -43, ch4Y = -796; //bottom middle of the map
- float ch5X = -1534, ch5Y = -480; //bottom left corner of the map
- float ch6X = -1088, ch6Y = 1687; //top left corner of the map
- ////////////////////////////////////////////////////////////////////////////Start Source////////////////////////////////////////////////////////////////////////////
- /*------------------------------------Control Panel------------------------------------*/
- void SET_UP_DRAW(float width, float height, uint r, uint g, uint b, uint a){
- #ifdef PC
- SET_TEXT_FONT(7);
- #else
- SET_TEXT_FONT(6);
- #endif
- SET_TEXT_BACKGROUND(0);
- SET_TEXT_DROPSHADOW(0, 0, 0, 0, 255);
- SET_TEXT_EDGE(1, 0, 0, 0, 255);
- SET_TEXT_COLOUR(r, g, b, a);
- SET_TEXT_SCALE(width, height);
- SET_TEXT_PROPORTIONAL(1);
- SET_TEXT_JUSTIFY(0);
- SET_TEXT_CENTRE(0);
- SET_TEXT_RIGHT_JUSTIFY(0);
- }
- void SET_UP_DRAW_1(float width, float height, uint r, uint g, uint b, uint a){
- #ifdef PC
- SET_TEXT_FONT(7);
- #else
- SET_TEXT_FONT(2);
- #endif
- SET_TEXT_BACKGROUND(0);
- SET_TEXT_DROPSHADOW(0, 0, 0, 0, 255);
- SET_TEXT_EDGE(1, 0, 0, 0, 255);
- SET_TEXT_COLOUR(r, g, b, a);
- SET_TEXT_SCALE(width, height);
- SET_TEXT_PROPORTIONAL(1);
- SET_TEXT_JUSTIFY(0);
- SET_TEXT_CENTRE(0);
- SET_TEXT_RIGHT_JUSTIFY(0);
- }
- void rect(void){
- DRAW_RECT(0.0, 0.0, 0.8900, 0.6400, 0, 0, 0, 150);
- }
- void control_show(void){
- SET_UP_DRAW(0.3100, 0.4550, 255, 0, 0, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.1150, 0.0340, "STRING", "CONTROLS");
- }
- void close_show(void){
- SET_UP_DRAW(0.3100, 0.4550, 255, 0, 0, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.2900, 0.0340, "STRING", "CLOSE - ~PAD_RB~ + ~PAD_B~");
- }
- void instructions(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 0, 160, 34, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.0600, 0.0590, "STRING", "Set a waypoint or fly in auto pilot");
- }
- void pilotPrint(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 76, 151, 176, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.0600, 0.0890, "STRING", "Pilot AC-130");
- }
- void pilotButton(void){
- SET_UP_DRAW_1(0.3150, 0.4550, 0, 0, 255, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.1900, 0.0890, "STRING", "~PAD_RB~ + ~PAD_X~");
- }
- void openWeaponPrint(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 161, 148, 51, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.0600, 0.1190, "STRING", "Open weapon options");
- }
- void openWeaponButton(void){
- SET_UP_DRAW_1(0.3150, 0.4550, 0, 0, 255, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.2850, 0.1190, "STRING", "~PAD_LB~ + ~PAD_X~");
- }
- void weaponScrollPrint(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 0, 255, 0, 201);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.0750, 0.1490, "STRING", "Scroll through weapons");
- }
- void weaponScrollButton(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 0, 0, 255, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.3150, 0.1490, "STRING", "~PAD_DPAD_LEFT~ + ~PAD_DPAD_RIGHT~");
- }
- void selectPrint(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 34, 201, 133, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.0750, 0.1790, "STRING", "Select weapon");
- }
- void selectButton(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 0, 0, 255, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.2300, 0.1790, "STRING", "~PAD_A~");
- }
- void zoomPrint(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 114, 41, 138, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.0750, 0.2090, "STRING", "Zoom In/Out");
- }
- void zoomButton(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 0, 0, 255, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.2100, 0.2090, "STRING", "~PAD_LSTICK_ALL~");
- }
- void aimPrint(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 234, 245, 0, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.0750, 0.2390, "STRING", "Aim Guns");
- }
- void aimButton(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 0, 0, 255, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.1800, 0.2390, "STRING", "~PAD_LT~");
- }
- void shootPrint(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 245, 20, 192, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.0750, 0.2690, "STRING", "Shoot Guns");
- }
- void shootButton(void){
- SET_UP_DRAW_1(0.3100, 0.4550, 0, 0, 255, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.2000, 0.2690, "STRING", "~PAD_X~");
- }
- void controlsLoop(void){
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_B)){
- if(controlling){
- controlling = false;
- }
- else{
- controlling = true;
- }
- }
- if(controlling){
- rect();
- control_show();
- close_show();
- instructions();
- pilotPrint();
- pilotButton();
- openWeaponPrint();
- openWeaponButton();
- weaponScrollPrint();
- weaponScrollButton();
- selectPrint();
- selectButton();
- zoomPrint();
- zoomButton();
- aimPrint();
- aimButton();
- shootPrint();
- shootButton();
- }
- }
- /*--------------------------------------Functions--------------------------------------*/
- void printShort(char* text){
- CLEAR_PRINTS();
- PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", text,200, true);
- }
- void print(char* text){
- CLEAR_PRINTS();
- PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", text,3000, true);
- }
- bool NETWORK_CONTROL(int ID){
- int tick = 0;
- REQUEST_CONTROL_OF_NETWORK_ID(ID);
- while(!HAS_CONTROL_OF_NETWORK_ID(ID) && tick <= 250){
- tick++;
- }
- if(HAS_CONTROL_OF_NETWORK_ID(ID)){
- return HAS_CONTROL_OF_NETWORK_ID(ID);
- }
- else{
- return !HAS_CONTROL_OF_NETWORK_ID(ID);
- }
- }
- void SPAWN_PLANE(void){
- Group groupName;
- float h;
- int pass;
- print("~b~Loading.");
- GET_CHAR_COORDINATES(GetPlayerPed(), &x, &y, &z);
- if(IS_CHAR_IN_ANY_CAR(GetPlayerPed())){
- GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pveh);
- GET_DRIVER_OF_CAR(pveh, &driver);
- if(!DOES_CHAR_EXIST(driver) || GetPlayerPed() == driver){
- WARP_CHAR_FROM_CAR_TO_COORD(GetPlayerPed(), x, y, z + 1);
- DELETE_CAR(&pveh);
- MARK_CAR_AS_NO_LONGER_NEEDED(&pveh);
- }
- }
- REQUEST_MODEL(MODEL_ANNIHILATOR);
- while(!HAS_MODEL_LOADED(MODEL_ANNIHILATOR)) WAIT(0);
- CREATE_CAR(MODEL_ANNIHILATOR, x, y, z + maxDistance, &pveh, true);
- MARK_MODEL_AS_NO_LONGER_NEEDED(MODEL_ANNIHILATOR);
- SET_CAR_ENGINE_ON(pveh, false, false);
- SET_CHAR_VISIBLE(GetPlayerPed(), false);
- SET_CAR_AS_MISSION_CAR(pveh);
- SET_HELI_BLADES_FULL_SPEED(pveh);
- SET_CAR_COLLISION(pveh, true);
- SET_CAR_HEADING(pveh, h);
- SET_CAR_VISIBLE(pveh, false);
- SET_CAR_CAN_BE_DAMAGED(pveh, false);
- SET_CAR_CAN_BE_VISIBLY_DAMAGED(pveh, false);
- SET_CAN_BURST_CAR_TYRES(pveh, false);
- for(pass = 0;pass <= 2;pass++){
- if(IS_CAR_PASSENGER_SEAT_FREE(pveh, pass)){
- WARP_CHAR_INTO_CAR_AS_PASSENGER(GetPlayerPed(), pveh, pass);
- LOCK_CAR_DOORS(pveh, VEHICLE_DOOR_LOCKED_BOTH_SIDES);
- }
- }
- print("~b~Loading..");
- REQUEST_MODEL(MODEL_CJ_PLANE_1);
- while(!HAS_MODEL_LOADED(MODEL_CJ_PLANE_1)) WAIT(0);
- CREATE_OBJECT(MODEL_CJ_PLANE_1, x, y, z + maxDistance, &plane, true);
- SET_OBJECT_VISIBLE(plane, true);
- MARK_MODEL_AS_NO_LONGER_NEEDED(MODEL_CJ_PLANE_1);
- ATTACH_OBJECT_TO_CAR(plane, pveh, 0, 2, 12, 8, 0, 0, -3.150);
- SET_OBJECT_LIGHTS(plane, true);
- SET_OBJECT_INVINCIBLE(plane, true);
- SET_OBJECT_COLLISION(plane, false);
- GET_PLAYER_GROUP(GetPlayerIndex(), &groupName);
- if(!DOES_GROUP_EXIST(groupName)){
- CREATE_GROUP(0, groupName, true);
- SET_GROUP_LEADER(groupName, GetPlayerPed());
- SET_GROUP_FORMATION(groupName, 2);
- SET_GROUP_FORMATION_SPACING(groupName, 5);
- }
- if(!DOES_CHAR_EXIST(pilot)){
- print("~b~Loading...");
- REQUEST_MODEL(MODEL_M_M_HELIPILOT_01);
- while(!HAS_MODEL_LOADED(MODEL_M_M_HELIPILOT_01)) WAIT(0);
- GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(GetPlayerPed(), 0, 2, 0, &x, &y, &z);
- CREATE_CHAR(26, MODEL_M_M_HELIPILOT_01, x,y,z, &pilot, true);
- WAIT(100);
- SET_CHAR_VISIBLE(pilot, false);
- SET_CHAR_RANDOM_COMPONENT_VARIATION(pilot);
- SET_GROUP_MEMBER(groupName, pilot);
- SET_CHAR_NEVER_LEAVES_GROUP(pilot, true);
- SET_CHAR_RELATIONSHIP_GROUP(pilot, 24);
- SET_CHAR_RELATIONSHIP(pilot, 5, 0);
- SET_CHAR_ACCURACY(pilot, 100);
- SET_CHAR_KEEP_TASK(pilot, true);
- GET_NETWORK_ID_FROM_PED(pilot, &pedID);
- SET_NETWORK_ID_CAN_MIGRATE(pilot, false);
- SET_SENSE_RANGE(pilot, 150.0);
- SET_PED_GENERATES_DEAD_BODY_EVENTS(pilot, true);
- SET_CHAR_SHOOT_RATE(pilot, 100);
- SET_CHAR_WILL_USE_COVER(pilot, false);
- SET_CHAR_WILL_DO_DRIVEBYS(pilot, true);
- SET_CHAR_SIGNAL_AFTER_KILL(pilot, true);
- SET_CHAR_WILL_USE_CARS_IN_COMBAT(pilot, true);
- SET_CHAR_WILL_FLY_THROUGH_WINDSCREEN(pilot, false);
- SET_CHAR_INVINCIBLE(pilot, true);
- SET_CHAR_PROOFS(pilot, true, true, true, true, true);
- SET_CHAR_PROVIDE_COVERING_FIRE(pilot, true);
- SET_CHAR_CANT_BE_DRAGGED_OUT(pilot, true);
- SET_CHAR_STAY_IN_CAR_WHEN_JACKED(pilot, true);
- SET_PED_DONT_DO_EVASIVE_DIVES(pilot, true);
- SET_PED_PATH_MAY_DROP_FROM_HEIGHT(pilot, true);
- SET_PED_PATH_MAY_USE_CLIMBOVERS(pilot, true);
- SET_PED_PATH_MAY_USE_LADDERS(pilot, true);
- WARP_CHAR_INTO_CAR(pilot, pveh);
- SET_CHAR_WILL_LEAVE_CAR_IN_COMBAT(pilot, false);
- SET_CHAR_CAN_BE_SHOT_IN_VEHICLE(pilot, false);
- SET_GROUP_CHAR_DUCKS_WHEN_AIMED_AT(pilot, false);
- SET_CHAR_BULLETPROOF_VEST(pilot, true);
- SET_PED_DIES_WHEN_INJURED(pilot, false);
- SET_CHAR_CAN_SMASH_GLASS(pilot, false);
- }
- }
- void RESET_EVERYTHING(void){
- SET_CHAR_VISIBLE(GetPlayerPed(), true);
- if(DOES_OBJECT_EXIST(plane)){
- DELETE_OBJECT(&plane);
- MARK_OBJECT_AS_NO_LONGER_NEEDED(&plane);
- }
- if(DOES_CHAR_EXIST(pilot)){
- GET_NETWORK_ID_FROM_PED(pilot, &pedID);
- if(!NETWORK_CONTROL(pedID)){
- print("~r~Error deleting pilot!");
- }
- FORCE_CHAR_TO_DROP_WEAPON(pilot);
- WAIT(10);
- DELETE_CHAR(&pilot);
- MARK_CHAR_AS_NO_LONGER_NEEDED(&pilot);
- }
- LOCK_CAR_DOORS(pveh, VEHICLE_DOOR_UNLOCKED);
- if(DOES_VEHICLE_EXIST(pveh)){
- int vehID;
- GET_NETWORK_ID_FROM_VEHICLE(pveh, &vehID);
- if(!NETWORK_CONTROL(vehID)){
- print("~r~Error deleting AC-130!");
- }
- WAIT(10);
- DETACH_CAR(pveh);
- DELETE_CAR(&pveh);
- MARK_CAR_AS_NO_LONGER_NEEDED(&pveh);
- }
- GET_CHAR_COORDINATES(GetPlayerPed(), &x, &y, &z);
- GET_GROUND_Z_FOR_3D_COORD(x, y, z, &zGround);
- SET_CHAR_COORDINATES(GetPlayerPed(), x, y, zGround);
- SET_GAME_CAM_HEADING(0.0);
- LOAD_ALL_OBJECTS_NOW();
- REQUEST_COLLISION_AT_POSN(x, y, zGround);
- if(DOES_OBJECT_EXIST(dum)){
- DELETE_OBJECT(&dum);
- MARK_OBJECT_AS_NO_LONGER_NEEDED(&dum);
- }
- mm25number = 0;
- mm50number = 0;
- modon = false;
- circle = false;
- coords = false;
- wander = false;
- turnoff = false;
- print("~r~AC-130 is now off!");
- }
- void DUMMY(Vehicle veh, float x, float y, float z){
- CREATE_OBJECT(0xFE520830, x, y, z, &dum, true);
- SET_OBJECT_VISIBLE(dum, false);
- MARK_MODEL_AS_NO_LONGER_NEEDED(0xFE520830);
- FREEZE_OBJECT_POSITION(dum, true);
- ATTACH_CAR_TO_OBJECT(veh, dum, 0, -maxDistance, 0, maxDistance, 0, 12.8, 0);
- }
- void AIM(float *RotX, float *RotZ, float *createX, float *createY, float *createZ){
- Camera game_cam;
- GET_GAME_CAM(&game_cam);
- if(IS_CAM_ACTIVE(game_cam)){
- float camRotX, camRotY, camRotZ, camPosX, camPosY, camPosZ, adjacent;
- GET_CAM_ROT(game_cam, &camRotX, &camRotY, &camRotZ);
- GET_CAM_POS(game_cam, &camPosX, &camPosY, &camPosZ);
- if (camRotX < 0.0)
- {
- *RotX = camRotX + 360.0;
- }
- else
- {
- *RotX = camRotX;
- }
- if (camRotZ < 0.0)
- {
- *RotZ = camRotZ + 360.0;
- }
- else
- {
- *RotZ = camRotZ;
- }
- adjacent = (6 * COS(camRotX));
- *createX = camPosX - (adjacent * SIN(camRotZ));
- *createY = camPosY + (adjacent * COS(camRotZ));
- *createZ = camPosZ + (6 * SIN(camRotX));
- }
- }
- void EXPLODE_SMALL(float X,float Y,float Z){
- ADD_EXPLOSION(X, Y, Z, EXPLOSION_GRENADE, 0.8f, 1, 0, 0.1f);
- }
- void EXPLODE_MEDIUM(float X,float Y,float Z){
- ADD_EXPLOSION(X, Y, Z, EXPLOSION_PETROL_PUMP, 0.8f, 1, 0, 0.1f);
- }
- void EXPLODE_BIG(float X,float Y,float Z){
- ADD_EXPLOSION(X, Y, Z, EXPLOSION_SHIP_DESTROY, 0.8f, 1, 0, 0.1f);
- }
- /*---------------------------------------Actions---------------------------------------*/
- void selectionLoop(void){
- if(select == 1){
- if(mm25){
- if(IS_BUTTON_PRESSED(0, BUTTON_L)){
- if(IS_BUTTON_PRESSED(0, BUTTON_X)){
- if(mm25number < 30){
- REQUEST_MODEL(projectile);
- while(!HAS_MODEL_LOADED(projectile)){
- WAIT(0);
- }
- AIM(&objRotX, &objRotZ, &objX, &objY, &objZ);
- CREATE_OBJECT(projectile, objX, objY, objZ, &projectilesmm25[mm25number], true);
- SET_OBJECT_VISIBLE(projectilesmm25[mm25number], true);
- MARK_MODEL_AS_NO_LONGER_NEEDED(projectile);
- if(DOES_OBJECT_EXIST(projectilesmm25[mm25number])){
- GET_NETWORK_ID_FROM_OBJECT(projectilesmm25[mm25number], &projectileIDmm25);
- SET_NETWORK_ID_CAN_MIGRATE(projectileIDmm25, false);
- FREEZE_OBJECT_POSITION(projectilesmm25[mm25number], false);
- SET_OBJECT_QUATERNION(projectilesmm25[mm25number], 0, 0, 0, 0);
- SET_OBJECT_INVINCIBLE(projectilesmm25[mm25number], true);
- SET_OBJECT_DYNAMIC(projectilesmm25[mm25number], true);
- SET_OBJECT_COLLISION(projectilesmm25[mm25number], true);
- SET_OBJECT_RECORDS_COLLISIONS(projectilesmm25[mm25number], true);
- SET_OBJECT_AS_STEALABLE(projectilesmm25[mm25number], false);
- GET_CHAR_HEADING(GetPlayerPed(), &heading);
- if(heading < 90){
- heading = (heading - 90) + 360;
- }
- else{
- heading = heading - 90;
- }
- SET_OBJECT_HEADING(projectilesmm25[mm25number], heading);
- SET_OBJECT_ROTATION(projectilesmm25[mm25number], objRotX, 0.0, objRotZ);
- PLAY_SOUND_FROM_OBJECT(-1, "general_explosions_debris_1", projectilesmm25[mm25number]);
- STOP_SOUND(-1);
- WAIT(0); //not a mistake
- APPLY_FORCE_TO_OBJECT(projectilesmm25[mm25number], true, 0, 1000, 0, 0, 0, 0, true, true, true, true);
- mm25number++;
- }
- }
- else{
- print("~r~Reloading...");
- }
- }
- }
- anotherNumber++;
- if(anotherNumber > 29){
- anotherNumber = 0;
- }
- if(DOES_OBJECT_EXIST(projectilesmm25[anotherNumber])){
- if(HAS_OBJECT_COLLIDED_WITH_ANYTHING(projectilesmm25[anotherNumber]) || IS_OBJECT_IN_WATER(projectilesmm25[anotherNumber]) || !IS_OBJECT_ON_SCREEN(projectilesmm25[anotherNumber])){
- FREEZE_OBJECT_POSITION(projectilesmm25[anotherNumber], true);
- GET_OBJECT_COORDINATES(projectilesmm25[anotherNumber], &ox, &oy, &oz);
- EXPLODE_SMALL(ox, oy, oz);
- DELETE_OBJECT(&projectilesmm25[anotherNumber]);
- MARK_OBJECT_AS_NO_LONGER_NEEDED(&projectilesmm25[anotherNumber]);
- mm25number--;
- anotherNumber--;
- if(anotherNumber < 0){
- anotherNumber = 0;
- }
- if(mm25number < 0){
- mm25number = 0;
- }
- }
- else{
- APPLY_FORCE_TO_OBJECT(projectilesmm25[anotherNumber], true, 0, 1000, 0, 0, 0, 0, true, true, true, true);
- }
- }
- }
- }
- if(select == 2){
- if(mm50){
- if(IS_BUTTON_PRESSED(0, BUTTON_L)){
- if(IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- if(mm50number < 5){
- REQUEST_MODEL(projectile);
- while(!HAS_MODEL_LOADED(projectile)){
- WAIT(0);
- }
- AIM(&objRotX, &objRotZ, &objX, &objY, &objZ);
- CREATE_OBJECT(projectile, objX, objY, objZ, &projectilesmm50[mm50number], true);
- SET_OBJECT_VISIBLE(projectilesmm50[mm50number], true);
- MARK_MODEL_AS_NO_LONGER_NEEDED(projectile);
- if(DOES_OBJECT_EXIST(projectilesmm50[mm50number])){
- GET_NETWORK_ID_FROM_OBJECT(projectilesmm50[mm50number], &projectileIDmm50);
- SET_NETWORK_ID_CAN_MIGRATE(projectileIDmm50, false);
- FREEZE_OBJECT_POSITION(projectilesmm50[mm50number], false);
- SET_OBJECT_QUATERNION(projectilesmm50[mm50number], 0, 0, 0, 0);
- SET_OBJECT_INVINCIBLE(projectilesmm50[mm50number], true);
- SET_OBJECT_DYNAMIC(projectilesmm50[mm50number], true);
- SET_OBJECT_COLLISION(projectilesmm50[mm50number], true);
- SET_OBJECT_RECORDS_COLLISIONS(projectilesmm50[mm50number], true);
- SET_OBJECT_AS_STEALABLE(projectilesmm50[mm50number], false);
- GET_CHAR_HEADING(GetPlayerPed(), &heading);
- if(heading < 90){
- heading = (heading - 90) + 360;
- }
- else{
- heading = heading - 90;
- }
- SET_OBJECT_HEADING(projectilesmm50[mm50number], heading);
- SET_OBJECT_ROTATION(projectilesmm50[mm50number], objRotX, 0.0, objRotZ);
- PLAY_SOUND_FROM_OBJECT(-1, "shotgun_fire", projectilesmm50[mm50number]);
- STOP_SOUND(-1);
- START_PTFX_ON_OBJ("weap_molotov_trail", projectilesmm50[mm50number], 0.00000000, -0.04000000, 0.00000000, 0.00000000, 0.00000000, 2.00000000, 1);
- WAIT(0); //not a mistake
- APPLY_FORCE_TO_OBJECT(projectilesmm50[mm50number], true, 0, 1000, 0, 0, 0, 0, true, true, true, true);
- mm50number++;
- }
- }
- else{
- print("~r~Reloading...");
- }
- }
- }
- anotherNumber++;
- if(anotherNumber > 4){
- anotherNumber = 0;
- }
- if(DOES_OBJECT_EXIST(projectilesmm50[anotherNumber])){
- if(HAS_OBJECT_COLLIDED_WITH_ANYTHING(projectilesmm50[anotherNumber]) || IS_OBJECT_IN_WATER(projectilesmm50[anotherNumber]) || !IS_OBJECT_ON_SCREEN(projectilesmm50[anotherNumber])){
- FREEZE_OBJECT_POSITION(projectilesmm50[anotherNumber], true);
- GET_OBJECT_COORDINATES(projectilesmm50[anotherNumber], &ox, &oy, &oz);
- EXPLODE_MEDIUM(ox, oy, oz);
- DELETE_OBJECT(&projectilesmm50[anotherNumber]);
- MARK_OBJECT_AS_NO_LONGER_NEEDED(&projectilesmm50[anotherNumber]);
- anotherNumber--;
- mm50number--;
- if(anotherNumber < 0){
- anotherNumber = 0;
- }
- if(mm50number < 0){
- mm50number = 0;
- }
- }
- else{
- APPLY_FORCE_TO_OBJECT(projectilesmm50[anotherNumber], true, 0, 1000, 0, 0, 0, 0, true, true, true, true);
- }
- }
- }
- }
- if(select == 3){
- if(mm105){
- if(IS_BUTTON_PRESSED(0, BUTTON_L)){
- if(IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- if(!DOES_OBJECT_EXIST(projectilesmm105)){
- REQUEST_MODEL(projectile);
- while(!HAS_MODEL_LOADED(projectile)){
- WAIT(0);
- }
- AIM(&objRotX, &objRotZ, &objX, &objY, &objZ);
- CREATE_OBJECT(projectile, objX, objY, objZ, &projectilesmm105, true);
- SET_OBJECT_VISIBLE(projectilesmm105, true);
- MARK_MODEL_AS_NO_LONGER_NEEDED(projectile);
- if(DOES_OBJECT_EXIST(projectilesmm105)){
- GET_NETWORK_ID_FROM_OBJECT(projectilesmm105, &projectileIDmm105);
- SET_NETWORK_ID_CAN_MIGRATE(projectileIDmm105, false);
- FREEZE_OBJECT_POSITION(projectilesmm105, false);
- SET_OBJECT_QUATERNION(projectilesmm105, 0, 0, 0, 0);
- SET_OBJECT_INVINCIBLE(projectilesmm105, true);
- SET_OBJECT_DYNAMIC(projectilesmm105, true);
- SET_OBJECT_COLLISION(projectilesmm105, true);
- SET_OBJECT_RECORDS_COLLISIONS(projectilesmm105, true);
- SET_OBJECT_AS_STEALABLE(projectilesmm105, false);
- GET_CHAR_HEADING(GetPlayerPed(), &heading);
- if(heading < 90){
- heading = (heading - 90) + 360;
- }
- else{
- heading = heading - 90;
- }
- SET_OBJECT_HEADING(projectilesmm105, heading);
- SET_OBJECT_ROTATION(projectilesmm105, objRotX, 0.0, objRotZ);
- PLAY_SOUND_FROM_OBJECT(-1, "ROCKET_LAUNCH", projectilesmm105);
- STOP_SOUND(-1);
- START_PTFX_ON_OBJ("weap_rocket_player", projectilesmm105, 0.00000000, -0.04000000, 0.00000000, 0.00000000, 0.00000000, 2.00000000, 1);
- WAIT(0); //not a mistake
- APPLY_FORCE_TO_OBJECT(projectilesmm105, true, 0, 1000, 0, 0, 0, 0, true, true, true, true);
- }
- }
- else{
- print("~r~Reloading...");
- }
- }
- }
- if(DOES_OBJECT_EXIST(projectilesmm105)){
- if(HAS_OBJECT_COLLIDED_WITH_ANYTHING(projectilesmm105) || IS_OBJECT_IN_WATER(projectilesmm105) || !IS_OBJECT_ON_SCREEN(projectilesmm105)){
- FREEZE_OBJECT_POSITION(projectilesmm105, true);
- GET_OBJECT_COORDINATES(projectilesmm105, &ox, &oy, &oz);
- EXPLODE_BIG(ox, oy, oz);
- DELETE_OBJECT(&projectilesmm105);
- MARK_OBJECT_AS_NO_LONGER_NEEDED(&projectilesmm105);
- }
- else{
- APPLY_FORCE_TO_OBJECT(projectilesmm105, true, 0, 1000, 0, 0, 0, 0, true, true, true, true);
- }
- }
- }
- }
- }
- void selections(void){
- if(modon){
- if(DOES_VEHICLE_EXIST(pveh) && DOES_CHAR_EXIST(pilot) && IS_CHAR_IN_ANY_HELI(pilot)){
- if(IS_BUTTON_PRESSED(0, BUTTON_LB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- if(showSelection){
- showSelection = false;
- }
- else{
- showSelection = true;
- }
- }
- if(showSelection){
- if(IS_BUTTON_JUST_PRESSED(0, BUTTON_B)){
- showSelection = false;
- }
- if(IS_BUTTON_JUST_PRESSED(0, DPAD_LEFT)){
- select--;
- }
- if(IS_BUTTON_JUST_PRESSED(0, DPAD_RIGHT)){
- select++;
- }
- if(select > 3){
- select = 1;
- }
- if(select < 1){
- select = 3;
- }
- if(select == 1){
- if(mm25){
- printShort("~b~25mm Cannons ~g~[Enabled]");
- }
- else{
- printShort("~b~25mm Cannons ~r~[Disabled]");
- }
- if(IS_BUTTON_JUST_PRESSED(0, BUTTON_A)){
- if(mm25){
- mm25 = false;
- }
- else{
- print("~g~25mm Cannons are now actiavted! Hold ~PAD_X~ to shoot!");
- showSelection = false;
- mm25 = true;
- mm50 = false;
- mm105 = false;
- }
- }
- }
- if(select == 2){
- if(mm50){
- printShort("~b~50mm Cannons ~g~[Enabled]");
- }
- else{
- printShort("~b~50mm Cannons ~r~[Disabled]");
- }
- if(IS_BUTTON_JUST_PRESSED(0, BUTTON_A)){
- if(mm50){
- mm50 = false;
- }
- else{
- print("~g~50mm Cannons are now actiavted! Press ~PAD_X~ to shoot!");
- showSelection = false;
- mm50 = true;
- mm25 = false;
- mm105 = false;
- }
- }
- }
- if(select == 3){
- if(mm105){
- printShort("~b~105mm Cannons ~g~[Enabled]");
- }
- else{
- printShort("~b~105mm Cannons ~r~[Disabled]");
- }
- if(IS_BUTTON_JUST_PRESSED(0, BUTTON_A)){
- if(mm105){
- mm105 = false;
- }
- else{
- print("~g~105mm Cannons are now actiavted! Press ~PAD_X~ to shoot!");
- showSelection = false;
- mm105 = true;
- mm25 = false;
- mm50 = false;
- }
- }
- }
- }
- }
- }
- }
- void drawShootingScreenCircle(void){
- //Shoot screen will glitch if they are set to if statements for the pilots task
- HIDE_HELP_TEXT_THIS_FRAME();
- SET_UP_DRAW_1(0.4000, 0.5100, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.3900, 0.0500, "STRING", "Circling Waypoint");
- if(mm25){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4280, 0.1000, "STRING", "25mm Cannons");
- DRAW_RECT(0.5125, 0.5000, 0.0300, 0.0100, 0, 0, 0, 50); //x cross
- DRAW_RECT(0.5000, 0.5213, 0.0050, 0.0500, 0, 0, 0, 50); //y cross
- }
- if(mm50){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4280, 0.1000, "STRING", "50mm Cannons");
- DRAW_RECT(0.5000, 0.5000, 0.0300, 0.0100, 0, 0, 0, 50); //x cross
- DRAW_RECT(0.5000, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //y cross
- }
- if(mm105){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4200, 0.1000, "STRING", "105mm Cannons");
- DRAW_RECT(0.5000, 0.5200, 0.0300, 0.0100, 0, 0, 0, 50); //bottom x line
- DRAW_RECT(0.5175, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //right y line
- DRAW_RECT(0.5000, 0.4800, 0.0300, 0.0100, 0, 0, 0, 50); //top x line
- DRAW_RECT(0.4825, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //left y line
- }
- }
- void drawShootingScreenTravel(void){
- HIDE_HELP_TEXT_THIS_FRAME();
- SET_UP_DRAW_1(0.4000, 0.5100, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.3700, 0.0500, "STRING", "Traveling to Waypoint");
- if(mm25){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4280, 0.1000, "STRING", "25mm Cannons");
- DRAW_RECT(0.5125, 0.5000, 0.0300, 0.0100, 0, 0, 0, 50); //x cross
- DRAW_RECT(0.5000, 0.5213, 0.0050, 0.0500, 0, 0, 0, 50); //y cross
- }
- if(mm50){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4280, 0.1000, "STRING", "50mm Cannons");
- DRAW_RECT(0.5000, 0.5000, 0.0300, 0.0100, 0, 0, 0, 50); //x cross
- DRAW_RECT(0.5000, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //y cross
- }
- if(mm105){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4200, 0.1000, "STRING", "105mm Cannons");
- DRAW_RECT(0.5000, 0.5200, 0.0300, 0.0100, 0, 0, 0, 50); //bottom x line
- DRAW_RECT(0.5175, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //right y line
- DRAW_RECT(0.5000, 0.4800, 0.0300, 0.0100, 0, 0, 0, 50); //top x line
- DRAW_RECT(0.4825, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //left y line
- }
- }
- void drawShootingScreenWander(void){
- HIDE_HELP_TEXT_THIS_FRAME();
- SET_UP_DRAW_1(0.4000, 0.5100, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4370, 0.0500, "STRING", "Auto Pilot");
- if(mm25){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4280, 0.1000, "STRING", "25mm Cannons");
- DRAW_RECT(0.5125, 0.5000, 0.0300, 0.0100, 0, 0, 0, 50); //x cross
- DRAW_RECT(0.5000, 0.5213, 0.0050, 0.0500, 0, 0, 0, 50); //y cross
- }
- if(mm50){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4280, 0.1000, "STRING", "50mm Cannons");
- DRAW_RECT(0.5000, 0.5000, 0.0300, 0.0100, 0, 0, 0, 50); //x cross
- DRAW_RECT(0.5000, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //y cross
- }
- if(mm105){
- SET_UP_DRAW_1(0.3100, 0.4550, 145, 151, 153, 255);
- DISPLAY_TEXT_WITH_LITERAL_STRING(0.4200, 0.1000, "STRING", "105mm Cannons");
- DRAW_RECT(0.5000, 0.5200, 0.0300, 0.0100, 0, 0, 0, 50); //bottom x line
- DRAW_RECT(0.5175, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //right y line
- DRAW_RECT(0.5000, 0.4800, 0.0300, 0.0100, 0, 0, 0, 50); //top x line
- DRAW_RECT(0.4825, 0.5000, 0.0050, 0.0500, 0, 0, 0, 50); //left y line
- }
- }
- void characterLoop(void){
- if(HAS_CHAR_GOT_WEAPON(GetPlayerPed(), WEAPON_DEAGLE)){
- SET_CURRENT_CHAR_WEAPON(GetPlayerPed(), WEAPON_DEAGLE, true);
- BLOCK_PED_WEAPON_SWITCHING(GetPlayerPed(), true);
- }
- else{
- GIVE_WEAPON_TO_CHAR(GetPlayerPed(), WEAPON_DEAGLE, 9999, false);
- }
- }
- void soundsLoop(void){
- if(modon){
- DISABLE_FRONTEND_RADIO();
- }
- else{
- ENABLE_FRONTEND_RADIO();
- }
- }
- void toggleLoop(void){
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- if(!modon){
- modon = true;
- SPAWN_PLANE();
- }
- }
- }
- void circleCoords(void){
- if(modon){
- if(DOES_VEHICLE_EXIST(pveh) && DOES_CHAR_EXIST(pilot) && IS_CHAR_IN_ANY_HELI(pilot) && IS_CHAR_IN_ANY_HELI(GetPlayerPed())){
- if(DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- while(circle){
- WAIT(0);
- for(a = 360; a >= 0;a = a - 0.3){
- WAIT(0); //not a mistake must be here otherwise you will lag like a motherfucker
- if(a == 0){
- a = 360;
- }
- drawShootingScreenCircle();
- selections();
- selectionLoop();
- controlsLoop();
- characterLoop();
- SET_OBJECT_HEADING(dum, a);
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- DETACH_CAR(pveh);
- if(DOES_OBJECT_EXIST(dum)){
- DELETE_OBJECT(&dum);
- MARK_OBJECT_AS_NO_LONGER_NEEDED(&dum);
- }
- FREEZE_CAR_POSITION(pveh, false);
- SET_VEHICLE_QUATERNION(pveh, 0, 0, 0, 0);
- circle = false;
- turnoff = true;
- break;
- }
- if(!DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- DETACH_CAR(pveh);
- if(DOES_OBJECT_EXIST(dum)){
- DELETE_OBJECT(&dum);
- MARK_OBJECT_AS_NO_LONGER_NEEDED(&dum);
- }
- FREEZE_CAR_POSITION(pveh, false);
- SET_VEHICLE_QUATERNION(pveh, 0, 0, 0, 0);
- circle = false;
- break;
- }
- }
- }
- if(turnoff){
- RESET_EVERYTHING();
- }
- }
- }
- }
- }
- void goToCoords(void){
- if(modon){
- if(DOES_VEHICLE_EXIST(pveh) && DOES_CHAR_EXIST(pilot) && IS_CHAR_IN_ANY_HELI(pilot)){
- if(DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- print("~g~Traveling to location!");
- WAIT(5);
- coords = true;
- while(coords){
- WAIT(0);
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- coords = false;
- turnoff = true;
- }
- if(!DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- coords = false;
- }
- drawShootingScreenTravel();
- selections();
- selectionLoop();
- controlsLoop();
- characterLoop();
- GET_BLIP_COORDS(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT), &position);
- GET_GROUND_Z_FOR_3D_COORD(position.x, position.y, position.z, &zGround);
- TASK_HELI_MISSION(pilot, pveh, 0, 0, position.x, position.y, zGround + maxDistance, 4, 30.0f, 5, -1, (ROUND(zGround + maxDistance) + 1), 40);
- GET_CAR_COORDINATES(pveh, &px, &py, &pz);
- GET_DISTANCE_BETWEEN_COORDS_2D(px, py, position.x, position.y, &distance);
- if(distance <= maxDistance){
- SET_CAR_FORWARD_SPEED(pveh, 0);
- DUMMY(pveh, position.x, position.y, zGround);
- coords = false;
- circle = true;
- break;
- }
- }
- }
- else{ //This is just to fly around the map if you don't want to set a waypoint
- print("~g~Auto pilot!");
- wander = true;
- while(wander){
- WAIT(0);
- if(task == 1){
- drawShootingScreenWander();
- selections();
- selectionLoop();
- controlsLoop();
- characterLoop();
- GET_CAR_COORDINATES(pveh, &px, &py, &pz);
- GET_GROUND_Z_FOR_3D_COORD(px, py, pz, &zGround);
- TASK_HELI_MISSION(pilot, pveh, 0, 0, ch1X, ch1Y, (zGround + maxDistance), 4, 10.0f, 5, -1, (ROUND(maxDistance) + 1), 40);
- if(IS_CHAR_IN_AREA_2D(pilot, ch1X + 20, ch1Y + 20, ch1X - 20, ch1Y - 20, false)){
- task++;
- }
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- task = 1;
- wander = false;
- turnoff = true;
- }
- if(DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- task = 1;
- wander = false;
- }
- }
- if(task == 2){
- drawShootingScreenWander();
- selections();
- selectionLoop();
- controlsLoop();
- characterLoop();
- GET_CAR_COORDINATES(pveh, &px, &py, &pz);
- GET_GROUND_Z_FOR_3D_COORD(px, py, pz, &zGround);
- TASK_HELI_MISSION(pilot, pveh, 0, 0, ch2X, ch2Y, (zGround + maxDistance), 4, 10.0f, 5, -1, (ROUND(maxDistance) + 1), 40);
- if(IS_CHAR_IN_AREA_2D(pilot, ch2X + 20, ch2Y + 20, ch2X - 20, ch2Y - 20, false)){
- task++;
- }
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- task = 1;
- wander = false;
- turnoff = true;
- }
- if(DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- task = 1;
- wander = false;
- }
- }
- if(task == 3){
- characterLoop();
- drawShootingScreenWander();
- selections();
- selectionLoop();
- controlsLoop();
- characterLoop();
- GET_CAR_COORDINATES(pveh, &px, &py, &pz);
- GET_GROUND_Z_FOR_3D_COORD(px, py, pz, &zGround);
- TASK_HELI_MISSION(pilot, pveh, 0, 0, ch3X, ch3Y, (zGround + maxDistance), 4, 10.0f, 5, -1, (ROUND(maxDistance) + 1), 40);
- if(IS_CHAR_IN_AREA_2D(pilot, ch3X + 20, ch3Y + 20, ch3X - 20, ch3Y - 20, false)){
- task++;
- }
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- task = 1;
- wander = false;
- turnoff = true;
- }
- if(DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- task = 1;
- wander = false;
- }
- }
- if(task == 4){
- drawShootingScreenWander();
- selections();
- selectionLoop();
- controlsLoop();
- characterLoop();
- GET_CAR_COORDINATES(pveh, &px, &py, &pz);
- GET_GROUND_Z_FOR_3D_COORD(px, py, pz, &zGround);
- TASK_HELI_MISSION(pilot, pveh, 0, 0, ch4X, ch4Y, (zGround + maxDistance), 4, 10.0f, 5, -1, (ROUND(maxDistance) + 1), 40);
- if(IS_CHAR_IN_AREA_2D(pilot, ch4X + 20, ch4Y + 20, ch4X - 20, ch4Y - 20, false)){
- task++;
- }
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- task = 1;
- wander = false;
- turnoff = true;
- }
- if(DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- task = 1;
- wander = false;
- }
- }
- if(task == 5){
- drawShootingScreenWander();
- selections();
- selectionLoop();
- controlsLoop();
- characterLoop();
- GET_CAR_COORDINATES(pveh, &px, &py, &pz);
- GET_GROUND_Z_FOR_3D_COORD(px, py, pz, &zGround);
- TASK_HELI_MISSION(pilot, pveh, 0, 0, ch5X, ch5Y, (zGround + maxDistance), 4, 10.0f, 5, -1, (ROUND(maxDistance) + 1), 40);
- if(IS_CHAR_IN_AREA_2D(pilot, ch5X + 20, ch5Y + 20, ch5X - 20, ch5Y - 20, false)){
- task++;
- }
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- task = 1;
- wander = false;
- turnoff = true;
- }
- if(DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- task = 1;
- wander = false;
- }
- }
- if(task == 6){
- drawShootingScreenWander();
- selections();
- selectionLoop();
- controlsLoop();
- characterLoop();
- GET_CAR_COORDINATES(pveh, &px, &py, &pz);
- GET_GROUND_Z_FOR_3D_COORD(px, py, pz, &zGround);
- TASK_HELI_MISSION(pilot, pveh, 0, 0, ch6X, ch6Y, (zGround + maxDistance), 4, 10.0f, 5, -1, (ROUND(maxDistance) + 1), 40);
- if(IS_CHAR_IN_AREA_2D(pilot, ch6X + 20, ch6Y + 20, ch6X - 20, ch6Y - 20, false)){
- task++;
- }
- if(IS_BUTTON_PRESSED(0, BUTTON_RB) && IS_BUTTON_JUST_PRESSED(0, BUTTON_X)){
- task = 1;
- wander = false;
- turnoff = true;
- }
- if(DOES_BLIP_EXIST(GET_FIRST_BLIP_INFO_ID(BLIP_WAYPOINT))){
- task = 1;
- wander = false;
- }
- }
- if(task > 6){
- task = 1;
- }
- }
- if(turnoff){
- RESET_EVERYTHING();
- }
- }
- }
- }
- }
- /*----------------------------------------Start----------------------------------------*/
- void main(void){
- THIS_SCRIPT_IS_SAFE_FOR_NETWORK_GAME();
- print("~g~AC-130 by XF CH3WY!");
- WAIT(2500);
- print("~b~Press ~PAD_RB~ + ~PAD_B~ for controls!");
- GIVE_WEAPON_TO_CHAR(GetPlayerPed(), WEAPON_DEAGLE, 9999, false);
- do{
- toggleLoop();
- controlsLoop();
- soundsLoop();
- goToCoords();
- circleCoords();
- WAIT(0);
- }while(true);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement