Add files via upload

This commit is contained in:
iDisaster
2026-01-28 21:32:26 +04:00
committed by GitHub
parent 9dc5fe61aa
commit f80d6e8a4c
100 changed files with 88887 additions and 0 deletions

View File

@@ -0,0 +1,214 @@
/**
* @ MD EXTEND+
* @ Version TRIDENT(Essentials Based)
* @ MADE BY - DEVILSDESIGN && IIV NATHAN VII
*/
#pragma once
void Essentials_Startup(void){
if(GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT("menu_startup") != 0) return;
REQUEST_SCRIPT("menu_startup");
if (menu_level == 0){
item_highlighted = 1;
menu_level = 1;
press_counter = 2;
press_counter_timesby = 1;
}
BLOCK_PED_WEAPON_SWITCHING(pPlayer, true);
Menu_Setup_Draw();
menu_consts_start_y = Menu_Start_Pos_y;
menu_consts_max = menu_max;
SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_SHOW, true);
uint menuThreadID = GET_ID_OF_THIS_THREAD();
while(!HAS_SCRIPT_LOADED("menu_startup")) WAIT(0);
START_NEW_SCRIPT_WITH_ARGS("menu_startup", &menuThreadID, 1, 128);
MARK_SCRIPT_AS_NO_LONGER_NEEDED("menu_startup");
}
void Essentials_Shutdown(void){
char * cellphone = In_Network ? "mpcellphone" : "spcellphone";
REQUEST_SCRIPT(cellphone);
Menu_Close_Draw();
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME("menu_startup");
BLOCK_PED_WEAPON_SWITCHING(pPlayer,false);
SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_SHOW, false);
while(!HAS_SCRIPT_LOADED(cellphone)) WAIT(0);
START_NEW_SCRIPT(cellphone, 1024);
MARK_SCRIPT_AS_NO_LONGER_NEEDED(cellphone);
Update_On_Display_Only = true;
}
void Essentials_Button_Registration(void){
if(!GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_MOVE) && !Move_Player_Info){
//if(!GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_MOVE)){
if (menu_up_pressed(true) && !GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
if (item_highlighted == 1) item_highlighted = itemCount;
else{
item_highlighted--;
if (itemCount > menu_consts_max && item_highlighted > (menu_start_scrolling - 1)){
Menu_Start_Pos_y += Item_height;
menu_max--;
}
if(menu_item[item_highlighted].type == 10 )item_highlighted--;
}
//PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_SERVER_HIGHLIGHT");
PLAY_AUDIO_EVENT("RADIO_RETUNE_BEEP");
}
else if (menu_down_pressed(true) && !GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
if (item_highlighted == itemCount){
item_highlighted = 1;
Menu_Start_Pos_y = menu_consts_start_y;
menu_max = menu_consts_max;
}
else{
item_highlighted++;
if (itemCount > menu_consts_max && item_highlighted > menu_start_scrolling){
Menu_Start_Pos_y -= Item_height;
menu_max++;
}
if(menu_item[item_highlighted].type == 10 )item_highlighted++;
}
PLAY_AUDIO_EVENT("RADIO_RETUNE_BEEP");
//PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_SERVER_HIGHLIGHT");
}
//!Setting up cross browsing on netplayers --> DEVILSDESIGN//
if((menu_item[item_highlighted].type > 20 && menu_item[item_highlighted].type < 30)){
//!Crosbrowsing setting to yourself*//
if (IS_BUTTON_PRESSED(0, BUTTON_X) && IS_BUTTON_JUST_PRESSED(0, BUTTON_SELECT) && !GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
if(players[ChangeNetPlayer].id != iPlayer){
int scanner;
for(scanner = 0; scanner < 16; scanner++){
if(players[scanner].id != iPlayer) continue;
ChangeNetPlayer = scanner;
Alert("~b~MD: ~s~Crossbrowsing set to yourself!",false);
break;
}
}
}
if (IS_BUTTON_PRESSED(0, BUTTON_X) && IS_BUTTON_JUST_PRESSED(0, DPAD_RIGHT) && !GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
PLAY_AUDIO_EVENT("RADIO_RETUNE_BEEP");
Player_Counter();
if(ChangeNetPlayer == player_count - 1) ChangeNetPlayer = 0;
else ChangeNetPlayer++;
if(Player_Display_Selection( players[ChangeNetPlayer].id)){
ChangeNetPlayer++;
return ;
}
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_AUTO_SPECTATE)) SetByteSet(&SpectateAndAttachByteSet, SPECTATE_PLAYER_INDEX, players[ChangeNetPlayer].id);
if(MD_Player_Info)UPDATE_CHANGE_NET_PLAYER_WEAPON_INFO();
#ifdef Admin
if(MD_Version_Detector) userfound = GET_PLAYER_MD_STATUS(players[ChangeNetPlayer].id);
#endif
}
else if (IS_BUTTON_PRESSED(0, BUTTON_X) && IS_BUTTON_JUST_PRESSED(0, DPAD_LEFT) && !GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
PLAY_AUDIO_EVENT("RADIO_RETUNE_BEEP");
Player_Counter();
if(ChangeNetPlayer == 0) ChangeNetPlayer = player_count - 1;
else ChangeNetPlayer--;
if(Player_Display_Selection( players[ChangeNetPlayer].id)){
ChangeNetPlayer--;
return ;
}
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_AUTO_SPECTATE)) SetByteSet(&SpectateAndAttachByteSet, SPECTATE_PLAYER_INDEX, players[ChangeNetPlayer].id);
if(MD_Player_Info)UPDATE_CHANGE_NET_PLAYER_WEAPON_INFO();
#ifdef Admin
if(MD_Version_Detector) userfound = GET_PLAYER_MD_STATUS(players[ChangeNetPlayer].id);
#endif
}
}
if( !IS_BUTTON_PRESSED(0, BUTTON_X) && menu_right_pressed(true)){
if(menu_item[item_highlighted].type == 8
|| menu_item[item_highlighted].type == 9
|| menu_item[item_highlighted].type == 14
|| menu_item[item_highlighted].type == 15
|| menu_item[item_highlighted].type == 22
|| menu_item[item_highlighted].type == 23
|| menu_item[item_highlighted].type == 24){
if(menu_item[item_highlighted].num_val == menu_item[item_highlighted].extra_val)
menu_item[item_highlighted].num_val = 1;
else menu_item[item_highlighted].num_val += 1;
}
}
else if( !IS_BUTTON_PRESSED(0, BUTTON_X) && menu_left_pressed(true)){
if(menu_item[item_highlighted].type == 8
|| menu_item[item_highlighted].type == 9
|| menu_item[item_highlighted].type == 14
|| menu_item[item_highlighted].type == 15
|| menu_item[item_highlighted].type == 22
|| menu_item[item_highlighted].type == 23
|| menu_item[item_highlighted].type == 24){
if(menu_item[item_highlighted].num_val == 1) menu_item[item_highlighted].num_val = menu_item[item_highlighted].extra_val;
else menu_item[item_highlighted].num_val -= 1;
}
}
if (menu_back_pressed()){
if (menu_level != 1 || GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_SET_ITEMS, false);
Reset_Menu();
if(!GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_ACTION_ERROR)) menu_level--;
SelectedItem = last_selected[menu_level - 1];
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_ACTION_ERROR)){
SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_ACTION_ERROR, false);
}
SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR, false);
}
}
else if (!GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_DISABLE)){
Essentials_Shutdown();
menu_level = 0;
}
//PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_SERVER_HIGHLIGHT");
//PLAY_AUDIO_EVENT("FRONTEND_OTHER_COUNTDOWN");
//PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_SERVER_HIGHLIGHT");
PLAY_AUDIO_EVENT("RADIO_RETUNE_BEEP");
}
else if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_RESET_COUNTER)){
press_counter = 2;
SetBit(MD_Misc_OptionsBitSet, MD_MISC_RESET_COUNTER, false);
}
}
if (menu_forward_pressed() && press_counter_timesby < 2 && !GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
SelectedItem = item_highlighted;
if(GetBit(MenuActionBitSet, (SelectedItem - 1)))MENU_ACTION();
else{
SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_SET_ITEMS, false);
last_selected[menu_level] = SelectedItem;
item_highlighted = 1;
Reset_Menu();
menu_level++;
}
PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_SERVER_HIGHLIGHT");
//if(GetBit(MenuActionBitSet, (SelectedItem - 1))) PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_READY");
//else PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_SERVER_HIGHLIGHT");
}
}
void Essentials_Core(void){
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_SHUTDOWN)) Essentials_Shutdown();
Essentials_Button_Registration();
if(!GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_SET_ITEMS)){
Base_set();
if (menu_back_pressed() && last_selected[menu_level] != 0){
if (last_selected[menu_level] <= itemCount) item_highlighted = last_selected[menu_level];
else item_highlighted = itemCount;
last_selected[menu_level] = 0;
if (itemCount > menu_consts_max && item_highlighted > menu_start_scrolling){
uint Menu_Line;
for (Menu_Line = (menu_start_scrolling + 1); Menu_Line <= item_highlighted; Menu_Line++){
Menu_Start_Pos_y -= Item_height;
menu_max++;
}
}
}
}
if (menu_up_pressed(false)){
if (itemCount > menu_consts_max && item_highlighted == itemCount){
Menu_Start_Pos_y = (menu_consts_start_y) - ((itemCount - menu_start_scrolling) * Item_height);
menu_max = itemCount + menu_start_scrolling;
}
}
}

View File

@@ -0,0 +1,73 @@
/**
* @ MAJOR DISTRIBUTION EXTEND
* @ Version MDv13 TRIDENT
* @ MADE BY - DEVILSDESIGN & IIV_NATHAN_VII & SHOCKixiXixiWAVE
*/
#pragma once
char* MD_Version;
char* MD_SubVersion;
char* MENU_HEADER;
char* MENU_SUB_HEADER;
char* MENU_FOOTER;
char* null_string;
//char* custom_bool_on;
//char* custom_bool_off;
char* load_script;
char* Essentials_script[MAX_MENU_ITEMS];
#define ETC ~COL_NET_4~
#include "MD_Compile_Settings.c"
/**Version info for Detection*/
//#define Version_Advertise 130 //1301 would be v13.01, this will just be v13
/**Version Title*/
#define MD_Extend_Header "E X T E N D"
#define MD_Extend_SubHeader "~BLIP_76~ T R I D E N T ~BLIP_76~"
#define MD_Version "v13"
#ifdef Beta
#define MD_SubVersion "BETA"
#else
#define MD_SubVersion "~BLIP_73~"
#endif
#define MD_Creators "~BLIP_76~ Made by Devilsdesign & IIV NATHAN VII~BLIP_76~"
#define MD_Display_Welcome "~COL_NET_4~Welcome to MD Trident V13! ~n~ ~w~ Open with :(Hold) ~PAD_DPAD_DOWN~ + (press)~PAD_B~"
#define VERSION_DISPLAY "~BLIP_76~ MD EXTEND~w~+ ~COL_NET_4~TRIDENT"
/**Footers*/
#define menu_lfooter "~b~MD: ~s~Made by ~r~DEVILSDESIGN ~s~& ~r~IIV NATHAN VII"
#define menu_rfooter " ~BLIP_76~ Visit www.consolecrunch.com for updates! ~BLIP_76~"
#define MD_Extend_Footer "Made by DEVILSDESIGN & IIV NATHAN VII"
/**Error Messages used in the menu*/
#define ADMIN_ONLY_STRING "~b~MD: ~s~This feature is admin only."
#define Error_Personal_Vehicle "~b~MD: ~s~You need to be in a vehicle to use this feature."
#define Error_NetPlayer_Vehicle "~b~MD: ~s~Player is not in a vehicle."
#define Error_Model_Missing "~b~MD: ~s~Model is missing from img files."
#define Error_Char_Missing "~b~MD: ~s~Player has no character, action can not be performed."
#define Error_No_Player "~b~MD: ~s~Player does not exist anymore, action can not be performed."
#define Error_ID_Control "~b~MD: ~s~Unable to control ID, action can not be performed."
#define Error_TBOGT "~b~MD: ~s~TBOGT Only!"
#define Colours_Updated "~b~MD: ~s~Vehicle Colours saved! Function Enabled.~n~ Go to spawn settings to disable."
#define Essentials_Error ""
#define Essentials_Error_invalid "Not available currently."
#define Essentials_Error_script "Add your own .sco's!"
#define Essentials_Error_goback "Press ~INPUT_FRONTEND_CANCEL~ to go back."
/**Generally used txt in menu**/
#define PrintON " ~COL_NET_3~ON" //mehhhhhhh
#define PrintOFF " ~COL_NET_4~OFF"
//Add strinchecker here
void Security_Check(void){
/*
if((SecureTextForEditing("MD E X T E N D ~BLIP_73~", 28, 3569161059))){
Alert(MD_Display_Welcome,true);
}
else{
Freeze_Self();
}
*/
}

View File

@@ -0,0 +1,55 @@
/**
* @ MD EXTEND+
* @ Version MDv13 TRIDENT(Essentials Based)
* @ MADE BY - DEVILSDESIGN & IIV_NATHAN_VII & SHOCKixiXixiWAVE
*/
#pragma once
void MC_Looped_Setup(void)
{
if(COMPARE_STRING(menu_item[item_highlighted].name,"~BLIP_52~ Teleport to saved location"))
{
int num = (menu_item[item_highlighted].num_val - 1);
if(save_x[num] != 0)
{
DRAW_SPHERE(save_x[num],save_y[num], save_z[num] - 1,2); //fine as 2 incase in car
}
}
//menu_item[1].num_val = (AutoSpectate ? 2 : 1);
/*
Spy_string[1] = "~w~Spectate Player / AutoSpectate ~COL_NET_4~OFF";
Spy_string[2] = "~w~Spectate Player / AutoSpectate ~COL_NET_3~ON";
*/
//if(COMPARE_STRING(menu_item[1].charval,
switch(menu_level)
{
case 1:
{
if(item_highlighted == 19) //delete distance setting
{
float x,y,z;
GET_CHAR_COORDINATES(pPlayer,&x,&y,&z);
DRAW_SPHERE(x,y,z - 3, (menu_item[item_highlighted].num_val * 2)); //yes x 2 is correct..
}
}
break;
case 5:
{
#ifdef Admin
if(!GetBit(MD_Misc_OptionsBitSet,MD_MISC_ADMIN_PRINTED_VEHICLE_SPAWN_FREEZE_WARNING))
{
if(last_selected[1] == 2 && last_selected[2] != 1 && last_selected[3] == 17 && last_selected[4] == 9)
{
Alert("~b~MD: ~s~Be wary here, you don't want them spawning into a freeze-car.",true);
SetBit(MD_Misc_OptionsBitSet,MD_MISC_ADMIN_PRINTED_VEHICLE_SPAWN_FREEZE_WARNING,true);
}
}
#endif
}
break;
}
}

View File

@@ -0,0 +1,35 @@
/**
* @ MD EXTEND+
* @ Version MDv13 TRIDENT(Essentials Based)
* @ MADE BY - DEVILSDESIGN & IIV_NATHAN_VII & SHOCKixiXixiWAVE
*/
#pragma once
void MC_Looped_Setup(void)
{
if(COMPARE_STRING(menu_item[item_highlighted].name,"~BLIP_52~ Teleport to saved location"))
{
int num = (menu_item[item_highlighted].num_val - 1);
if(save_x[num] != 0)
{
DRAW_SPHERE(save_x[num],save_y[num], save_z[num] - 1,2); //fine as 2 incase in car
}
}
//menu_item[1].num_val = (AutoSpectate ? 2 : 1);
/*
Spy_string[1] = "~w~Spectate Player / AutoSpectate ~COL_NET_4~OFF";
Spy_string[2] = "~w~Spectate Player / AutoSpectate ~COL_NET_3~ON";
*/
//if(COMPARE_STRING(menu_item[1].charval,
if(menu_level == 1)
{
if(item_highlighted == 18) //delete distance setting
{
float x,y,z;
GET_CHAR_COORDINATES(pPlayer,&x,&y,&z);
DRAW_SPHERE(x,y,z - 3,menu_item[item_highlighted].num_val);
}
}
}

View File

