Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Community Reputation

37 Excellent


About NumbNutsJunior

  • Rank
    Lance Corporal

Recent Profile Visitors

587 profile views
  1. NumbNutsJunior

    [RELEASE] Notification System

    I think that may be a more server/mission specific feature, so it would probably be best to add that on your own. It is really as simple as adding a bool parameter to fn_handleMessage.sqf (maybe between _color and _condition) on whether or not to log that specific notification and if so then add it to the map interface through the diary commands. ... // Parameters params [["_text", ""], ["_duration", 5], ["_priority", 5], ["_color", [0.50, 0, 0]], ["_saveMessage", false], ["_condition", {true}]]; if (_text isEqualTo "") exitWith {}; ... // Save message to map if (_saveMessage) then { // Init private _subjectID = "notification_history"; // Check to create a new subject entry if !(player diarySubjectExists _subjectID) then { // Create new subject entry player createDiarySubject [_subjectID, "Notification History"]; }; // Create a new notification entry private _notificationTitle = format ["%1...", _text select [0, (count _text) min 25]]; player createDiaryRecord [_subjectID, [_notificationTitle, _text]]; }; ... I am not exactly a diary command expert but something like this should work 😅. (it also appeared to combine diary records with same text, so that was neat)
  2. NumbNutsJunior

    [RELEASE] Notification System

    Updated 3/28/2020: Added some file name compatibility. Added a small performance increase to notification queue.
  3. NumbNutsJunior

    Disable ESC key while dialog open

    Put it whatever file the dialog is initially created with ... so once the dialog is created (createDialog), you then assign `_display = findDisplay idd` (idd is usually defined in the hpp file for the dialog). You can use either of the first three code snippets that you quoted, dedmen just revised 7erra's snippet because it is redundant. Its like saying `_boolean = if (condition) then {true} else {false}`. Edit: If you are talking about the hpp/ext file for the "dialog code", then just below where the idd is defined you will want to just add the line: onLoad = "(_this select 0) displayAddEventhandler ['KeyDown', {(_this select 1) isEqualTo 1}];"; ... which just says "add an event handler to the dialog so that when a key is pressed, if that key is equal to 1 (escape key) then override the default behavior (closing the dialog)" onKeyDown = "(_this select 1) isEqualTo 1"; *this should also work the same*
  4. NumbNutsJunior

    Disable ESC key while dialog open

    🤔 _display displayAddEventhandler ["KeyDown", {(_this select 1) isEqualTo 1}]; 💇‍♂️
  5. NumbNutsJunior

    [Help] HoldAction to Classname

    Yeah, there is no real reason to do all that work. The condition gets evaluated every frame regardless if it is defined or not, the default value is just 'true'.
  6. NumbNutsJunior

    [Help] HoldAction to Classname

    The solution is quite simple. When using https://community.bistudio.com/wiki/BIS_fnc_holdActionAdd, the target parameter should be assigned to the player and then inside the conditionShow parameter you check if the player is looking at an object of the desired class name (e.g. ((typeOf cursorObject) isEqualTo "class_name")). Same thing applies to https://community.bistudio.com/wiki/addAction.
  7. Colored Hexes A portable mission that re-introduces colored group indicators to Arma 3. Features - Scriptable group indicators. - Adjustable group indicator colors. Setup - Disable the default group indicators within your server's difficulty settings. - Define the script fn_initColoredHexes.sqf and call it from any initialization function that runs locally on the player once during mission run-time. - Define the pizza_colored_hexes_enabled global variable before calling the hexes initialization script. Showcase Download https://github.com/NumbNutsJunior/Colored-Hexes Disclaimer Re-adding colored group indicators has been done before but the only public version available (that I have found) is under ShackTac's UI mod. This mod almost completes the same task but the vehicle hex position is inaccurate and it is not very lightweight, and so I am releasing this version for those who wish to add colored hexes to their missions with little complexity. I hope you can find some use for it in your missions! Feel free to modify and improve on it of course, but I just ask that you leave the initial author credits. ~ NumbNutsJunior aka Pizza Man
  8. NumbNutsJunior

    Control Posititon Relative Conversion?

    Thank you man. I knew it was something simple, worked perfectly.
  9. I am unable to collect examples right now because I am on mobile but my issue is that I need to convert the relative position of a 2D control group control to its position relative to the control group's parent display. The reason is because I need to compare the position of a control group control to a display control and I cannot get around having to use a control group. If anyone has any solutions or suggestions, that would be greatly appriciated!
  10. NumbNutsJunior

    [RELEASE] Notification System

    Updated 7/18/2019: Added timer conditions Added cleanup for controls Fixed issue related to RemoteExec/RemoteExecCall Use fn_handleMessage with these commands
  11. I am not sure what kinda testing environment you have setup, and from the information given to use it looks like it should work perfectly fine. So rather wasting time playing 20 questions I went ahead and created an example mission for you, recreating exactly what you are trying to do with what you have showed us from your script. My assumption is that your diag_logs are going to a server rpt file and you are just looking in the wrong place because the event handler is assigned to a globally created vehicle and not a player but they would show up in your own rpt files if you ran the mission as the host. Hopefully this helps! https://drive.google.com/open?id=1h4yG0cNClq3MR8-phCTtcA6HHzc_mYnG
  12. The example @Maff gave worked fine for me, the event handler 'fuel' only gets activated when "Triggered when the vehicle's fuel status changes between non-empty and empty or between empty and non-empty." I got your "systemchat 'setfuel 1';" twice, once for when the car ran out of gas and again after the code "(_this select 0) setFuel 1;" ran. Depending on the testing environment you might not get the system chat because the event handler is assigned to the vehicle, not to the player and systemChat has a local effect while setFuel has a global effect. So probably don't base your testing on that alone.
  13. Nothing about this seems to make any sense, I think this is more than just a bracket ... Look at your parameters: this (good) "INIT=" (good) [_proxyThis,]addeventhandler ["Fuel",{(_this select 0) setfuel 1; systemchat "setfuel 1";}]; (bad) addeventhandler takes an object as its first parameter, not an array. "[_proxyThis,]", _proxyThis is undefined (you say its treated as "this" but you still use "this" rather than _proxyThis as the first parameter). "[_proxyThis,]" you have a comma after the first element with no second element of the array Why are you trying to assign an event handler to something as a parameter, unless you are trying to pass the handler id. "addeventhandler ["Fuel",{(_this select 0) setfuel 1; systemchat "setfuel 1";}];" you have a semi colon at the end of the element, that is like saying _array = [1,2,3;]; You should probably do something like what @Maff suggested. Then do some more reading up on the wiki on how to script cause you will get generic error messages for a lot of different problems and will waste your time looking for some missing bracket or semi colon that does not exist.
  14. NumbNutsJunior

    Change Text of an edit box

    Your problem is that in your conditions you are trying to compare text to a number ... // Returns text _am1 = ctrlText _ctrl1; _am2 = ctrlText _ctrl2; _am3 = ctrlText _ctrl3; // Error - checking if text is less than a number if (_am1 < 200) then {_ctrl1 ctrlSetText "200"; player setVariable ["overall_distance",200]}; The very simple fix for this is to parseNumber for those three variables // Returns text _am1 = parseNumber(ctrlText _ctrl1); _am2 = parseNumber(ctrlText _ctrl2); _am3 = parseNumber(ctrlText _ctrl3); // No-error - Checking if a number is less than a number if (_am1 < 200) then {_ctrl1 ctrlSetText "200"; player setVariable ["overall_distance",200]};
  15. NumbNutsJunior

    Drawing on GPS panel

    Update: The control does draw icons as intended. // Wait for display waitUntil {!isNull (uiNamespace getVariable ["RscCustomInfoMiniMap", displayNull])}; private _display = uiNamespace getVariable ["RscCustomInfoMiniMap", displayNull]; // Controls private _miniMapControlGroup = _display displayCtrl 13301; private _miniMap = _miniMapControlGroup controlsGroupCtrl 101; // Event handler _miniMap ctrlAddEventHandler ["Draw", { // Wiki example (_this select 0) drawIcon [ "iconStaticMG", [1,0,0,1], getPos player, 24, 24, getDir player, "Player Vehicle", 1, 0.03, "TahomaB", "right" ] }];