Jump to content

Search the Community

Showing results for tags 'interface'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • BOHEMIA INTERACTIVE
    • BOHEMIA INTERACTIVE - NEWS
    • BOHEMIA INTERACTIVE - JOBS
    • BOHEMIA INTERACTIVE - GENERAL
  • FEATURED GAMES
    • Vigor
    • DAYZ
    • ARMA 3
    • ARMA 2
    • YLANDS
  • MOBILE GAMES
    • ARMA MOBILE OPS
    • MINIDAYZ
    • ARMA TACTICS
    • ARMA 2 FIRING RANGE
  • BI MILITARY GAMES FORUMS
  • BOHEMIA INCUBATOR
    • PROJECT LUCIE
  • OTHER BOHEMIA GAMES
    • ARGO
    • TAKE ON MARS
    • TAKE ON HELICOPTERS
    • CARRIER COMMAND: GAEA MISSION
    • ARMA: ARMED ASSAULT / COMBAT OPERATIONS
    • ARMA: COLD WAR ASSAULT / OPERATION FLASHPOINT
    • IRON FRONT: LIBERATION 1944
    • BACK CATALOGUE
  • OFFTOPIC
    • OFFTOPIC
  • Die Hard OFP Lovers' Club's Topics
  • ArmA Toolmakers's Releases
  • ArmA Toolmakers's General
  • Japan in Arma's Topics
  • Arma 3 Photography Club's Discussions
  • The Order Of the Wolfs- Unit's Topics
  • 4th Infantry Brigade's Recruitment
  • 11th Marine Expeditionary Unit OFFICIAL | 11th MEU(SOC)'s 11th MEU(SOC) Recruitment Status - OPEN
  • Legion latina semper fi's New Server Legion latina next wick
  • Legion latina semper fi's https://www.facebook.com/groups/legionlatinasemperfidelis/
  • Legion latina semper fi's Server VPN LEGION LATINA SEMPER FI
  • Team Nederland's Welkom bij ons club
  • Team Nederland's Facebook
  • [H.S.O.] Hellenic Special Operations's Infos
  • BI Forum Ravage Club's Forum Topics
  • Exilemod (Unofficial)'s General Discussion
  • Exilemod (Unofficial)'s Scripts
  • Exilemod (Unofficial)'s Addons
  • Exilemod (Unofficial)'s Problems & Bugs
  • Exilemod (Unofficial)'s Exilemod Server tweaks
  • Exilemod (Unofficial)'s Promotion
  • Exilemod (Unofficial)'s Maps - Mission Files
  • TKO's Weferlingen
  • TKO's Chernarus
  • TKO's Livonia
  • TKO's Rules
  • TKO's Changelog
  • TKO's Help
  • TKO's What we Need
  • MSOF A3 Wasteland's Server Game Play Features
  • MSOF A3 Wasteland's Problems & Bugs
  • MSOF A3 Wasteland's Maps in Rotation
  • SOS GAMING's Server
  • SOS GAMING's News on Server
  • SOS GAMING's Regeln / Rules
  • SOS GAMING's Ghost-Town-Team
  • SOS GAMING's Steuerung / Keys
  • SOS GAMING's Div. Infos
  • SOS GAMING's Small Talk
  • NAMC's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Yahoo


Jabber (xmpp)


Skype


Biography


Twitter


Google+


Youtube


Vimeo


Xfire


Steam url id


Raptr


MySpace


Linkedin


Tumblr


Flickr


XBOX Live


PlayStation PSN


Origin


PlayFire


SoundCloud


Pinterest


Reddit


Twitch.Tv


Ustream.Tv


Duxter


Instagram


Location


Interests


Interests


Occupation

Found 6 results

  1. Description: This is a GUI that allows the person who executed the script to add/assign or remove/unassign Zeus to any specified player(s). Downloads & More Information: GitHub: link Pastebin: link * No download required! Video: link Steam Guide: link Curator Creator Version 1.0: (Check the GitHub for the latest version) comment "Script Title: Curator Creator (Create and Assign New Zeuses). < Current Version: 1.0 > "; comment "Credits: Created by J [WoLF] and M9-SD. "; comment "Description: - Creates new unique zeus module for specified players. - Assigns unique Zeus module to specified clients. - Automatically updates zeus interface with new objects. - Re-assigns zeus to player every respawn. - Re-assigns zeus to player upon reconnecting to the session. - JIP (join-in-progress) compatible. "; comment "Usage: - Copy entire script. Paste in debug console. - Execute on local client. - Exit the pause menu if open. - Wait for GUI to appear. - Select recipients of the Zeus Interface. - Choose to remove or add interface. - The selected players will now either be assigned or unassigned their unique Zeus module. "; comment "Distribution: - You may share this script with anyone you want. - Don't give this to trolls, please. - Give credit where it is due. - Enjoy :) "; [] spawn { comment "-----------------------------------------------"; if (!hasInterface) exitWith {}; waitUntil { !isNil { player } && { !isNull player } }; waitUntil { !isNull (findDisplay 46) }; comment "-----------------------------------------------"; systemChat "[JAM] >>> Zeus Helper >>> Initializing Curator Creator..."; JAM_fnc_createAndAssignZeus = { if (typeOf getAssignedCuratorLogic player != "") then { comment "do nothing"; systemChat "[JAM] >>> Zeus Helper >>> You already have a zeus interface."; } else { JAM_fnc_createAssignCurator = { comment "-----------------------------------------------"; if (!hasInterface) exitWith {}; waitUntil { !isNil { player } && { !isNull player } }; waitUntil { !isNull (findDisplay 46) }; comment "-----------------------------------------------"; _myPlayer = _this # 0; _myCuratorPlayer = _myPlayer; JAM_addZeus_UID = getPlayerUID _myPlayer; JAM_addZeus_superCuratorVar = ("JAM_" + JAM_addZeus_UID + "_superCurator"); JAM_addZeus_superCuratorPlayerAttributesVar = ("JAM_" + JAM_addZeus_UID + "_superCuratorPlayerAttributes"); _JAM_my_curatorInitText = ("" + "if (isNil """ + JAM_addZeus_superCuratorVar + """) then {" + JAM_addZeus_superCuratorVar + " = JAM_superCurator_group createUnit ['ModuleCurator_F', [0, 90, 90],[],0.5,'NONE'];" + JAM_addZeus_superCuratorVar + " setVehicleVarName '" + JAM_addZeus_superCuratorVar + "';" + JAM_addZeus_superCuratorVar + " setVariable ['text','" + JAM_addZeus_superCuratorVar + "'];" + JAM_addZeus_superCuratorVar + " setVariable ['Addons',3,true];" + JAM_addZeus_superCuratorVar + " setVariable ['owner','objnull'];" + JAM_addZeus_superCuratorVar + " setVariable ['vehicleinit',"" _this setVariable ['Addons',3,true]; _this setVariable ['owner','objnull']; ""];" + "unassignCurator " + JAM_addZeus_superCuratorVar + ";" + "objnull assignCurator " + JAM_addZeus_superCuratorVar + ";" + JAM_addZeus_superCuratorPlayerAttributesVar + " = JAM_superCurator_group createUnit ['ModuleCuratorSetAttributesPlayer_F', [2, 91, 91],[],0.5,'NONE'];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['curator','" + JAM_addZeus_superCuratorVar + "'];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['unitpos',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['fuel',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['respawnposition',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['respawnvehicle',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['skill',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['rank',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['damage',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['exec',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['lock',true];" + JAM_addZeus_superCuratorPlayerAttributesVar + " setVariable ['vehicleinit',"" _this setVariable ['curator','" + JAM_addZeus_superCuratorVar + "']; _this setVariable ['unitpos',true]; _this setVariable ['fuel',true]; _this setVariable ['respawnposition',true]; _this setVariable ['respawnvehicle',true]; _this setVariable ['skill',true]; _this setVariable ['rank',true]; _this setVariable ['damage',true]; _this setVariable ['exec',true]; _this setVariable ['lock',true]; ""];" + "[" + JAM_addZeus_superCuratorVar + ",[-2,-1,0,1]] spawn BIS_fnc_setCuratorVisionModes;" + "JAM_" + JAM_addZeus_UID + "_updateSuperCuratorEditableObjects = true;" + "[] spawn {while {(JAM_" + JAM_addZeus_UID + "_updateSuperCuratorEditableObjects" + ")} do { if ( ((getAssignedCuratorUnit " + JAM_addZeus_superCuratorVar + ") != objNull) && (alive (getAssignedCuratorUnit " + JAM_addZeus_superCuratorVar + "))) then { " + JAM_addZeus_superCuratorVar + " addCuratorEditableObjects [([] call JAM_fnc_getEditableObjects),true]; }; sleep 30;}; };" + "}; " + ""); [_JAM_my_curatorInitText,{ _initText = _this; _initCode = compile _initText; if (isNil "JAM_blacklistedObjectsArray_01") then { JAM_blacklistedObjectsArray_01 = [ "ModuleCurator_F", "ModuleCuratorSetCamera_F", "Logic", "ModuleHQ_F", "VirtualCurator_F", "ModuleCuratorSetModuleCosts_F", "ModuleCuratorAddPoints_F", "ModuleCuratorSetObjectCosts_F", "ModuleCuratorSetCosts_F", "ModuleCuratorSetCoefs_F", "ModuleCuratorSetDefaultCosts_F", "ModuleCuratorAddEditingAreaPlayers_F", "ModuleMPTypeGameMaster_F", "ModuleRadioChannelCreate_F", "ModuleCuratorSetAttributesPlayer_F" ]; }; if (isNil "JAM_fnc_getEditableObjects") then { JAM_fnc_getEditableObjects = { _allObjs = allMissionObjects 'all'; _editableObjs = []; { if ( ( not ( ( typeOf _x ) in JAM_blacklistedObjectsArray_01 ) ) && ( not ( _x isKindOf "Logic" ) ) ) then { _editableObjs pushBackUnique _x; }; } forEach _allObjs; _editableObjs; }; }; if (isNil "JAM_superCurator_group") then { JAM_superCurator_group = createGroup sideLogic; }; [] spawn _initCode; }] remoteExec ['spawn',2]; comment "JIP"; [[JAM_addZeus_UID,JAM_addZeus_superCuratorVar], { comment "-----------------------------------------------"; if (!hasInterface) exitWith {}; waitUntil { !isNil { player } && { !isNull player } }; waitUntil { !isNull (findDisplay 46) }; comment "-----------------------------------------------"; _curatorUID = _this # 0; _curatorVarStr = _this # 1; if (getPlayerUID player == _curatorUID) then { _curatorPlayer = player; JAM_my_curatorInitText = ("" + "waitUntil {(not isNil """ + _curatorVarStr + """)}; " + "_curatorVar = " + _curatorVarStr + "; " + "_curatorPlayer = _this select 0; " + "[_curatorVar,_curatorPlayer] spawn { _curatorVar = _this # 0; _curatorPlayer = _this # 1; while {((getAssignedCuratorLogic _curatorPlayer) != _curatorVar)} do { unassignCurator _curatorVar; objnull assignCurator _curatorVar; unassignCurator _curatorVar; _curatorPlayer assignCurator _curatorVar; sleep 3.5; }; };" + "JAM_" + _curatorUID + "_updateSuperCuratorEditableObjects = true;" + "_curatorPlayer = _this select 0; '[JAM] >>> Zeus Helper >>> You were given Zeus interface. To open, press [Y].' remoteExec ['systemChat', _curatorPlayer];" + ""); [[JAM_my_curatorInitText,_curatorPlayer],{ _initText = _this # 0; _curatorPlayer = _this # 1; _initCode = compile _initText; [_curatorPlayer] spawn _initCode; }] remoteExec ['spawn',2]; comment "re-assign upon death/respawn"; JAM_keepGivingMeZeus = true; if (!isNil "JAM_EH_autoReassignCuratorUponDeath") then { player removeEventHandler ["Respawn",JAM_EH_autoReassignCuratorUponDeath]; }; waitUntil {(alive _curatorPlayer)}; JAM_EH_autoReassignCuratorUponDeath = player addEventHandler ["Respawn",{ if (JAM_keepGivingMeZeus) then { [] spawn { waitUntil {(alive player)}; sleep 3.5; [[JAM_my_curatorInitText,player],{ _initText = _this # 0; _curatorPlayer = _this # 1; _initCode = compile _initText; [_curatorPlayer] spawn _initCode; }] remoteExec ['spawn',2]; }; }; }]; }; }] remoteExec ['spawn',0,JAM_addZeus_superCuratorVar]; }; _target = player; [_target] spawn JAM_fnc_createAssignCurator; }; }; JAM_fnc_deleteAndUnassignZeus = { if (typeOf getAssignedCuratorLogic player == "") then { comment "do nothing"; systemChat "[JAM] >>> Zeus Helper >>> You already do not have a zeus interface."; } else { JAM_fnc_deleteUnassignCurator = { comment "-----------------------------------------------"; if (!hasInterface) exitWith {}; waitUntil { !isNil { player } && { !isNull player } }; waitUntil { !isNull (findDisplay 46) }; comment "-----------------------------------------------"; _myPlayer = _this # 0; _myCuratorPlayer = _myPlayer; JAM_addZeus_UID = getPlayerUID _myPlayer; JAM_addZeus_superCuratorVar = ("JAM_" + JAM_addZeus_UID + "_superCurator"); JAM_addZeus_superCuratorPlayerAttributesVar = ("JAM_" + JAM_addZeus_UID + "_superCuratorPlayerAttributes"); _JAM_my_curatorInitText = ("" + "if (!isNil """ + JAM_addZeus_superCuratorVar + """) then {" + "JAM_" + JAM_addZeus_UID + "_updateSuperCuratorEditableObjects = false;" + "unassignCurator " + JAM_addZeus_superCuratorVar + ";" + "objnull assignCurator " + JAM_addZeus_superCuratorVar + ";" + "unassignCurator " + JAM_addZeus_superCuratorVar + "; sleep 0.1;" + "comment 'deleteVehicle " + JAM_addZeus_superCuratorVar + ";';" + "};" + "if (!isNil """ + JAM_addZeus_superCuratorPlayerAttributesVar + """) then {" + "comment 'deleteVehicle " + JAM_addZeus_superCuratorPlayerAttributesVar + ";';" + "};" + ""); [_JAM_my_curatorInitText,{ _initText = _this; _initCode = compile _initText; [] spawn _initCode; }] remoteExec ['spawn',2]; comment "remove JIP"; [[JAM_addZeus_UID,JAM_addZeus_superCuratorVar], { comment "-----------------------------------------------"; if (!hasInterface) exitWith {}; waitUntil { !isNil { player } && { !isNull player } }; waitUntil { !isNull (findDisplay 46) }; comment "-----------------------------------------------"; _curatorUID = _this # 0; _curatorVarStr = _this # 1; if (getPlayerUID player == _curatorUID) then { _curatorPlayer = player; JAM_my_curatorInitText = ("" + "_curatorPlayer = _this select 0; '[JAM] >>> Zeus Helper >>> Zeus Interface was removed from your client.' remoteExec ['systemChat', _curatorPlayer];" + ""); [[JAM_my_curatorInitText,_curatorPlayer],{ _initText = _this # 0; _curatorPlayer = _this # 1; _initCode = compile _initText; [_curatorPlayer] spawn _initCode; }] remoteExec ['spawn',2]; JAM_keepGivingMeZeus = false; [] spawn { if (not (isNull (findDisplay 312))) then { (findDisplay 312) closeDisplay 0; }; waitUntil {(not (isNull (findDisplay 312)))}; if (not JAM_keepGivingMeZeus) then { if (not (isNull (findDisplay 312))) then { (findDisplay 312) closeDisplay 0; }; }; }; if (!isNil "JAM_EH_autoReassignCuratorUponDeath") then { player removeEventHandler ["Respawn",JAM_EH_autoReassignCuratorUponDeath]; }; }; }] remoteExec ['spawn',0]; [[],{}] remoteExec ['spawn',0,JAM_addZeus_superCuratorVar]; }; _target = player; [_target] spawn JAM_fnc_deleteUnassignCurator; }; }; JAM_curator_recipients = []; comment "check if player is Zeus"; if (isNil "JAM_fnc_getDisplay46or312") then { JAM_fnc_getDisplay46or312 = { comment "default"; _displayNumber = 46; if ((isNull (findDisplay 312)) && (not isNull (findDisplay 46))) then { _displayNumber = 46; }; if (not isNull (findDisplay 312)) then { _displayNumber = 312; }; comment "return value (display number)"; _displayNumber }; }; comment " - Define critical variables. > JAM_txtSizeNum > JAM_txtSizeStr "; JAM_txtSizeNum = 0.5 * safezoneH; JAM_txtSizeStr = str JAM_txtSizeNum; with uiNamespace do { JAM_txtSizeNum = 0.5 * safezoneH; JAM_txtSizeStr = str JAM_txtSizeNum; }; with missionNamespace do { JAM_txtSizeNum = 0.5 * safezoneH; JAM_txtSizeStr = str JAM_txtSizeNum; }; comment " ...Variables Defined. "; JAM_open_selectJAMZeusRecipients = { JAM_curator_recipients = []; _centerScreenPos = [0.494844 * safezoneW + safezoneX,0.489 * safezoneH + safezoneY,0.004125 * safezoneW,0.0055 * safezoneH]; disableSerialization; d_selectJAMZeusRecipients = (findDisplay ([] call JAM_fnc_getDisplay46or312)) createDisplay "RscDisplayEmpty"; showChat true; _ctrl_selectJAMZeusRecipientsTitle = d_selectJAMZeusRecipients ctrlCreate ["RscStructuredText", -1]; _ctrl_selectJAMZeusRecipientsTitle ctrlSetStructuredText parseText ("<t valign='middle' align='center' size='" + (str (JAM_txtSizeNum * 0.8)) + "'>ZEUS HELPER >>> CURATOR CREATOR<br/><t size='" + (str (JAM_txtSizeNum * 0.7)) + "'>(Create and Assign New Zeuses)<t/>"); _ctrl_selectJAMZeusRecipientsTitle ctrlSetBackgroundColor [0,0,0,0.77]; _ctrl_selectJAMZeusRecipientsTitle ctrlSetPosition _centerScreenPos; _ctrl_selectJAMZeusRecipientsTitle ctrlSetFade 1; _ctrl_selectJAMZeusRecipientsTitle ctrlCommit 0; _ctrl_selectJAMZeusRecipientsTitle ctrlSetPosition [0.427812 * safezoneW + safezoneX,0.313 * safezoneH + safezoneY,0.128906 * safezoneW,0.033 * safezoneH]; _ctrl_selectJAMZeusRecipientsTitle ctrlSetFade 0; _ctrl_selectJAMZeusRecipientsTitle ctrlCommit 0.5; ctrl_sJr_PlayerList = d_selectJAMZeusRecipients ctrlCreate ["RscListBox", -1]; { _pL_index = ctrl_sJr_PlayerList lbAdd name _x; } forEach allPlayers; ctrl_sJr_PlayerList ctrlSetPosition _centerScreenPos; ctrl_sJr_PlayerList ctrlSetFade 1; ctrl_sJr_PlayerList ctrlCommit 0; ctrl_sJr_PlayerList ctrlSetPosition [0.427812 * safezoneW + safezoneX,0.379 * safezoneH + safezoneY,0.061875 * safezoneW,0.22 * safezoneH]; ctrl_sJr_PlayerList ctrlSetFade 0; ctrl_sJr_PlayerList ctrlCommit 0.5; ctrl_sJr_recipientList = d_selectJAMZeusRecipients ctrlCreate ["RscListBox", -1]; ctrl_sJr_recipientList ctrlSetPosition _centerScreenPos; ctrl_sJr_recipientList ctrlSetFade 1; ctrl_sJr_recipientList ctrlCommit 0; ctrl_sJr_recipientList ctrlSetPosition [0.494844 * safezoneW + safezoneX,0.379 * safezoneH + safezoneY,0.061875 * safezoneW,0.22 * safezoneH]; ctrl_sJr_recipientList ctrlSetFade 0; ctrl_sJr_recipientList ctrlCommit 0.5; _ctrl_cancel = d_selectJAMZeusRecipients ctrlCreate ["RscButtonMenu", -1]; _ctrl_cancel ctrlSetStructuredText parseText ("<t valign='middle' align='center' size='" + JAM_txtSizeStr + "'>CLOSE<t/>"); _ctrl_cancel ctrlSetTooltip "Cancel the script and close this menu."; _ctrl_cancel ctrladdEventHandler ["ButtonClick",{ d_selectJAMZeusRecipients closeDisplay 0; JAM_curator_recipients = []; }]; _ctrl_cancel ctrlSetFade 1; _ctrl_cancel ctrlSetPosition _centerScreenPos; _ctrl_cancel ctrlCommit 0; _ctrl_cancel ctrlSetPosition [0.469063 * safezoneW + safezoneX,0.698 * safezoneH + safezoneY, 0.0464063 * safezoneW,0.022 * safezoneH]; _ctrl_cancel ctrlSetFade 0; _ctrl_cancel ctrlCommit 0.5; _ctrl_removeJAMZeusbutton = d_selectJAMZeusRecipients ctrlCreate ["RscButtonMenu", -1]; _ctrl_removeJAMZeusbutton ctrlSetStructuredText parseText ("<t valign='middle' align='center' size='" + JAM_txtSizeStr + "'>---------REMOVE ZEUS---------<t/>"); _ctrl_removeJAMZeusbutton ctrlSetTooltip "Delete and unassign unique zeus module for each player on the right-hand list."; _ctrl_removeJAMZeusbutton ctrlSetBackgroundColor [0.5,0.2,0,0.6]; _ctrl_removeJAMZeusbutton ctrladdEventHandler ["ButtonClick",{ if (count JAM_curator_recipients != 0) then { d_selectJAMZeusRecipients closeDisplay 0; { _recipientName = _x; systemChat ("[JAM] >>> Zeus Helper >>> Removing Zeus from " + (_recipientName) + "..."); { if ((name _x) == (_recipientName)) then { [JAM_fnc_deleteAndUnassignZeus,{ _code = _this; [] spawn _code; }] remoteExec ['spawn',_x]; }; } forEach allPlayers; } forEach JAM_curator_recipients; comment "[] call JAM_init;"; } else { hint "[JAM] : ERROR : You have not selected any players; Array is empty."; systemChat "[JAM] : ERROR : You have not selected any players; Array is empty."; }; }]; _ctrl_removeJAMZeusbutton ctrlSetPosition _centerScreenPos; _ctrl_removeJAMZeusbutton ctrlSetFade 1; _ctrl_removeJAMZeusbutton ctrlCommit 0; _ctrl_removeJAMZeusbutton ctrlSetPosition [0.432969 * safezoneW + safezoneX,0.654 * safezoneH + safezoneY,0.118594 * safezoneW,0.033 * safezoneH]; _ctrl_removeJAMZeusbutton ctrlSetFade 0; _ctrl_removeJAMZeusbutton ctrlCommit 0.5; _ctrl_addBtn = d_selectJAMZeusRecipients ctrlCreate ["RscButtonMenu", -1]; _ctrl_addBtn ctrlSetStructuredText parseText ("<t valign='middle' align='center' size='" + JAM_txtSizeStr + "'>Add<t/>"); _ctrl_addBtn ctrlSetTooltip "Add selected player to the target list."; _ctrl_addBtn ctrlSetBackgroundColor [-1,0.5,-1,0.6]; _ctrl_addBtn ctrladdEventHandler ["ButtonClick",{ _selectedItem = lbCurSel ctrl_sJr_PlayerList; _playerName = ctrl_sJr_PlayerList lbText _selectedItem; if (JAM_curator_recipients find _playerName == -1) then { JAM_curator_recipients pushBackUnique _playerName; ctrl_sJr_recipientList lbAdd _playerName; }; }]; _ctrl_addBtn ctrlSetPosition _centerScreenPos; _ctrl_addBtn ctrlSetFade 1; _ctrl_addBtn ctrlCommit 0; _ctrl_addBtn ctrlSetPosition [0.427812 * safezoneW + safezoneX,0.357 * safezoneH + safezoneY,0.061875 * safezoneW,0.022 * safezoneH]; _ctrl_addBtn ctrlSetFade 0; _ctrl_addBtn ctrlCommit 0.5; _ctrl_removeBtn = d_selectJAMZeusRecipients ctrlCreate ["RscButtonMenu", -1]; _ctrl_removeBtn ctrlSetStructuredText parseText ("<t valign='middle' align='center' size='" + JAM_txtSizeStr + "'>Remove<t/>"); _ctrl_removeBtn ctrlSetTooltip "Remove selected player from the target list."; _ctrl_removeBtn ctrlSetBackgroundColor [0.5,-1,-1,0.6]; _ctrl_removeBtn ctrladdEventHandler ["ButtonClick",{ _selectedItem = lbCurSel ctrl_sJr_recipientList; _playerName = ctrl_sJr_recipientList lbText _selectedItem; if (JAM_curator_recipients find _playerName > -1) then { _idx = JAM_curator_recipients find _playerName; JAM_curator_recipients deleteAt _idx; ctrl_sJr_recipientList lbDelete _selectedItem; }; }]; _ctrl_removeBtn ctrlSetPosition _centerScreenPos; _ctrl_removeBtn ctrlSetFade 1; _ctrl_removeBtn ctrlCommit 0; _ctrl_removeBtn ctrlSetPosition [0.494844 * safezoneW + safezoneX,0.357 * safezoneH + safezoneY,0.061875 * safezoneW,0.022 * safezoneH]; _ctrl_removeBtn ctrlSetFade 0; _ctrl_removeBtn ctrlCommit 0.5; _ctrl_giveJAMZeusbutton = d_selectJAMZeusRecipients ctrlCreate ["RscButtonMenu", -1]; _ctrl_giveJAMZeusbutton ctrlSetStructuredText parseText ("<t valign='middle' align='center' size='" + JAM_txtSizeStr + "'>------------GIVE ZEUS------------<t/>"); _ctrl_giveJAMZeusbutton ctrlSetTooltip "Create and assign unique zeus module for each player on the right-hand list."; _ctrl_giveJAMZeusbutton ctrlSetBackgroundColor [-1,-1,0.4,0.6]; _ctrl_giveJAMZeusbutton ctrladdEventHandler ["ButtonClick",{ if (count JAM_curator_recipients != 0) then { d_selectJAMZeusRecipients closeDisplay 0; comment "[] call JAM_init;"; { _recipientName = _x; systemChat ("[JAM] >>> Zeus Helper >>> Giving Zeus to " + (_recipientName) + "..."); { if ((name _x) == (_recipientName)) then { [JAM_fnc_createAndAssignZeus,{ _code = _this; [] spawn _code; }] remoteExec ['spawn',_x]; }; } forEach allPlayers; } forEach JAM_curator_recipients; } else { hint "[JAM] : ERROR : You have not selected any players; Array is empty."; systemChat "[JAM] : ERROR : You have not selected any players; Array is empty."; }; }]; _ctrl_giveJAMZeusbutton ctrlSetFade 1; _ctrl_giveJAMZeusbutton ctrlSetPosition _centerScreenPos; _ctrl_giveJAMZeusbutton ctrlCommit 0; _ctrl_giveJAMZeusbutton ctrlSetPosition [0.432969 * safezoneW + safezoneX,0.61 * safezoneH + safezoneY,0.118594 * safezoneW,0.033 * safezoneH]; _ctrl_giveJAMZeusbutton ctrlSetFade 0; _ctrl_giveJAMZeusbutton ctrlCommit 0.5; systemChat "[JAM] >>> Zeus Helper >>> Select players to give or remove Zeus Interface."; }; comment "close debug console"; if ( not (isNull (findDisplay 49)) ) then { (findDisplay 49) closeDisplay 0; }; waitUntil { isNull (findDisplay 49) }; sleep 0.1; systemChat "[JAM] >>> Zeus Helper >>> Spawning GUI..."; [] spawn JAM_open_selectJAMZeusRecipients; }; - Feel free to give me some feedback on this script, as I am sure there are some bugs to be reported with it, and I would like to improve it however I can. I might make an alternate version where it doesn't auto-add objects to the Zeus interface every 30 seconds.
  2. GOM_fnc_aircraftLoadout V1.35 by Grumpy Old Man Features: Change serial (tail) number on compatible aircraft (currently supported: Gryphon, Shikra and Black Wasp) Change pylon priority (makes multiple pylons act as a single weapon if they have the same priority) Works with all addon aircrafts with properly configured pylons Preset function to save presets and load them, mission/server independent deleting a preset works only when holding down CTRL to prevent mishaps Option to set pylon ownership to either gunner or pilot, also works with presets Change the livery of the aircraft if it's configured for one Allows certain players to modify aircraft loadouts, as well as rearm the pylons and repair/refuel the aircraft Can be restricted to work only if fuel/ammo/repair sources are within 50m of the object holding the menu You can simultaneously only refuel as many aircraft as you have fuel sources Can sort for compatible weapons or allow to mount all weapons on all pylons Ability to set reporting, receiving of remote targets and own position One click to clear all pylons if you changed your mind Can be operated by a lone pilot or a designated logistics crew Multiple players can install multiple pylons on the same plane, one pylon at a time Pylon installation will take some time, depending on mag size (twin cannons or gatlings will install faster than a 12 missile dagr pod) Rearming with engines on How to use this script: Unpack the downloaded .rar and check out the demo mission. Copy the file structure besides init.sqf and mission.sqm into your own mission. Don't forget to back up before overwriting any files! Functions for mission makers: List of commands used by remoteExec (changed in 1.33): Read: The addAction on objects will only show up if the players weapon is lowered. Make sure you have aircraft placed that are dynamic loadout compatible (especially for missions made pre 1.70!). The script now by default needs to have at least one ammo source, repair source or fuel source within 50m of the object that is holding the loadout menu. The respective options will be greyed out otherwise. This can be changed however. Simply adjust the variables in the of GOM_fnc_aircraftLoadoutParameters.sqf to your liking, the comments tell you what each variable does. (!) Check out the included mission file on how to add this menu to objects, players or triggers, dedicated server and local hosted server compatible. Aircraft Loadout V1.35 Download Armaholic V1.35 Download Known issues: If you encounter any errors please send me a PM containing details (screenshots,.rpt,error messages etc). If you encounter vehicle resources not working with ACE3 check out the functions for mission makers section above. Changelog: V1.35 Fixed: Players are no longer able to load presets created with a different pylon restriction setting, thanks @magicsrp Due to this change all presets needed to be reset V1.342 (Most likely) Fixed: Error with CUP Aircraft not returning getAllHitPointsDamage V1.341 Fixed: "Unknown attribute t" .rpt spam, thanks @magicsrp Previous changes: Enjoy
  3. VPHUD stands for Virtual Pilot Head-Up Display What is VPHUD? Have you ever felt the need to look at the aircraft fixed gauges, because it had no HUD? Have you ever crashed your aircraft because you were distracted looking at such gauges? Have you ever wished the Advanced Flight Model GUI existed in the Standard Flight Model? If that's your case then I'm glad to tell you that VPHUD seeks to solve all those problems and wishes you ever had before. VPHUD is a seamless addon that adds two virtual gauges to all aircraft which do not have native HUD support. A Artificial Horizon to help you understand when your airplane is upside down, or if you're landing your helicopter perfectly leveled. A Vertical Speed Indicator to give you crucial information if the landing you're attempting to make is too harsh for your aircraft to handle. Some other misc information is also available such as height from surfaces (not ground terrain) and speed. How it works? As mentioned before, the addon works seamlessly without the need for any configuration. All you have to do is get in a aircraft as pilot, and the VPHUD will pop up immediatly. At the left will show up the Vertical Speed Indicator and at the right the Artificial Horizon. Aircraft that have built-in HUDs will not make VPHUD appear. But that's not all, you can change VPHUD's settings by scrolling and selecting "VPHUD Options". What can I change? In VPHUD's Options menu you'll be able to: Change the System of Units between Metric System and Imperial System. Change VPHUD scale and positioning. Enable a virtual crosshair and change its color. . You can use the crosshair only if you don't care about the gauges. Force/unforce VPHUD to show up, ignoring built-in filtering options. How to aim the crosshair? When NOT zoomed in the player aims with the V's top (default view), when zooming in the player aims with the bottom end of the V (right click zoom). Issues Gauges scalling algorythm needs improvement. Altitude bar sometimes getting behind the Vertical Speed Indicator is a expected behaviour. Pitch not perfectly accurate. Aside from that, none that I'm aware. Let me know if you find any. Planned Improvements Throttle indicator. Better crosshair customisation. Change pitch degrees scale from 10º to 15º. Another VPHUD styling that replicates real aircraft HUDs. Meanwhile this may interest you. Licensing No Redistribution - You may not publicly redistribute VPHUD without my consent. As such public modpacks/mod compilations are not authorized. The ONLY EXCEPTION are communities/clans that may PRIVATELY share VPHUD on their own PRIVATE repositories for PRIVATE IN-HOUSE use without noticing me. (I'll personally take care of distributing and keeping updated VPHUD on the most popular Arma public repositories. If you wish for VPHUD to be available on a public repository that is not yet available please contact me.) Attribution - You may create your own derivative works as long as you credit me for the original work on which your derivative work is based on, but not in any way that suggests that I endorse you or your derivative work. Noncommercial - You may not use VPHUD for any commercial purposes whatsoever. Share Alike - Your derivative work must also be open for derivative works and not be used for commercial purposes as well (both Arma derivatives and non-Arma derivatives). You may opt to openly allow your derivative work to be publicly distributed. Download Repositories Steam Workshop Armaholic Direct Download withSIX (Outdated) Feedback and suggestions are always welcome! Thank you. Contribute to the mod at GitHub.
  4. Script Version This mod enables Curators to see the Frames-per-second of each individual client when playing in multiplayer. Allowing the Zeus to identify if there is a widespread framerate problem, or if a few select users are experiencing issues. Comments in the code explain how to modify it if you want to change the 'Warning text' threshold which by default is 20fps.Given Arma 3 is now in 64 bit it's the perfect opportunity for players to test their performance in multiplayer coop games with large scale combat. Find out who's computer is the beefiest when playing with your unit, or be able to identify which player's computers are having trouble keeping up with all the action. A great tool for mission makers looking to maintain an optimized experience for their players when monitoring their progress in Zeus. Workshop Google Drive Armaholic
  5. Hopefully I'm not suggesting this too late in the development cycle but I'd like to see some improvements to the ancient action menu. I was very pleasantly surprised when Apex control preset came out which removed weapon switching from the action menu and reduced the clutter. I suggest taking it further and cleaning it up some more. I don't know about you guys but I hate menus, I hate interacting with them mid combat and getting arma'ed by them and so on. 1. Give us an option to remove certain actions from the action menu I personally think we should be allowed to remove actions such as: "Get Out" and "Eject" when there are keybinds for those (default V and 2xV respectively). I cannot count how many times me and other players been ejected from a vehicle when trying to use a certain action which disappeared for a split second when another player used an action and Eject option was the first one in the menu which got selected in that split second. Yeah it is so broken when it keeps resetting whenever someone else uses it. Additionally we have keybinds for: Engine On/Off; Lights On/Off; Turn Out/In; Gear Up/Down; Flaps Up/Down and some others I can't think off at the moment. Would like it if there was an option either in game options or controls to remove specific actions from the action menu so as to allow to customize it for those that prefer using action menu for some reason and keep everyone happy 2. Introduce a quick access/hot key system for inventory items So we can stop placing explosives on the helicopter or transport truck as we are trying to board it while the action menu keeps resetting because our fellow comrades are also trying to board it at the same time. What I am proposing is essentially an MMO style hot key system which would imo benefit Arma greatly. By default Apex Preset uses "1" for primary weapon, "2" for secondary and "3" for launcher. So player could assign his own keys for each quick access slot which would show the corresponding key bind like in the mockup image bellow. Then the player would drag and drop the items from uniform/vest/backpack into the quick access slots. Additionally it could be used not only for explosives but grenades as well. For example you press number 5 and your character switches to an RGO grenade. While I would prefer character actually holding the grenade in his hand like in FPS games since the 90s I'm not sure Bohemia can afford the animator labor? I could live with Shactac/ACE style floating grenades in front of you. Regardless I think Red Orchestra2/Rising Storm did grenades very elegantly in my opinion. You aim with your ingame hand and cook grenade at the same time, how intuitive :O Here's a Satchel You can throw the Satchel too 3. Improve opening doors/windows Could we have the door icon attach to doors, windows in the actual 3D world space so we know which door is about to open/close? Seems relatively simple If icons were to attach to doors/windows you could then remove those options from the action menu and look for an icon prompt instead. I also noticed that when giving move commands to AI there's an arrow that seems to attach to objects. So it seems that there's already a capability in the engine to attach HUD elements in 3D space. Anyway these are my suggestions. Looking forward to more suggestions and a discussion. Hopefully it's not too late to get the action menu improved
  6. In first: Settings - Controls - Interface Layout We have several tools for aircraft... false-Horizon, altimeter, speedometer... If altimeter and speedometer we can see at vehicle-health panel, the horizon we wont. But i still need to control on both dificulty level by pilot tools as mount in the helicopter (like a Littlebird or Kaiman). On Kayman without RMB zoom i dont see false-Horizon att all - all number is white rectangulars. === In second: We use ALT key for toogle freelook and double ALT for switch freelook. In switched freelook pressing alt by some reason backs the camera at middle. It makes some problems when driving Helicopter. I think IN FREELOOK MODE key ALT must GIVE CONTROLS AND HOLD CAMERA IN CURRENT POSITION without backing it to center. That allows use freelook for correct heli landing position when sitting down and correct it with mouse when holding ALT key in freelook mode. Sorry, i want to see bottom and use mouse to land helicopter. === In third: We have option "vehicle freelook" that not correctly working with freelook key. When vehicle freelook is activated - we cannot use both key for again use mouse to control helicopter - it used for freelook only even if key ALT is pressed. I think it's a bug. === In fourth: Key V is using for stepping over obstacle. Do BIS can add the check for that function - is obstacle here? That dancing when you accidentally press V making both actions inactive for 2 seconds, means a lot of time in PVP. That function allows sometimes stepping through walls, through high fence, or come into texture. Need a check like function "Stand weapon" - key wont work if we havent nearby wall or flat surface. Still here - if we not have small fence - function is inactive. === Fiveth: Swim keys we can remove from game. Use camera an classic W-S-A-D. I think need to add swim-control with depending from carrying weight. So slow swim speed for both missions even if haven't inventory at all. Very slow. Water missions is always bored for make it in future.
×