@@ -0,0 +1,346 @@
/**
* @ MD EXTEND+
* @ Version MDv13 TRIDENT(Essentials Based)
* @ MADE BY - DEVILSDESIGN & IIV_NATHAN_VII & SHOCKixiXixiWAVE
*/
#pragma once
//! Menu Functions
void menu_hold_pressed(uint p_id){
uint button1;
uint button2;
switch(p_id)
{
case 1:
{
button1 = BUTTON_DPAD_UP;
button2 = KEY_UP_ARROW;
}
break;
case 2:
{
button1 = BUTTON_DPAD_DOWN;
button2 = KEY_DOWN_ARROW;
}
break;
case 3:
{
button1 = BUTTON_DPAD_LEFT;
button2 = KEY_LEFT_ARROW;
}
break;
case 4:
{
button1 = BUTTON_DPAD_RIGHT;
button2 = KEY_RIGHT_ARROW;
}
break;
}
if (IS_BUTTON_PRESSED(0, button1) || IS_GAME_KEYBOARD_KEY_PRESSED(button2)){
press_id = p_id;
if (hold_counter > 40){
press_counter_timesby++;
hold_counter = 0;
}
hold_counter++;
press_counter++;
press_counter *= press_counter_timesby;
}
else if (press_id == p_id){
press_counter_timesby = 1;
hold_counter = 0;
}
}
bool menu_up_pressed(bool counter){
if ((IS_BUTTON_JUST_PRESSED(0, BUTTON_DPAD_UP) || IS_GAME_KEYBOARD_KEY_JUST_PRESSED(KEY_UP_ARROW))
|| (press_counter > 6 && (IS_BUTTON_PRESSED(0, BUTTON_DPAD_UP) || IS_GAME_KEYBOARD_KEY_PRESSED(KEY_UP_ARROW)))){
SetBit(MD_Misc_OptionsBitSet, MD_MISC_RESET_COUNTER, true);
return true;
}
if (counter)
menu_hold_pressed(1);
return false;
}
bool menu_down_pressed(bool counter){
if ((IS_BUTTON_JUST_PRESSED(0, BUTTON_DPAD_DOWN) || IS_GAME_KEYBOARD_KEY_JUST_PRESSED(KEY_DOWN_ARROW))
|| (press_counter > 6 && (IS_BUTTON_PRESSED(0, BUTTON_DPAD_DOWN) || IS_GAME_KEYBOARD_KEY_PRESSED(KEY_DOWN_ARROW)))){
SetBit(MD_Misc_OptionsBitSet, MD_MISC_RESET_COUNTER, true);
return true;
}
if (counter)
menu_hold_pressed(2);
return false;
}
bool menu_left_pressed(bool counter){
if ((IS_BUTTON_JUST_PRESSED(0, DPAD_LEFT) || IS_GAME_KEYBOARD_KEY_JUST_PRESSED(KEY_LEFT_ARROW))
|| (press_counter > 6 && (IS_BUTTON_PRESSED(0, DPAD_LEFT) || IS_GAME_KEYBOARD_KEY_PRESSED(KEY_LEFT_ARROW)))){
SetBit(MD_Misc_OptionsBitSet, MD_MISC_RESET_COUNTER, true);
return true;
}
if (counter)menu_hold_pressed(3);
return false;
}
bool menu_right_pressed(bool counter){
if ((IS_BUTTON_JUST_PRESSED(0, DPAD_RIGHT) || IS_GAME_KEYBOARD_KEY_JUST_PRESSED(KEY_RIGHT_ARROW))
|| (press_counter > 6 && (IS_BUTTON_PRESSED(0, DPAD_RIGHT) || IS_GAME_KEYBOARD_KEY_PRESSED(KEY_RIGHT_ARROW)))){
SetBit(MD_Misc_OptionsBitSet, MD_MISC_RESET_COUNTER, true);
return true;
}
if (counter)menu_hold_pressed(4);
return false;
}
bool menu_LB_pressed(bool counter){
if ((IS_BUTTON_JUST_PRESSED(0, BUTTON_LB) || IS_GAME_KEYBOARD_KEY_JUST_PRESSED(KEY_L))
|| (press_counter > 6 && (IS_BUTTON_PRESSED(0, BUTTON_LB) || IS_GAME_KEYBOARD_KEY_PRESSED(KEY_L)))){
SetBit(MD_Misc_OptionsBitSet, MD_MISC_RESET_COUNTER, true);
return true;
}
if (counter)menu_hold_pressed(3);
return false;
}
bool menu_RB_pressed(bool counter){
if ((IS_BUTTON_JUST_PRESSED(0, BUTTON_RB) || IS_GAME_KEYBOARD_KEY_JUST_PRESSED(KEY_R))
|| (press_counter > 6 && (IS_BUTTON_PRESSED(0, BUTTON_RB) || IS_GAME_KEYBOARD_KEY_PRESSED(KEY_R)))){
SetBit(MD_Misc_OptionsBitSet, MD_MISC_RESET_COUNTER, true);
return true;
}
if(counter)menu_hold_pressed(4);
return false;
}
bool menu_forward_pressed(void){
if (IS_BUTTON_JUST_PRESSED(0, BUTTON_A) || IS_GAME_KEYBOARD_KEY_JUST_PRESSED(KEY_ENTER))
return true;
return false;
}
bool menu_back_pressed(void){
if (IS_BUTTON_JUST_PRESSED(0, BUTTON_B) || IS_GAME_KEYBOARD_KEY_JUST_PRESSED(KEY_BACKSPACE))
return true;
return false;
}
/**Crossbrowsing MenuItems**/
//Keeping the type between 20 and 30 so if type is between this range it will crossbrowse.
void AddFunction_CB(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].type = 21;//Former 12
}
void AddFunction_Num_CB(char* item_text,int maxval){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = 1;
menu_item[itemCount].extra_val = maxval;
menu_item[itemCount].type = 22; //Former 8
}
void AddFunction_Value_CB(char* item_text,int maxval){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = 1;
menu_item[itemCount].extra_val = maxval;
menu_item[itemCount].type = 23; //Former 9
//Add_StringValue(itemCount);
}
void AddFunction_ValueLine_CB(int maxval){
itemCount++;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = 1;
menu_item[itemCount].extra_val = maxval;
menu_item[itemCount].type = 24; //Former 15
//Add_StringValue(itemCount);
}
void AddBool_CB(char* item_text, bool item_bool){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].extra_val = item_bool;
menu_item[itemCount].type = 25; //Former 3
}
void AddBool_NoHighlight_CB(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].type = 26; //Former 12
}
void AddGxt_Model_CB(uint item_gxt_hash){
itemCount++;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = item_gxt_hash;
menu_item[itemCount].type = 27; //Former 5
}
/**END**/
void AddSubMenu(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
menu_item[itemCount].type = 13;
}
void AddPlayername(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
menu_item[itemCount].type = 7;
}
void Add_NotPresent(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
menu_item[itemCount].type = 6;
}
void Add_JumpOver(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
menu_item[itemCount].type = 10;
}
void Add_Error(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
menu_item[itemCount].type = 11;
}
void AddFunction(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].type = 12;
}
void AddFunction_Num(char* item_text,int maxval){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = 1;
menu_item[itemCount].extra_val = maxval;
menu_item[itemCount].type = 8;
}
void AddFunction_NumSphere(char* item_text,int maxval){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = Delete_Distance_Radius;
menu_item[itemCount].extra_val = maxval;
menu_item[itemCount].type = 14;
}
void AddFunction_Value(char* item_text,int maxval){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = 1;
menu_item[itemCount].extra_val = maxval;
menu_item[itemCount].type = 9;
//Add_StringValue(itemCount);
}
void AddFunction_ValueLine(int maxval){
itemCount++;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = 1;
menu_item[itemCount].extra_val = maxval;
menu_item[itemCount].type = 15;
//Add_StringValue(itemCount);
}
void AddBool(char* item_text, bool item_bool){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].extra_val = item_bool;
menu_item[itemCount].type = 3;
}
void AddBool_NoHighlight(char* item_text){
itemCount++;
menu_item[itemCount].name = item_text;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].type = 12;
}
void AddGxt_Model(uint item_gxt_hash){
itemCount++;
SetBit(MenuActionBitSet, (itemCount - 1), true);
menu_item[itemCount].num_val = item_gxt_hash;
menu_item[itemCount].type = 5;
}
void Menu_Add_Item_Sco(bool item_bool){
menu_item[itemCount].extra_val = item_bool;
menu_item[itemCount].type = 4;
}
void Menu_Add_Action(void){
SetBit(MenuActionBitSet, (itemCount - 1), true);
}
void Load_Sco(char* item_text, char* item_script){
//Make an item type for this
if (DOES_SCRIPT_EXIST(item_script)){
AddSubMenu(item_text);
Essentials_script[itemCount] = item_script;
bool enabled;
if (GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT(item_script) == 1)
enabled = true;
Menu_Add_Item_Sco(enabled);
Menu_Add_Action();
}
else{
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_SHOW_MISSING_SCO)){
Add_NotPresent(item_text);
}
}
}
void Essentials_apply(void){
if (menu_item[SelectedItem].extra_val){
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME(Essentials_script[SelectedItem]);
menu_item[SelectedItem].extra_val = false;
}
else{
TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME(Essentials_script[SelectedItem]);
START_NEW_SCRIPT(Essentials_script[SelectedItem], 1024);
MARK_SCRIPT_AS_NO_LONGER_NEEDED(Essentials_script[SelectedItem]);
Menu_Has_Sco_Loaded = false;
menu_item[SelectedItem].extra_val = true;
}
}
void Modmanager(void){
if(!Menu_Has_Sco_Loaded && !menu_item[SelectedItem].extra_val)load_script = Essentials_script[SelectedItem];
else Essentials_apply();
}
void Reset_Menu(void){
int I;
for (I = 1; I < (itemCount + 1); I++){
menu_item[I].name = null_string;
menu_item[I].type = 0;
menu_item[I].num_val = 1;
menu_item[I].extra_val = 0;
SetBit(MenuActionBitSet, (I - 1), false);
}
Menu_Start_Pos_y = menu_consts_start_y;
menu_max = menu_consts_max;
itemCount = 0;
}
void Base_Error(uint Error_id){
//if (menu_item[SelectedItem].action) Menu_Action_Error = true;
if(GetBit(MenuActionBitSet,SelectedItem - 1))SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_ACTION_ERROR, true);
Reset_Menu();
MENU_HEADER = Essentials_Error;
if (Error_id == MODMANAGER_ERROR_ID_INVALID)AddSubMenu(Essentials_Error_invalid);
else if (Error_id == MODMANAGER_ERROR_ID_SCRIPT)AddSubMenu(Essentials_Error_script);
AddSubMenu(Essentials_Error_goback);
SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR, true);
PLAY_AUDIO_EVENT("FRONTEND_MENU_ERROR");
}

View File

@@ -0,0 +1,98 @@
/**
* @ MD EXTEND+
* @ Version MDv13 TRIDENT(Essentials Based)
* @ MADE BY - DEVILSDESIGN & IIV NATHAN VII
*/
//THIS IS NOT TO BE SHARED, THERE WILL BE HUGE CONSEQUENSES --> Nail in coffin for IV/ infinite loading screens for everybody 24/7 just like Red Dead Redemption
#pragma once
void SetByte(int* addr, const int val)
{
#ifdef VERSION_PC
*addr = (val % 256);
#else
*addr = SHIFT_LEFT(val % 256, 24) | (*addr & 0xFFFFFF);
#endif
}
int GetByte(const int* addr)
{
#ifdef VERSION_PC
return *addr % 256;
#else
return SHIFT_RIGHT(*addr, 24);
#endif
}
char* Strcpy(const char* dest, const char* src)
{
int i;
for(i = 0; GetByte((int*)((int)src + i)); i++)
SetByte((int*)((int)dest + i), GetByte((int*)((int)src + i)));
SetByte((int*)((int)dest + i), 0);
return dest;
}
char* Strcat(const char* dest, const char * src)
{
unsigned int len = GET_LENGTH_OF_LITERAL_STRING(dest);
Strcpy((char*)((int)dest + len), src);
return dest;
}
char* itoa(const int num, const char * dest)
{
uint numArr[10];
unsigned int len = GET_LENGTH_OF_LITERAL_STRING(dest);
unsigned int size = 0;
int i = num;
bool negative = num < 0;
if(negative) Strcpy((char*)((int)dest + len), "-");
do
{
numArr[9-size] = i % 10;
i /= 10;
size++;
} while(i != 0);
for(i = (10 - size); i < 10; i++)
{
SetByte((int*)((int)dest + (len + (i-(10-size)) + negative)), (numArr[i] + '0'));
}
SetByte((int*)((int)dest + (len + size + negative)), 0);
return dest;
}
//Nathans funcs/////////
void PLAYERS_COLOUR(const int playerindex, char * dest)
{
Strcat(dest, "~COL_NET_");
itoa( (playerindex + 1), dest);
Strcat(dest, "~");
}
void PLAYER_NAME_WITH_COLOUR(const int playerindex, char * dest) //WORKS!
{
PLAYERS_COLOUR(playerindex, dest);
Strcat(dest, GET_PLAYER_NAME(playerindex));
}
char* VEHICLES_MODEL_NAME(const int vehicle)
{
int model;
GET_CAR_MODEL(vehicle,&model);
return GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(model));
}
////////////////////////
char* ftoa(float num, char * dest, int decimalPlaces)
{
itoa((int)num, dest);
Strcat(dest, ".");
itoa( (int)((num - (int)num) * POW(10.0, (float)decimalPlaces)), dest);
return dest;
}

View File

@@ -0,0 +1,39 @@
/**
* @ MAJOR DISTRIBUTION EXTEND
* @ Version MDv12
* @ MADE BY - DEVILSDESIGN & IIV_NATHAN_VII & SHOCKixiXixiWAVE
*/
//security_bool = false;
Blip PlayerBlips[16];
Texture radar;
int iPlayer;
Ped pPlayer;
int Glowing = 0;
int Rotating360 = 1;
bool security_bool = false;
bool Glowing_Increment = false;
bool buttons = true;
bool nohost = true;
bool EventPrints;
bool Terminate4Ghost;
bool Joined = false;
bool Joining_Display = true;
bool Joined_Normal = false;
bool found_host = false;
bool Joined_As_Ghost = false;
bool is_xbox_version = false;
int Attach_Type = 0;
int userfound = 0;
#ifdef Admin
int AdminCommandTick = 0;
int AdminCommandTickLevel = 10;
float admin_coord_x, admin_coord_y;
float previous_admin_coord_x, previous_admin_coord_y, previous_admin_coord_z;
#endif
uint ChangeNetPlayer;
int AdminAttachScanObj;
int adminAdvertisePed;
uint admin_tick_delay = 0;

View File

