/** * @ MD EXTEND+ * @ Version MDv13 TRIDENT(Essentials Based) * @ MADE BY - DEVILSDESIGN & IIV_NATHAN_VII & SHOCKixiXixiWAVE */ #pragma once void MD_VehOpt_NetPlayer_Setup(void){ MENU_SUB_HEADER = "Network Vehicle Options"; NETWORK_FIRST_FOUR_ITEMS_MENU_SETUP(); Add_JumpOver("~BLIP_94~ V E H I C L E N E T O P T I O N S ~BLIP_94~"); //5 AddSubMenu("~BLIP_73~ ~b~MD ~c~Full Spawner ~PAD_RIGHT~"); //6 AddSubMenu("~BLIP_73~ ~b~MD ~c~Garage ~y~(Addons & Colours) ~PAD_RIGHT~"); //7 AddSubMenu("~BLIP_73~ ~b~MD ~c~Upgrades ~PAD_RIGHT~"); //8 AddFunction_Value_CB("Quick Spawn",13); //9 - Favorite cars AddFunction_Value_CB("General",7); //10 //Fix & wash , flip, delete, try damage proof, Make visible, Make invisible, Clone! //AddFunction_Value("Spawn Settings", 8); (ADD THIS PLEASE!!! completely rigged in veh pPlayer)! AddFunction_Value_CB("Heading", 5); //11 //Speedboost, Reverse + Speedboost, Reverse, Turn Right, Turn Left AddFunction_Value_CB("Vehicle helpers",2); //12 //auto fix, auto flip, auto spawn boat for player in water? two bitsets, one for bool, one for bool has spawned :P, mark as no longer needed upon spawning so it doesnt fuck the game.. IMPORTANT AddFunction_Value_CB("Throw",6); //up down left right forwards backwards //13 //up down left right forwards backwards /**Devils suggestions**/ //AddFunction_Value_CB("Spawn Settings",10); //1. bool Multiple Spawns Lined up OOOORRR 2. bool Multiple Spawns Circular // 3. Emergency Lights / 4. Headlights / 5. Horn / 6. Alarm / 7.Invincible //AddFunction_Value_CB("Multi Spawner",14); //Sultan RS / Sentinel / Infernus / Comet / Mix Sports / Mix 2 door / Mix 4 door / Mix Police / Mix SUV / Mix Truck / Mix Boat / Mix Bike / Mix Heli / Annihilator //AddFunction_Value_CB("Vehicle control",14); //Lock Doors - Freeze position .. //AddFunction_CB("~BLIP_52~ Delete"); //4 //AddFunction_CB("~BLIP_52~ Make invincible"); //5 //AddBool_CB("~BLIP_68~ Lock doors",IS_CHARS_VEHICLE_LOCKED(PLAYER_CHAR(players[ChangeNetPlayer].id))); //6 //Nathan's custom functions :D //AddFunction_CB("~BLIP_52~ Flip"); //7 //AddFunction_CB("~BLIP_52~ Fix"); //8 //AddFunction_CB("~BLIP_52~ Set Invisible"); //9 /* AddFunction_CB("~BLIP_52~ Reverse Heading"); //10 AddBool_CB("~BLIP_68~ Freeze Position",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS)); //11 AddBool_CB("~BLIP_68~ Set translucent (Desolidify)",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_WIPEOUT_HELI));; //Wipeout_Heli); //12 AddFunction_Value_CB("~BLIP_52~ Throw",4); //13 //need: Up, Down, Left, Right, Forwards, Backwards AddFunction_CB("~BLIP_52~ Give Speed-Boost"); //14 AddFunction_CB("~BLIP_52~ Reverse & give Speed-Boost"); //15 AddFunction_CB("~BLIP_52~ Break"); //16 AddFunction_CB("~BLIP_52~ Delete attached objects"); //17 */ } void MD_VehOpt_NetPlayer_Action(void){ NETWORK_FIRST_FOUR_ITEMS_MENU_ACTION(); int net_veh; float speed,h; char * buffer[32]; if( SelectedItem == 10 || SelectedItem == 11 || SelectedItem == 13 || SelectedItem == 15 || SelectedItem == 16 || SelectedItem == 17 || SelectedItem == 18 || SelectedItem == 19 || SelectedItem == 20 || SelectedItem == 21 ){ if(IS_CHAR_IN_ANY_CAR(PLAYER_CHAR(players[ChangeNetPlayer].id))) { int net_veh_id; GET_CAR_CHAR_IS_USING(PLAYER_CHAR(players[ChangeNetPlayer].id), &net_veh); GET_NETWORK_ID_FROM_VEHICLE(net_veh,&net_veh_id); if(!network_control(net_veh_id)) //prints in function { if(SelectedItem == 10) { if(menu_item[SelectedItem].num_val != 7) { return; } } else return; } GET_CAR_HEADING(net_veh,&h); GET_CAR_SPEED(net_veh,&speed); Strcpy(buffer, "~b~MD: "); PLAYER_NAME_WITH_COLOUR(players[ChangeNetPlayer].id, &buffer); //WORKS! Strcat(buffer, "'s ~s~"); Strcat(buffer, VEHICLES_MODEL_NAME(net_veh)); } else { Alert(Error_NetPlayer_Vehicle,false); return; } } if(SelectedItem == 9){//DONE int Vehicle[14]; Vehicle[1] = MODEL_COMET; Vehicle[2] = MODEL_TURISMO; Vehicle[3] = MODEL_INFERNUS; Vehicle[4] = MODEL_SUPERGT; Vehicle[5] = MODEL_SULTANRS; Vehicle[6] = MODEL_ORACLE; Vehicle[7] = MODEL_PATRIOT; Vehicle[8] = MODEL_FBI; Vehicle[9] = MODEL_BUS; Vehicle[10] = MODEL_SQUALO; Vehicle[11] = MODEL_NRG900; Vehicle[12] = MODEL_MAVERICK; Vehicle[13] = MODEL_ANNIHILATOR; MD_VEHICLE_SPAWNER_ON_ID(players[ChangeNetPlayer].id,Vehicle[(menu_item[SelectedItem].num_val)]); } /**General**/ if(SelectedItem == 10) { if(menu_item[SelectedItem].num_val == 1) { FIX_CAR(net_veh); SET_CAR_ENGINE_ON(net_veh,true,true); SET_VEHICLE_DIRT_LEVEL(net_veh, 0); } else if(menu_item[SelectedItem].num_val == 2) { float h; GET_CAR_HEADING(net_veh,&h); SET_VEHICLE_QUATERNION(net_veh,0,0,0,0); SET_CAR_HEADING(net_veh,h); SET_CAR_ON_GROUND_PROPERLY(net_veh); } else if(menu_item[SelectedItem].num_val == 3) { MD_Delete_Objects_On_Vehicle(players[ChangeNetPlayer].id); //will only print if it deletes an object DELETE_CAR(&net_veh); } else if(menu_item[SelectedItem].num_val == 4) { SET_CAR_CAN_BE_DAMAGED(net_veh,false); SET_CAR_CAN_BE_VISIBLY_DAMAGED(net_veh,false); Alert("~b~MD: ~s~This generally only works on spawned vehicles, but we tried anyway.",false); } else if(menu_item[SelectedItem].num_val == 5) { SET_CAR_VISIBLE(net_veh,true); } else if(menu_item[SelectedItem].num_val == 6) { SET_CAR_VISIBLE(net_veh,false); } else if(menu_item[SelectedItem].num_val == 7) { float x,y,z,heaaad; int tmp; GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(pPlayer,1.5f,5.0f,0.0f,&x,&y,&z); GET_CHAR_HEADING(pPlayer,&heaaad); heaaad += 50; Clone_Car(net_veh,x,y,z,heaaad,&tmp); /*GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(pPlayer,1.5f,5.0f,0.0f,&x,&y,&z); GET_CHAR_HEADING(pPlayer,&h); h += 50.0f; //drivers seat facing you, open le door //maybe put like, -= 70.0f int car_clone; Clone_Car(Personal_Vehicle, x, y, z, h, &car_clone); //GetPlayerVeh() == works OPEN_CAR_DOOR(car_clone, 0);*/ //OPEN_CAR_DOOR(tmp,0); } } else if(SelectedItem == 11) { /*//Speedboost, Reverse + Speedboost, Reverse, Turn Right, Turn Left //11*/ if(menu_item[SelectedItem].num_val == 1) { SET_CAR_FORWARD_SPEED(net_veh, (speed*6)); // Strcat(buffer, " was given a speed boost."); } else if(menu_item[SelectedItem].num_val == 2) { SET_CAR_HEADING(net_veh, (h - 180)); SET_CAR_FORWARD_SPEED(net_veh, (speed*6)); //Strcat(buffer, " was given a speed boost in the opposite direction."); } else if(menu_item[SelectedItem].num_val == 3) { SET_CAR_HEADING(net_veh, (h - 180)); SET_CAR_FORWARD_SPEED(net_veh, speed); } else if(menu_item[SelectedItem].num_val == 4) { SET_CAR_HEADING(net_veh, (h - 270)); SET_CAR_FORWARD_SPEED(net_veh, speed); } else if(menu_item[SelectedItem].num_val == 5) { SET_CAR_HEADING(net_veh, (h - 90)); SET_CAR_FORWARD_SPEED(net_veh, speed); } } else if(SelectedItem == 12) { if(menu_item[SelectedItem].num_val == 1) { ToggleBit(autoFixVehBitSet, players[ChangeNetPlayer].id); } else if(menu_item[SelectedItem].num_val == 2) { ToggleBit(autoFlipVehBitSet, players[ChangeNetPlayer].id); } } else if(SelectedItem == 13) { //Strcat(buffer, " was thrown "); ////up down left right forwards backwards if(menu_item[SelectedItem].num_val == 1) //Upwards { APPLY_FORCE_TO_CAR(net_veh,3,0,0,1000,0,0,0,0, 1, 1, 1); // Strcat(buffer, "upwards."); } else if(menu_item[SelectedItem].num_val == 2) //Downwards { APPLY_FORCE_TO_CAR(net_veh,3,0,0,-1000,0,0,0,0, 1, 1, 1); // Strcat(buffer, "downwards."); } else if(menu_item[SelectedItem].num_val == 3) //Left { APPLY_FORCE_TO_CAR(net_veh,3,60,0,0,0,-60,0,0, 1, 1, 1); // Strcat(buffer, "left."); } else if(menu_item[SelectedItem].num_val == 4) //Right { APPLY_FORCE_TO_CAR(net_veh,3,60,0,0,0,60,0,0, 1, 1, 1); // Strcat(buffer, "right."); } else if(menu_item[SelectedItem].num_val == 5) //forwards { APPLY_FORCE_TO_CAR(net_veh,3,0,60,10.0,0,0,-10.0,0, 1, 1, 1); // Strcat(buffer, "forwards."); } else if(menu_item[SelectedItem].num_val == 6) //Backwards { APPLY_FORCE_TO_CAR(net_veh,3,0,-60,-10.0,0,0,-10.0,0, 1, 1, 1); // Strcat(buffer, "backwards."); } } // AddFunction_Value_CB("Throw",6); //up down left right forwards backwards //13 //up down left right forwards backwards /* if(DOES_CHAR_EXIST(ped)){ float h,speed; int net_veh,net_veh_id,net_veh_model; bool in_car = IS_CHAR_IN_ANY_CAR(ped); if(in_car) { GET_CAR_CHAR_IS_USING(ped,&net_veh); GET_CAR_MODEL(net_veh,&net_veh_model); GET_NETWORK_ID_FROM_VEHICLE(net_veh,&net_veh_id); GET_CAR_HEADING(net_veh,&h); GET_CAR_SPEED(net_veh,&speed); } char * buffer[32]; if(SelectedItem > 5) //set net control to only go on the items that need it. { if(!in_car) return; Strcpy(buffer, "~b~MD: "); PLAYER_NAME_WITH_COLOUR(id, &buffer); //WORKS! Strcat(buffer, "'s ~s~"); Strcat(buffer, GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(net_veh_model))); if(network_control(net_veh_id)) { if(id != iPlayer && SelectedItem < 13 && SelectedItem != 6 && SelectedItem != 8) SET_CAR_FORWARD_SPEED(net_veh,0.0f); //stop them going crazy! lol //I re-set speed to what it was if we're reversing heading or whatever, take a look below! } else { return; //function will display prints if it can't get control } } if(SelectedItem == 6) //Delete vehicle { delete_objects_on_vehicle(net_veh); //will only print if it deletes an object DELETE_CAR(&net_veh); Strcat(buffer, " was deleted."); } else if(SelectedItem == 7) //Vehicle helper { SET_CAR_CAN_BE_DAMAGED(net_veh,false); SET_CAR_CAN_BE_VISIBLY_DAMAGED(net_veh,false); SET_CAN_BURST_CAR_TYRES(net_veh,false); SET_CAR_PROOFS(net_veh,true,true,true,true,true); Strcat(buffer, " is now invincible."); } else if(SelectedItem == 8) //Lock vehicle { SET_VEHICLE_LOCKED_WITHOUT_NET_CONTROL_REQUEST(net_veh, !IS_CHARS_VEHICLE_LOCKED(ped)); //Net control is dealt with above bool locked = IS_CHARS_VEHICLE_LOCKED(ped); menu_item[SelectedItem].extra_val = locked; Strcat(buffer, (locked ? " is now locked." : " is now un-locked.")); } else if(SelectedItem == 9) //Flip vehicle { SET_VEHICLE_QUATERNION(net_veh,0,0,0,0); SET_CAR_HEADING(net_veh,h); SET_CAR_ON_GROUND_PROPERLY(net_veh); Strcat(buffer, " was flipped."); } else if(SelectedItem == 10) //Fix veh { FIX_CAR(net_veh); SET_CAR_ENGINE_ON(net_veh,true,true); /* //Uncomment this if FIX_CAR doesn't fix tyres! bool bike = IS_THIS_MODEL_A_BIKE(net_veh_model); if(IS_THIS_MODEL_A_CAR(net_veh_model) || bike) { int num_tyres = (bike ? 2 : 4); int z; for(z = 0; z < num_tyres; z++) { FIX_CAR_TYRE(net_veh,z); } } Strcat(buffer, " was fixed."); } else if(SelectedItem == 11) //Set invisible { ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_NET_INVISIBLE); SET_CAR_VISIBLE(net_veh,!GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_NET_INVISIBLE)); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_NET_INVISIBLE); Strcat(buffer, (GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_NET_INVISIBLE) ? " is now invisible." : " is now visible.")); } else if(SelectedItem == 12) //reverse heading { SET_CAR_HEADING(net_veh, (h - 180) ); SET_CAR_FORWARD_SPEED(net_veh, speed); Strcat(buffer, " is now going in the opposite direction."); // :D - Nathan } else if(SelectedItem == 13) //Freeze car pos { ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS); FREEZE_CAR_POSITION(net_veh,GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS)); Strcat(buffer, (GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS) ? " is now frozen." : " is now un-frozen.")); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS); } else if(SelectedItem == 14) //Set veh translucent { ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_WIPEOUT_HELI); SET_CAR_COLLISION(net_veh, !GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_WIPEOUT_HELI)); Strcat(buffer, (GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_WIPEOUT_HELI) ? " is now translucent." : " is now solid.")); } else if(SelectedItem == 15) //Throw vehicle forward //Could make a string item for these "Throw Vehicle < Forwards, Backwards, Upwards, Sideways >" { Strcat(buffer, " was thrown "); if(menu_item[SelectedItem].num_val == 1) //forwards { APPLY_FORCE_TO_CAR(net_veh,3,0,60,10.0,0,0,-10.0,0, 1, 1, 1); Strcat(buffer, "forwards."); } else if(menu_item[SelectedItem].num_val == 2) //Sideways { APPLY_FORCE_TO_CAR(net_veh,3,60,0,0,0,-60,0,0, 1, 1, 1); Strcat(buffer, "sideways."); } else if(menu_item[SelectedItem].num_val == 3) //Upwards { APPLY_FORCE_TO_CAR(net_veh,3,0,0,1000,0,0,0,0, 1, 1, 1); Strcat(buffer, "upwards."); } else if(menu_item[SelectedItem].num_val == 4) //Backwards { APPLY_FORCE_TO_CAR(net_veh,3,0,-60,-10.0,0,0,-10.0,0, 1, 1, 1); Strcat(buffer, "backwards."); } } else if(SelectedItem == 16) //Speed boost { SET_CAR_FORWARD_SPEED(net_veh, (speed*6)); Strcat(buffer, " was given a speed boost."); } else if(SelectedItem == 17) //Reverse + speed boost { SET_CAR_HEADING(net_veh, (h - 180)); SET_CAR_FORWARD_SPEED(net_veh, (speed*6)); Strcat(buffer, " was given a speed boost in the opposite direction."); } else if(SelectedItem == 18) //Break vehicle { int z; for(z = 0; z < 4; z++) { BREAK_CAR_DOOR(net_veh,z,true); BURST_CAR_TYRE(net_veh,z); REMOVE_CAR_WINDOW(net_veh,z); } START_CAR_FIRE(net_veh); SET_ENGINE_HEALTH(net_veh,-5); SET_CAR_ENGINE_ON(net_veh,false,false); Strcat(buffer, " is now broke as fuck."); // heh - Nath :D } else if(SelectedItem == 19) { Strcat(buffer, " had objects attached to it deleted."); } if(SelectedItem > 3) { Alert(buffer, false); } } //161 */ } void MC_Vehicle_Setup(void){ MD_Colour_Display_1 = false; MD_Colour_Display_2 = false; MENU_SUB_HEADER = "Vehicle Garage"; AddSubMenu("~BLIP_73~ ~b~MD ~c~Full Spawner ~PAD_RIGHT~"); //1 AddSubMenu("~BLIP_73~ ~b~MD ~c~Spawn Settings ~PAD_RIGHT~"); //2 AddSubMenu("~BLIP_73~ ~b~MD ~c~Active Options ~PAD_RIGHT~"); //3 AddSubMenu("~BLIP_73~ ~b~MD ~c~Colours/Neons/Add-Ons ~PAD_RIGHT~"); //4 AddSubMenu("~BLIP_73~ ~b~MD ~c~Upgrades ~PAD_RIGHT~"); //5 AddFunction("~BLIP_52~ Fix"); //6 AddFunction("~BLIP_52~ Flip "); //7 AddBool("~BLIP_68~ Lock", IS_CHARS_VEHICLE_LOCKED(pPlayer)); //8 AddFunction("~BLIP_49~ Delete"); //9 AddFunction("~BLIP_52~ Duplicate"); //10 //nathan needs to fix fuck AddFunction("~BLIP_52~ Eject From"); //11 AddFunction("~BLIP_52~ Shuffle Seats ( Switch Seats )"); //12 AddFunction("~BLIP_52~ Slingshot"); //13 AddFunction("~BLIP_52~ Rotate Vehicle 180 Degrees"); //14 AddBool("~BLIP_68~ Rotate Vehicle 360 Degrees",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_ROTATE)); //15 } void MC_Vehicle_Action(void){ if(IS_CHAR_IN_ANY_CAR(pPlayer)){ bool driving = is_driving(pPlayer); GET_CAR_CHAR_IS_USING(pPlayer, &NetPlayer_Vehicle); if(SelectedItem == 6){ FIX_CAR(NetPlayer_Vehicle); SET_CAR_ENGINE_ON(NetPlayer_Vehicle,true,true); SET_VEHICLE_DIRT_LEVEL(NetPlayer_Vehicle, 0); } else if(SelectedItem == 7){ if(!IS_CHAR_IN_ANY_HELI(pPlayer)){ float h; GET_CAR_HEADING(NetPlayer_Vehicle,&h); SET_VEHICLE_QUATERNION(NetPlayer_Vehicle,0,0,0,0); SET_CAR_HEADING(NetPlayer_Vehicle,h); SET_CAR_ON_GROUND_PROPERLY(NetPlayer_Vehicle); } else Alert("~b~MD: ~s~Why would you want to flip a heli?",false); } else if(SelectedItem == 8 && driving) { SET_VEHICLE_LOCKED_WITHOUT_NET_CONTROL_REQUEST(NetPlayer_Vehicle, !IS_CHARS_VEHICLE_LOCKED(pPlayer)); menu_item[SelectedItem].extra_val = IS_CHARS_VEHICLE_LOCKED(pPlayer); } else if(SelectedItem == 9){ if(driving){ MD_Delete_Objects_On_Vehicle(iPlayer); //Nathan waz here DELETE_CAR(&NetPlayer_Vehicle); } } else if(SelectedItem == 10){ //Broke as fuck currently int model,tmp; float x,y,z,h; GET_CAR_MODEL(NetPlayer_Vehicle, &model); GET_CAR_HEADING(NetPlayer_Vehicle, &h); if(!IS_THIS_MODEL_A_HELI(model)) GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(pPlayer, 4, 0, 0, &x, &y, &z); //lazy for now else GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(pPlayer, 17, 0, 0, &x, &y, &z); Clone_Car(NetPlayer_Vehicle,x,y,z,h,&tmp); SET_CAR_CAN_BE_DAMAGED(tmp,!GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE)); SET_CAR_CAN_BE_VISIBLY_DAMAGED(tmp,!GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE)); SET_CAN_BURST_CAR_TYRES(tmp,!GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE)); //Should just point cam at cloned car (tmp) /* char * buffer[16]; Strcpy(buffer, "~b~MD: ~s~Your "); //15 int tmp_model; GET_CAR_MODEL(NetPlayer_Vehicle,&tmp_model); Strcat(buffer, GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(tmp_model))); Strcat(buffer, " was duplicated."); //should temporarily point cam at car tmp car maybe. Alert("~BLIP_76~ ~c~Vehicle Duplicated!",false); return; */ } else if(SelectedItem == 11){ //TEST REMOVE_CHAR_FROM_CAR_MAINTAIN_POSITION(Ped ped, Car car); ! //float x,y,z; //GET_CHAR_COORDINATES(pPlayer,&x,&y,&z); //WARP_CHAR_FROM_CAR_TO_COORD(pPlayer, x, y, z+1); REMOVE_CHAR_FROM_CAR_MAINTAIN_POSITION(pPlayer,NetPlayer_Vehicle); } else if(SelectedItem == 12){ Shuffle_Vehicle_Seat(); } if(SelectedItem == 13){ if(Menu_Ptfx){ START_PTFX_ON_VEH("qub_lg_explode_red", NetPlayer_Vehicle, 0, 0, 0, 0, 0, 0, 1); } APPLY_FORCE_TO_CAR(NetPlayer_Vehicle,true,0.0,0.0,1000.0,0.0,0.0,0.0,true,true,true,true); Alert("~b~MD: ~s~You want to get high? ~COL_NET_3~YES.",false); } if(SelectedItem == 14){ float h,speed; GET_CAR_HEADING(NetPlayer_Vehicle,&h); GET_CAR_SPEED(NetPlayer_Vehicle,&speed); SET_CAR_HEADING(NetPlayer_Vehicle,h-180); SET_CAR_FORWARD_SPEED(NetPlayer_Vehicle,speed); } if(SelectedItem == 15){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_ROTATE); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_ROTATE); } } else Alert(Error_NetPlayer_Vehicle,false); } void MC_Vehicle_SpawnSettings_Setup(void){ MENU_SUB_HEADER = "Vehicle Spawn Settings"; AddBool("~BLIP_68~ All upgrades",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_ALL_UPGRADES)); //1 //nathan was here AddBool("~BLIP_68~ Invincible",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE)); //2 AddBool("~BLIP_68~ Sirens",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_SIREN)); //3 } void MC_Vehicle_SpawnSettings_Action(void){ if(SelectedItem == 1){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_ALL_UPGRADES); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_ALL_UPGRADES); } else if(SelectedItem == 2){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE); } else if(SelectedItem == 3){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_SIREN); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_SIREN); } } void MC_Vehicle_Active_Options_Setup(void){ MENU_SUB_HEADER = "Active Vehicle Options"; AddBool("~BLIP_68~ Invincible",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE)); //Vehicle_Invincible); //1 AddBool("~BLIP_68~ Invisibility",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVISIBLE)); //Veh_Self_Invisible); //2 AddBool("~BLIP_68~ Super Speed",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_SUPER_SPEED)); //Veh_Super_Speed); //3 AddBool("~BLIP_68~ Drift Mode",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_DRIFT)); //drift); //4 AddBool("~BLIP_68~ Lower Vehicle",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_LOWER)); //lower); //5 AddBool("~BLIP_68~ Car/Bike/Truck Jump ~PAD_A~ or ~PAD_X~",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_JUMP)); //Veh_Jump); //6 AddBool("~BLIP_68~ Super Bike",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_SUPER_BIKE)); //Veh_Super_Bike); //7 AddBool("~BLIP_68~ Stick Car/Bike/Truck to Ground",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_STICK_GROUND)); //Veh_On_Ground); //8 AddBool("~BLIP_68~ DeSolidify Vehicle ( Drive/Fly )",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_DESOLIDIFY)); //thruwalls); //9 AddBool("~BLIP_68~ Freeze Vehicle Position",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS)); //freezecar); //10 AddBool("~BLIP_68~ Vehicle Lock",IS_CHARS_VEHICLE_LOCKED(pPlayer)); //11 //AddBool("~BLIP_68~ Auto-Lock Vehicle",Veh_Autolock); //nathan enhance this with unlock for friends + string item AddFunction_Value("~BLIP_68~ Auto-Lock",3); //12 AddBool("~BLIP_68~ Auto Spawn Boat In Water",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_AUTO_BOAT)); //Veh_Auto_Boat); //13 AddBool("~BLIP_68~ Drive/Walk On Water",IS_DRIVE_WALK_WATER_ENABLED_FOR_PLAYER(iPlayer)); //14 //menu_item[12].num_val = Veh_Autolock; //Add_StringValue(12); //to update } void MC_Vehicle_Active_Options_Action(void){ if(SelectedItem == 1){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVINCIBLE);; } else if(SelectedItem == 2){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVISIBLE); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVISIBLE); if(!GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_INVISIBLE)){ Alert("~b~MD: ~s~Your current vehicle shall no longer be invisible.",false); if(IS_CHAR_IN_ANY_CAR(pPlayer)){ GET_CAR_CHAR_IS_USING(pPlayer, &NetPlayer_Vehicle); SET_CAR_VISIBLE(NetPlayer_Vehicle,true); } } else Alert("~b~MD: ~s~Your current vehicle shall now always be invisible.",false); } else if(SelectedItem == 3){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_SUPER_SPEED); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_SUPER_SPEED); } else if(SelectedItem == 4){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_DRIFT); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_DRIFT); } else if(SelectedItem == 5){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_LOWER); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_LOWER); } else if(SelectedItem == 6){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_JUMP); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_JUMP); } else if(SelectedItem == 7){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_SUPER_BIKE); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_SUPER_BIKE); } else if(SelectedItem == 8){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_STICK_GROUND); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_STICK_GROUND); } else if(SelectedItem == 9){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_DESOLIDIFY); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_DESOLIDIFY); } else if(IS_CHAR_IN_ANY_CAR(pPlayer)) { GET_CAR_CHAR_IS_USING(pPlayer, &NetPlayer_Vehicle); if(SelectedItem == 10){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS); FREEZE_CAR_POSITION(NetPlayer_Vehicle,GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS)); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_FREEZE_POS); } else if(SelectedItem == 11) { SET_VEHICLE_LOCKED_WITHOUT_NET_CONTROL_REQUEST(NetPlayer_Vehicle,!IS_CHARS_VEHICLE_LOCKED(pPlayer)); menu_item[SelectedItem].extra_val = IS_CHARS_VEHICLE_LOCKED(pPlayer); /* char * buffer[16]; Strcpy(buffer, "~b~MD: ~s~Your "); //15 int tmp_model; GET_CAR_MODEL(NetPlayer_Vehicle,&tmp_model); Strcat(buffer, GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(tmp_model))); Strcat(buffer, " is now "); Strcat(buffer, menu_item[SelectedItem].extra_val ? "locked." : "unlocked."); //just cuz saves processing is locked again Alert(buffer, false); */ // no need for print u see it change colour on menu (lights up DUH IN FACE) } } if(SelectedItem == 12) { } else if(SelectedItem == 13){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_AUTO_BOAT); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_AUTO_BOAT); } else if(SelectedItem == 14){ TOGGLE_DRIVE_WALK_WATER_FOR_PLAYER(iPlayer); menu_item[SelectedItem].extra_val = IS_DRIVE_WALK_WATER_ENABLED_FOR_PLAYER(iPlayer); } } void create_veh_obj(Object object, float obj_x, float obj_y, float obj_z, float obj_rx, float obj_ry, float obj_rz, Vehicle object_veh){ //PART OF CUSTOM VEHICLES - OBJECTS ON VEHICLES Object veh_object; if (IS_MODEL_IN_CDIMAGE(object)){ REQUEST_MODEL(object); while (!HAS_MODEL_LOADED(object)) WAIT(0); //if (IS_CHAR_IN_ANY_CAR(player))GET_CAR_CHAR_IS_USING(player, &object_veh); CREATE_OBJECT(object, 0, 0, 0, &veh_object, true); while (!DOES_OBJECT_EXIST(veh_object))WAIT(0); MARK_MODEL_AS_NO_LONGER_NEEDED(object); FREEZE_OBJECT_POSITION(veh_object, true); SET_OBJECT_VISIBLE(veh_object, true); SET_OBJECT_LIGHTS(veh_object, true); SET_OBJECT_INVINCIBLE(veh_object, true); SET_OBJECT_COLLISION(veh_object, false); if(In_Network){ int nvid; GET_NETWORK_ID_FROM_OBJECT(veh_object, &nvid); SET_NETWORK_ID_CAN_MIGRATE(nvid, false); } ATTACH_OBJECT_TO_CAR(veh_object, object_veh, 0, obj_x, obj_y, obj_z, obj_rx, obj_ry, obj_rz); if (IS_INTERIOR_SCENE()){ uint viewport_id, room_key; GET_GAME_VIEWPORT_ID(&viewport_id); GET_KEY_FOR_VIEWPORT_IN_ROOM(viewport_id, &room_key); ADD_OBJECT_TO_INTERIOR_ROOM_BY_KEY(veh_object, room_key); } return; } else Alert("~BLIP_76~ ~COL_NET_4~Error! ~w~Model missing from your CD image",false); //PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_SERVER_HIGHLIGHT"); return; } void neon_set(Object crotch){ SET_OBJECT_LIGHTS(crotch, true); SET_OBJECT_VISIBLE(crotch, true); SET_OBJECT_INVINCIBLE(crotch, 1); } void disco_lights_on_vehicle(Vehicle object_veh){ create_veh_obj(0xEDF775CB,0,0,0,0.1,0,0, object_veh); create_veh_obj(0xEDF775CB,0,0,0,0.1,0,1.575, object_veh); create_veh_obj(0xEDF775CB,0,0,0,0.1,0,3.150, object_veh); create_veh_obj(0xEDF775CB,0,0,0,0.1,0,4.725, object_veh); Alert("~BLIP_76~ ~c~Disco flash added! ~w~(4 Objects)",false); } void white_neon_on_vehicle(Vehicle object_veh){ create_veh_obj(0x4585E2BA,0,0,0,0.1,0,0, object_veh); Alert("~BLIP_76~ ~c~White neons added! ~w~(1 Object)",false); } void red_neon_on_vehicle(Vehicle object_veh){ create_veh_obj(0xCB26803D,0,0,0,0.1,0,0, object_veh); create_veh_obj(0xCB26803D,0,0,0,0.1,0,3.150, object_veh); Alert("~BLIP_76~ ~c~Red neons added! ~w~(2 Objects)",false); } void blue_neon_on_vehicle(Vehicle object_veh){ create_veh_obj(0xD20167BE,0,-0.7,0,4.75,0,0, object_veh); Alert("~BLIP_76~ ~c~Blue neons added! ~w~(1 Object)",false); } void orange_neon_on_vehicle(Vehicle object_veh){ create_veh_obj(0x2F8AEA79,0,0.2,-0.2,-190,0,160.20, object_veh); create_veh_obj(0x2F8AEA79,0.2,1.2,-0.2,-190,0,160.2, object_veh); create_veh_obj(0x2F8AEA79,0,0.2,-0.2,-190,0,160.20, object_veh); Alert("~BLIP_76~~c~Orange neons added! ~w~(5 Objects)",false); } void lavender_neon_on_vehicle(Vehicle object_veh){ create_veh_obj(0x12948067,0,0,0,0.1,0,0, object_veh); create_veh_obj(0x12948067,0,0,0,0.1,0,1.575, object_veh); create_veh_obj(0x12948067,0,0,0,0.1,0,3.150, object_veh); create_veh_obj(0x12948067,0,0,0,0.1,0,4.725, object_veh); Alert("~BLIP_76~ ~c~Lavender neons added! (Night) ~w~(4 Objects)",false); } void electro_shock_on_vehicle(Vehicle object_veh){ create_veh_obj(0x55CA3AE6,0.5235,1.7225,0.1475,1.7799,0,0, object_veh); create_veh_obj(0x55CA3AE6,-0.5235,1.7225,0.1475,1.7799,0,0, object_veh); create_veh_obj(0x55CA3AE6,0,1.0261,0.4292,1.7799,0,0, object_veh); create_veh_obj(0x55CA3AE6,0.5235,-1.9229,0.1475,1.799,0,3.150, object_veh); create_veh_obj(0x55CA3AE6,-0.5235,-1.9229,0.1475,1.799,0,3.150, object_veh); Alert("~BLIP_76~ ~c~Electro shocks added! ~w~(5 Objects)",false); } void green_flash_on_vehicle(Vehicle object_veh){ create_veh_obj(0x3BF5F0E5,0,0,0,6.0,0,0.787, object_veh); create_veh_obj(0x3BF5F0E5,0,0,0,6.0,0,2.362, object_veh); create_veh_obj(0x3BF5F0E5,0,0,0,6.0,0,3.936, object_veh); create_veh_obj(0x3BF5F0E5,0,0,0,6.0,0,5.512, object_veh); create_veh_obj(0x3BF5F0E5,0,0,0,6.0,0,0, object_veh); create_veh_obj(0x3BF5F0E5,0,0,0,6.0,0,1.575, object_veh); create_veh_obj(0x3BF5F0E5,0,0,0,6.0,0,3.150, object_veh); create_veh_obj(0x3BF5F0E5,0,0,0,6.0,0,4.725, object_veh); Alert("~BLIP_76~ ~c~Green flash added! ~w~(8 Objects)",false); } void purple_flash_on_vehicle(Vehicle object_veh){ create_veh_obj(0x6A299B19,0,0,0,6.0,0,0.787, object_veh); create_veh_obj(0x6A299B19,0,0,0,6.0,0,2.362, object_veh); create_veh_obj(0x6A299B19,0,0,0,6.0,0,3.936, object_veh); create_veh_obj(0x6A299B19,0,0,0,6.0,0,5.512, object_veh); create_veh_obj(0x6A299B19,0,0,0,6.0,0,0, object_veh); create_veh_obj(0x6A299B19,0,0,0,6.0,0,1.575, object_veh); create_veh_obj(0x6A299B19,0,0,0,6.0,0,3.150, object_veh); create_veh_obj(0x6A299B19,0,0,0,6.0,0,4.725, object_veh); Alert("~BLIP_76~ ~c~Purple flash added! ~w~(8 Objects)",false); } void yellow_neon_on_vehicle(Vehicle object_veh){ create_veh_obj(0xB3AC6409,0.2,1.2,-0.2,-190,0,160.2, object_veh); create_veh_obj(0xB3AC6409,0.2,0.2,-0.2,-190,0,160.2, object_veh); create_veh_obj(0xB3AC6409,0.2,-1.2,-0.2,-190,0,160.2, object_veh); create_veh_obj(0xB3AC6409,0.2,0.2,-0.2,-190,0,160.2, object_veh); Alert("~BLIP_76~ ~c~Yellow Neons Added! ~w~(4 Objects)",false); } void green_neon_on_vehicle(Vehicle object_veh){ create_veh_obj(0xD611D7B6,0.0999999,0.24,-0.36, 0,-1.56, 1.521, object_veh); create_veh_obj(0xD611D7B6,0.0999999,0.24,-0.36, 0,-1.56, 1.521, object_veh); Alert("~BLIP_76~ ~c~Green Neons Added! ~w~(2 Objects)",false); } void devilsdust_on_vehicle(Vehicle object_veh){ int i; for(i = 0;i<=4;i++){ create_veh_obj(451384443,0,-0.1,0.0,1.575,0,0, object_veh); } Alert("~BLIP_76~ ~c~Devils dust added! ~w~(8 Objects)",false); } void whitesmoke_on_vehicle(Vehicle object_veh){ create_veh_obj(0x3427A4F4,0,0,-18.800,0,0,0, object_veh); Alert("~BLIP_76~ ~c~White smoke added! ~w~(8 Objects)",false); } void devilsmoke_on_vehicle(Vehicle object_veh){ create_veh_obj(0xFD810533,7.8201,15.7448,-28.80000,0.7900,0.4000,1.3100, object_veh); Alert("~BLIP_76~ ~c~Devils smoke added! ~w~(8 Objects)",false); } void lightreflect_on_vehicle(Vehicle object_veh){ create_veh_obj(0xFEB2FDAF,0.1047,-0.5208,-1.0183,3.1399,0,0, object_veh); Alert("~BLIP_76~ ~c~Light reflection added! ~w~(8 Objects)",false); } void lightaround_on_vehicle(Vehicle object_veh){ create_veh_obj(0x2A56D09E,0,0,0,0,0,0, object_veh); Alert("~BLIP_76~ ~c~Light surrounding added! ~w~(8 Objects)",false); } void MD_Colour_Display_Setup_1 (const int Player_ID){ MENU_SUB_HEADER = "MD Colour Palette"; AddBool("~BLIP_68~ Solid Colours",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_UNIFIED_COLOUR)); AddFunction_CB("~BLIP_52~ Red"); AddFunction_CB("~BLIP_52~ Orange Red"); AddFunction_CB("~BLIP_52~ Orange Yellow"); AddFunction_CB("~BLIP_52~ Yellow"); AddFunction_CB("~BLIP_52~ Light Blue"); AddFunction_CB("~BLIP_52~ Medium Blue"); AddFunction_CB("~BLIP_52~ Dark Blue"); AddFunction_CB("~BLIP_52~ Medium Orchid"); AddFunction_CB("~BLIP_52~ Medium Violet"); AddFunction_CB("~BLIP_52~ Light Green"); AddFunction_CB("~BLIP_52~ Medium Green"); AddFunction_CB("~BLIP_52~ Dark Green"); AddFunction_CB("~BLIP_52~ White"); AddFunction_CB("~BLIP_52~ Light Grey"); AddFunction_CB("~BLIP_52~ Dark Grey"); AddFunction_CB("~BLIP_52~ Black"); AddFunction_CB("~BLIP_52~ Devils Colours"); AddBool("~BLIP_68~ Rainbow Car",GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_RAINBOW)); AddFunction_Value("Save Colour",2); //20 } void MD_Colour_Display_Setup_2(const int Player_ID){ MENU_SUB_HEADER = " MD Special Colours"; AddFunction_CB("~BLIP_52~ Gold"); //1 AddFunction_CB("~BLIP_52~ Cream"); //2 AddFunction_CB("~BLIP_52~ Chocolate"); //3 AddFunction_CB("~BLIP_52~ Grape"); //4 AddFunction_CB("~BLIP_52~ Magenta"); //5 AddFunction_CB("~BLIP_52~ Blackcurrant"); //6 AddFunction_CB("~BLIP_52~ Stinger"); //7 AddFunction_CB("~BLIP_52~ Silver"); //8 AddFunction_CB("~BLIP_52~ Metallic Red"); //9 AddFunction_CB("~BLIP_52~ Neon Blue"); //10 AddFunction_CB("~BLIP_52~ Royal Blue"); //11 AddFunction_CB("~BLIP_52~ Silvery Blue"); //12 AddFunction_CB("~BLIP_52~ Electric Blue"); //13 AddFunction_CB("~BLIP_52~ Champagne"); //14 AddFunction_CB("~BLIP_52~ Pine/Lime"); //15 AddFunction_CB("~BLIP_52~ Spearmint"); //16 AddFunction_CB("~BLIP_52~ Special Green"); //17 AddFunction_CB("~BLIP_52~ Metallic Green"); //18 AddFunction_CB("~BLIP_52~ Metallic Purple"); //19 AddFunction_CB("~BLIP_52~ Electric Yellow"); //20 AddFunction_Value("Save Colours",2); //21 } void MD_Colour_Display_Action_2(const int Player_ID){ //--> Always ID here //!**Player Char Check**// Ped Player_PED; Vehicle vehicle; if(!PLAYER_HAS_CHAR(Player_ID))return Alert_Abort(Error_Char_Missing,false); else GET_PLAYER_CHAR(Player_ID,&Player_PED); /**Vehicle Checker**/ if(!IS_CHAR_IN_ANY_CAR(Player_PED)){ if(Player_PED == pPlayer)Alert_Abort(Error_Personal_Vehicle,false); else Alert_Abort(Error_NetPlayer_Vehicle,false); } else GET_CAR_CHAR_IS_USING(Player_PED,&vehicle); if(SelectedItem == 1) {c = 106 , c3 = 132;} //Gold else if(SelectedItem == 2) {c = 93 , c3 = 127;} //Cream else if(SelectedItem == 3) {c = 102 , c3 = 132;} //Chocolate else if(SelectedItem == 4) {c = 0 , c3 = 101;} //grape else if(SelectedItem == 5) {c = 44 , c3 = 101;} //Magenta else if(SelectedItem == 6) {c = 36 , c3 = 124;} //Blackcurrant else if(SelectedItem == 7) {c = 85 , c3 = 125;} //Stinger else if(SelectedItem == 8) {c = 5 , c3 = 134;} //Silver else if(SelectedItem == 9) {c = 34 , c3 = 125;} //metallic red else if(SelectedItem == 10) {c = 82 , c3 = 128;} //Neon Blue else if(SelectedItem == 11) {c = 85 , c3 = 84;} //Royal Blue else if(SelectedItem == 12) {c = 79 , c3 = 128;} //silvery blue else if(SelectedItem == 13) {c = 0 , c3 = 128;} //Electric Blue else if(SelectedItem == 14) {c = 95 , c3 = 127;} //Champagne else if(SelectedItem == 15) {c = 91 , c3 = 127;} //Pine/lime else if(SelectedItem == 16) {c = 60 , c3 = 127;} //spearmint else if(SelectedItem == 17) {c = 56 , c3 = 51;} //custom Green else if(SelectedItem == 18) {c = 51 , c3 = 127;} //metallic green else if(SelectedItem == 19) {c = 88 , c3 = 101;} //Metallic purple else if(SelectedItem == 20) {c = 0 , c3 = 127;} //Electric yellow if(SelectedItem == 21){ if(menu_item[SelectedItem].num_val == 1){ GET_CAR_COLOURS(vehicle,&SavedColors1,&SavedColors2); GET_EXTRA_CAR_COLOURS(vehicle,&SavedColors3,&SavedColors4); Coloursetting_Personal = true; Alert(Colours_Updated,false); } else if(menu_item[SelectedItem].num_val == 2){ GET_CAR_COLOURS(vehicle,&SavedColors5,&SavedColors6); GET_EXTRA_CAR_COLOURS(vehicle,&SavedColors7,&SavedColors8); Coloursetting_Net = true; Alert(Colours_Updated,false); } } if(SelectedItem != 21){ int vehicle_ID; if(pPlayer != Player_PED){ GET_NETWORK_ID_FROM_VEHICLE(vehicle,&vehicle_ID); if(network_control(vehicle_ID)){ int j; for(j = 0; j < 4; j++){ BURST_CAR_TYRE(vehicle,j); REMOVE_CAR_WINDOW(vehicle,j); } DAMAGE_CAR(vehicle, 0, 0, 0, 100, 200, true); START_CAR_FIRE(vehicle); SET_ENGINE_HEALTH(vehicle,-5); WAIT(0); CHANGE_CAR_COLOUR(vehicle, c, c); SET_EXTRA_CAR_COLOURS(vehicle, c3, c); //{c = 0 , c3 = 127;} FIX_CAR(vehicle); } else Alert(Error_ID_Control,false); } else{ CHANGE_CAR_COLOUR(vehicle, c, c); SET_EXTRA_CAR_COLOURS(vehicle, c3, c); } } } void MD_Colour_Display_Action_1(const int Player_ID){ //!**Player Char Check**// Ped Player_PED; Vehicle vehicle; if(!PLAYER_HAS_CHAR(Player_ID))return Alert_Abort(Error_Char_Missing,false); else GET_PLAYER_CHAR(Player_ID,&Player_PED); /**Vehicle Checker**/ if(!IS_CHAR_IN_ANY_CAR(Player_PED)){ if(Player_PED == pPlayer)Alert_Abort(Error_Personal_Vehicle,false); else Alert_Abort(Error_NetPlayer_Vehicle,false); } else GET_CAR_CHAR_IS_USING(Player_PED,&vehicle); if(SelectedItem == 1){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_UNIFIED_COLOUR); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_UNIFIED_COLOUR); } else if(SelectedItem == 2){c = 35;} else if(SelectedItem == 3){c = 131;} else if(SelectedItem == 4){c = 132;} else if(SelectedItem == 5){c = 89;} else if(SelectedItem == 6){c = 128;} else if(SelectedItem == 7){c = 74;} else if(SelectedItem == 8){c = 69;} else if(SelectedItem == 9){c = 124;} else if(SelectedItem == 10){c = 101;} else if(SelectedItem == 11){c = 59;} else if(SelectedItem == 12){c = 51;} else if(SelectedItem == 13){c = 56;} else if(SelectedItem == 14){ if(Episode == 2)c = 133; else c = 134; } else if(SelectedItem == 15){c = 114;} else if(SelectedItem == 16){c = 1;} else if(SelectedItem == 17){c = 0;} else if(SelectedItem == 18){ SetBit(VehicleOptionsBitSet, VEHICLE_OPTION_UNIFIED_COLOUR, true); Vehicle_Color_Modification(Player_PED,vehicle,0,30,30,30); } else if(SelectedItem == 19){ ToggleBit(VehicleOptionsBitSet, VEHICLE_OPTION_RAINBOW); menu_item[SelectedItem].extra_val = GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_RAINBOW); } if(SelectedItem == 20) { if(menu_item[SelectedItem].num_val == 1){ GET_CAR_COLOURS(vehicle,&SavedColors1,&SavedColors2); GET_EXTRA_CAR_COLOURS(vehicle,&SavedColors3,&SavedColors4); Coloursetting_Personal = true; Alert(Colours_Updated,false); } else if(menu_item[SelectedItem].num_val == 2){ GET_CAR_COLOURS(vehicle,&SavedColors5,&SavedColors6); GET_EXTRA_CAR_COLOURS(vehicle,&SavedColors7,&SavedColors8); Coloursetting_Net = true; Alert(Colours_Updated,false); } } if(SelectedItem < 18){ int vehicle_ID; if(pPlayer != Player_PED){ GET_NETWORK_ID_FROM_VEHICLE(vehicle,&vehicle_ID); if(network_control(vehicle_ID)){ int j; for(j = 0; j < 4; j++){ BURST_CAR_TYRE(vehicle,j); REMOVE_CAR_WINDOW(vehicle,j); } DAMAGE_CAR(vehicle, 0, 0, 0, 100, 200, true); START_CAR_FIRE(vehicle); SET_ENGINE_HEALTH(vehicle,-5); WAIT(0); Vehicle_Color_Modification(Player_PED,vehicle,c,c,c3,c); if(!GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_UNIFIED_COLOUR)) Alert("~b~MD: ~s~Select again to change extra colours.",false); FIX_CAR(vehicle); } else Alert(Error_ID_Control,false); } else{ Vehicle_Color_Modification(Player_PED,vehicle,c,c,c3,c); if(!GetBit(VehicleOptionsBitSet, VEHICLE_OPTION_UNIFIED_COLOUR)) Alert("~b~MD: ~s~Select again to change extra colours.",false); } } } void MC_Veh_Addons_Setup(const int Player_ID){ AddSubMenu("~BLIP_73~ ~b~MD ~c~MD Colour Palette ~PAD_RIGHT~"); //1 AddSubMenu("~BLIP_73~ ~b~MD ~c~MD Special Colours ~PAD_RIGHT~"); //2 AddSubMenu("~BLIP_73~ ~b~MD ~c~Vehicle Colours ( Numbers ) ~PAD_RIGHT~"); //3 AddFunction_CB("~BLIP_52~ Blue Neons"); //4 AddFunction_CB("~BLIP_52~ Red Neons"); //5 AddFunction_CB("~BLIP_52~ Orange Neons"); //6 AddFunction_CB("~BLIP_52~ White Neons"); //7 AddFunction_CB("~BLIP_52~ Lavender Neons ( Night )"); //8 AddFunction_CB("~BLIP_52~ Disco Flash Effect"); //9 AddFunction_CB("~BLIP_52~ Purple Flash Effect"); //10 AddFunction_CB("~BLIP_52~ Green Flash Effect"); //11 AddFunction_CB("~BLIP_52~ Light Reflect Effect (Night)"); //12 AddFunction_CB("~BLIP_52~ Add Sparks"); //13 AddFunction_CB("~BLIP_52~ Add White Smoke"); //14 AddFunction_CB("~BLIP_52~ Add Devils Smoke"); //15 AddFunction_CB("~BLIP_52~ Add Devils Dust ( Use V-Helper! )");//16 AddFunction_CB("~BLIP_52~ Light Around U ( Night )"); //17 AddFunction_CB("~BLIP_52~ Yellow Neons ( TBoGT )"); //18 AddFunction_CB("~BLIP_52~ Green Neons ( TBoGT )"); //19 AddFunction_CB("~BLIP_52~ Delete Your Neons And Add-Ons"); //20 } void MC_Vehicle_Addon_Action(const int Player_ID){ //ID //!**Player Char Check**// Ped Player_PED; Vehicle vehicle; if(!PLAYER_HAS_CHAR(Player_ID))return Alert_Abort(Error_Char_Missing,false); else GET_PLAYER_CHAR(Player_ID,&Player_PED); /**Vehicle Checker**/ if(!IS_CHAR_IN_ANY_CAR(Player_PED)){ if(Player_PED == pPlayer)Alert_Abort(Error_Personal_Vehicle,false); else Alert_Abort(Error_NetPlayer_Vehicle,false); } else GET_CAR_CHAR_IS_USING(Player_PED,&vehicle); if(SelectedItem == 4)blue_neon_on_vehicle(vehicle); else if(SelectedItem == 5)red_neon_on_vehicle(vehicle); else if(SelectedItem == 6)orange_neon_on_vehicle(vehicle); else if(SelectedItem == 7)white_neon_on_vehicle(vehicle); else if(SelectedItem == 8)lavender_neon_on_vehicle(vehicle); else if(SelectedItem == 9){ if(Episode == 0)disco_lights_on_vehicle(vehicle); else Alert("~b~MD: ~s~Original only.",false); } else if(SelectedItem == 10) purple_flash_on_vehicle(vehicle); else if(SelectedItem == 11) green_flash_on_vehicle(vehicle); else if(SelectedItem == 12) lightreflect_on_vehicle(vehicle); else if(SelectedItem == 13) electro_shock_on_vehicle(vehicle); else if(SelectedItem == 14) whitesmoke_on_vehicle(vehicle); else if(SelectedItem == 15) devilsmoke_on_vehicle(vehicle); else if(SelectedItem == 16) devilsdust_on_vehicle(vehicle); else if(SelectedItem == 17) lightaround_on_vehicle(vehicle); else if(SelectedItem == 18){ if(Episode == 2)yellow_neon_on_vehicle(vehicle); else Alert("~b~MD: ~s~TBoGT only.",false); } else if(SelectedItem == 19){ if(Episode == 2)green_neon_on_vehicle(vehicle); else Alert("~b~MD: ~s~TBoGT only.",false); } else if(SelectedItem == 20) MD_Delete_Objects_On_Vehicle(Player_ID); } void MC_Vehicle_Colour_Num_Setup(const int Player_ID){ //!**Player Char Check**// Ped Player_PED; Vehicle vehicle; ColourIndex color1, color2, color3, color4; if(!PLAYER_HAS_CHAR(Player_ID))return Alert_Abort(Error_Char_Missing,false); else GET_PLAYER_CHAR(Player_ID,&Player_PED); /**Vehicle Checker**/ if(!IS_CHAR_IN_ANY_CAR(Player_PED)){ if(Player_PED == pPlayer)Alert_Abort(Error_Personal_Vehicle,false); else Alert_Abort(Error_NetPlayer_Vehicle,false); } else { GET_CAR_CHAR_IS_USING(Player_PED,&vehicle); MENU_SUB_HEADER = "Vehicle Colours"; AddFunction_Num_CB("~BLIP_52~ Colour 1",134); AddFunction_Num_CB("~BLIP_52~ Colour 2",134); AddFunction_Num_CB("~BLIP_52~ Extra Colour 1",134); AddFunction_Num_CB("~BLIP_52~ Extra Colour 2",134); AddFunction_Value("Save Colours",2); MD_Colour_Display_2 = true; GET_CAR_COLOURS(vehicle,&color1,&color2); GET_EXTRA_CAR_COLOURS(vehicle,&color3,&color4); menu_item[1].num_val = color1 + 1; menu_item[2].num_val = color2 + 1; menu_item[3].num_val = color3 + 1; menu_item[4].num_val = color4 + 1; } } void MC_Veh_Upgrade_Setup(const int Player_ID){ //!**Player Char Check**// Ped Player_PED; Vehicle vehicle; ColourIndex color1, color2, color3, color4; if(!PLAYER_HAS_CHAR(Player_ID))return Alert_Abort(Error_Char_Missing,false); else GET_PLAYER_CHAR(Player_ID,&Player_PED); /**Vehicle Checker**/ if(!IS_CHAR_IN_ANY_CAR(Player_PED)){ if(Player_PED == pPlayer)Alert_Abort(Error_Personal_Vehicle,false); else Alert_Abort(Error_NetPlayer_Vehicle,false); } else { GET_CAR_CHAR_IS_USING(Player_PED,&vehicle); MENU_SUB_HEADER = "Upgrades"; char *txt_upgrade[10]; txt_upgrade[0] = "~BLIP_52~ Upgrade 1"; txt_upgrade[1] = "~BLIP_52~ Upgrade 2"; txt_upgrade[2] = "~BLIP_52~ Upgrade 3"; txt_upgrade[3] = "~BLIP_52~ Upgrade 4"; txt_upgrade[4] = "~BLIP_52~ Upgrade 5"; txt_upgrade[5] = "~BLIP_52~ Upgrade 6"; txt_upgrade[6] = "~BLIP_52~ Upgrade 7"; txt_upgrade[7] = "~BLIP_52~ Upgrade 8"; txt_upgrade[8] = "~BLIP_52~ Upgrade 9"; txt_upgrade[9] = "~BLIP_52~ Upgrade 10"; uint I, txt_I; for (I = 0; I <= 9; I++){ bool turnedon = false; if (!IS_VEHICLE_EXTRA_TURNED_ON(vehicle, I)){ TURN_OFF_VEHICLE_EXTRA(vehicle, I, false); turnedon = true; } if (IS_VEHICLE_EXTRA_TURNED_ON(vehicle, I)) { txt_I++; if (turnedon)TURN_OFF_VEHICLE_EXTRA(vehicle, I, true); AddBool(txt_upgrade[txt_I],IS_VEHICLE_EXTRA_TURNED_ON(vehicle, I)); menu_item[itemCount].num_val = I; } } if (txt_I == 0){ SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR, true); Add_Error("~BLIP_52~ No Upgrades available"); Add_Error("~BLIP_52~ Press ~PAD_B~ To Return"); } return; } } void MC_Veh_Upgrade_Action(const int Player_ID){ //!**Player Char Check**// Ped Player_PED; Vehicle vehicle; ColourIndex color1, color2, color3, color4; if(!PLAYER_HAS_CHAR(Player_ID))return Alert_Abort(Error_Char_Missing,false); else GET_PLAYER_CHAR(Player_ID,&Player_PED); /**Vehicle Checker**/ if(!IS_CHAR_IN_ANY_CAR(Player_PED)){ if(Player_PED == pPlayer)Alert_Abort(Error_Personal_Vehicle,false); else Alert_Abort(Error_NetPlayer_Vehicle,false); } else { GET_CAR_CHAR_IS_USING(Player_PED,&vehicle); uint vehicle_upgrade = menu_item[SelectedItem].num_val; if (IS_VEHICLE_EXTRA_TURNED_ON(vehicle, vehicle_upgrade)){ TURN_OFF_VEHICLE_EXTRA(vehicle, vehicle_upgrade, true); menu_item[SelectedItem].extra_val = false; } else{ TURN_OFF_VEHICLE_EXTRA(vehicle, vehicle_upgrade, false); menu_item[SelectedItem].extra_val = true; } } } void MC_Vehicle_Colour_Num_Action(const int Player_ID){ //!**Player Char Check**// Ped Player_PED; Vehicle vehicle; ColourIndex color1, color2, color3, color4; if(!PLAYER_HAS_CHAR(Player_ID))return Alert_Abort(Error_Char_Missing,false); else GET_PLAYER_CHAR(Player_ID,&Player_PED); /**Vehicle Checker**/ if(!IS_CHAR_IN_ANY_CAR(Player_PED)){ if(Player_PED == pPlayer)Alert_Abort(Error_Personal_Vehicle,false); else Alert_Abort(Error_NetPlayer_Vehicle,false); } else{ GET_CAR_CHAR_IS_USING(Player_PED,&vehicle); GET_CAR_COLOURS(vehicle,&color1,&color2); GET_EXTRA_CAR_COLOURS(vehicle,&color3,&color4); if(SelectedItem == 1)CHANGE_CAR_COLOUR(vehicle,(menu_item[item_highlighted].num_val - 1),color2); else if(SelectedItem == 2)CHANGE_CAR_COLOUR(vehicle,color1,(menu_item[item_highlighted].num_val - 1)); else if(SelectedItem == 3)SET_EXTRA_CAR_COLOURS(vehicle,(menu_item[item_highlighted].num_val - 1),color4); else if(SelectedItem == 4)SET_EXTRA_CAR_COLOURS(vehicle,color3,(menu_item[item_highlighted].num_val - 1)); else if(SelectedItem == 5){ if(menu_item[SelectedItem].num_val == 1){ GET_CAR_COLOURS(vehicle,&SavedColors1,&SavedColors2); GET_EXTRA_CAR_COLOURS(vehicle,&SavedColors3,&SavedColors4); Coloursetting_Personal = true; Alert(Colours_Updated,false); } else if(menu_item[SelectedItem].num_val == 2){ GET_CAR_COLOURS(vehicle,&SavedColors5,&SavedColors6); GET_EXTRA_CAR_COLOURS(vehicle,&SavedColors7,&SavedColors8); Coloursetting_Net = true; Alert(Colours_Updated,false); } } } } void drawColorPalette(void){ // Move to main looped actions! if(MD_Colour_Display_1){ DRAW_RECT(Color_Palette_x, Color_Palette_y - Color_Palette_Scroll , 0.1, 0.0230, 221, 159, 87, 255);// - Gold DRAW_RECT(Color_Palette_x, Color_Palette_y, 0.1, 0.0230, 153, 0, 0, 255);//red DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll, 0.1, 0.0230, 255,69,0, 255);//Orange Red DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*2), 0.1, 0.0230, 255,140,0, 255);//Orange Yellow DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*3), 0.1, 0.0230, 255,215,0, 255);//Yellow DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*4), 0.1, 0.0230, 0,191,255, 255);//Light Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*5), 0.1, 0.0230, 0, 102, 204, 255);//Medium Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*6), 0.1, 0.0230, 40, 46, 127, 255);//Dark Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*7), 0.1, 0.0230, 186,85,211, 255);//Purple DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*8), 0.1, 0.0230, 199,21,133, 255);//Pink DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*9), 0.1, 0.0230, 50,205,50, 255);//Light Green DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*10), 0.1, 0.0230, 34,139,34, 255);//medium Green DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*11), 0.1, 0.0230, 0, 102, 51, 255);//Dark Green DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*12), 0.1, 0.0230, 255, 255, 255, 255);//White DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*13), 0.1, 0.0230, 192, 192, 192, 255);//Light Grey DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*14), 0.1, 0.0230, 64, 64, 64, 255);//Dark Grey DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*15), 0.1, 0.0230, 0, 0, 0, 255);//Black } else if(MD_Colour_Display_2){ DRAW_RECT(Color_Palette_x, Color_Palette_y, 0.1, 0.0230, 153, 0, 0, 255);//red DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll, 0.1, 0.0230, 255,69,0, 255);//Orange Red DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*2), 0.1, 0.0230, 255,140,0, 255);//Orange Yellow DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*3), 0.1, 0.0230, 255,215,0, 255);//Yellow DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*4), 0.1, 0.0230, 0,191,255, 255);//Light Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*5), 0.1, 0.0230, 0, 102, 204, 255);//Medium Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*6), 0.1, 0.0230, 40, 46, 127, 255);//Dark Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*7), 0.1, 0.0230, 186,85,211, 255);//Purple DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*8), 0.1, 0.0230, 199,21,133, 255);//Pink DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*9), 0.1, 0.0230, 50,205,50, 255);//Light Green DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*10), 0.1, 0.0230, 34,139,34, 255);//medium Green DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*11), 0.1, 0.0230, 0, 102, 51, 255);//Dark Green DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*12), 0.1, 0.0230, 255, 255, 255, 255);//White DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*13), 0.1, 0.0230, 192, 192, 192, 255);//Light Grey DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*14), 0.1, 0.0230, 64, 64, 64, 255);//Dark Grey DRAW_RECT(Color_Palette_x, Color_Palette_y + (Color_Palette_Scroll*15), 0.1, 0.0230, 0, 0, 0, 255);//Black } else if(MD_Colour_Display_3){ DRAW_RECT(Color_Palette_x, Color_Palette_y - Color_Palette_Scroll , 0.1, 0.0230, 221, 159, 87, 255);// - Gold DRAW_RECT(Color_Palette_x, Color_Palette_y , 0.1, 0.0230,250, 212, 149, 255);// - Cream DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll, 0.1, 0.0230,130, 57, 3 , 255);// - Chocolate DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*2, 0.1, 0.0230,79, 7, 71, 255);// - Grape DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*3, 0.1, 0.0230,255, 0, 168, 255);// - Magenta DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*4, 0.1, 0.0230,79, 27, 50, 255);// - Blackcurrant DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*5, 0.1, 0.0230,51, 18, 48, 255);// - Stinger DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*6, 0.1, 0.0230,217, 222, 247 , 255);// - Silver DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*7, 0.1, 0.0230,99, 13, 2 , 255);// - Metallic Red DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*8, 0.1, 0.0230,13, 167, 255 , 255);// - Neon Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*9, 0.1, 0.0230,24, 33, 201, 255);// - Royal Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*10, 0.1, 0.0230,145, 233, 255, 255);// - Silvery Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*11, 0.1, 0.0230,20, 5, 99, 255);// - Electric Blue DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*12, 0.1, 0.0230,165, 145, 98, 255);// - Champagne DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*13, 0.1, 0.0230,200, 255, 59, 255);// - Pine/Lime DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*14, 0.1, 0.0230,190, 255, 183, 255);// - Spearmint DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*15, 0.1, 0.0230,4, 107, 4, 255);// - Special Green DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*16, 0.1, 0.0230,124, 255, 64, 255);// - Metallic Green DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*17, 0.1, 0.0230,59, 8, 59, 255);// - Metallic Purple DRAW_RECT(Color_Palette_x, Color_Palette_y + Color_Palette_Scroll*18, 0.1, 0.0230,178, 135, 0, 255);// - Electric Yellow } } void MC_Vehicle_Loop(void) { //New }