Search the Community
Showing results for tags 'igui'.
Found 3 results
-
Alongside our planned Jets DLC platform upgrades, we needed moar UI. But quite a big part of the ingame screen is already taken by various elements and gadgets. We realize that, despite our goal to be more 'minimalistic' with UI, we have quite a lot going on in there. We've decided to put some elements into 'generic containers'. Together with Weapon and Vehicle Info, we now have a system called 'Custom Info'. It's 'Custom' because it allows you to pick which ones you want to have displayed in game. Custom also because creates a framework for modders to use - more about that later on wiki. Before we go any further, I recommend you to reset your keybinds to A3 or Apex preset (and dump all the hours you've spent customizing them) - otherwise you'll see a lot of missing strings and unnecessary action menu entries. As a player, what you get is a system of two windows - left and right. You have actions to toggle modules inside these windows. By default: [ - next module (GPS, feed, sensor display....) on left display RCTRL + [ - toggle sub-mode (range, feed spectrum...) on left display ] - next module on right display RCTRL + ] - toggle sub-mode on right display (no default keybind) - previous module on left display (no default keybind) - previous module on right display (no default keybind) - close left display (no default keybind) - close right display You can find following modules: Navigation (if your have a GPS item or GPS is configured as integral part of your vehicle) - the navigation is now rotating. The tech is being improved, so you can expect some hickups. Slingload assistant (if your vehicle can slingload) UAV camera feed (if you have an UAV terminal) Crew list (If you are inside a vehicle) In addition - in all military aircraft - you will have a Sensor display. More about that in the Sensor Overhaul feedback thread In all tanks, APCs, MRAPs and similar 'advanced' vehicles, you will have camera feeds from other crew's positions. In attack aircraft (gunships, fighters, CAS), you will also have feeds from TGP (driver), gunner and also from a launched missile wherever applicable. The old actions for GPS, Drone feed and Slingload assistant still work and will directly switch the default window to the respective module. Enjoy, and let us know what you think!
- 200 replies
-
- 26
-
Firemodes not shown on HUD, counter this with control display but not clean
CheyenneAH56 posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hi all ; I'll try to make it short. I have created a new weapon, with three fire modes which can be installed on all vanilla and community planes and helicopters, even those provided without weapons at the base (e.g. unarmed WY-55, etc.). Everything is working well, except that I cannot see the display of fire modes in the HUD at the top right, on any of the vehicles. I then understood slightly that the display seams to depends on the vehicle and its configuration (UnitInfoType: RscBlaBlaBla), and not on the weapon, because this one, moreover, is a weapon mountable on vehicle (so WeaponInfoType: RscBlaBlaBla is not used). Therefore ; to counter this, i created a control display and a script. The only current problem, when the player is in the pause menu, the display remains there, same for the splendid camera, same for the spectator mode, same for the GUI editor, etc. I managed to use a displayeventhandler to hide the control display in the pause menu, but not for the rest mentioned. If someone can do a lot much easier, I'm interested, just to understand a little better ! 😶 > Here is the script : _veh = _this select 0; waitUntil {(currentWeapon _veh == "MyNewWeapon") && (!isNull findDisplay 46)}; ("FireModes" call BIS_fnc_rscLayer) cutRsc ["RscTitleDisplayEmpty", "PLAIN", -1, false]; with uiNamespace do { _display = uiNamespace getVariable "RscTitleDisplayEmpty"; FireModes = _display ctrlCreate ["RscStructuredText", -1]; }; sleep 0.01; FireModes = [uiNamespace getVariable "FireModes"]; (FireModes select 0) ctrlSetPosition [32.5 * (((safezoneW / safezoneH) min 1.2) / 40), -1.60 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25), 0.095 * safezoneW, 0.085 * safezoneH]; sleep 0.01; (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 0x01) then {(FireModes select 0) ctrlShow false;};"]; while {alive _veh} do { (FireModes select 0) ctrlCommit 0.0; if ((currentWeapon _veh == "MyNewWeapon") && (player in _veh) && (assignedDriver _veh == player) && !(visibleMap) && (isNull (uinamespace getvariable "RscDisplayInterrupt"))) then { (FireModes select 0) ctrlShow true; (FireModes select 0) ctrlSetStructuredText parseText format ["<t size='0.8' align='Left' font='RobotoCondensed' color='#D9FFFFFF'>%1</t>", gettext (configFile >> "CfgWeapons" >> "MyNewWeapon" >> (currentWeaponMode (driver _veh)) >> "displayName")]; } else { (FireModes select 0) ctrlShow false; }; }; sleep 0.01; ctrlDelete (FireModes select 0); sleep 0.01; terminate _thisScript; > Here is the configuration of the weapon (it is unusual / but do not focus on it, it works) : class CfgWeapons { class Laserdesignator; class MyNewWeapon : Laserdesignator { //_generalMacro = "Laserdesignator"; access = 3; aiDispersionCoefX = 1; aiDispersionCoefY = 1; aimTransitionSpeed = 1; aiRateOfFire = 5; aiRateOfFireDispersion = 0; aiRateOfFireDistance = 500; ammo = ""; artilleryCharge = 1; artilleryDispersion = 1; author = "Bohemia Interactive"; autoFire = 0; autoReload = 1; backgroundReload = 1; ballisticsComputer = 0; burst = 100; canMODE = 1; canLock = 0; canShootInWater = 0; cartridgePos = "nabojnicestart"; cartridgeVel = "nabojniceend"; changeFiremodeSound[] = {"",1,1}; cmImmunity = 1; count = 0; cursor = "laserDesignator"; cursorAim = "EmptyCursor"; cursorAimOn = "CursorAimOn"; cursorSize = 1; detectRange = 0; dispersion = 0.002; displayName = "MyNewWeapon"; distanceZoomMax = 2300; distanceZoomMin = 100; drySound[] = {"",1,1}; emptySound[] = {"",1,1}; enableAttack = 1; ffCount = 1; ffFrequency = 1; ffMagnitude = 0; fireAnims[] = {}; fireLightAmbient[] = {0,0,0}; fireLightDiffuse[] = {0.937,0.631,0.259}; fireLightDuration = 0.05; fireLightIntensity = 0.2; fireSpreadAngle = 3; forceOptics = 0; handAnim[] = {}; hiddenSelections[] = {}; hiddenSelectionsTextures[] = {}; hiddenUnderwaterSelections[] = {}; hiddenUnderwaterSelectionsTextures[] = {}; inertia = 0.1; initSpeed = 0; irDistance = 0; irDotIntensity = 0.001; irLaserEnd = "laser dir"; irLaserPos = "laser pos"; Laser = 1; lockAcquire = 1; lockedTargetSound[] = {"",0.000316228,6}; lockingTargetSound[] = {"",0.000316228,2}; magazineReloadSwitchPhase = 1; magazineReloadTime = 0; magazines[] = {"MyNewWeaponMag"}; maxLeadSpeed = 10000; maxRange = 850; maxRangeProbab = 0.1; maxRecoilSway = 0.008; memoryPointCamera = "eye"; midRange = 500; midRangeProbab = 0.75; minRange = 1; minRangeProbab = 0.95; //model = "\A3\Weapons_F\Binocular\laserdesignator_f.p3d"; modelMagazine = ""; //modelOptics = "\A3\Weapons_F_beta\Binocular\lasermarker_optics"; modelSpecial = ""; modes[] = {"MyNewWeapon_1","MyNewWeapon_2","MyNewWeapon_3"}; multiplier = 1; muzzleEnd = "konec hlavne"; muzzlePos = "usti hlavne"; muzzles[] = {"this"}; nameSound = "binoculars"; optics = 1; opticsDisablePeripherialVision = 1; opticsFlare = 1; opticsID = 0; opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"}; opticsZoomInit = 0.05; opticsZoomMax = 0.05; opticsZoomMin = 0.01; //picture = "\A3\Weapons_F_Mark\Data\UI\gear_laserdesignator_ca.paa"; primary = 0; recoil = "empty"; recoilProne = ""; reloadAction = ""; reloadMagazineSound[] = {"",1,1}; reloadSound[] = {"",1,1}; reloadTime = 0.05; scope = 2; selectionFireAnim = "zasleh"; showAimCursorInternal = 1; showEmpty = 1; shownUnderwaterSelections[] = {}; showSwitchAction = 1; showToPlayer = 1; simulation = "weapon"; sound[] = {"",0,1}; soundBegin[] = {"sound",1}; soundBeginWater[] = {"sound",1}; soundBullet[] = {"emptySound",1}; soundBurst = 1; soundClosure[] = {"sound",1}; soundContinuous = 0; soundEnd[] = {"sound",1}; soundLoop[] = {"sound",1}; sounds[] = {}; swayCoef = 0.34; swayDecaySpeed = 2; textureType = "default"; thermalMode[] = {2}; type = 4096; uiPicture = ""; useAction = 0; useActionTitle = ""; useAsBinocular = 1; useModelOptics = 1; value = 5; visionMode[] = {"Normal","NVG","TI"}; //weaponInfoType = "RscUnitInfoAir"; //"RscOptics_LaserDesignator_2"; Not used for vehicle mounted weapon weaponLockDelay = 0; weaponLockSystem = 0; weaponPoolAvailable = 1; weaponSoundEffect = ""; weight = 0; zeroingSound[] = {"",1,1}; class MyNewWeapon_1 : Laserdesignator { displayName = "FULL MODE"; autoFire = 0; autoReload = 1; backgroundReload = 1; reloadTime = 0.05; burst = 100; }; class MyNewWeapon_2 : Laserdesignator { displayName = "HALF MODE"; autoFire = 0; autoReload = 1; backgroundReload = 1; reloadTime = 0.05; burst = 50; }; class MyNewWeapon_3 : Laserdesignator { displayName = "LITE MODE"; autoFire = 0; autoReload = 1; backgroundReload = 1; reloadTime = 0.05; burst = 25; }; class Eventhandlers {}; }; };-
- fire modes
- hud
-
(and 5 more)
Tagged with:
-
RscIngameUI - Adding ctrl to existing UI
Bayern_Maik posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hi Guys, Im currently stuck because of "knowledge.hpp" not found and i hope u can help me out 🙂 I wrote a little script to allow players to adjust the animationSpeedCoef while beeing in stand/crouch combat stance via mouse wheel to make movement in cqc bit more variable (inspired by Escape from Tarkov "incremential" movement) To give the player visual feedback about the current movement speed i wanted to add a GUI element/progressBar beneath the stance indicator. The idea was to add another ctrl to RscStanceInfo hoping that the ctrl will be initialized/loaded/unloaded/shown "automatically" along the stance indicator ui. This is what i wrote in my mods config.cpp (for testing just a textbox instead progressBar) : class RscText; class RscIngameUI { class RscStanceInfo { idd = 303; scriptName = "RscStanceInfo"; scriptPath = IGUI; onLoad = "[""onLoad"",_this,""RscStanceInfo"",'IGUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay')"; onUnload = "[""onUnload"",_this,""RscStanceInfo"",'IGUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay')"; controls[] = {"StanceIndicatorBackground", "StanceIndicator","StanceProgressbar"}; class StanceProgressbar : RscText { idc = 6128; access = 1; type = 0; style = 2; x = (profilenamespace getvariable ["IGUI_GRID_STANCE_X", ( (safezoneX + safezoneW) - (3.7 * ( ( (safezoneW / safezoneH) min 1.2) / 40)) - 0.5 * ( ( (safezoneW / safezoneH) min 1.2) / 40))]); y = (profilenamespace getvariable ["IGUI_GRID_STAMINA_Y", (safezoneY + 4.05 * ( ( ( (safezoneW / safezoneH) min 1.2) / 1.2) / 25))]); w = (3.7 * ( ( (safezoneW / safezoneH) min 1.2) / 40)); h = (0.27 * ( ( ( (safezoneW / safezoneH) min 1.2) / 1.2) / 25)); text = "-WORK IN PROGRESS-"; font = "PuristaBold"; colorBackground[] = {1,1,1,1}; colorText[] = {1,1,1,1}; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 3); }; }; }; When testing in editor i can see my added class "StanceProgressbar" as subclass of "RscStanceInfo" in config viewer, but when trying to find the ctrl ingame to adjust the progressBar via script with _ctrl = ((uiNamespace getVariable "RscStanceInfo") displayCtrl 6128); returns "no Control". The other subclasses of "RscStanceInfo" are accessible with idc 1201 & 188. I guess i have to initialize/load my custom ctrl "manually" somehow, but i have absolutely no idea how 😂😭 Any help appreciated 🤗-
- rscingameui
- rscstanceinfo
-
(and 4 more)
Tagged with: