Code:
[] spawn {
while{true} do {
waitUntil{inputAction "User5" > 0};
[] spawn fn_openMenu;
waitUntil{inputAction "User5" == 0};
};
};
esp_toggle = 0;
god_toggle = 0;
vgod_toggle = 0;
title_text = "Skruffys | Base: JME";
font = "PuristaBold";
smallfont = "PuristaMedium";
title_color = [0.18,0.99,0.9,1];
text_color = [1.0, 1.0, 1.0, 1.0];
toggle_off_color = [0.63,0.02,0,1];
toggle_on_color = [0,0.51,0.05,1];
background_color = [0,0,0,0.1];
width_background_pos_x = 0.01;
width_background_pos_y = 0.055;
title_text_pos_x = 0.01;
title_text_pos_y = 0.015;
fps_text_pos_x = 0.01;
fps_text_pos_y = 0.05;
esp_text_pos_x = 0.01;
esp_text_pos_y = 0.08;
god_text_pos_x = 0.01;
god_text_pos_y = 0.11;
vgod_text_pos_x = 0.01;
vgod_text_pos_y = 0.14;
last_text_pos_x = 0.01;
last_text_pos_y = 0.17;
['MENU'] call {
fn_openMenu = {
disableSerialization;
removeAllActions player;
player addAction ["ESP On", {[]spawn fn_espToggle}];
player addAction ["God On", {[]spawn fn_godToggle}];
player addAction ["VGod On", {[]spawn fn_vgodToggle}];
player addAction ["All Off", {[]spawn fn_allOff}];
_titleText = (findDisplay 46) ctrlCreate ["RscStructuredText", -1];
_titleText ctrlSetFont font;
_titleText ctrlSetTextColor title_color;
_titleText ctrlSetPosition [safezoneX + title_text_pos_x, safezoneY + title_text_pos_y, 0.25, 0.2];
_titleText ctrlSetText title_text;
_titleText ctrlCommit 0;
_fpsText = (findDisplay 46) ctrlCreate ["RscStructuredText", -1];
_fpsText ctrlSetFont font;
_fpsText ctrlSetTextColor text_color;
_fpsText ctrlSetPosition [safezoneX + fps_text_pos_x, safezoneY + fps_text_pos_y, 0.25, 0.2];
_espText = (findDisplay 46) ctrlCreate ["RscStructuredText", -1];
_espText ctrlSetFont font;
_espText ctrlSetTextColor toggle_off_color;
_espText ctrlSetPosition [safezoneX + esp_text_pos_x, safezoneY + esp_text_pos_y, 0.25, 0.2];
_godText = (findDisplay 46) ctrlCreate ["RscStructuredText", -1];
_godText ctrlSetFont font;
_godText ctrlSetTextColor toggle_off_color;
_godText ctrlSetPosition [safezoneX + god_text_pos_x, safezoneY + god_text_pos_y, 0.25, 0.2];
_vgodText = (findDisplay 46) ctrlCreate ["RscStructuredText", -1];
_vgodText ctrlSetFont font;
_vgodText ctrlSetTextColor toggle_off_color;
_vgodText ctrlSetPosition [safezoneX + vgod_text_pos_x, safezoneY + vgod_text_pos_y, 0.25, 0.2];
_lastText = (findDisplay 46) ctrlCreate ["RscStructuredText", -1];
_lastText ctrlSetFont smallfont;
_lastText ctrlSetTextColor text_color;
_lastText ctrlSetPosition [safezoneX + last_text_pos_x, safezoneY + last_text_pos_y, 0.25, 0.2];
_background = (findDisplay 46) ctrlCreate ["RscBackgroundGUI", -2];
_background ctrlSetPosition [safezoneX + width_background_pos_x, safezoneY + width_background_pos_y, 0.25, 0.2];
_background ctrlSetBackgroundColor background_colour;
_background ctrlCommit 0;
while {true} do {
fps_text = (format ["FPS: %1", str round (diag_fpsmin)]);
_fpsText ctrlSetText fps_text;
_fpsText ctrlCommit 0;
if(esp_toggle == 1) then {
esp_text = "ESP - Enabled";
_espText ctrlSetTextColor toggle_on_color;
_espText ctrlSetText esp_text;
_espText ctrlCommit 0;
} else {
esp_text = "ESP - Disabled";
_espText ctrlSetTextColor toggle_off_color;
_espText ctrlSetText esp_text;
_espText ctrlCommit 0;
};
if(god_toggle == 1) then {
god_text = "God - Enabled";
_godText ctrlSetTextColor toggle_on_color;
_godText ctrlSetText god_text;
_godText ctrlCommit 0;
} else {
god_text = "God - Disabled";
_godText ctrlSetTextColor toggle_off_color;
_godText ctrlSetText god_text;
_godText ctrlCommit 0;
};
if(vgod_toggle == 1) then {
vgod_text = "VGod - Enabled";
_vgodText ctrlSetTextColor toggle_on_color;
_vgodText ctrlSetText vgod_text;
_vgodText ctrlCommit 0;
} else {
vgod_text = "VGod - Disabled";
_vgodText ctrlSetTextColor toggle_off_color;
_vgodText ctrlSetText vgod_text;
_vgodText ctrlCommit 0;
};
if(isNil "last_text") then {
last_text = "Last Action: Not found";
_lastText ctrlSetText last_text;
_lastText ctrlCommit 0;
} else {
_lastText ctrlSetText last_text;
_lastText ctrlCommit 0;
};
sleep 1;
};
};
};
['COMMANDS'] call {
fn_espToggle = {
esp_toggle = 1;
last_text = "Last Action: ESP On";
if(esp_toggle == 1) then {
addMissionEventHandler ["Draw3D",{{
if((isPlayer _x) && ((side _x) == (side player)) && ((player distance _x) < 1400) && (getplayeruid _x != "")) then {
_pos = getposatl _x;
_eyepos = ASLtoATL eyepos _x;
if((getTerrainHeightASL [_pos select 0,_pos select 1]) < 0) then {
_eyepos = eyepos _x;
_pos = getposasl _x;
};
_1 = _x modelToWorld [-0.5,0,0];
_2 = _x modelToWorld [0.5,0,0];
_3 = _x modelToWorld [-0.5,0,0];
_4 = _x modelToWorld [0.5,0,0];
_1 set [2,_pos select 2];
_2 set [2,_pos select 2];
_3 set [2,(_eyepos select 2)+0.25];
_4 set [2,(_eyepos select 2)+0.25];
_HP = (damage _x - 1) * -100;
_fontsize = 0.02;
_eyepos set [2,(_3 select 2) - 0.1];
drawIcon3D["",[0,1,0,1],_eyepos,0.1,0.1,45,format["%1(%2m) - %3HP",name _x,round(player distance _x),round(_HP)],1,_fontsize,'EtelkaNarrowMediumPro'];
drawLine3D[_1,_2,[0,1,0,1]];
drawLine3D[_2,_4,[0,1,0,1]];
drawLine3D[_4,_3,[0,1,0,1]];
drawLine3D[_3,_1,[0,1,0,1]];
};
if((isPlayer _x) && ((side _x) != (side player)) && ((player distance _x) < 1400) && (getplayeruid _x != "")) then {
_pos = getposatl _x;
_eyepos = ASLtoATL eyepos _x;
_1 = _x modelToWorld [-0.5,0,0];
_2 = _x modelToWorld [0.5,0,0];
_3 = _x modelToWorld [-0.5,0,0];
_4 = _x modelToWorld [0.5,0,0];
_1 set [2,_pos select 2];
_2 set [2,_pos select 2];
_3 set [2,(_eyepos select 2)+0.25];
_4 set [2,(_eyepos select 2)+0.25];
_HP = (damage _x - 1) * -100;
_fontsize = 0.02;
_eyepos set [2,(_3 select 2) - 0.1];
drawIcon3D["",[1,0,0,1],_eyepos,0.1,0.1,45,format["%1(%2m) - %3HP",name _x,round(player distance _x),round(_HP)],1,_fontsize,'EtelkaNarrowMediumPro'];
drawLine3D[_1,_2,[1,0,0,1]];
drawLine3D[_2,_4,[1,0,0,1]];
drawLine3D[_4,_3,[1,0,0,1]];
drawLine3D[_3,_1,[1,0,0,1]];
};
} forEach allUnits;}];
};
[] spawn fn_openMenu;
};
fn_godToggle = {
god_toggle = 1;
last_text = "Last Action: God On";
while{god_toggle == 1} do {
player allowDamage false;
player removeAllEventHandlers "handleDamage";
player addEventHandler["HandleDamage", {false}];
player setDamage 0;
};
last_text = "Last Action: God On";
[] spawn fn_openMenu;
};
fn_vgodToggle = {
vgod_toggle = 1;
last_text = "Last Action: VGod On";
while{vgod_toggle == 1} do {
_vehicle = vehicle player;
_vehicle removeAllEventHandlers "handleDamage";
_vehicle addEventHandler["handleDamage", {false}];
_vehicle allowDamage false;
_vehicle setDamage 0;
_vehicle setFuel 1;
};
[] spawn fn_openMenu;
};
fn_allOff = {
last_text = "Last Action: All Off";
removeAllMissionEventHandlers "Draw3D";
esp_toggle = 0;
god_toggle = 0;
vgod_toggle = 0;
[] spawn fn_openMenu;
};
};