Jump to content

Search the Community

Showing results for tags 'dialog'.



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
  • ArmA Toolmakers's Releases
  • ArmA Toolmakers's General
  • Die Hard OFP Lovers' Club's Topics
  • 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

XBOX Live


PlayStation PSN


Origin


PlayFire


SoundCloud


Pinterest


Reddit


Twitch.Tv


Ustream.Tv


Duxter


Instagram


Location


Interests


Interests


Occupation

Found 49 results

  1. Hi to everyone. My problem is that I wanna fill my dialog by calling a funcion after creating it, but it doesn't work at all. I mean, the dialog is created but empty. Here's my code: When I wanna create the dialog I use ["INIT"] call my_function; disableSerialization; private _ui = uiNamespace getVariable "MyDialog"; private _list = _ui displayCtrl 1600; private _cat = _ui displayCtrl 1601; private _categories = "true" configClasses (getMissionConfig "HG_DefaultShop"); actDialog = { lbClear _list; _num = _this select 0; private _object = getText( _categories select _numCat >> "displayName"); _cat ctrlSetText _objeto; //Some lb commands. }; switch (_this select 0) do { case "INIT": { createDialog "MyDialog"; _num = 0; [_num] call actDialog; }; }; I hope u guys can help me! Thanks!!
  2. Hello there, I am having problems figuring this out, its probably just some dull misake by myself, but the lack of knowledge lead me to create this topic. I have used the ArmA Dialog Creator to create a dialog, so far soo good. Everything works like a charm when using CreateDialog. However, I need to call it with CutRsc (if I remember correctly) to make the displa appear but still be able to moeve and use the mouse. This is the main dialog, if "Customcontrolclasses.h" are just below. #include "CustomControlClasses.h" class IslandDialog { idd = -1; duration = 9999999; onLoad = "uiNamespace setVariable ['HUD', _this select 0];"; class Controls { class Box { type = 0; idc = 1000; x = safeZoneX + safeZoneW * 0.908125; y = safeZoneY + safeZoneH * 0.83333334; w = safeZoneW * 0.115; h = safeZoneH * 0.20777778; style = 0; text = ""; colorBackground[] = {0.2,0.2,0.2,0.7858}; colorText[] = {0.5608,0.3059,0.6549,1}; font = "PuristaMedium"; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); }; class HUNGER { type = 0; idc = 1001; x = safeZoneX + safeZoneW * 0.911875; y = safeZoneY + safeZoneH * 0.87; w = safeZoneW * 0.0375; h = safeZoneH * 0.03666667; style = 0; text = "HUNGER"; colorBackground[] = {0,0,0,0}; colorText[] = {0.7098,0.7059,0.1882,1}; font = "PuristaMedium"; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); }; class ThirstCtrl { type = 0; idc = 1002; x = safeZoneX + safeZoneW * 0.911875; y = safeZoneY + safeZoneH * 0.91; w = safeZoneW * 0.0375; h = safeZoneH * 0.03666667; style = 0; text = "THIRST"; colorBackground[] = {0,0,0,0}; colorText[] = {0.7098,0.7059,0.1882,1}; font = "PuristaMedium"; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); }; class HealthCtrl { type = 0; idc = 1003; x = safeZoneX + safeZoneW * 0.911875; y = safeZoneY + safeZoneH * 0.95; w = safeZoneW * 0.0375; h = safeZoneH * 0.03666667; style = 0; text = "HEALTH"; colorBackground[] = {0,0,0,0}; colorText[] = {0.7098,0.7059,0.1882,1}; font = "PuristaMedium"; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); }; class FPSCtrl { type = 0; idc = 1005; x = safeZoneX + safeZoneW * 0.911875; y = safeZoneY + safeZoneH * 0.83; w = safeZoneW * 0.0375; h = safeZoneH * 0.03666667; style = 0; text = "FPS"; colorBackground[] = {0,0,0,0}; colorText[] = {0.7098,0.7059,0.1882,1}; font = "PuristaMedium"; sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1); }; }; }; CustomControlClasses.h: #ifndef HG_CustomControlClassesh #define HG_CustomControlClassesh 1 //Create a header guard to prevent duplicate include. class RscListBox_WS { type = 5; style = 0; idc = -1; colorSelect[] = {0,0.2,0.4,1}; colorSelectBackground[] = {0,0.2,0.4,0.1}; colorText[] = {0.2,0.2,0.2,1}; colorBackground[] = {0.4,0.4,0.4,0}; font = "Bitstream"; sizeEx = 0.04; rowHeight = 0.025; maxHistoryDelay = ""; }; class RscPictureKeepAspect_WS { type = 0; style = 48+2048; idc = -1; colorBackground[] = {0,0,0,0}; colorText[] = {1,1,1,1}; font = "Bitstream"; sizeEx = 0; lineSpacing = 0; text = ""; }; class RscText_WS { type = 0; style = 0; idc = -1; colorBackground[] = {0,0,0,0}; colorText[] = {0.2,0.2,0.2,1}; font = "Bitstream"; sizeEx = 0.03; text = ""; }; class RscControlsGroup_WS { type = 15; style = 0; idc = -1; maxHistoryDelay = ""; }; class RscButton_WS { type = 1; style = 2; idc = -1; font = "Bitstream"; sizeEx = 0.03; default = false; colorText[] = {0,0,0,1}; colorDisabled[] = {0.4,0.4,0.4,1}; colorBackground[] = {1,1,1,1}; colorBackgroundDisabled[] = {0.7,0.7,0.7,0.8}; colorBackgroundActive[] = {1,0.5,0,1}; colorFocused[] = {1,0.5,0,1}; colorShadow[] = {0.72,0.36,0,0.8}; colorBorder[] = {0.72,0.36,0,0}; soundEnter[] = {"",0.1,1.0}; soundPush[] = {"",0.1,1.0}; soundClick[] = {"",0.1,1.0}; soundEscape[] = {"",0.1,1.0}; offsetX = 0.0030; offsetY = 0.0030; offsetPressedX = 0.0020; offsetPressedY = 0.0020; borderSize = 0.0; }; class RscTextMulti_WS : RscText_WS { lineSpacing = 1; style = 0+16+512; }; #endif My goal is to have the display up at any time. Thanks in advance, CP.
  3. Hi. Anyone know how to make these animated/clickable markers on the map..? Like in arma 2 warfare for example where you select respawn location. I don't know where to start with it Never dealt with it before
  4. HALs Store v1.1 This was the first GUI project that I began and finished a few years ago before it was lost deep in the mists of my hard drive. I have recently re-discovered it and thought I'd make it look prettier (I mean just look at this less charming earlier version) as well as completely rewriting it before its release. If you have any suggestions, feedback or constructive criticism, feel free to leave a comment! Videos (v1.0): Purpose of this script: Adds an Equipment (buy menu) dialog in to any mission such that players can buy equipment, using an in-game currency system, defined by the mission maker. Features: Easily configurable Store; define your own traders and categories in your description.ext. Each Trader can have its own (defined by the mission maker) categories (eg: Handguns, Magazines, Backpacks) each with their own items. Items have their own prices (defined by the mission maker); if the player does not have enough money for an item, the item cannot be purchased. Items have their own stock (defined by the mission maker); if there is no stock for an item, the item cannot be purchased. Items have their own descriptions (taken from the ingame config files) but can have their own custom description which supports structured text. Purchase items to nearby vehicles or even to the player's backpack, uniform and vest. Helpful dialog which indicates the current load of a container in addition to how much space the selected item will occupy in that container. The dialog utilises checkboxes (default: all deselected) which allow the user to filter items with preset conditions (affordable, in stock, compatible with equipped weapons). The dialog utilises progress bars to show the user the stats of the currently selected backpack/optic/uniform/vest or weapon. Weapons include: Accuracy, Impact, Rate of Fire and Range. Equipment stats include: Ballistic Protection, Explosion Resistance and Maximum load. Optics stats include: Zoom. Installation && Usage && Useful functions: Installation Usage and useful Functions Configuration: Configuration Configuration Example Important Information: Items defined in cfgHALsStore MUST have the same classname as the item's classname in cfgWeapons or cfgVehicles. The trader's addAction will only show if the player is on foot and within 5 meters of the trader. Vehicles can have items purchased to them if they are of a certain type (defined by the mission maker) and within a certain distance (defined by the mission maker) of the trader. EXAMPLE MISSION DOWNLOAD (v1.1) ARMAHOLIC DOWNLOAD (v1.1) Thanks to: All the members of the community who dedicate their time to document the wiki, post snippets and answers questions on the forums. 7erra for the German translation. Known issues: I haven't tested it on a dedicated server, yet, but I'll get around to it when my schedule opens up. Changelog: Version 1.1 Cheers
  5. v 1.4 Description Weapon shop dialog Weapon shop functions Installation/Usage/Download/Updates GitHub Notes Works in MP If you use RHS, weapons name in editor can't be used in the shop, see post #62 Screenshot Click Me Armaholic Armaholic Topic
  6. Hello everyone. Does anyone know what is the difference between createDisplay and createDialog commands? (minus the syntaxes, obviously!) Are there any cases where one is favored over the other?
  7. v 1.2 Description Vehicle shop dialog Vehicle shop functions Installation/Usage/Download/Updates GitHub Notes Works in MP Screenshot Click Me Armaholic Armaholic Topic
  8. _______________________________________________________________________________ !!! IMPORTANT UPDATE: !!! _______________________________________________________________________________ Hello ArmA Community, the attachTo command can be unnecessarily time consuming since you have to basically guess the position of the attached object. Therefore I've made a dialog with which you can attach any object to another and return the offset. And there's more: https://drive.google.com/drive/folders/0B8-BL9HKQ_OXd1NfSzhnSlBXVk0?usp=sharing Main Interface: 1. Camera control: Move - WASD Up - Q Down - Y Faster - SHIFT Slower - ALT Detach pointer - SPACE (see 5.2.) 2. Source object, object of which the offset is taken 2.1. Select object from list of existing objects 2.2. Confirm selection 3. Offset, shows the current values // Until here is the basic stuff. The following points are not necessary but maybe interesting ------------------------------------------------------------------------------------------------------------------ 3.1. Step selector: Change the steps of which changes are applied ranging from 0.001 to 1. Positions can only be edited while pointer is not attached. Edits can be edited with the scroll wheel. 4. Memory points (Selections) 4.1. Select memory point, opens new dialog "Memory Points" (see below) 4.2. Enter the name of your own memory point. If memory point is not found, default offset [0,0,0] is used 5. Pointer 5.1. Show pointer yes/no 5.2. Detach/Attach pointer. Leave pointer whereever it currently is. Values are still evaluated. 5.3. Attaches the nearest object to the pointer and automatically disables simulation 5.4. ~Currently not used. If you want to create a new object then do so in the editor or Zeus. Object list is updated on dialog load~ 5.5. Delete object: Select an existing object in the COMBO and press the BUTTON to delete it. You can't delete yourself, the current source object or the current pointer object (that would cause many many script errors) 6. Directions of pointer object 6.1. Vector Dir: Shows the vectorDir (difficult behaviour, use (6.2) instead) 6.2. Degrees: Shows the orientation in degrees 6.3. Vector Up: Shows the vectorUp (difficult behaviour, use (6.4) instead) 6.4. getPitchBank: Uses BIS_fnc_getPitchBank 6.5. Enter and Reset: Enter apllies settings, Reset sets everything to normal 7. Other 7.1. Opens new dialog "Settings" (see below) 7.2. Copy the commands to the clipboard. 7.3.2. shows the resulting message 7.3. Credits: Shows contributors. Memory points: 1. Available memory points, Shows some default selections (link to topic follows (maybe)) 2. Search for specific memory point. Enter text. Results are shown in tree below 3. Find Memorypoints: Most useful control of them all. Automatically finds existing (!= [0,0,0]) selections 4. Resets the dialog 5. Passes selected memory point to Main Interface 6. Leave without changes Settings: 1. Pointer color (Default: GREEN) 1.1. Predefined colors and custom ones 1.2. Define own color. Remember to set "Alpha" to something greater than 0 or else nothing happens 1.3. Preview of custom color 2. Pointer size (Default: 10cm) 2.1. Select size 3. Pointer object (Default: sign_sphere_10cm) 3.1. Choose an existing object to become the pointer. (3.2.) has to be checked. 3.3. Create new object from config name as pointer. (3.4.) has to be checked. 4. Memory points (Default: Unchecked, Unchecked) 4.1. If checked the memory points will be shown next time you are executing point (3.) from Memory points dialog (see above) 4.2. Delete the pointers when dialog is closed. If unchecked, pointers will stay. 5. Simulation (Default: checked > enabled) 5.1. Enable or disable simulation of source object 6. Collsion (Default: checked > enabled) 6.1. Enable or disable collision of the pointer object with all other scenario objects 7. Exclude/Include objects (Default: Excuded objects: player, pointer, (camera)) 7.1. Select objects that won't be shown in the dialogs 7.2. Reverse actions of (7.1.) 8. Dialog 8.1. Apply the settings 8.2. Return all settings to default 8.3. Cancel: Leave without changes Changelog: Bugs, Quirks, Errors More Features: Of course the main function is to find the offset, therefore you only need point (1) to (3) of the main display. Everything else is just nice to have and I thought why not? The documentation inside of the scripts is pretty bad because I was focussing on scripting, not explaining. Feel free to ask me anything. Bugs can ofcourse be reported in this thread ;) Thats all for now and have fun editing, 7erra ________________________________________________ Version 1.0 - 25.04.2017
  9. Description This dialog is supposed to make the training of firing drills easier. It will show the current target, stats of the last shot and gives the opportunity to evaluate your firing discipline. Features Camera on the target Stats from last shot 3D model and hit position Mini map with position of targets Activate and deactivate selected target MP compatible (tested on dedicated and hosted with 2 players, NOT TESTED WITH JIP) Localized in German and English Picture Usage To add a target to the list add this to the object init: this setVariable ["TER_isTarget", true]; I recommend to only use objects of the type "Pop-Up Target X". Open the dialog with createDialog "TER_target"; Include the following files in your main mission folder (where the mission.sqm is): Add these two lines to your description.ext (or create it): #include "TER_TargetGUI\defines_A3.hpp" #include "TER_TargetGUI\TER_target.hpp" Put this in the initPlayerLocal.sqf (or create it): #include "TER_targetGUI\addEH.sqf" Add the content of the stringtable.xml to your own or copy it as is The TER_TargetGUI folder Download http://www.armaholic.com/page.php?id=33043 https://drive.google.com/drive/folders/0B8-BL9HKQ_OXWjFnUDhEUGhqejA?usp=sharing Credits Dialog & scripts: Terra Testing: Aasgeyer Good hunting! Changelog:
  10. Hello all, I am creating a 3D object that involves a laptop. Similar to @killzone_kid 's example. I have got the laptop setup just fine but I am looking for information on "class Areas"(assuming this is what I need) but can't find anything useful on the Wiki. Seems to be lacking valuable information or maybe I am just blind heh. https://community.bistudio.com/wiki/DialogControls-Objects What I am trying to do is add things inside the laptop screen. Normal UI elements like RscText, RscPicture, etc... Here is what I have so far (very basic): class dlg_laptop { idd = 12345; movingEnable = 0; onLoad = "uiNamespace setVariable [""disp_laptop"", param [0]];"; onUnload = "uiNamespace setVariable [""disp_laptop"", nil];"; class objects { class laptop { idc = 100; type = CT_OBJECT_CONTAINER; x = 0.25 * safezoneW + safezoneX; y = 0.16 * safezoneH + safezoneY; w = 0.5 * safezoneW; h = 0.68 * safezoneH; z = 0.2; xBack = 0.5; yBack = 0.5; zBack = 1.2; inBack = 9; scale = 3; direction[] = {0, -0.35, -0.65}; up[] = {0, 0.65, -0.35}; enableZoom = 1; zoomDuration = 0.001; model = "\A3\Structures_F\Items\Electronics\Laptop_unfolded_F.p3d"; }; }; }; Any help would be great. Thanks!
  11. After much head banging I have decided its time to ask the experts... In a nutshell I am trying to write a script using using a dialog to create garage functionality for the players with integration of INIDBI2. I've worked out how to get the dialog created and populated from the databasae but for the life of me I cannot figure out how to identify what the player has selected. Any tinkering and hinting I have done is returning either an empty value (I suspect its hidden) or -1. Appreciate any help I can get with this one. +++ loadVehicleList.sqf+++ disableSerialization; _inidbi2 = ["new", "Faction Database"] call OO_INIDBI; _garArray = ["read", ["Logistics", "Garage"]] call _inidbi2; createDialog "garageMenu"; waitUntil {!isNull (findDisplay 9998);}; disableSerialization; { private ["_index"]; _index = lbAdd [1500, _x]; lbSetData [1500, _index, _x]; player sideChat format [" Index is %1. _x is %2", _index, _x]; } forEach _garArray; lbSetCurSel [ 1500, 0 ]; +++selectVehicle.sqf+++ disableSerialization; _ctrl = (findDisplay 9998) displayCtrl 1500; _selection = _ctrl lbText (lbCurSel _ctrl); P.S. I am aware there are existing examples of this but I have had a hard time digging through them. I'm also doing this to learn so copy pasta is not an option :(
  12. Hello. Anyone know if there is a "correct" way to execute pause menu? (Escape menu. When you press Esc button). You can open it with createdialog "RscDisplayInterrupt", but there are no scripts which set functions to it. So it's useless. Maybe there is some way to execute it correctly..?
  13. Hello. Can someone tell me why it doesn't work, if Im trying to change the W size of that menu? Here is the definition: class woa_ctMenu { idc = 0; type = 46; style = 0; sizeEx = "4.32 * (1 / (getResolution select 3)) * pixelGrid * 0.5"; rowHeight = 0; itemSpacingH = 0.02; itemSpacingW = 0.03; deletable = 0; fade = 0; blinkingPeriod = 0; colorBorder[] = {0,0,0,0}; colorBackground[] = {0.702,0.702,0.702,1}; colorSelectBackground[] = {0.902,0.902,0.902,1}; colorPicture[] = {0.902,0.902,0.902,1}; colorPictureDisabled[] = {0.5,0.5,0.5,1}; colorPictureSelect[] = {1,1,1,1}; colorText[] = {0, 0, 0, 1}; colorDisabled[] = {1, 1, 1, 0.6}; colorSelect[] = {1,1,1,1}; pictureCheckboxDisabled = "#(argb,8,8,3)color(0,0,0,0)"; pictureCheckboxEnabled = "\a3\3DEN\Data\Controls\CtrlMenu\pictureCheckboxEnabled_ca.paa"; pictureRadioDisabled = "#(argb,8,8,3)color(0,0,0,0)"; pictureRadioEnabled = "\a3\3DEN\Data\Controls\CtrlMenu\pictureRadioEnabled_ca.paa"; shadow = 1; show = 1; tooltip = ""; tooltipColorBox[] = {0,0,0,0}; tooltipColorShade[] = {0,0,0,1}; tooltipColorText[] = {1,1,1,1}; //tooltipMaxWidth = 0.5; arrow = "\a3\3DEN\Data\Controls\ctrlMenu\arrow_ca.paa"; font = "TahomaB"; class Items { items[] = {One,Two,Three}; class One { text = "One"; data = "One"; value = 0; }; class Two { text = "Two"; data = "Two"; value = 1; }; class Three { text = "Three"; data = "Three"; value = 2; }; class Default { text = "Empty"; data = "Empty"; enable = 0; }; }; }; And here is that dialog: class woa_gameMenu { idd = -1; class ControlsBackground {}; class Controls { class st_toolbox : woa_ctMenu { idc = 2400; x = safeZoneX + safeZoneW * 0.095; y = safeZoneY + safeZoneH * 0.41; w = safeZoneW * 0.185; // Changing this doesn't work h = safeZoneH * 0.4225; // changing this doesn't work too. It always have the same size (w and h) }; }; };
  14. I am trying to create a type of leaderboard on a dialog menu, where it will display stats such as their overall ranking in the list, name, kills, deaths, ect. The best example of the result i am trying to recreate would be the server browser: I have tried to use the Table Dialog Control but have failed, looking for some help with trying to get this type of dialog to work as it seems to be the best option available. The example they provide seems to only have the base defines from what I saw and when I try to create a row or header row with the commands, I get no result and no error: Add Row - https://community.bistudio.com/wiki/ctAddRow Add Header Row - https://community.bistudio.com/wiki/ctAddHeader With from my "extensive research", literally no online existing help, I've come here ... If you know how to actually use this type of dialog control, please help. Thank You!
  15. So I notice on https://community.bistudio.com/wiki/closeDialog that it says "Close the currently active user dialog with exit code." etc.. Now closeDialog returns nothing.... I have 'emulated' the button click by adding a ButtonClick ctrlAddEventhandler to do what I want to do but was wondering if I am missing a simple trick to get the button pressed exit code from the dialog. Or is this for 'Emulation' only?
  16. Hello everyone, I already have to apologize for my english, this is not my native language. I come to ask your help for a concern of dialog, I am working on an administrator menu. it even built up, from a listbox to list the possible actions. I would like to add "spacer" to enter the cough more clear, my listbox and filled with a loop foreach, in the array I have an element that allows me to signify that this element and a title, I get well recovered the target element, but impisible to change the eur appearance. code : //Purge List Exec list lbClear _listExec; { _Element = _ElementExecFil select _forEachIndex; _DysplayName = _Element select 0; _ActionExec = _Element select 1; _TypeElement = _Element select 3; if (_TypeElement == "TITLE") then { _listExec lbSetColor [(lbSize _listExec)-1, [1,0.3,0.4,1]]; _listExec lbAdd format ["%1", _DysplayName]; }else { _listExec lbAdd format ["%1", _DysplayName]; }; _listExec lbSetdata [(lbSize _listExec)-1, _ActionExec]; } forEach _ElementExecFil; I try more solution : - lbSetColor - parseText but nothing changes, no error in the log. thank you in advance for your help \m/
  17. Version 1.0.6 (Released February 1, 2018) Index 1. About 2. Feature Spotlight 3. Media 4. Download 5. Control Support 6. Wiki 7. Source Code and Bug Reporting 8. Donate 9. Discord 10. Celebrate 1. About Arma Dialog Creator is a fresh take on making dialogs for Arma 3. Instead of editing header files, you are directly manipulating the dialog. Instead of reloading Arma 3 over and over again for hours trying to get that perfect alignment, load up the Preview mode and edit at the same time. This project is open-source and licensed with MIT license. 2. Feature Spotlight Below are some features that make ADC great. More detail is available in the wiki. Macros In ADC, you can assign properties to Macros, which are passed by reference. This means that when you assign a property's value to a Macro, any changes to a Macro's value will also then be forwarded to the property's value. Mini SQF Evaluator Built into ADC is a standalone small SQF evaluator. You don't need Arma 3 running to use it, there's no shady "hacking" involved, and it's integrated with ADC's header PreProcessor, meaning you can import header files that have SQF inside of them. Also, because the developer got carried away, there is also a Mini SQF Evaluator Popup so you can evaluate multiple expressions. Not sure if the popup is actually useful though. :) "How does it work?" It uses ANTLR and lots of Java code to evaluate the SQF. All of the evaluating is done with ASTs (Abstract Syntax Trees) built by ANTLR and evaluated in Java. "How much SQF is supported?" Very, very, very, very little. Probably less than 0.1% of all SQF commands are supported. If you wish to see a full list, you may visit this link. String Table Support A String Table editor is built in with ADC. Besides just being able to edit keys and values, you can pass them around as Macros throughout the program so that when the String Table changes, so does your dialog. You can also change the language in ADC to check if different localizations will go out of bounds of a control (this is shown in the trailer above). Learn more about the String Table editor here. 3. Media Here is a trailer for Arma Dialog Creator. It's a really short, but dense, video showing many of the implemented features. You can watch the video here (same video as above). Here is a longer, slower paced video that shows ADC's features pretty well. The video was made in November 2016, so a lot has changed. Here is the doobly doo. 4. Control Support Not every control is supported, unfortunately. You may view the how much is supported here. In the future, I hope to support more controls and preferably have less bugs. :) 5. Download You may download Arma Dialog Creator here. 6. Wiki Want to read lots of text? The wiki may be for you. You can find it here. 7. Source Code and Bug Reporting You may find the source code at the GitHub page. You can also report bugs at the repo's issues page (please report them there). Source Code Issues Page 8. Donate If you wish to donate to me personally, you may do so here. Please only donate if you have the money because I won't give refunds. 9. Discord I have created a Discord server for Arma Dialog Creator and Arma IntelliJ Plugin. Here is the invite: https://discord.gg/SPBbYPa 10. Celebrate Arma Dialog Creator has been out for a few months now. I'm still screaming.
  18. Dialog Menu

    How do I get my dialog menu to pop up for every new person that joins the mission?
  19. I have a custom dialog, with an edit box and a button. I need to send the text entered by the user to a custom script. What do I have to put in the action parameter for sending that data to the script. Thank you.
  20. Hey guys, I've just registered so, many greets to you all:D Allright, here's the idea: Last night I was bored and played some Tropico, then I thought: How about implementing some small economy to the different locations like the lumberjack camps or banana plantations on Tanoa to hire some guys to work for your Team and earn some money with it. It could lead to a persistent rebell mission where you have to buy new weapons and stuff and defend your economy against the local government or something, don't know exactly, just been playing around, but here is my point: I have set up a first dialog that opens at a laptop at the plantation office like this: If you klick on the different inactive buttons (in fact these are pictures, but I will call them buttons from here on), the script will hire some workers, pay them as you want and you will need some trucks to move the stuff your guys harvestet. Example: If no budget button is active, they all have transparency 0.2. If you just hover over it, transparency is set to 1 to indicate to the player that he can click something. In the case of no active buttons, if player for example clicks on budget button #3, all buttons left from #3 including #3 will switch to active, color transparency changes from 0.2 to 1, colorActive transparency switches from 1 to 0.2. Now you are paying some money, right;D If player now clicks on maybe button #2, buttons #2 and #3 will "deactivate" and change transparency back again. Everything is working fine so far, you get the idea, right? So here are the problems, finally: I need a method that allows me to create just one class (inside controls in dialog.hpp) for the "budget buttons", one for the "worker buttons" and just one for "trucks buttons", wich I can access dynamically via some script to set their position and transparency. Right now, every single button has its own class, so just for this dialog i needed to write 17 classes RscActiveText. I did this because I needed to change the transparency of "color[] = ...." and "colorActive[]=..." every time you click on a button and for this I declared three unique variables for every button, makes 51 global variables in total just to change transparency. First one to let the script know if the button is already clicked, and the two other ones to change the transparency of color and colorActive back and forth, depending on the state of the button. Heres a little summary of a part of the dialog.hpp and the script activated by clicking the buttons. The 51 global variables (and more) ar predefined after init. dialog.hpp: class budg_bttn1: RscActiveText { idc = 1601; text = "pics\moneyPile.paa"; x = 0.840312 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0154688 * safezoneW; h = 0.022 * safezoneH; color[] = {1, 1, 1, missionNamespace getVariable "bttn_col1"}; //global variable#1 for transparency colorActive[] = {1, 1, 1, missionNamespace getVariable "bttn_actCol1"}; //global variable#2 for transparency onMouseButtonClick = "[_this] execVM 'oumere_plantations\moneyBttns.sqf';"; }; class budg_bttn2: RscActiveText { idc = 1602; text = "pics\moneyPile.paa"; x = 0.87125 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0154688 * safezoneW; h = 0.022 * safezoneH; color[] = {1, 1, 1, missionNamespace getVariable 'bttn_Col2'}; colorActive[] = {1, 1, 1, missionNamespace getVariable 'bttn_actCol2'}; onMouseButtonClick = "[_this] execVM 'oumere_plantations\moneyBttns.sqf';"; }; class budg_bttn3: RscActiveText { idc = 1603; text = "pics\moneyPile.paa"; x = 0.902187 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0154688 * safezoneW; h = 0.022 * safezoneH; color[] = {1, 1, 1, missionNamespace getVariable 'bttn_Col3'}; colorActive[] = {1, 1, 1, missionNamespace getVariable 'bttn_actCol3'}; onMouseButtonClick = "[_this] execVM 'oumere_plantations\moneyBttns.sqf';"; //..........etc. etc. moneyBttns.sqf: disableSerialization; _display = findDisplay 5000; _control = (_this select 0) select 0; _controls = [_display displayCtrl 1601, _display displayCtrl 1602, _display displayCtrl 1603, _display displayCtrl 1604, _display displayCtrl 1605]; //_activeButtons = []; //_inacitveButtons = []; switch (ctrlIDC _control) do { case 1601: //checks wich button is clicked on { switch (bttn_active1) do //checks, if button is already active. bttn_active1 switches between 0 and 1 { case 0: { missionNamespace setVariable ["plantationIndex", 1, true]; //plantationIndex tells how many buttons are active in total missionNamespace setVariable [format ["bttn_active%1", 1], 1, true];//sets the buttons active state missionNamespace setVariable [format ["bttn_Col%1", 1], 1, true];//changing of transparency, in this case, button will.. missionNamespace setVariable [format ["bttn_actCol%1", 1], 0.2, true];//...appear with transp. if you hover over it (_controls select 0) ctrlSetTextColor [1,1,1, bttn_Col1];//sending transparency state to class (_controls select 0) ctrlSetActiveColor [1,1,1, bttn_actCol1]; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; case 1: { plantationIndex = 0; missionNamespace setVariable [format ["bttn_active%1", 1], 0, true]; missionNamespace setVariable [format ["bttn_Col%1", 1], 0.2, true]; missionNamespace setVariable [format ["bttn_actCol%1", 1],1, true]; (_controls select 0) ctrlSetTextColor [1,1,1, bttn_Col1]; (_controls select 0) ctrlSetActiveColor [1,1,1, bttn_actCol1]; for "_i" from 1 to 5 do { missionNamespace setVariable [format ["bttn_active%1", _i], 0, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 0.2, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 1, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; }; }; case 1602: { switch (bttn_active2) do { case 0: { plantationIndex = 2; for "_i" from 1 to 2 do { missionNamespace setVariable [format ["bttn_active%1", _i], 1, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 1, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 0.2, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; case 1: { plantationIndex = 1; for "_i" from 2 to 5 do { missionNamespace setVariable [format ["bttn_active%1", _i], 0, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 0.2, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 1, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; }; }; case 1603: { switch (bttn_active3) do { case 0: { plantationIndex = 3; for "_i" from 1 to 3 do { missionNamespace setVariable [format ["bttn_active%1", _i], 1, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 1, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 0.2, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; case 1: { plantationIndex = 2; for "_i" from 3 to 5 do { missionNamespace setVariable [format ["bttn_active%1", _i], 0, true]; missionNamespace setVariable [format ["bttn_Col%1", _i], 0.2, true]; missionNamespace setVariable [format ["bttn_actCol%1", _i], 1, true]; (_controls select (_i-1)) ctrlSetActiveColor [1,1,1, call compile format ["bttn_actCol%1", _i]]; (_controls select (_i-1)) ctrlSetTextColor [1,1,1, call compile format ["bttn_Col%1", _i]]; }; if (debug) then {systemChat format ["PlantationIndex = %1", plantationIndex];}; }; }; };//....etc.etc. So, can someone imagine a better practice to solve this idea? As you can imagine, if I want to create more businesses on the island, I need to write a huge amount of classes and variables for every location. The problem is, that If I just use one class using the same global vars for the budget buttons, all buttons change transparency even when I just click a single one. I don't really unserstand how to refer between classes and variables using uiNamespace, maybe there's a solution in there? I hope I explained this one well enough and any help is highly appreciatet. Greets from Germany;D
  21. Hey guys, each day you want to learn something more. I think its time to go further into Dialog editing. What I want to do is, I want to have a simple Dialog where in the middle will be a map (which you can move and everything). On this map I want to have clickable/selectable "Marker". When the marker is selected, you then press on a button and will be teleported to that position. So its basically a MHQ script. What I also want to do is, having the teleport option only work when the vehicle is alive and not moving. My biggest problem right now is though, that I have no clue how to get the map and the selectable marker. Anybody have an Idea how I could do that? Thanks so far. If you have any further questions, just ask! Many greetings Moony
  22. Hi all, I have started to make a simple dialog transition, have done a few in the past with no issues. I am looking to create some kind of cut off point (not sure what to call it exactly). Similar to how the text scrolls across on the BIS AAN news function. That uses the edge of the screen though. I want to create the cut off at the end of the background control. I don't want to use a set value either if possible. I don't want the whole thing to fade off all at once, only parts that reach the edge of the background control. I'm thinking some kind of invisible control outside the background control (on each side - left/right) which has some higher priority over everything else, thus making it appear to be invisible... Not sure how to do this exactly though. EDIT: Resolved! There is no possible fix for the map control it seems, look at the video. Watch it in slow mo for the best effect lol.
  23. Hey guys, i have returned to ArmA editing a couple of days ago, and am now facing an issue that I can not resolve by myself. I have established a short conversation between the player and a unit. Script-wise everything seems to work ( I used the A3 method via texts.bikb). I have recorded soundfiles for the player, as well for his conversation partner, but I can only hear the player. The other unit is lip-synched and the text shows as subtitles, but I can not hear the soundfile playing. Did anybody ever have the same issue, or do you know how to resolve it? Recording is MONO via Audacity. Mission is Singleplayer. Bikb and scriptfile are included. texts.bikb conversation.sqf
  24. Hello guys I've add 2 displayeventhandlers (keydown, keyup) to my mission. If you press down, you open and hold a dialog. In this dialog, i've 3 elements (pictures) Is there a way to activate a script, when the mouse is pointing over picture AND the dialog is closing / close ? At the moment, i use a button behind the pictures and can click on it. This works, but i dont like it with the button. Exampale: Mouse at picture 1: Hint "Your mouse was over picture 1" Mouse at picture 2: Hint "You mouse was over picture 2" Mouse at picture 3: Hint "You mouse was over picture 3" Here the code for the displayEventhandler DOF_onKeyDown = { private "_key"; _key = _this select 1; if (_key == 219 && (cursorTarget distance player <1.4)) then //L Win { if (isNull (findDisplay 47110) && !(player getVariable "DOF_isBusy" ) then { createDialog "Dialog_main"; } }; }; DOF_onKeyup = { private "_key"; _key = _this select 1; if (_key == 219 && !isNull (findDisplay 47110) ) then { closeDialog 47110 }; }; waitUntil {!isNull (findDisplay 46)}; (findDisplay 46) displayAddEventHandler ["keyDown", "_this call DOF_onKeyDown"]; (findDisplay 46) displayAddEventHandler ["keyup", "_this call DOF_onKeyup"]; Some lines of Dialog class Dialog_main { idd = 47110; // is needed for displayEventhandler movingenable = false; .... class controls { class RscPicture_1201: DOF_RscPicture { idc = 1201; text = "DOF_main\tex\UAV_act.paa"; x = 0.489687 * safezoneW + safezoneX; y = 0.643 * safezoneH + safezoneY; w = 0.0257812 * safezoneW; h = 0.044 * safezoneH; }; .... };}
  25. Hi all, I'm in a spot of bother with trying to return the mini-map control (whilst in multiplayer). I have looked at this topic but am unable to get the script working. Here is what I have so far: // add group draw handler to mini-map _nul = [] spawn { disableSerialization; _ctrlMiniMap = controlNull; // search loop to return mini-map map control while {isNull _ctrlMiniMap} do { { _ctrlMiniMap = _x displayCtrl 101; if !(isNull _ctrlMiniMap) exitWith {true;}; } count (uiNamespace getVariable ["IGUI_Displays",[]]); sleep 0.1; }; // adds draw handler _ctrlMiniMap ctrlAddEventHandler ["Draw",{_nul = _this call RAD_fnc_groupMarkersMapDraw;}]; }; I have run both the script from the topic (see above) and my modified version. Both offer no success, any ideas or examples for how to get this working would be greatly appreciated? Thanks, Bull
×