@@ -0,0 +1,890 @@
/**
* @ MAJOR DISTRIBUTION EXTEND
* @ Current Version : TRIDENT
* @ MADE BY - DEVILSDESIGN & IIV_NATHAN_VII & SHOCKixiXixiWAVE
*/
uint menu_max, menu_consts_max, menu_start_scrolling;
float Menu_Start_Pos_x = 0.6950f, Menu_Start_Pos_y = 0.1550f;
float Player_Stats_Pos_x = 0.2400f,Player_Stats_Pos_y = 0.1300f; // Stats Window
float dropdown_y = 1.2;
bool Update_On_Display_Only;
#pragma once
#define Gold 164, 134, 35
#define ItemLine_MD 164, 134, 35
#define Chocolate 210,105,30
#define Steelblue 70,130,180
#define DevilsRed 153, 0, 0
#define menu_consts_start_y Menu_Start_Pos_y
#define Centering_Pos 0.1250f
#define Window_Pos_x Menu_Start_Pos_x
#define Window_Pos_y Menu_Start_Pos_y
#define Header_Pos_x Menu_Start_Pos_x + 0.0200f
#define Header_Pos_y Menu_Start_Pos_y + 0.0050f
#define Header_r 177
#define Header_g 19
#define Header_b 26
#define Header_a 255
#define Header_Txt_Size 0.258f,0.432f
#define Extend_Txt_Size 0.303f,0.450f
#define Updated_Txt_Size 0.1500f,0.2200f
#define Sub_Header_Pos_x Menu_Start_Pos_x
#define Sub_Header_Pos_y Menu_Start_Pos_y + 0.0400f
#define Sub_Header_r 58
#define Sub_Header_g 95
#define Sub_Header_b 205
#define Sub_Header_Txt_Size 0.2000f,0.3200f
#define Version_Pos_x Menu_Start_Pos_x + 0.2109f
#define Version_Pos_y Menu_Start_Pos_y + 0.0045f
#define Version_Txt_Size 0.4200f,0.9500f
#define SubVersion_Txt_Size 0.303f,0.450f
#define SubVersion_Pos_y Menu_Start_Pos_y + 0.0300f
#define Line_Pos_x Menu_Start_Pos_x
#define Line_Pos_y Menu_Start_Pos_y + 0.0675f
#define Line_r 255
#define Line_g 255
#define Line_b 255
#define Item_Pos_x Menu_Start_Pos_x + 0.020f
#define Item_StringValue_Pos_x Item_Pos_x + 0.2150f
#define Item_Pos_y 0.0500f
#define Item_height 0.0280f
#define Item_Txt_Size 0.19f,0.35f
#define Names_Txt_Size 0.19f,0.35f
#define Jumpover_Txt_Size 0.209,0.385f
#define Item_r 180
#define Item_g 180
#define Item_b 180
#define Item_a 255
#define Scroll_Item_r 255
#define Scroll_Item_g 255
#define Scroll_Item_b 255
#define SubMenu_r 139
#define SubMenu_g 134
#define SubMenu_b 130
#define MenuBlip_r 255
#define MenuBlip_g 255
#define MenuBlip_b 255
#define Item_Highlight_r 255
#define Item_Highlight_g 143
#define Item_Highlight_b 0
#define AddString_r 138
#define AddString_g 43
#define AddString_b 226
#define JumpOver_r 58
#define JumpOver_g 95
#define JumpOver_b 205
#define Bool_r 255
#define Bool_g 128
#define Bool_b 0
#define Ranksize 0.0160f, 0.0200f
#define Color_Palette_x Menu_Start_Pos_x + 0.1850f
#define Color_Palette_y Menu_Start_Pos_y + 0.1200f
#define Color_Palette_Scroll 0.028
#define Info_Item_Text 0.1520f,0.2800f
#define Stats_Item_Text 0.1530f,0.32725f
#define Stats_Item_Height 0.025f
#define Stats_Window_width 0.18f
#define Stats_Item_Margin_x 0.010f
#define Stats_Item_r 255
#define Stats_Item_g 255
#define Stats_Item_b 255
#define Stats_Value_r 255
#define Stats_Value_g 143
#define Stats_Value_b 0
//Green
#define Stats_Yes_r 204
#define Stats_Yes_g 0
#define Stats_Yes_b 0
//Red
#define Stats_No_r 0
#define Stats_No_g 204
#define Stats_No_b 0
//Red Alert
#define Alert_r 255
#define Alert_g 0
#define Alert_b 0
#define Ghost_r 0
#define Ghost_g 102
#define Ghost_b 204
#define Holy_r 127
#define Holy_g 0
#define Holy_b 255
#define Spy_Item_r 255
#define Spy_Item_g 255
#define Spy_Item_b 255
#define Orange_rgb 255,69,0
//Purple for allerts!
#define Stats_Allert_r 177
#define Stats_Allert_g 19
#define Stats_Allert_b 26
#define Stats_Spacer_40 0.040f
#define Stats_Spacer_50 0.050f
#define Stats_Spacer_60 0.060f
#define Stats_Spacer_70 0.070f
#define Stats_Spacer_80 0.080f
#define Stats_Spacer_90 0.090f
#define MDVersion_y Item_Start_y - 0.052f
#define MDVersion_x Menu_Start_Pos_x - 0.0800f
#define Frames_Allert_r 143
#define Frames_Allert_g 9
#define Frames_Allert_b 220
//#define MDVersion_Txt_Size 0.1520f,0.2800f
#define MD_Frames_Txt_Size 0.19f,0.35f
#define MDVersion_r 0
#define MDVersion_g 76
#define MDVersion_b 153
#define MDVersion_Txt_Size 0.19f,0.35f
#define Mic_Talk_r 255
#define Mic_Talk_g 140
#define Mic_Talk_b 0
#define Has_Mic_r 255
#define Has_Mic_g 255
#define Has_Mic_b 255
#define MenuTypeSprite_y 0.0120f
Texture arrowUpDown;
Texture arrowLeftRight;
//Texture Map_Background_Texture;
//blips radar_police_heli 64x64
/**Item Types Blips**/
Texture Submenu_Blip;
Texture Charvalue_Blip;
Texture Invite_Icon;
void Menu_Setup_Draw(void){
menu_max = MAX_MENU_ITEMS;
menu_start_scrolling = MENU_START_SCROLLING;
}
void Menu_Open_Draw()
{
REQUEST_STREAMED_TXD("network", 1); //stop commenting this it prevents the menu from opening.. - Nathan
REQUEST_STREAMED_TXD("blips", 1);
CREATE_MOBILE_PHONE(2);
SET_CINEMATIC_BUTTON_ENABLED(false);
while (!HAS_STREAMED_TXD_LOADED("network")) WAIT(0);
arrowUpDown = GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_ARROW_UP");
arrowLeftRight = GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_ARROW_RIGHT");
Submenu_Blip = GET_TEXTURE_FROM_STREAMED_TXD("blips", "radar_police_heli");
Charvalue_Blip = GET_TEXTURE_FROM_STREAMED_TXD("blips", "radar_hospital");
PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_READY");
}
void Menu_Close_Draw(){
PLAY_AUDIO_EVENT("FRONTEND_MENU_MP_UNREADY");
DESTROY_MOBILE_PHONE();
SET_CINEMATIC_BUTTON_ENABLED(true);
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_SLIDE)){//Slider Position on start/closing
Menu_Start_Pos_x = 0.7500f;
Menu_Start_Pos_y = 0.155f;
}
Fading_100 = 100;
Fading_150 = 150;
dropdown_y = 1;
RELEASE_TEXTURE(arrowUpDown);
RELEASE_TEXTURE(arrowLeftRight);
RELEASE_TEXTURE(Submenu_Blip);
RELEASE_TEXTURE(Charvalue_Blip);
//MARK_STREAMED_TXD_AS_NO_LONGER_NEEDED("network"); ///hmmmmmm other scripts need this buddy, maybe bad idea
MARK_STREAMED_TXD_AS_NO_LONGER_NEEDED("blips");
}
void MicOnDisplay(){
if (Rotating360 >= 360)Rotating360 = 0;
else Rotating360 += 5;
if(FlashingGhost >= 255) SetBit(MD_Misc_OptionsBitSet, MD_MISC_FLASHING_GHOST_INCREMENT, false);
else if(FlashingGhost < 150) SetBit(MD_Misc_OptionsBitSet, MD_MISC_FLASHING_GHOST_INCREMENT, true);
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_FLASHING_GHOST_INCREMENT)){
if(FlashingGhost > 240){
FlashingGhost += (255 - FlashingGhost);
SetBit(MD_Misc_OptionsBitSet, MD_MISC_FLASHING_GHOST_INCREMENT, false);
}
else FlashingGhost += 2;
}
else FlashingGhost -= 2;
}
void Menu_Effects(){
float Menu_Move_x = Menu_Start_Pos_x;
float Menu_Move_y = Menu_Start_Pos_y;
if(Glowing >= 190) SetBit(MD_Misc_OptionsBitSet, MD_MISC_GLOWING_INCREMENT, false);
if(Glowing <= 0) SetBit(MD_Misc_OptionsBitSet, MD_MISC_GLOWING_INCREMENT, true);
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_GLOWING_INCREMENT)){
if(Glowing > 185) Glowing++;
else Glowing += 2;
}
else{
if(Glowing < 10) Glowing--;
else Glowing -= 2;
}
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_MOVE)){
if (IS_BUTTON_PRESSED(0,DPAD_RIGHT)) Menu_Start_Pos_x += 0.01;
else if (IS_BUTTON_PRESSED(0,DPAD_LEFT)) Menu_Start_Pos_x -= 0.01;
else if (IS_BUTTON_PRESSED(0,DPAD_UP)) Menu_Start_Pos_y -= 0.01;
else if (IS_BUTTON_PRESSED(0,DPAD_DOWN)) Menu_Start_Pos_y += 0.01;
Set_Up_Draw(Stats_Item_Text, Stats_Item_r, Stats_Item_g, Stats_Item_b, 255,0,0,0);
DISPLAY_TEXT_WITH_FLOAT(Menu_Start_Pos_x + Stats_Item_Margin_x + 0.1, Menu_Start_Pos_y -(Stats_Item_Height*3), "NUMBER", Menu_Move_x, 8);
USE_PREVIOUS_FONT_SETTINGS();
DISPLAY_TEXT_WITH_FLOAT(Menu_Start_Pos_x + Stats_Item_Margin_x + 0.1, Menu_Start_Pos_y -(Stats_Item_Height*2), "NUMBER", Menu_Move_y, 8);
USE_PREVIOUS_FONT_SETTINGS();
Draw_Text("STRING", Menu_Start_Pos_x + Stats_Item_Margin_x, Menu_Start_Pos_y -(Stats_Item_Height*3), "Menu Pos x:");
USE_PREVIOUS_FONT_SETTINGS();
Draw_Text("STRING", Menu_Start_Pos_x + Stats_Item_Margin_x, Menu_Start_Pos_y -(Stats_Item_Height*2), "Menu Pos y:");
}
if(Move_Player_Info){
if (IS_BUTTON_PRESSED(0,DPAD_RIGHT)) InfoDisplay_x += 0.01;
else if (IS_BUTTON_PRESSED(0,DPAD_LEFT)) InfoDisplay_x -= 0.01;
else if (IS_BUTTON_PRESSED(0,DPAD_UP)) InfoDisplay_y -= 0.01;
else if (IS_BUTTON_PRESSED(0,DPAD_DOWN)) InfoDisplay_y += 0.01;
Set_Up_Draw(Stats_Item_Text, Stats_Item_r, Stats_Item_g, Stats_Item_b, 255,0,0,0);
DISPLAY_TEXT_WITH_FLOAT(InfoDisplay_x + Stats_Item_Margin_x + 0.1, InfoDisplay_y -(Stats_Item_Height*3), "NUMBER", Menu_Move_x, 8);
USE_PREVIOUS_FONT_SETTINGS();
DISPLAY_TEXT_WITH_FLOAT(InfoDisplay_x + Stats_Item_Margin_x + 0.1, InfoDisplay_y -(Stats_Item_Height*2), "NUMBER", Menu_Move_y, 8);
USE_PREVIOUS_FONT_SETTINGS();
Draw_Text("STRING", InfoDisplay_x + Stats_Item_Margin_x, InfoDisplay_y -(Stats_Item_Height*3), "Menu Pos x:");
USE_PREVIOUS_FONT_SETTINGS();
Draw_Text("STRING", InfoDisplay_x + Stats_Item_Margin_x, InfoDisplay_y -(Stats_Item_Height*2), "Menu Pos y:");
}
if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_SLIDE)){
if(Menu_Start_Pos_x > 0.6951f){
Menu_Start_Pos_x -= 0.008f;
Menu_Start_Pos_y = 0.155f;
}
}
if(Fading_100 < 255)Fading_100 += 5;
if(Fading_150 < 255)Fading_150 += 5;
}
void Draw_Spy_Helper_Window(void){
if(Draw_Spy_Helper){
Set_Up_Draw(MDVersion_Txt_Size, Gold, Header_a,0,0,0);
DISPLAY_TEXT_WITH_LITERAL_STRING( 0.19f, 0.754f, "STRING", "SPECTATE MODE OPTIONS");
Set_Up_Draw(Info_Item_Text, Spy_Item_r, Spy_Item_g, Spy_Item_b, Header_a,0,0,0);
DISPLAY_TEXT_WITH_LITERAL_STRING( 0.19f,0.782f, "STRING", "DISABLE - Hold: ~PAD_LB~ - Press: ~PAD_RB~");
USE_PREVIOUS_FONT_SETTINGS();
DISPLAY_TEXT_WITH_LITERAL_STRING( 0.19f, 0.81f , "STRING", "TELEPORT TO PLAYER - Hold: ~PAD_LB~ - Press: ~PAD_RT~");
USE_PREVIOUS_FONT_SETTINGS();
DISPLAY_TEXT_WITH_LITERAL_STRING( 0.19f, 0.838f, "STRING", "TELEPORT SAFE ZONE - Hold: ~PAD_LB~ - Press: ~PAD_LT~");
}
}
void Menu_Draw_Footer_2(){
}
float Timer_Slide = 0;
void Ghost_Player_List(void){
/*
if(IS_BUTTON_JUST_PRESSED(0,DPAD_DOWN)) //Minimap zoom (just like freemode does it) works flawless //flashes when scrolling and menu open (doesnt normally so)
{
//BUILT IN CRASH HOPEFULLY IF MENU STARTUP NOT FOUND!
if(GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT("menu_startup") < 1)
{
if(minimap_tick > GetTickCount())
{
minimap_tick = (GetTickCount() - 5000);
}
else
{
minimap_tick = (GetTickCount() + 5000);
}
}
}
if(minimap_tick > GetTickCount())
{
SET_RADAR_ZOOM(980);
}
else
{
if(minimap_tick != 0)
{
SET_RADAR_ZOOM(0); //no need to loop this me don't think
minimap_tick = 0;
}
}
*/
if(PlayerList){
if(IS_BUTTON_JUST_PRESSED(0,DPAD_DOWN)) //Minimap zoom (just like freemode does it) works flawless //flashes when scrolling and menu open (doesnt normally so)
{
//BUILT IN CRASH HOPEFULLY IF MENU STARTUP NOT FOUND!
if(GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT("menu_startup") < 1)
{
if(playerlist_tick > GetTickCount())
{
playerlist_tick = (GetTickCount() - 5000);
}
else
{
playerlist_tick = (GetTickCount() + 5000);
}
}
}
if(playerlist_tick > GetTickCount() && GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT("menu_startup") < 1)
{
uint PlayerList_ID;
uint cr,cg,cb;
float Line_Y = 0.1000f;
float Line_X = 0.0630f;
float window_height = 0.0250f;
float scale = 0.60;
float width = 0.1800;
Player_Counter();
if(player_count > 0){
//DRAW_CURVED_WINDOW(Line_X - 0.020f ,Line_Y - 0.020f, width,window_height*(GET_NUMBER_OF_PLAYERS()+1.5), 200);
DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "MAP_LOBBY"),Line_X + (width/2) -0.02, Line_Y + (window_height*(player_count/2)) - 0.02, width, window_height*(player_count + 3 ), 0, 70,130,180, 255); //r g b a
Set_Up_Draw(0.303f*scale,0.450f*scale, Gold, FlashingGhost,0,0,0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Line_X + 0.01, Line_Y - 0.048 , "STRING", MENU_HEADER);
Set_Up_Draw(0.4200f*scale,0.9500f/2, Steelblue, 255, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Line_X - 0.01, Line_Y -0.053 , "STRING", "MD");
Set_Up_Draw(0.303f*0.80,0.450f*0.80, 255, 255, 255, 255,0,0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Line_X + width - 0.05, Line_Y - 0.05, "STRING", MD_SubVersion);
Set_Up_Draw(0.2000f*0.60,0.3200f*0.60, Steelblue, 255, 0, 0, 0);
SET_TEXT_CENTRE(1);
DISPLAY_TEXT_WITH_LITERAL_STRING(Line_X + (width/2) - 0.02, Line_Y - 0.03, "STRING", MENU_SUB_HEADER);
DRAW_RECT(Line_X + (width/2) - 0.02, Line_Y -0.01 , width, 0.00200000f, Line_r, Line_g, Line_b, 255);
for(PlayerList_ID = 0;PlayerList_ID < MAX_PLAYERS ;PlayerList_ID++){
if (Invalid_Player(PlayerList_ID)) continue;
#ifndef Developer
if(Is_Developer(PlayerList_ID)) continue;
#endif
char* Playerlist_name = GET_PLAYER_NAME(PlayerList_ID);
GET_PLAYER_RGB_COLOUR(PlayerList_ID,&cr,&cg,&cb);
Set_Up_Draw(0.1950f,0.3600f,cr,cg,cb,255,0,0,0);
SET_TEXT_FONT(Player_Name_Font);
SET_TEXT_USE_UNDERSCORE(!is_xbox_version);
DISPLAY_TEXT_WITH_LITERAL_STRING(Line_X + 0.0260f, Line_Y, "STRING", Playerlist_name);
if(IS_NETWORK_PLAYER_ACTIVE(PlayerList_ID)){
DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_PLAYER"),Line_X + 0.0100f , Line_Y + 0.0120f, 0.0200f, 0.0250f, 0, 255, 255, 255, 255);
}
else {
if(PLAYER_HAS_CHAR(PlayerList_ID))DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_CRIMINAL"),Line_X + 0.0100f , Line_Y + 0.0120f, 0.0200f, 0.0250f, 0, 255, 255, 255, 255);
else DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_DEATHS"),Line_X + 0.0100f , Line_Y + 0.0120f, 0.0200f, 0.0250f, 0, 255, 255, 255, 255);
}
if(NETWORK_PLAYER_HAS_HEADSET(PlayerList_ID)){//Headset icon
if(!NETWORK_IS_PLAYER_TALKING(PlayerList_ID))DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_HEADSET_ON1"),Line_X - 0.0100f, Line_Y + 0.0120f, 0.0160f, 0.0160f, Rotating360, Has_Mic_r, Has_Mic_g, Has_Mic_b, 255);
else DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_HEADSET_ON1"),Line_X - 0.0100f, Line_Y + 0.0120f, 0.0160f, 0.0160f, Rotating360, Mic_Talk_r, Mic_Talk_g, Mic_Talk_b, 255);
}
Line_Y += 0.025f;
}
}
}
}
}
void Menu_Draw_Header(){
Set_Up_Draw(Extend_Txt_Size, Gold, FlashingGhost,0,0,0);
SET_TEXT_DROPSHADOW( 0, 0, 0, 0, 255 );
DISPLAY_TEXT_WITH_LITERAL_STRING(Header_Pos_x + 0.035, Header_Pos_y + 0.005, "STRING", MENU_HEADER);
Set_Up_Draw(Version_Txt_Size, Steelblue, 255, 0, 0, 0);
SET_TEXT_DROPSHADOW( 0, 0, 0, 0, 255 );
DISPLAY_TEXT_WITH_LITERAL_STRING(Header_Pos_x, Header_Pos_y, "STRING", "MD");
//Set_Up_Draw(Extend_Txt_Size, Header_r, Glowing, Glowing, FlashingGhost,FlashingGhost,FlashingGhost, FlashingGhost);
Set_Up_Draw(Extend_Txt_Size, Steelblue, 255, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Version_Pos_x, Sub_Header_Pos_y - 0.02, "STRING", MD_SubVersion);
Set_Up_Draw(Sub_Header_Txt_Size, Steelblue, 255, 0, 0, 0);
SET_TEXT_CENTRE(1);
SET_TEXT_DROPSHADOW( 0, 0, 0, 0, 255 );
DISPLAY_TEXT_WITH_LITERAL_STRING(Sub_Header_Pos_x + Centering_Pos, Sub_Header_Pos_y, "STRING", MENU_SUB_HEADER);
DRAW_RECT(Line_Pos_x + Centering_Pos,Line_Pos_y, 0.2500f, 0.00200000f, Line_r, Line_g, Line_b, 255);
if(dropdown_y > 0.9600f)dropdown_y -= 0.01;
else dropdown_y = 0.9500f;
if(GET_NUMBER_OF_INSTANCES_OF_STREAMED_SCRIPT("InqGhost") < 1)
{
Set_Up_Draw(MDVersion_Txt_Size,Gold,255,0,0,0);
DISPLAY_TEXT_WITH_LITERAL_STRING( 0.35, dropdown_y, "STRING", "~BLIP_76~ DONT ABUSE YOUR MODS - KEEP MODDING FUN FOR EVERYONE! ~BLIP_76~");
}
}
void Menu_Draw_Window(void){
float y2;
HIDE_HELP_TEXT_THIS_FRAME();
if (itemCount > menu_consts_max) y2 = 0.09f + (menu_consts_max * 0.0275f);
else y2 = 0.09f + (itemCount * 0.0275f);
//DRAW_CURVED_WINDOW(Window_Pos_x, Window_Pos_y, 0.2500f, y2, 180);
//Map_Background_Texture = GET_TEXTURE_FROM_STREAMED_TXD("network", "MAP_LOBBY");
DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "MAP_LOBBY"),Window_Pos_x + Centering_Pos, Window_Pos_y + (y2/2), 0.2500f, y2, 0, 70,130,180, 180);
}
void Menu_Draw_Helper(void){
INIT_FRONTEND_HELPER_TEXT();
DRAW_FRONTEND_HELPER_TEXT((menu_level == 1) ? "LEAVE" : "BACK", "INPUT_F_CANCEL", 0);
//if (menu_level == 1)DRAW_FRONTEND_HELPER_TEXT("LEAVE", "INPUT_F_CANCEL", 0);
//else DRAW_FRONTEND_HELPER_TEXT("BACK", "INPUT_F_CANCEL", 0);
//if (menu_item[item_highlighted].action) DRAW_FRONTEND_HELPER_TEXT("CONFIRM", "INPUT_F_ACCEPT", 0);
if(GetBit(MenuActionBitSet, (item_highlighted - 1))) DRAW_FRONTEND_HELPER_TEXT("CONFIRM", "INPUT_F_ACCEPT", 0);
else DRAW_FRONTEND_HELPER_TEXT("KYB_ENTER", "INPUT_F_ACCEPT", 0);
}
void Menu_Draw_Content(void){
int PlayerName_R,PlayerName_G, PlayerName_B, player_a = Item_a;
int Item_Number;
float Item_Start_y = Menu_Start_Pos_y + Item_Pos_y;
for (Item_Number = 1; Item_Number <= itemCount; Item_Number++){
Item_Start_y = (Item_Start_y + Item_height);
if (Item_Number <= menu_max && Item_Start_y > (menu_consts_start_y + 0.0100f)){
if (item_highlighted == Item_Number && !GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
/**Scrollbar**/
DRAW_RECT(Menu_Start_Pos_x + Centering_Pos, (Item_Start_y + 0.0110f), 0.2500f, 0.0267f, Glowing, Glowing,200, 150); //Scrollbar
/**Playerlist CrossBrowse Display BASICS**/
if (menu_item[Item_Number].type > 20 && menu_item[Item_Number].type < 30){
if(!In_Network) ChangeNetPlayer = iPlayer; // When not online we select self --> Works perfect
/**Freeze preventor - Make player select player Kill actions if not allowed (for future use with holy ghost) **/
if(Player_Display_Selection(players[ChangeNetPlayer].id)){
DRAW_RECT(Menu_Start_Pos_x + Centering_Pos, (Item_Start_y + 0.0110f), 0.2500f, 0.0267f, 255, 0,0, 255);
int scanner;
for(scanner = 0; scanner < 16; scanner++){ //Setting for urself to prevent freezing.
if(players[scanner].id != iPlayer) continue;
ChangeNetPlayer = scanner;
break;
}
SetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR, true);
continue;
}
/**Draw Crossbrowse Player Name**/
GET_PLAYER_RGB_COLOUR(players[ChangeNetPlayer].id,&PlayerName_R,&PlayerName_G,&PlayerName_B);
CrossBrowse_PlayerName = GET_PLAYER_NAME(players[ChangeNetPlayer].id);
Set_Up_Draw(Names_Txt_Size, PlayerName_R, PlayerName_G, PlayerName_B, player_a, 0, 0, 0);
SET_TEXT_CENTRE(1);
SET_TEXT_USE_UNDERSCORE(true);
SET_TEXT_FONT(Player_Name_Font);
DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0800f, Item_Start_y + 0.0040f, "STRING", CrossBrowse_PlayerName);
/**Draw Crossbrowse Scollerwindow**/
DRAW_CURVED_WINDOW(Menu_Start_Pos_x - 0.1600f,Item_Start_y, 0.1575f, 0.0275f, 180);
DRAW_SPRITE(arrowLeftRight, Menu_Start_Pos_x - 0.1500f, Item_Start_y + 0.015f, 0.0160f, 0.0160f, 180.0000f, Header_r, Header_g, Header_b,Header_a);
DRAW_SPRITE(arrowLeftRight, Menu_Start_Pos_x - 0.0120f, Item_Start_y + 0.015f, 0.0160f, 0.0160f, 0.0000f, Header_r, Header_g, Header_b, Header_a);
/**Draw Crossbrowse NAME scrol helper**/
Set_Up_Draw(Info_Item_Text, Orange_rgb, Header_a, 0, 0, 0);
SET_TEXT_CENTRE(1);
DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.1200f, Item_Start_y + 0.0050f + Item_height, "STRING", "Select Player Hold ~PAD_X~ Press ~PAD_DPAD_LEFTRIGHT~ / ~PAD_X~ + ~PAD_BACK~ for self");
// Set_Up_Draw(Info_Item_Text, Orange_rgb, Header_a, 0, 0, 0);
// SET_TEXT_CENTRE(1);
// DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0800f, Item_Start_y + 0.0050f + Item_height*2, "STRING", "Select Self: Hold: ~PAD_X~ Press: ~PAD_LB~");
/**Draw Crossbrowse Mic Display**/
Set_Up_Draw(Sub_Header_Txt_Size, Header_r, Glowing, Glowing, Header_a, 0, 0, 0);
SET_TEXT_CENTRE(1);
if(NETWORK_PLAYER_HAS_HEADSET(players[ChangeNetPlayer].id)){
if(!NETWORK_IS_PLAYER_TALKING(players[ChangeNetPlayer].id))
DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_HEADSET_ON1"),Menu_Start_Pos_x - 0.0120f, Item_Start_y + 0.015f - 0.028f, 0.0160f, 0.0160f, Rotating360, Has_Mic_r, Has_Mic_g, Has_Mic_b, Header_a);
else DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_HEADSET_ON1"),Menu_Start_Pos_x - 0.0120f, Item_Start_y + 0.015f - 0.028f, 0.0160f, 0.0160f, Rotating360, Mic_Talk_r, Mic_Talk_g, Mic_Talk_b, Header_a);
}
/**Draw Crossbrowse If Muted**/
/*
else if(NETWORK_IS_PLAYER_MUTED_BY_ME(players[ChangeNetPlayer].id)){
Set_Up_Draw(Info_Item_Text, Stats_Yes_r, Stats_Yes_g, Stats_Yes_b, 255,0,0,0);
Draw_Text("STRING", Menu_Start_Pos_x - 0.15, Item_Start_y - 0.025, "Muted");
}
*/
/**Draw Crossbrowse Autospectate**/
else if(GetBit(MD_Misc_OptionsBitSet, MD_MISC_AUTO_SPECTATE)){
Set_Up_Draw(Info_Item_Text, Stats_Yes_r, Stats_Yes_g, Stats_Yes_b, 255,0,0,0);
Draw_Text("STRING", Menu_Start_Pos_x - 0.15, Item_Start_y - 0.025, "Auto-Spectate ~COL_NET_3~ON");
}
if(!is_xbox_version)DRAW_SPRITE(GET_PLAYER_RANK_TEXTURE(players[ChangeNetPlayer].id),Menu_Start_Pos_x - 0.0400f, Item_Start_y + 0.015f - 0.028f, 0.0200f, 0.0250f, 0, 255, 255, 255, Header_a);//Display Rank
/**Detection for EXTEND users */ // This worke perfect
if(MD_Version_Detector){
char* usertype = "null";
#ifdef SuperAdmin //stealth is always good
if(Is_Developer(players[ChangeNetPlayer].id))usertype = "~BLIP_76~ MD Developer";
else if(Is_SuperAdmin(players[ChangeNetPlayer].id))usertype = "~BLIP_76~ MD SuperAdmin";
#else
if(Is_SuperAdmin(players[ChangeNetPlayer].id))usertype = "~BLIP_76~ MD SuperAdmin";
#endif
bool premium = Is_Premium(players[ChangeNetPlayer].id);
bool whitelist = Is_Whitelisted(players[ChangeNetPlayer].id);
if(COMPARE_STRING(usertype,"null")) {
if(!Is_SuperAdmin(players[ChangeNetPlayer].id))
{
if(Is_Admin(players[ChangeNetPlayer].id))usertype = "~BLIP_76~ MD Admin";
else if(premium && whitelist)usertype = "~BLIP_76~ MD Premium Whitelisted";
else if(premium)usertype = "~BLIP_76~ MD Premium";
else if(whitelist)usertype = "~BLIP_76~ MD Whitelisted";
}
}
if(COMPARE_STRING(usertype,"null")){
if(userfound > 0){
if(userfound == 130)usertype = "~BLIP_76~ MD v13 User";
else if(userfound == 90)usertype = "~BLIP_76~ MD v11 User";
else if(userfound == 81)usertype = "~BLIP_76~ MD v8.1 User";
else if(userfound == 80)usertype = "~BLIP_76~ MD v8 User";
else if(userfound == 70)usertype = "~BLIP_76~ MD v7 User";
}
}
if(!COMPARE_STRING(usertype,"null")){
Set_Up_Draw(Sub_Header_Txt_Size, Header_r, Glowing, Glowing, Header_a, 0, 0, 0);
SET_TEXT_CENTRE(1);
DISPLAY_TEXT_WITH_LITERAL_STRING(MDVersion_x, MDVersion_y, "STRING",usertype);
}
}
//}
}
/**Draw helpers on Highlighted Item types**/
/**Item for AddNum Display**/
if(menu_item[Item_Number].type == 8 || menu_item[Item_Number].type == 22){
Set_Up_Draw(Info_Item_Text, Header_r, Glowing, Glowing, 255, 0, 0, 0);
SET_TEXT_CENTRE(1);
if(menu_item[Item_Number].type == 8)DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0700f, Item_Start_y + 0.0040f, "STRING", "Select Value: ~PAD_DPAD_LEFTRIGHT~");
else DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0700f, Item_Start_y + 0.0050f + Item_height*2, "STRING", "Select Value: ~PAD_DPAD_LEFTRIGHT~");
}
/**Item for AddString Display**/
if(menu_item[Item_Number].type == 9 || menu_item[Item_Number].type == 23){
Set_Up_Draw(Info_Item_Text, Header_r, Glowing, Glowing, 255, 0, 0, 0);
SET_TEXT_CENTRE(1);
if(menu_item[Item_Number].type == 9)DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0700f, Item_Start_y + 0.0050f, "STRING", "Select Value: ~PAD_DPAD_LEFTRIGHT~");
else DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0700f, Item_Start_y + 0.0050f + Item_height*2, "STRING", "Select Value: ~PAD_DPAD_LEFTRIGHT~");
}
/**Item for Add_Line_String Display**/
if(menu_item[Item_Number].type == 15 || menu_item[Item_Number].type == 24){
Set_Up_Draw(Info_Item_Text, Header_r, Glowing, Glowing, Header_a, 0, 0, 0);
SET_TEXT_CENTRE(1);
if(menu_item[Item_Number].type == 15)DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0700f, Item_Start_y + 0.0040f, "STRING", "Select Value: ~PAD_DPAD_LEFTRIGHT~");
else DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0700f, Item_Start_y + 0.0050f + Item_height*2, "STRING", "Select Value: ~PAD_DPAD_LEFTRIGHT~");
}
if(menu_item[Item_Number].type == 14){
Set_Up_Draw(Info_Item_Text, Header_r, Glowing, Glowing, Header_a, 0, 0, 0);
SET_TEXT_CENTRE(1);
if(menu_item[Item_Number].type == 14)DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0700f, Item_Start_y + 0.0040f, "STRING", "Select Value: ~PAD_DPAD_LEFTRIGHT~");
//else DISPLAY_TEXT_WITH_LITERAL_STRING( Menu_Start_Pos_x - 0.0700f, Item_Start_y + 0.0050f + Item_height*2, "STRING", "Select Value: ~PAD_DPAD_LEFTRIGHT~");
}
}
/**Bool Items**/
if (menu_item[Item_Number].type == 3 || menu_item[Item_Number].type == 25){
if(last_selected[1] == 2 && menu_level == 4 && last_selected[3] == 5){//(Md assist drive walk water etc)
if(Item_Number == 8 && GetBit(infiniteArmourBitSet, players[ChangeNetPlayer].id)){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, FlashingGhost, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else if(Item_Number == 9 && DOES_OBJECT_EXIST(drive_water[players[ChangeNetPlayer].id])){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, FlashingGhost, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else if(Item_Number == 10 && GetBit(autoFlipVehBitSet, players[ChangeNetPlayer].id)){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, FlashingGhost, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}//rocketWeaponsBitSet
else if(Item_Number == 11 && GetBit(autoFixVehBitSet, players[ChangeNetPlayer].id)){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, FlashingGhost, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else if(Item_Number == 12 && GetBit(freezeGunProtectBitSet, players[ChangeNetPlayer].id)){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, FlashingGhost, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else if(Item_Number == 13 && GetBit(neverWantedBitSet, players[ChangeNetPlayer].id)){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, FlashingGhost, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else if(Item_Number == 14 && GetBit(rocketWeaponsBitSet, players[ChangeNetPlayer].id)){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, FlashingGhost, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else if(menu_item[Item_Number].extra_val && !(menu_item[Item_Number].type > 20 && menu_item[Item_Number].type < 30)){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, Item_a, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else{//OFF
Set_Up_Draw(Item_Txt_Size, Item_r, Item_g, Item_b, Item_a, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
}
else {//else if not in net player bools
if(menu_item[Item_Number].extra_val){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, Item_a, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else{
Set_Up_Draw(Item_Txt_Size, Item_r, Item_g, Item_b, Item_a, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
}
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100, Item_Start_y + MenuTypeSprite_y, 0.0100, 0.0160, 0.000, Bool_r, Bool_g, Bool_b, Fading_100);
}
/**Sco Item Present Display**/
else if (menu_item[Item_Number].type == 4){
if (menu_item[Item_Number].extra_val){//ON
Set_Up_Draw(Item_Txt_Size, Item_Highlight_r, Item_Highlight_g, Item_Highlight_b, Item_a, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
else{//OFF
Set_Up_Draw(Item_Txt_Size, Item_r, Item_g, Item_b, Item_a, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y,"STRING", menu_item[Item_Number].name);
}
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100, Item_Start_y + MenuTypeSprite_y, 0.0100, 0.0160, 0.000, Stats_No_r, Stats_No_g, Stats_No_b, Fading_100);
}
/**Item Vehicle Display**/
else if (menu_item[Item_Number].type == 5 || menu_item[Item_Number].type == 27){
Set_Up_Draw(Item_Txt_Size, Item_r, Item_g, Item_b, Item_a, 0, 0, 0);
SET_TEXT_USE_UNDERSCORE(1);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(menu_item[Item_Number].num_val)));
}
/**Item Not Present Display - Used for .sco files that are not present**/
else if (menu_item[Item_Number].type == 6){
Set_Up_Draw(Item_Txt_Size, Header_r, Glowing, Glowing, Fading_100, 0,0, Glowing);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", menu_item[Item_Number].name);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100, Item_Start_y + MenuTypeSprite_y, 0.0100, 0.0160, 0.000, Stats_Yes_r, Stats_Yes_g, Stats_Yes_b, Fading_100);
}
/**Playernames Item Vertical Display**/
else if (menu_item[Item_Number].type == 7){
if (Player_Display_Selection(players[Item_Number - 4].id))continue;
GET_PLAYER_RGB_COLOUR(players[Item_Number - 4].id,&PlayerName_R,&PlayerName_G,&PlayerName_B);
Set_Up_Draw(Names_Txt_Size, PlayerName_R, PlayerName_G, PlayerName_B, player_a, 0, 0, 0);
SET_TEXT_USE_UNDERSCORE(true);
SET_TEXT_FONT(Player_Name_Font);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x + 0.0150, Item_Start_y, "STRING", menu_item[Item_Number].name);
//!Headset
if(NETWORK_PLAYER_HAS_HEADSET(players[Item_Number - 4].id)){
if(!NETWORK_IS_PLAYER_TALKING(players[Item_Number - 4].id))DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_HEADSET_ON1"),Item_Pos_x - 0.0100 , Item_Start_y + 0.0120, 0.0160, 0.0160, Rotating360, Has_Mic_r, Has_Mic_g, Has_Mic_b, player_a);
else DRAW_SPRITE(GET_TEXTURE_FROM_STREAMED_TXD("network", "ICON_W_HEADSET_ON1"),Item_Pos_x - 0.0100 , Item_Start_y + 0.0120, 0.0160, 0.0160, Rotating360, Mic_Talk_r, Mic_Talk_g, Mic_Talk_b, player_a);
}
//!Ghost
if((Is_Normal_Ghost(players[Item_Number - 4].id))){
Model pPlayer_Model;
Set_Up_Draw(Names_Txt_Size, Ghost_r, Ghost_g, Ghost_b, FlashingGhost, 0, 0, 0);
SET_TEXT_RIGHT_JUSTIFY(1);
SET_TEXT_WRAP(0.0,Item_StringValue_Pos_x);
/*
//!When pPlayer
if ((players[Item_Number - 2].id) == iPlayer){
GET_CHAR_MODEL(pPlayer, &pPlayer_Model);
if(pPlayer_Model == MODEL_PLAYER){
DISPLAY_TEXT_WITH_LITERAL_STRING(0.0, Item_Start_y, "STRING", "Holy Ghost");
}
else DISPLAY_TEXT_WITH_LITERAL_STRING(0.0, Item_Start_y, "STRING", "Ghost");
}
else
*/
DISPLAY_TEXT_WITH_LITERAL_STRING(0.0, Item_Start_y, "STRING", "Ghost");
}
//!Real Ghost
if((Is_Holy_Ghost(players[Item_Number - 4].id))){
Set_Up_Draw(Names_Txt_Size, Holy_r, Holy_g, Holy_b, FlashingGhost, 20, 20, 0);
SET_TEXT_RIGHT_JUSTIFY(1);
SET_TEXT_WRAP(0.0,Item_StringValue_Pos_x);
DISPLAY_TEXT_WITH_LITERAL_STRING(0.0, Item_Start_y, "STRING", "Holy Ghost");
}
//!Rank
if(!is_xbox_version){
DRAW_SPRITE(GET_PLAYER_RANK_TEXTURE(players[Item_Number - 4].id),Item_Pos_x + 0.0050f , Item_Start_y + 0.0120f, Ranksize, 0, 255, 255, 255, player_a);
}
}
/**Item for AddNum Display**/
else if(menu_item[Item_Number].type == 8 || menu_item[Item_Number].type == 22){
float left_pos_x;
if(menu_item[Item_Number].num_val < 10)left_pos_x = Item_Pos_x + 0.2012f;
if(menu_item[Item_Number].num_val >= 10) left_pos_x = Item_Pos_x + 0.2080f;
if(menu_item[Item_Number].num_val >= 100)left_pos_x = Item_Pos_x + 0.2155f;
if(menu_item[Item_Number].num_val >= 1000)left_pos_x = Item_Pos_x + 0.2250f;
DRAW_SPRITE(arrowLeftRight, left_pos_x, Item_Start_y + MenuTypeSprite_y, 0.0160f, 0.0160f, 0.0000f, Header_r, Header_g, Header_b, Header_a);
Set_Up_Draw(Item_Txt_Size, 255, 255, 255, Item_a, 0, 0, 0);
DISPLAY_TEXT_WITH_NUMBER(Item_Pos_x + 0.1850f, Item_Start_y, "NUMBR", menu_item[Item_Number].num_val);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x + 0.1750f, Item_Start_y + MenuTypeSprite_y , 0.0160f, 0.0160f, 180.0000f, Header_r, Header_g, Header_b, Header_a);
Set_Up_Draw(Item_Txt_Size, Scroll_Item_r, Scroll_Item_g, Scroll_Item_b, Fading_100, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", menu_item[Item_Number].name);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.0000f, AddString_r, AddString_g, AddString_b, Fading_100);
}
/**Item for AddString Display**/
else if(menu_item[Item_Number].type == 9 || menu_item[Item_Number].type == 23){
Set_Up_Draw(Item_Txt_Size, Scroll_Item_r, Scroll_Item_g, Scroll_Item_b, Fading_100, 0, 0, 0);
Draw_Text("STRING", Item_Pos_x + 0.0150f, Item_Start_y, menu_item[Item_Number].name);
Set_Up_Draw(Item_Txt_Size, Scroll_Item_r, Scroll_Item_g, Scroll_Item_b, Fading_100, 0, 0, 0);
SET_TEXT_RIGHT_JUSTIFY(1);
SET_TEXT_WRAP(0.0,Item_StringValue_Pos_x);
DISPLAY_TEXT_WITH_LITERAL_STRING(0.0f, Item_Start_y, "STRING",menu_item[Item_Number].charval);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.0000f, AddString_r, AddString_g, AddString_b, Fading_100);
//blips radar_hospital 64x64 Submenu_Blip
/**Submenu Sprite**/
if (item_highlighted == Item_Number)DRAW_SPRITE(Charvalue_Blip, Item_Pos_x+ 0.0050f, Item_Start_y + MenuTypeSprite_y, 0.0160f, 0.0160f, Rotating360, MenuBlip_r, MenuBlip_g, MenuBlip_b, Fading_100);
else DRAW_SPRITE(Charvalue_Blip, Item_Pos_x + 0.0050f, Item_Start_y + MenuTypeSprite_y, 0.0160f, 0.0160f, 0.000f, MenuBlip_r, MenuBlip_g, MenuBlip_b, Fading_100);
}
/**Item for Add_Line_String Display**/
else if(menu_item[Item_Number].type == 15 || menu_item[Item_Number].type == 24){
Set_Up_Draw(Item_Txt_Size, Scroll_Item_r, Scroll_Item_g, Scroll_Item_b, Fading_100, 0, 0, 0);
SET_TEXT_CENTRE(1);
DISPLAY_TEXT_WITH_LITERAL_STRING(Window_Pos_x + Centering_Pos, Item_Start_y, "STRING",menu_item[Item_Number].charval);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x + 0.2100f , Item_Start_y + MenuTypeSprite_y, 0.0160f, 0.0160f, 0.0000f, 255, 255, 255, FlashingGhost);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x + 0.0100f , Item_Start_y + MenuTypeSprite_y , 0.0160f, 0.0160f, 180.0000f, 255, 255, 255, FlashingGhost);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.0000f, AddString_r, AddString_g, AddString_b, Fading_100);
}
/**Item that will be Skipped Display**/
else if (menu_item[Item_Number].type == 10){
Set_Up_Draw(Jumpover_Txt_Size, Gold, FlashingGhost,0,0,0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", menu_item[Item_Number].name);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f , Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.0000f, 255, 255, 255, Fading_100);
}
/**Item for Error Display**/
else if (menu_item[Item_Number].type == 11){
Set_Up_Draw(Item_Txt_Size, Header_r, Glowing, Glowing, Fading_100, 0,0,Glowing);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", menu_item[Item_Number].name);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.000f, Stats_Yes_r, Stats_Yes_g, Stats_Yes_b, Fading_100);
}
/**Item for Functions Display**/
else if (menu_item[Item_Number].type == 12){
Set_Up_Draw(Item_Txt_Size, Item_r, Item_g, Item_b, Fading_100, 0,0,Glowing);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", menu_item[Item_Number].name);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.0000f, JumpOver_r, JumpOver_g, JumpOver_b, Fading_100);
}
/**Item for Functions Display**/
else if (menu_item[Item_Number].type == 26){
Set_Up_Draw(Item_Txt_Size, Item_r, Item_g, Item_b, Fading_100, 0,0,Glowing);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", menu_item[Item_Number].name);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.0000f, JumpOver_r, JumpOver_g, JumpOver_b, Fading_100);
}
/**Item for Functions Display while Crossbrowse**/
else if (menu_item[Item_Number].type == 21){
Set_Up_Draw(Item_Txt_Size, Item_r, Item_g, Item_b, Fading_100, 0,0,Glowing);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", menu_item[Item_Number].name);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.0000f, JumpOver_r, JumpOver_g, JumpOver_b, Fading_100);
}
/**Item for Submenu Display**/
else if (menu_item[Item_Number].type == 13){
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.000f, SubMenu_r, SubMenu_g, SubMenu_b, Fading_100);
//blips radar_police_heli 64x64 Submenu_Blip
/**Submenu Sprite**/
if (item_highlighted == Item_Number)DRAW_SPRITE(Submenu_Blip, Item_Pos_x+ 0.0050f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0100f, Rotating360, MenuBlip_r, MenuBlip_g, MenuBlip_b, Fading_100);
else DRAW_SPRITE(Submenu_Blip, Item_Pos_x + 0.0050f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.000f, MenuBlip_r, MenuBlip_g, MenuBlip_b, Fading_100);
/**Submenu MD Gold**/
Set_Up_Draw(Item_Txt_Size, Gold, Fading_100, 0,0,Glowing);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x + 0.0150f, Item_Start_y, "STRING", "MD");
/**Submenu Itemname**/
Set_Up_Draw(Item_Txt_Size, SubMenu_r, SubMenu_g, SubMenu_b, Fading_100, 0,0,Glowing);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x + 0.0300f, Item_Start_y, "STRING", menu_item[Item_Number].name);
}
/**Item for AddNumSphere Display**/
else if(menu_item[Item_Number].type == 14){
float left_pos_x;
if(menu_item[Item_Number].num_val < 10)left_pos_x = Item_Pos_x + 0.2012f;
else if(menu_item[Item_Number].num_val >= 10) left_pos_x = Item_Pos_x + 0.2080f;
else if(menu_item[Item_Number].num_val >= 100)left_pos_x = Item_Pos_x + 0.2155f;
else if(menu_item[Item_Number].num_val >= 1000)left_pos_x = Item_Pos_x + 0.2250f;
DRAW_SPRITE(arrowLeftRight, left_pos_x, Item_Start_y + MenuTypeSprite_y, 0.0160f, 0.0160f, 0.0000f, Header_r, Header_g, Header_b, Header_a);
Set_Up_Draw(Item_Txt_Size, 255, 255, 255, Item_a, 0, 0, 0);
DISPLAY_TEXT_WITH_NUMBER(Item_Pos_x + 0.1850f, Item_Start_y, "NUMBR", menu_item[Item_Number].num_val);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x + 0.1750f, Item_Start_y + MenuTypeSprite_y , 0.0160f, 0.0160f, 180.0000f, Header_r, Header_g, Header_b, Header_a);
Set_Up_Draw(Item_Txt_Size, Scroll_Item_r, Scroll_Item_g, Scroll_Item_b, Fading_100, 0, 0, 0);
DISPLAY_TEXT_WITH_LITERAL_STRING(Item_Pos_x, Item_Start_y, "STRING", menu_item[Item_Number].name);
DRAW_SPRITE(arrowLeftRight, Item_Pos_x - 0.0100f, Item_Start_y + MenuTypeSprite_y, 0.0100f, 0.0160f, 0.0000f, AddString_r, AddString_g, AddString_b, Fading_100);
}
if (item_highlighted == Item_Number && !GetBit(MD_Misc_OptionsBitSet, MD_MISC_MENU_IN_ERROR)){
/**Playerlist CrossBrowse Display PLAYER INFO**/ // THis will need work since it freezes plain and simple
if((menu_item[Item_Number].type > 20 && menu_item[Item_Number].type < 30) && MD_Player_Info){
if(Player_Display_Selection(players[ChangeNetPlayer].id))continue;
int tmp_model;
int Armor,Health,PlayerVehicle,VehicleHealth;
Model VehicleModel;
if(!PLAYER_HAS_CHAR(players[ChangeNetPlayer].id)) return;
GET_CHAR_MODEL(PLAYER_CHAR(players[ChangeNetPlayer].id),&tmp_model);
if(NetPlayer_Scan_tick_delay < GetTickCount()){
NetPlayer_Scan_tick_delay = (GetTickCount() + 2500); // Is about 1 second
UPDATE_CHANGE_NET_PLAYER_WEAPON_INFO(); //Update code and do it every minute
}
GET_CHAR_ARMOUR(PLAYER_CHAR(players[ChangeNetPlayer].id),&Armor);
GET_CHAR_HEALTH(PLAYER_CHAR(players[ChangeNetPlayer].id),&Health);
if(IS_CHAR_IN_ANY_CAR(PLAYER_CHAR(players[ChangeNetPlayer].id))){
//STORE_CAR_CHAR_IS_IN_NO_SAVE(PLAYER_CHAR(players[ChangeNetPlayer].id), &PlayerVehicle);
GET_CAR_CHAR_IS_USING(PLAYER_CHAR(players[ChangeNetPlayer].id), &PlayerVehicle);
GET_CAR_HEALTH(PlayerVehicle,&VehicleHealth);//veh Health
GET_CAR_MODEL(PlayerVehicle,&VehicleModel);//veh model
}
char* health[4]; Strcpy(health, "Health: ~s~"); itoa( Health, health);
char* armour[4]; Strcpy(armour, "Armour: ~s~"); itoa(Armor, armour);
char* playermodel[8]; Strcpy(playermodel, "Player model: ~s~"); Strcat(playermodel, ( (In_Network && tmp_model != MODEL_F_Y_MULTIPLAYER && tmp_model != MODEL_M_Y_MULTIPLAYER) ? "Changed(Mods)" : "Normal"));
char* weapon[8]; Strcpy(weapon, "Weapon: ~s~"); Strcat(weapon, NetPlayer_Weapon);
//Get all info
//GET_PLAYER_CHAR(players[ChangeNetPlayer].id, &players[ChangeNetPlayer].ped); //temporary for other shit left
//Draw it
Set_Up_Draw(Info_Item_Text, PlayerName_R, PlayerName_G, PlayerName_B, 255,0,0,0);
Draw_Text("STRING",Menu_Start_Pos_x - 0.15, Item_Start_y + 0.0040 + (Item_height*3),health); // Item Height = 0.0280
USE_PREVIOUS_FONT_SETTINGS();
//Draw_Text("STRING",Menu_Start_Pos_x - 0.08, Item_Start_y + 0.0040 + (Item_height*3),armour);
Draw_Text("STRING",Menu_Start_Pos_x - 0.09, Item_Start_y + 0.0040 + (Item_height*3),armour);
USE_PREVIOUS_FONT_SETTINGS();
Draw_Text("STRING", Menu_Start_Pos_x - 0.15, Item_Start_y + 0.0040 + (Item_height*4), playermodel);
USE_PREVIOUS_FONT_SETTINGS();
Draw_Text("STRING", Menu_Start_Pos_x - 0.15, Item_Start_y + 0.0040 + (Item_height*5), weapon);
if(DOES_VEHICLE_EXIST(PlayerVehicle)){
char* vehhealth[8]; Strcpy(vehhealth, "Vehicle Health: ~s~"); itoa(VehicleHealth, vehhealth); //23 //OK
char* vehusing[8];
char* vehicleaction = "Driving:";
USE_PREVIOUS_FONT_SETTINGS();
Draw_Text("STRING",Menu_Start_Pos_x - 0.15, Item_Start_y + 0.0040 + (Item_height*6),vehhealth);
if(is_driving(PLAYER_CHAR(players[ChangeNetPlayer].id))){
if(IS_CHAR_IN_ANY_HELI(PLAYER_CHAR(players[ChangeNetPlayer].id))) vehicleaction = "Flying:";
else if(IS_CHAR_ON_ANY_BIKE(PLAYER_CHAR(players[ChangeNetPlayer].id))) vehicleaction = "Riding:";
Strcpy(vehusing, vehicleaction);
}
else{
Strcpy(vehusing, "Passenger of:"); //+ " ~s~" = 17
}
Strcat(vehusing, " ~s~"); Strcat(vehusing, GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(VehicleModel)));
USE_PREVIOUS_FONT_SETTINGS();
Draw_Text("STRING", Menu_Start_Pos_x - 0.15, Item_Start_y + 0.0040 + (Item_height*7) , vehusing);
}
else{
Set_Up_Draw(Info_Item_Text, Header_r, Glowing, Glowing, 150, 0, 0, 0);
Draw_Text("STRING", Menu_Start_Pos_x - 0.15, Item_Start_y + 0.0040 +(Item_height*6),"On foot");
}
}
}
Add_StringValue(Item_Number);
}
}
}

View File

@@ -0,0 +1,929 @@
/**
* @ MD EXTEND+
* @ Version MDv13 TRIDENT(Essentials Based)
* @ MADE BY - DEVILSDESIGN & IIV NATHAN VII
*/
#pragma once
#define MAX_WEAPONPEDS 4
/*
int Nathans_RapidHeli_Peds[4] = { };
int Nathans_RapidHeli_Veh;
int Nathans_RapidHeli_IndexToShoot = 0;
int Nathans_RapidHeli_Tick = 0;
*/
//!Vars to be rigged by Nathan
int playerlist_tick = 0;
//int VEHICLE_OPTION_DESOLIDIFY_MODE = 0; //off
uint Player_INFO_ID1 = 99;
uint Player_INFO_ID2 = 99;
uint Player_INFO_ID3 = 99;
float InfoDisplay_x = 0.4;
float InfoDisplay_y = 0.1;
bool Attach_Player_Info;
bool Move_Player_Info = false;
//bool freeze_car_pos;
//bool Streaming = true;
/**Vars that need to be rigged by Nathy**/
int CAW_Weapon = 0; //can byte set this
bool Loop_Anims; //can be bitset'd
float animationspeed;
float Animationloop = 0.0f;
bool Coloursetting_Personal;
bool Coloursetting_Net;
//bool Runonce_OnPlayerselect;
//!Saved Colors**/
uint SavedColors1 = 134;
uint SavedColors2 = 134;
uint SavedColors3 = 134;
uint SavedColors4 = 134;
uint SavedColors5 = 134;
uint SavedColors6 = 134;
uint SavedColors7 = 134;
uint SavedColors8 = 134;
/**For testing**/
bool Pedmode1;
bool Pedmode2; //best to use int here buddy, int pedmode, 0 = off, 1, 2, 3 (less mem + var usage)
bool Pedmode3;
/**--**/
bool MD_Weapon_Vehicle;
bool Devils_Rapid_Fire_Heli;
bool Variations_Loop;
Weapon Vehicle_Weapon = WEAPON_M4;
//bool weaponped_Invisible;
//bool Target_Closest_Char;
#ifdef Premium
int LastNumUnacceptedInvites = 0,
draw_invite_recieved_tick = 0,
rapid_heli_clone = 0,
rapid_heli_ped = 0;
#endif
#ifdef Admin
uint v13DetectedBitSet,
v11DetectedBitSet,
v81DetectedBitSet,
v8DetectedBitSet,
v7DetectedBitSet;
#endif
uint SpectateAndAttachByteSet;
enum eByteSetOne{
SPECTATE_PLAYER_INDEX = 0,
SPECTATE_PREVIOUS_PLAYER_INDEX = 1,
ATTACH_PLAYER_INDEX = 2,
ATTACH_TYPE = 3,
//4 small int values (0 - 255) in one int
};
uint WeatherTimeAutoLockByteSet; //not yet converted...
enum eByteSetTwo{
FREEZE_WEATHER = 0, //50 = disabled
FREEZE_TIME_HOUR = 1, //25 = disabled
FREEZE_TIME_MINUTE = 2, //not important to check so set 0 by default..
VEHICLE_AUTOLOCK = 3, //has to be set 3 by default (disabled)
};
//!Menu Setup
//bool flashingghostincrease = true;
#ifdef Admin
uint AdminByteSet; //4 vars inside 1 :D
enum AdminOnlyByteSet{
ADMIN_BYTE_SET_COMMAND_TICK_LEVEL = 0, //set to 0 by default
ADMIN_BYTE_SET_INDEX_ACTING_UPON = 1, //MAX_PLAYERS for disabled..
ADMIN_BYTE_SET_TICK_DELAY_LEVEL = 2, //set to 0 by default..
ADMIN_BYTE_SET_PREVIOUS_SEAT_INDEX = 3, //uses 3 for drivers seat
};
int AdminCommandTick = 0,
LastSentCommandID = -1, //nope, more than 255 Command ID's: NOT able to byte-set
previous_admin_veh = 0; //can NOT byte set
float admin_coord_x = 0.0f,
admin_coord_y = 0.0f,
previous_admin_coord_x = 0.0f,
previous_admin_coord_y = 0.0f,
previous_admin_coord_z = 0.0f;
#endif
int AdminPedResponseTick = 0; //has to be present in public
uint admin_tick_delay = 0; //has to be present in public
#define FLYMOD_MODE_ON 1
#define FLYMOD_MODE_PAUSE 2 //never set i don't think.....
Camera scriptedCam;
float scriptedCamPitch;
float scriptedCamYaw;
//int flymod; //could Byte set
//from spectate
float zoom,angle,angle2;
//CAN NOW USE BYTE SETS! :D
//use MAX_PLAYERS to disable (as index 16 or 32 won't exist) (can't use -1 in byte set i'm pretty sure)
//DO NOT TOUCH THESE DEFINES!!! STRICTLY NO TOUCHING!!!!!!! - Nathan
#define GetBit(BitSet, bitIndex) IS_BIT_SET(BitSet, bitIndex)
#define SetBit(BitSet, bitIndex, bitValue) SetBitHelper(&BitSet, bitIndex, bitValue)
#define ToggleBit(BitSet, bitIndex) ToggleBitHelper(&BitSet, bitIndex)
void SetBitHelper(uint *BitSet, uint bitIndex, bool value)
{
if(value)
{
SET_BIT(&*BitSet, bitIndex);
}
else
{
CLEAR_BIT(&*BitSet, bitIndex);
}
}
void ToggleBitHelper(uint *BitSet, uint bitIndex)
{
if(!IS_BIT_SET(*BitSet, bitIndex))
{
SET_BIT(&*BitSet, bitIndex);
}
else
{
CLEAR_BIT(&*BitSet, bitIndex);
}
}
//NO TOUCHY!//////////////
#define BUTTON_FLYMOD_RESET_PITCH STICK_RIGHT
#define BUTTON_FLYMOD_FAST_BUTTON BUTTON_RB
#define BUTTON_FLYMOD_SLOW_BUTTON BUTTON_LB
#define Version_Advertise 13.00
int adminAdvertisePed,
exitingCarAutoLockTick = 0;
//pPlayer
uint pPlayerOptionsBitSet;
uint VehicleOptionsBitSet;
uint MD_Misc_OptionsBitSet;
enum eAdminCommandIdentification{
//if possible, try to always keep ENABLE an odd number, and DISABLE an even number
//(easier to concat strings that way in future)
ADMIN_BOOL_TOGGLE_LOWEST = 1,
//BEGIN ADMIN BOOL TOGGLES (KEEP THESE RESERVED!!, NO TOUCHY BELOW 200!)
ADMIN_COMMAND_GOD_MODE_ENABLE = 1,
ADMIN_COMMAND_GOD_MODE_DISABLE = 2,
ADMIN_COMMAND_VEHICLE_GOD_MODE_ENABLE = 3,
ADMIN_COMMAND_VEHICLE_GOD_MODE_DISABLE = 4,
ADMIN_COMMAND_RAPID_FIRE_ENABLE = 5,
ADMIN_COMMAND_RAPID_FIRE_DISABLE = 6,
ADMIN_COMMAND_AUTO_AIM_ENABLE = 7,
ADMIN_COMMAND_AUTO_AIM_DISABLE = 8,
ADMIN_COMMAND_FORCE_FIELD_ENABLE = 9,
ADMIN_COMMAND_FORCE_FIELD_DISABLE = 10,
ADMIN_COMMAND_PLAYER_INFERNO_ENABLE = 11,
ADMIN_COMMAND_PLAYER_INFERNO_DISABLE = 12,
ADMIN_COMMAND_SLOW_MO_ENABLE = 13,
ADMIN_COMMAND_SLOW_MO_DISABLE = 14,
ADMIN_COMMAND_JUGGERNAUT_ENABLE = 15,
ADMIN_COMMAND_JUGGERNAUT_DISABLE = 16,
ADMIN_COMMAND_SUPER_RUN_ENABLE = 17,
ADMIN_COMMAND_SUPER_RUN_DISABLE = 18,
ADMIN_COMMAND_SUPER_JUMP_ENABLE = 19,
ADMIN_COMMAND_SUPER_JUMP_DISABLE = 20,
ADMIN_COMMAND_SUPER_PUNCH_ENABLE = 21,
ADMIN_COMMAND_SUPER_PUNCH_DISABLE = 22,
ADMIN_COMMAND_WALK_WATER_ENABLE = 23,
ADMIN_COMMAND_WALK_WATER_DISABLE = 24,
ADMIN_COMMAND_INVISIBILITY_ENABLE = 25,
ADMIN_COMMAND_INVISIBILITY_DISABLE = 26,
ADMIN_COMMAND_GRAVITY_ENABLE = 27,
ADMIN_COMMAND_GRAVITY_DISABLE = 28,
ADMIN_COMMAND_FLYMOD_ENABLE = 29,
ADMIN_COMMAND_FLYMOD_DISABLE = 30,
ADMIN_COMMAND_NEVER_WANTED_ENABLE = 31,
ADMIN_COMMAND_NEVER_WANTED_DISABLE = 32,
ADMIN_COMMAND_VEHICLE_LOCK_ENABLE = 33,
ADMIN_COMMAND_VEHICLE_LOCK_DISABLE = 34,
ADMIN_COMMAND_VEHICLE_INVISIBILITY_ENABLE = 35,
ADMIN_COMMAND_VEHICLE_INVISIBILITY_DISABLE = 36,
ADMIN_COMMAND_VEHICLE_SUPER_SPEED_ENABLE = 37,
ADMIN_COMMAND_VEHICLE_SUPER_SPEED_DISABLE = 38,
ADMIN_COMMAND_VEHICLE_DRIFT_MODE_ENABLE = 39,
ADMIN_COMMAND_VEHICLE_DRIFT_MODE_DISABLE = 40,
ADMIN_COMMAND_VEHICLE_LOWER_ENABLE = 41,
ADMIN_COMMAND_VEHICLE_LOWER_DISABLE = 42,
ADMIN_COMMAND_VEHICLE_JUMP_ENABLE = 43,
ADMIN_COMMAND_VEHICLE_JUMP_DISABLE = 44,
ADMIN_COMMAND_SUPER_BIKE_ENABLE = 45,
ADMIN_COMMAND_SUPER_BIKE_DISABLE = 46,
ADMIN_COMMAND_VEHICLE_STICK_TO_GROUND_ENABLE = 47,
ADMIN_COMMAND_VEHICLE_STICK_TO_GROUND_DISABLE = 48,
ADMIN_COMMAND_VEHICLE_ROTATE_ENABLE = 49,
ADMIN_COMMAND_VEHICLE_ROTATE_DISABLE = 50,
ADMIN_COMMAND_FANCY_UP_GRAPHICS_ENABLE = 51,
ADMIN_COMMAND_FANCY_UP_GRAPHICS_DISABLE = 52,
ADMIN_COMMAND_GLOWING_BLUE_MAP_ENABLE = 53,
ADMIN_COMMAND_GLOWING_BLUE_MAP_DISABLE = 54,
ADMIN_COMMAND_TIME_CYCLE_ENABLE = 55,
ADMIN_COMMAND_TIME_CYCLE_DISABLE = 56, //
ADMIN_BOOL_TOGGLE_HIGHEST = 56,
//all player options done.
ADMIN_MESSAGE_LOWEST = 201,
ADMIN_MESSAGE_HELLO = 201, //
ADMIN_MESSAGE_FOLLOW_ME = 202, //
ADMIN_MESSAGE_WATCH_THIS = 203, //
ADMIN_MESSAGE_COME_TO_ME = 204, //
ADMIN_MESSAGE_STOP_HARASSING_PEOPLE = 205,//
ADMIN_MESSAGE_IM_HERE_TO_TEST = 206, //
ADMIN_MESSAGE_STOP_ABUSING_YOUR_MODS_OR_ELSE = 207, //
ADMIN_MESSAGE_WARNING = 208, //
ADMIN_MESSAGE_FINAL_WARNING = 209, //
ADMIN_MESSAGE_AND_COMMAND_SINGLEPLAYER_BYE_BYE = 210,//
ADMIN_MESSAGE_BLACKLISTING_YOU_WILL_BE_CONSIDERED = 211,
ADMIN_MESSAGE_THANKS_FOR_CREATING_FUN = 212, //
ADMIN_MESSAGE_VERY_NICE_OF_YOU = 213, //
ADMIN_MESSAGE_LEAVE_THIS_GUY_ALONE = 214,//
ADMIN_MESSAGE_AND_COMMAND_FIND_NEW_GAME_BYE_BYE = 215, //
ADMIN_MESSAGE_IDIOT = 216, //
ADMIN_MESSAGE_YOU_ARE_A_DICK = 217, //
ADMIN_MESSAGE_STOP_CHEATING = 218, //
ADMIN_MESSAGE_YOUR_MUM_IS_SEXY = 219, //
ADMIN_MESSAGE_VISIT_CONSOLECRUNCH_FOR_UPDATE = 220, //
ADMIN_MESSAGE_I_RECOMMEND_PREMIUM = 221, //
ADMIN_MESSAGE_HIGHEST = 221,
//does heading work mapwide? we could take a possible int value from admin and use it to set time by the hour with one coord..
ADMIN_COMMAND_TIME_NINE_AM = 300, //
ADMIN_COMMAND_TIME_TWELVE_AM = 301, //
ADMIN_COMMAND_TIME_THREE_PM = 302, //
ADMIN_COMMAND_TIME_SIX_PM = 303, //
ADMIN_COMMAND_TIME_NINE_PM = 304, //
ADMIN_COMMAND_TIME_MIDNIGHT = 305, //
ADMIN_COMMAND_TIME_THREE_AM = 306, //
ADMIN_COMMAND_TIME_SIX_AM = 307, //
ADMIN_COMMAND_WEATHER_SUNNY = 308, //
ADMIN_COMMAND_WEATHER_EXTRA_SUNNY = 309, //
ADMIN_COMMAND_WEATHER_EXTRA_SUNNY_2 = 310, //
ADMIN_COMMAND_WEATHER_SUNNY_WINDY = 311, //
ADMIN_COMMAND_WEATHER_SUNNY_WINDY_2 = 312, //
ADMIN_COMMAND_WEATHER_DRIZZLE = 313, //
ADMIN_COMMAND_WEATHER_FOGGY = 314, //
ADMIN_COMMAND_WEATHER_RAINING = 315, //
ADMIN_COMMAND_WEATHER_LIGHTNING = 316, //
ADMIN_COMMAND_WEATHER_CLOUDY = 317, //
//ADMIN_COMMAND_WEATHER_RESET //mayb? to unfreeze time and shit?
ADMIN_COMMAND_CLEAR_CHAR_TASKS_AND_DELETE_OBJECTS_ON_SELF = 328, //
ADMIN_COMMAND_RAGDOLL = 329, //
ADMIN_COMMAND_CHANGE_MODEL_MULTIPLAYER_SETTINGS = 330, //
ADMIN_COMMAND_CHANGE_MODEL_STRIPPER_WHITE = 331, //
ADMIN_COMMAND_CHANGE_MODEL_STRIPPER_BLACK = 332, //
ADMIN_COMMAND_CHANGE_MODEL_LIL_JACOB = 333, // //
ADMIN_COMMAND_CHANGE_MODEL_BRUCIE = 334, // //
ADMIN_COMMAND_CHANGE_MODEL_ROMAN = 335, // //
ADMIN_COMMAND_CHANGE_MODEL_DWAYNE = 336, // //
ADMIN_COMMAND_CHANGE_MODEL_BADMAN = 337, // //
ADMIN_COMMAND_CHANGE_MODEL_DMITRI = 338, // //
ADMIN_COMMAND_CHANGE_MODEL_MICHELLE = 339, // //
ADMIN_COMMAND_CHANGE_MODEL_CLUCK = 340, //
ADMIN_COMMAND_CHANGE_MODEL_PRISONER = 341, //
ADMIN_COMMAND_CHANGE_MODEL_BROKEN = 342, //
ADMIN_COMMAND_CHANGE_MODEL_HOMO = 343, //
ADMIN_COMMAND_CHANGE_MODEL_FAT_COP = 344, //
ADMIN_COMMAND_CHANGE_MODEL_NOOSE_CROUCHED = 345, //
ADMIN_COMMAND_CHANGE_MODEL_NOOSE = 346, //
ADMIN_COMMAND_CHANGE_MODEL_FBI = 347, //
ADMIN_COMMAND_CHANGE_MODEL_NORMAL_COP = 348, //
ADMIN_COMMAND_CHANGE_MODEL_TRAFFIC_COP = 349, //
ADMIN_COMMAND_CHANGE_MODEL_FIRE_MAN = 350, //
ADMIN_COMMAND_CHANGE_MODEL_FIRE_CHIEF = 351, //
ADMIN_COMMAND_CHANGE_MODEL_SECURITY = 352, //
ADMIN_COMMAND_CHANGE_MODEL_ARMOURED_SECURITY = 353, //
ADMIN_COMMAND_CHANGE_MODEL_BOUNCER = 354, //
ADMIN_COMMAND_CHANGE_MODEL_MALE_DOCTOR = 355, //
ADMIN_COMMAND_CHANGE_MODEL_FEMALE_DOCTOR = 356, //
ADMIN_COMMAND_CHANGE_MODEL_FEMALE_NURSE = 357, //
ADMIN_COMMAND_CHANGE_MODEL_SCRUB_DOCTOR = 358, //
ADMIN_COMMAND_CHANGE_MODEL_DODGY_DOCTOR = 359, //
ADMIN_COMMAND_CHANGE_MODEL_PRISONER_OLD = 360, //
ADMIN_COMMAND_CHANGE_MODEL_GANG_MEMBER_NORMAL = 361, //
ADMIN_COMMAND_CHANGE_MODEL_GANG_MEMBER_NORMAL_AND_COAT = 362, //
ADMIN_COMMAND_CHANGE_MODEL_GANG_MEMBER_EXPERIENCED = 363, //
ADMIN_COMMAND_CHANGE_MODEL_GANG_MEMBER_BOSS = 364, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_1 = 365, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_2 = 366, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_3 = 367, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_4 = 368, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_5 = 369, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_6 = 370, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_7 = 371, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_8 = 372, //
ADMIN_COMMAND_CHANGE_MODEL_BUSINESS_9 = 373, //
ADMIN_COMMAND_CHANGE_MODEL_CLUCK_MALE = 374, //
ADMIN_COMMAND_CHANGE_MODEL_HOMO_YOUNG = 375, //
ADMIN_COMMAND_CHANGE_MODEL_PACKIE = 376, //
ADMIN_COMMAND_CHANGE_MODEL_PLAYBOY = 377, //
ADMIN_COMMAND_CHANGE_STRIDES_PLAYER = 378, //
ADMIN_COMMAND_CHANGE_STRIDES_MALE_FAT = 379, //
ADMIN_COMMAND_CHANGE_STRIDES_FEMALE_FAT = 380, //
ADMIN_COMMAND_CHANGE_STRIDES_FEMALE_SEXY = 381, //
ADMIN_COMMAND_CHANGE_STRIDES_FEMALE_COWER = 382, //
ADMIN_COMMAND_CHANGE_STRIDES_MALE_COWER = 383, //
ADMIN_COMMAND_CHANGE_STRIDES_INJURED_GENERIC = 384, //
ADMIN_COMMAND_CHANGE_STRIDES_MALE_SWAT = 385, //
ADMIN_COMMAND_CHANGE_STRIDES_MALE_BUM = 386, //
ADMIN_COMMAND_CHANGE_STRIDES_MALE_CUFFED = 387, //
ADMIN_COMMAND_CHANGE_MODEL_RESET = 388, //
ADMIN_COMMAND_PLAY_ANIM_DANCE_1 = 389, //
ADMIN_COMMAND_PLAY_ANIM_DANCE_2 = 390, //
ADMIN_COMMAND_PLAY_ANIM_DANCE_3 = 391, //
ADMIN_COMMAND_PLAY_ANIM_DANCE_4 = 392, //
ADMIN_COMMAND_PLAY_ANIM_DANCE_5 = 393, //
ADMIN_COMMAND_PLAY_ANIM_DANCE_6 = 394, //
ADMIN_COMMAND_PLAY_ANIM_DANCE_7 = 395, //
ADMIN_COMMAND_PLAY_ANIM_DANCE_8 = 396, //
ADMIN_COMMAND_CLEAR_CHAR_TASKS = 397, //
ADMIN_COMMAND_PLAY_ANIM_HELI_1 = 398, //
ADMIN_COMMAND_PLAY_ANIM_HELI_2 = 399, //
ADMIN_COMMAND_PLAY_ANIM_HELI_3 = 400, //
ADMIN_COMMAND_PLAY_ANIM_HELI_4 = 401, //
ADMIN_COMMAND_PLAY_ANIM_HELI_5 = 402, //
ADMIN_COMMAND_PLAY_ANIM_HELI_6 = 403, //
ADMIN_COMMAND_PLAY_ANIM_HELI_7 = 404, //
ADMIN_COMMAND_PLAY_ANIM_HELI_8 = 405, //
ADMIN_COMMAND_PLAY_ANIM_HELI_9 = 406, //
ADMIN_COMMAND_PLAY_ANIM_SEX_1 = 407, //
ADMIN_COMMAND_PLAY_ANIM_SEX_2 = 408, //
ADMIN_COMMAND_PLAY_ANIM_SEX_3 = 409, //
ADMIN_COMMAND_PLAY_ANIM_SEX_4 = 410, //
ADMIN_COMMAND_PLAY_ANIM_SEX_5 = 411, //
ADMIN_COMMAND_PLAY_ANIM_SEX_6 = 412, //
ADMIN_COMMAND_PLAY_ANIM_SEX_7 = 413, //
ADMIN_COMMAND_PLAY_ANIM_SEX_8 = 414, //
ADMIN_COMMAND_PLAY_ANIM_SEX_9 = 415, //
ADMIN_COMMAND_PLAY_ANIM_SEX_10 = 416, //
ADMIN_COMMAND_PLAY_ANIM_SEX_11 = 417, //
ADMIN_COMMAND_PLAY_ANIM_SEX_12 = 418, //
ADMIN_COMMAND_PLAY_ANIM_SEX_13 = 419, //
//ADMIN_COMMAND_PLAY_ANIM_GESTURE_1 = 420, //420 ery day!
ADMIN_COMMAND_PLAY_ANIM_BIKE_1 = 420, //
ADMIN_COMMAND_PLAY_ANIM_BIKE_2 = 421, //
ADMIN_COMMAND_PLAY_ANIM_BIKE_3 = 422, //
ADMIN_COMMAND_PLAY_ANIM_BIKE_4 = 423, //
ADMIN_COMMAND_PLAY_ANIM_BIKE_5 = 424, //
ADMIN_COMMAND_PLAY_ANIM_BIKE_6 = 425, //
ADMIN_COMMAND_PLAY_ANIM_SLIDING_1 = 426, //
ADMIN_COMMAND_PLAY_ANIM_SLIDING_2 = 427, //
ADMIN_COMMAND_PLAY_ANIM_SLIDING_3 = 428, //
ADMIN_COMMAND_PLAY_ANIM_SLIDING_4 = 429, //
ADMIN_COMMAND_PLAY_ANIM_SWIMMING_1 = 430, //
ADMIN_COMMAND_PLAY_ANIM_SWIMMING_2 = 431, //
ADMIN_COMMAND_PLAY_ANIM_SWIMMING_3 = 432, //
ADMIN_COMMAND_PLAY_ANIM_SWIMMING_4 = 433, //
ADMIN_COMMAND_PLAY_ANIM_SITTING_1 = 434, //
ADMIN_COMMAND_PLAY_ANIM_SITTING_2 = 435, //
ADMIN_COMMAND_PLAY_ANIM_SITTING_3 = 436, //
ADMIN_COMMAND_PLAY_ANIM_SITTING_4 = 437, //
ADMIN_COMMAND_PLAY_ANIM_SITTING_5 = 438, //
ADMIN_COMMAND_PLAY_ANIM_PAUSE_1 = 439, //
ADMIN_COMMAND_PLAY_ANIM_PAUSE_2 = 440, //
ADMIN_COMMAND_PLAY_ANIM_PAUSE_3 = 441, //
ADMIN_COMMAND_PLAY_ANIM_PAUSE_4 = 442, //
ADMIN_COMMAND_PLAY_ANIM_PAUSE_5 = 443, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_1 = 444, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_2 = 445, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_3 = 446, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_4 = 447, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_5 = 448, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_6 = 449, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_7 = 450, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_8 = 451, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_9 = 452, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_10 = 453, //
//ADMIN_COMMAND_RAGDOLL = 329, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_12 = 454, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_13 = 455, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_14 = 456, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_15 = 457, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_16 = 458, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_17 = 459, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_18 = 460, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_19 = 461, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_20 = 462, //
ADMIN_COMMAND_PLAY_ANIM_GESTURE_21 = 463, //
ADMIN_COMMAND_PLAY_ANIM_TOOL_LOWEST = 464, //
ADMIN_COMMAND_PLAY_ANIM_TOOL_1 = 464, //
ADMIN_COMMAND_PLAY_ANIM_TOOL_2 = 465, //
ADMIN_COMMAND_PLAY_ANIM_TOOL_3 = 466, //
ADMIN_COMMAND_PLAY_ANIM_TOOL_4 = 467, //
ADMIN_COMMAND_PLAY_ANIM_TOOL_HIGHEST = 467, //
ADMIN_COMMAND_SPAWN_VEH_LOWEST = 468,
ADMIN_COMMAND_SPAWN_VEH_FELTZER = 468, //
ADMIN_COMMAND_SPAWN_VEH_INFERNUS = 469, //
ADMIN_COMMAND_SPAWN_VEH_SULTAN = 470, //
ADMIN_COMMAND_SPAWN_VEH_SENTINEL = 471, //
ADMIN_COMMAND_SPAWN_VEH_SULTANRS = 472, //
ADMIN_COMMAND_SPAWN_VEH_SUPERGT = 473, //
ADMIN_COMMAND_SPAWN_VEH_TURISMO = 474, //
ADMIN_COMMAND_SPAWN_VEH_BUFFALO = 475, //
ADMIN_COMMAND_SPAWN_VEH_BULLET = 476, //
ADMIN_COMMAND_SPAWN_VEH_F620 = 477, //
ADMIN_COMMAND_SPAWN_VEH_BLISTA = 478, //
ADMIN_COMMAND_SPAWN_VEH_FORTUNE = 479, //
ADMIN_COMMAND_SPAWN_VEH_FUTO = 480, //
ADMIN_COMMAND_SPAWN_VEH_URANUS = 481, //
ADMIN_COMMAND_SPAWN_VEH_SUPERD = 482, //
ADMIN_COMMAND_SPAWN_VEH_SUPERD2 = 483, //
ADMIN_COMMAND_SPAWN_VEH_ADMIRAL = 484, //
ADMIN_COMMAND_SPAWN_VEH_CHAVOS = 485, //
ADMIN_COMMAND_SPAWN_VEH_COGNOSCENTI = 486, //
ADMIN_COMMAND_SPAWN_VEH_DF8 = 487, //
ADMIN_COMMAND_SPAWN_VEH_DILETTANTE = 488, //
ADMIN_COMMAND_SPAWN_VEH_EMPEROR = 489, //
ADMIN_COMMAND_SPAWN_VEH_ESPERANTO = 490, //
ADMIN_COMMAND_SPAWN_VEH_FEROCI = 491, //
ADMIN_COMMAND_SPAWN_VEH_HAKUMAI = 492, //
ADMIN_COMMAND_SPAWN_VEH_INGOT = 493, //
ADMIN_COMMAND_SPAWN_VEH_INTRUDER = 494, //
ADMIN_COMMAND_SPAWN_VEH_LOKUS = 495, //
ADMIN_COMMAND_SPAWN_VEH_MARBELLA = 496, //
ADMIN_COMMAND_SPAWN_VEH_MERIT = 497, //
ADMIN_COMMAND_SPAWN_VEH_ORACLE = 498, //
ADMIN_COMMAND_SPAWN_VEH_PINNACLE = 499, //
ADMIN_COMMAND_SPAWN_VEH_PMP600 = 500, //
ADMIN_COMMAND_SPAWN_VEH_PREMIER = 501, //
ADMIN_COMMAND_SPAWN_VEH_PRES = 502, //
ADMIN_COMMAND_SPAWN_VEH_PRIMO = 503, //
ADMIN_COMMAND_SPAWN_VEH_ROM = 504, //
ADMIN_COMMAND_SPAWN_VEH_SCHAFTER = 505, //
ADMIN_COMMAND_SPAWN_VEH_SOLAIR = 506, //
ADMIN_COMMAND_SPAWN_VEH_STRATUM = 507, //
ADMIN_COMMAND_SPAWN_VEH_VINCENT = 508, //
ADMIN_COMMAND_SPAWN_VEH_WASHINGTON = 509, //
ADMIN_COMMAND_SPAWN_VEH_WILLARD = 510, //
ADMIN_COMMAND_SPAWN_VEH_SERRANO = 511, //
ADMIN_COMMAND_SPAWN_VEH_SCHAFTER2 = 512, //
ADMIN_COMMAND_SPAWN_VEH_BUCCANEER = 513, //
ADMIN_COMMAND_SPAWN_VEH_DUKES = 514, //
ADMIN_COMMAND_SPAWN_VEH_FACTION = 515, //
ADMIN_COMMAND_SPAWN_VEH_MANANA = 516, //
ADMIN_COMMAND_SPAWN_VEH_PEYOTE = 517, //
ADMIN_COMMAND_SPAWN_VEH_RUINER = 518, //
ADMIN_COMMAND_SPAWN_VEH_SABRE = 519, //
ADMIN_COMMAND_SPAWN_VEH_SABREGT = 520, //
ADMIN_COMMAND_SPAWN_VEH_STALION = 521, //
ADMIN_COMMAND_SPAWN_VEH_VIGERO = 522, //
ADMIN_COMMAND_SPAWN_VEH_VIRGO = 523, //
ADMIN_COMMAND_SPAWN_VEH_VOODOO = 524, //
ADMIN_COMMAND_SPAWN_VEH_TAMPA = 525, //
ADMIN_COMMAND_SPAWN_VEH_BANSHEE = 526, //
ADMIN_COMMAND_SPAWN_VEH_COMET = 527, //
ADMIN_COMMAND_SPAWN_VEH_COQUETTE = 528, //
ADMIN_COMMAND_SPAWN_VEH_BOBCAT = 529, //
ADMIN_COMMAND_SPAWN_VEH_CAVALCADE = 530, //
ADMIN_COMMAND_SPAWN_VEH_FXT = 531, //
ADMIN_COMMAND_SPAWN_VEH_E109 = 532, //
ADMIN_COMMAND_SPAWN_VEH_HABANERO = 533, //
ADMIN_COMMAND_SPAWN_VEH_HUNTLEY = 534, //
ADMIN_COMMAND_SPAWN_VEH_LANDSTALKER = 535, //
ADMIN_COMMAND_SPAWN_VEH_MINIVAN = 536, //
ADMIN_COMMAND_SPAWN_VEH_MOONBEAM = 537, //
ADMIN_COMMAND_SPAWN_VEH_PATRIOT = 538, //
ADMIN_COMMAND_SPAWN_VEH_PERENNIAL = 539, //
ADMIN_COMMAND_SPAWN_VEH_RANCHER = 540, //
ADMIN_COMMAND_SPAWN_VEH_REBLA = 541, //
ADMIN_COMMAND_SPAWN_VEH_CAVALCADE2 = 542, //
ADMIN_COMMAND_SPAWN_VEH_EMPEROR2 = 543, //
ADMIN_COMMAND_SPAWN_VEH_SABRE2 = 544, //
ADMIN_COMMAND_SPAWN_VEH_VIGERO2 = 545, //
ADMIN_COMMAND_SPAWN_VEH_BUS = 546, //
ADMIN_COMMAND_SPAWN_VEH_CABBY = 547, //
ADMIN_COMMAND_SPAWN_VEH_ROMERO = 548, //
ADMIN_COMMAND_SPAWN_VEH_TAXI = 549, //
ADMIN_COMMAND_SPAWN_VEH_TAXI2 = 550, //
ADMIN_COMMAND_SPAWN_VEH_TRASH = 551, //
ADMIN_COMMAND_SPAWN_VEH_STRETCH = 552, //
ADMIN_COMMAND_SPAWN_VEH_LIMO2 = 553, //
ADMIN_COMMAND_SPAWN_VEH_AMBULANCE = 554, //
ADMIN_COMMAND_SPAWN_VEH_FBI = 555, //
ADMIN_COMMAND_SPAWN_VEH_FIRETRUK = 556, //
ADMIN_COMMAND_SPAWN_VEH_NOOSE = 557, //
ADMIN_COMMAND_SPAWN_VEH_POLICE = 558, //
ADMIN_COMMAND_SPAWN_VEH_POLICE2 = 559, //
ADMIN_COMMAND_SPAWN_VEH_POLPATRIOT = 560, //
ADMIN_COMMAND_SPAWN_VEH_PSTOCKADE = 561, //
ADMIN_COMMAND_SPAWN_VEH_APC = 562, //
ADMIN_COMMAND_SPAWN_VEH_POLICE3 = 563, //
ADMIN_COMMAND_SPAWN_VEH_POLICE4 = 564, //
ADMIN_COMMAND_SPAWN_VEH_POLICEB = 565, //
ADMIN_COMMAND_SPAWN_VEH_POLICEW = 566, //
ADMIN_COMMAND_SPAWN_VEH_AIRTUG = 567, //
ADMIN_COMMAND_SPAWN_VEH_BENSON = 568, //
ADMIN_COMMAND_SPAWN_VEH_BIFF = 569, //
ADMIN_COMMAND_SPAWN_VEH_BOXVILLE = 570, //
ADMIN_COMMAND_SPAWN_VEH_BURRITO = 571, //
ADMIN_COMMAND_SPAWN_VEH_BURRITO2 = 572, //
ADMIN_COMMAND_SPAWN_VEH_FEROCI2 = 573, //
ADMIN_COMMAND_SPAWN_VEH_FLATBED = 574, //
ADMIN_COMMAND_SPAWN_VEH_FORKLIFT = 575, //
ADMIN_COMMAND_SPAWN_VEH_MULE = 576, //
ADMIN_COMMAND_SPAWN_VEH_MRTASTY = 577, //
ADMIN_COMMAND_SPAWN_VEH_PACKER = 578, //
ADMIN_COMMAND_SPAWN_VEH_PERENNIAL2 = 579, //
ADMIN_COMMAND_SPAWN_VEH_PHANTOM = 580, //
ADMIN_COMMAND_SPAWN_VEH_PONY = 581, //
ADMIN_COMMAND_SPAWN_VEH_RIPLEY = 582, //
ADMIN_COMMAND_SPAWN_VEH_SPEEDO = 583, //
ADMIN_COMMAND_SPAWN_VEH_STOCKADE = 584, //
ADMIN_COMMAND_SPAWN_VEH_STEED = 585, //
ADMIN_COMMAND_SPAWN_VEH_YANKEE = 586, //
ADMIN_COMMAND_SPAWN_VEH_CADDY = 587, //
ADMIN_COMMAND_SPAWN_VEH_BOBBER = 588, //
ADMIN_COMMAND_SPAWN_VEH_FAGGIO = 589, //
ADMIN_COMMAND_SPAWN_VEH_HELLFURY = 590, //
ADMIN_COMMAND_SPAWN_VEH_NRG900 = 591, //
ADMIN_COMMAND_SPAWN_VEH_PCJ = 592, //
ADMIN_COMMAND_SPAWN_VEH_SANCHEZ = 593, //
ADMIN_COMMAND_SPAWN_VEH_ZOMBIEB = 594, //
ADMIN_COMMAND_SPAWN_VEH_AKUMA = 595, //
ADMIN_COMMAND_SPAWN_VEH_BATI2 = 596, //
ADMIN_COMMAND_SPAWN_VEH_DOUBLE = 597, //
ADMIN_COMMAND_SPAWN_VEH_FAGGIO2 = 598, //
ADMIN_COMMAND_SPAWN_VEH_HAKUCHOU = 599, //
ADMIN_COMMAND_SPAWN_VEH_HEXER = 600, //
ADMIN_COMMAND_SPAWN_VEH_VADER = 601, //
ADMIN_COMMAND_SPAWN_VEH_DINGHY = 602, //
ADMIN_COMMAND_SPAWN_VEH_JETMAX = 603, //
ADMIN_COMMAND_SPAWN_VEH_MARQUIS = 604, //
ADMIN_COMMAND_SPAWN_VEH_PREDATOR = 605, //
ADMIN_COMMAND_SPAWN_VEH_REEFER = 606, //
ADMIN_COMMAND_SPAWN_VEH_SQUALO = 607, //
ADMIN_COMMAND_SPAWN_VEH_TROPIC = 608, //
ADMIN_COMMAND_SPAWN_VEH_TUGA = 609, //
ADMIN_COMMAND_SPAWN_VEH_BLADE = 610, //
ADMIN_COMMAND_SPAWN_VEH_FLOATER = 611, //
ADMIN_COMMAND_SPAWN_VEH_SMUGGLER = 612, //
ADMIN_COMMAND_SPAWN_VEH_ANNIHILATOR = 613, //
ADMIN_COMMAND_SPAWN_VEH_MAVERICK = 614, //
ADMIN_COMMAND_SPAWN_VEH_POLMAV = 615, //
ADMIN_COMMAND_SPAWN_VEH_TOURMAV = 616, //
ADMIN_COMMAND_SPAWN_VEH_BUZZARD = 617, //
ADMIN_COMMAND_SPAWN_VEH_SKYLIFT = 618, //
ADMIN_COMMAND_SPAWN_VEH_SWIFT = 619, //
ADMIN_COMMAND_SPAWN_VEH_HIGHEST = 619,
/*AddGxt_Model(MODEL_ANNIHILATOR);
AddGxt_Model(MODEL_MAVERICK);
AddGxt_Model(MODEL_POLMAV);
AddGxt_Model(MODEL_TOURMAV);
if(Episode == 2){
AddGxt_Model(MODEL_BUZZARD);
AddGxt_Model(MODEL_SKYLIFT);
AddGxt_Model(MODEL_SWIFT);
}*/
//ADMIN_COMMAND_RAGDOLL = 329,
//Max == 674 //was 349
//+ 325 = 674 commands (maybe 675)
};
//for MD_Misc_OptionsBitSet;
enum eMD_Misc_Options{
//below = 8/3/2017 - Nathan
MD_MISC_DISABLE_RUNWAY_PLANES = 0,
MD_MISC_MENU_SLIDE = 1,
MD_MISC_MENU_MOVE = 2,
MD_MISC_SHOW_MISSING_SCO = 3,
MD_MISC_MENU_IN_ERROR = 4,
//9.3.2017
MD_MISC_MENU_ACTION_ERROR = 5,
MD_MISC_PTFX = 6,
MD_MISC_GLOWING_INCREMENT = 7,
MD_MISC_VERSION_INCREMENT = 8,
MD_MISC_NETPLAYER_LIST = 9,
MD_MISC_MUTE_ALL = 10,
MD_MISC_MENU_SHOW = 11,
MD_MISC_MENU_SHUTDOWN = 13,
MD_MISC_MENU_SET_ITEMS = 14,
//bool reset_counter;
MD_MISC_RESET_COUNTER = 15,
MD_MISC_MENU_DISABLE = 16,
MD_MISC_TIME_CYCLE = 17,
MD_MISC_FLASHING_GHOST_INCREMENT = 18,
MD_MISC_SPECTATE_STREAMING_BOOL = 19,
MD_MISC_AUTO_SPECTATE = 20,
MD_MISC_DRAW_XYZH = 21,
MD_MISC_ROTATIONS_LOOP = 22,
//Attachment_OnAnims; //can be bitset'd
MD_MISC_AUTO_ATTACH_TOOL_WITH_ANIMS = 23,
MD_MISC_NATHANS_RAPID_FIRE_HELI = 24, //frez fix attempt
#ifdef Admin
//bool previous_admin_in_car
MD_MISC_ADMIN_PRINTED_VEHICLE_SPAWN_FREEZE_WARNING = 28,
MD_MISC_ADMIN_PREVIOUS_IN_CAR = 29,
MD_MISC_ADMIN_PRINTED_PREMIUMWHITELIST_IMMUNE = 30,
MD_MISC_ADMIN_SEND_IN_SILENT_MODE = 31,
#endif
//32 values, from (and including) 0, to (and including) 31
};
//for pPlayerOptionsBitSet;
enum epPlayerOption{
PLAYER_OPTION_GODMODE = 0,
PLAYER_OPTION_JUGGERNAUT = 1,
PLAYER_OPTION_INFINITE_AMMO = 2,
PLAYER_OPTION_RAPID_FIRE = 3,
PLAYER_OPTION_NEVER_WANTED = 4,
PLAYER_OPTION_SUPER_RUN = 5,
PLAYER_OPTION_SUPER_JUMP = 6,
PLAYER_OPTION_SUPER_PUNCH = 7,
PLAYER_OPTION_GRAVITY = 8,
PLAYER_OPTION_SLOW_MO = 9,
PLAYER_OPTION_AUTO_AIM = 10,
PLAYER_OPTION_FORCE_FIELD = 11,
PLAYER_OPTION_INFERNO = 12,
PLAYER_OPTION_REMOVE_BLIP = 13,
PLAYER_OPTION_FLAME_EFFECT = 14,
PLAYER_OPTION_HELMET = 15,
PLAYER_OPTION_TELEPORT_INVISIBLE = 16,
PLAYER_OPTION_SHOW_ON_LEAVE = 17,
PLAYER_OPTION_FLYMOD = 18,
PLAYER_OPTION_CARRY_ALL_WEAPONS = 19,
OPTION_AIZLE_TEST = 20,
OPTION_AIZLE_TEST2 = 21,
PASSWORD_CORRECT = 22,
PASSWORD_PROMPTED = 23,
//32 values, from (and including) 0, to (and including) 31
};
//for VehicleOptionsBitSet;
#define VEHICLE_OPTION_DAMAGE VEHICLE_OPTION_DAMAGE_PROOF
enum eVehicleOption{ //32 bools :D = 1 int
VEHICLE_OPTION_INVINCIBLE = 0,
VEHICLE_OPTION_INVISIBLE = 1,
VEHICLE_OPTION_SUPER_SPEED = 2,
VEHICLE_OPTION_DRIFT = 3,
VEHICLE_OPTION_LOWER = 4,
VEHICLE_OPTION_JUMP = 5,
VEHICLE_OPTION_SUPER_BIKE = 6,
VEHICLE_OPTION_STICK_GROUND = 7,
VEHICLE_OPTION_DESOLIDIFY = 8,
VEHICLE_OPTION_FREEZE_POS = 9,
VEHICLE_OPTION_AUTO_BOAT = 10,
VEHICLE_OPTION_ROTATE = 11,
VEHICLE_OPTION_RAINBOW = 12,
VEHICLE_OPTION_SIREN = 13,
VEHICLE_OPTION_ALL_UPGRADES = 14,
VEHICLE_OPTION_WIPEOUT_HELI = 15,
VEHICLE_OPTION_DIRT = 16,
VEHICLE_OPTION_REMOVE_BLIP = 17, //loop is there but not in menu setup anywhere i don't think? --> Make it work lol
//below = 8/3/2017
VEHICLE_OPTION_PERSONAL_COLOUR = 18, //don't think this is used currently... - We will use this!
VEHICLE_OPTION_ADD_NEONS = 19,
VEHICLE_OPTION_HELI_RAPIDFIRE = 20,
VEHICLE_OPTION_DAMAGE = 21, //var naming makes no sense to me here buddy.. - Nathan --> i didnt do this... - Devil
VEHICLE_OPTION_NET_INVISIBLE = 22,
//9/3/2017
VEHICLE_OPTION_UNIFIED_COLOUR = 23,
VEHICLE_OPTION_ENGINE = 24,//Added by devil 10/04
VEHICLE_OPTION_TURBO_SPEED = 25, //Added by devil 11/04
VEHICLE_OPTION_NORMAL_SPEED = 26, //Added by devil 11/04
//32 values, from (and including) 0, to (and including) 31
};
////////
///NETWORK
//uint modAssistBitSet; //covers all players! :D - Nathan
uint autoFlipVehBitSet; //covers all players! :D - Nathan
uint autoFixVehBitSet; //covers all players! :D - Nathan
uint freezeGunProtectBitSet; //covers all players! :D - Nathan
uint infiniteArmourBitSet; //covers all players! :D - Nathan
uint neverWantedBitSet; //covers all players! :D - Nathan //works on others ONLY IF HOST
//
uint restrictWeaponsBitSet; //covers all players! :D - Nathan
uint rocketWeaponsBitSet; //covers all players! :D - Nathan
uint constantBoomBitSet; //covers all players
uint autoDeleteVehicleBitSet;
uint autoBurnBitSet;
////////////
#ifdef VERSION_PC
#define MAX_PLAYERS 32
#define is_xbox_version 1
#else
bool is_xbox_version = false; //native doesn't exist on PC
#define MAX_PLAYERS 16
#endif
int MD_Assist_to_run_index = 0; //nathan fixing for PS3! //fixed :P
#define MAX_MENU_ITEMS 30 // was 22
#define MAX_MENU_LEVELS 6
#define MENU_START_SCROLLING 11
#define MAX_SPAWNGUARDS 7
#define MAX_ATTACH_OBJECTS 30
/**Ped Id's*/
//uint Aped_ID = 0;
/**Attachment Vars*/
#define MAX_ROTATION_SUBJECTS 8
bool renew_rotate = true;
float rotate_inc;
Object Rotation_Subject[MAX_ROTATION_SUBJECTS];
//Vehicle Rotate_Vehicle;
float Rotation_Speed = 0.04f;
//float RotVeh_h = 0;
/** DEBUG VARS - Remove later*/
bool MD_Player_Info = true; //nathan fixed :D
bool MD_Version_Detector = true;
//bool BG_Teleport_Attack = false;
uint player_rgb = 36;// Player to color ID
/**Rotation globals**/
float angletest1 = 1.575f;
float angletest2 = 4.725f;
float angletest3 = 3.1500f;
float angletest4 = 0.00f;
float angletest5 = 5.5125f;
float angletest6 = 2.3625f;
float angletest7 = 3.9375f;
float angletest8 = 0.7875f;
float Rotation_Distance = 3.00f;
bool Rot_Solidify = false; //should be removed completely, can cause so much laggg
float Set_Rotation_Height = 0.0f; //Will take this out later or leave it in for development.
/** Nathan's Vars, DO NOT TOUCH! //////////////// */
#ifdef Premium
bool secure = true;
#endif
int KeyboardAntiWaitAction = 0;
int KeyboardSelectedPlayerIndex;
int NetPlayer_Scan_tick_delay; //is this still used?
char *NetPlayer_Weapon;
//int varsfree[70];// 06/01/2017
bool DrawDevWindow;
/**Check these vars - Debugging*/
int BG_ped[MAX_SPAWNGUARDS];
int WeaponVeh_ped[MAX_WEAPONPEDS];
Object Rotation_Subject_Handle;
//int Personalcol1 = 106, Personalcol2 = 132;
//bool damage = false;
int userfound = 0;
void printstr(char *str, int time){
CLEAR_PRINTS();
CLEAR_SMALL_PRINTS();
PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", str, time, true);
CLEAR_BRIEF();
}
/**/
//bool RefreshMenu = false;
bool Vertical_Playerlist = false;
bool Print_Kill_Feed = false;
bool FakeFreeze;
int GhostID;
/**Bodyguard Vars*/
Group BG_Group; //doesn't need to be a var, GET_PLAYER_GROUP(iPlayer,&BG_Group); boom you have it..
bool BG_Attack_Selected_Player = false;
int group_formation = 3;
int group_spacing = 15;
Object Attach_object[MAX_ATTACH_OBJECTS]; //what is this for??? if you keep objects stored and users delete with another script or someone does -> User gets froze.. not good
bool renew_attached = true;
int BGWeapontype_Lastselected = WEAPON_PISTOL;
bool Draw_Spy_Helper = true; //needs to be removed before release
/**Keyboard Shortcuts vars*/
bool keyboard_delete_abandoned_vehicles_only = true;
#ifdef Premium //don't randomly comment my shit - Nathan || i didnt touch this knob, u prolly didnt have weed when u did this...
bool keyboard_close_on_network_selection = false;
#endif
bool Include_Self = true;
int Delete_Distance_Radius = 150; //bigger than u thought! x2 distance than before, sphere wasnt correct size (it WAS half)
/**Player vars*/
int iPlayer;
int Episode;
bool In_Network = false;
bool Resurrect = false;
Vehicle Personal_Vehicle; // pPlayers car
Vehicle NetPlayer_Vehicle;
Ped pPlayer;
/**Premium Options vars*/
bool PlayerList = false;
//bool ShowOnleave = false; //Can bitset this
/**Display Vars*/
//char *StringValue_Display; //no longer used
char *CrossBrowse_PlayerName;
//bool MD_CrossBrowse_Display = false; //No longer used
bool Keyboard_Helper_Display = false;
//! Network vars
//bool Netplayerlist;
uint ChangeNetPlayer;
float TP_x = 0,TP_y,TP_z;
float save_x[2], save_y[2], save_z[2];
//!Vehicle vars
bool MD_Colour_Display_1 = false;
bool MD_Colour_Display_3;
bool MD_Colour_Display_2;
//int Veh_Autolock = 3; //disabled
Object drive_water[MAX_PLAYERS];
Vehicle object_veh;
Object mapbase_obj;
int c,c3;
//!Menu Core
enum eModManagerErrorID{
MODMANAGER_ERROR_ID_UNKNOWN,
MODMANAGER_ERROR_ID_INVALID,
MODMANAGER_ERROR_ID_SCRIPT
};
bool Menu_Has_Sco_Loaded;
bool Menu_Request_Sco;
int Glowing = 0;
int Fading_100 = 100;
int Fading_150 = 150;
int Rotating360 = 1;
int FlashingGhost = 1;
float versionslide = 0.1025;
uint item_highlighted;
uint last_selected[MAX_MENU_LEVELS];
uint SelectedItem;
uint itemCount;
uint menu_level;
uint player_count;
//int PlayerScan;
int tick;
float custom_float_change;
uint press_counter, hold_counter, press_counter_timesby, press_id;
uint MenuActionBitSet;
typedef struct _menu{
char *name;
char *charval;
uint type;
uint num_val;
uint extra_val;
//uint charval_bool; //Added by devil //no no no lots of no - Nathan
//bool action; //removed for one var (MenuActionBitSet) //note if more than 32 items, menu will crashz becuz of this..
} menu;
menu menu_item[MAX_MENU_ITEMS];
typedef struct _online_players{
//Ped ped; //we can remove this and use PLAYER_CHAR(playerindex) function I made allover - Nathan
//I actually think this may be something worth taking up that lil processor time (checks if char exists on button click etc, it'll be great!)
int id;
Ped ped;
} online_players;
online_players players[MAX_PLAYERS];