Jump to content

riouken

Member
  • Content Count

    570
  • Joined

  • Last visited

  • Medals

Everything posted by riouken

  1. although this is in the forums you can fix that with this in your condition field of the trigger: condition: local player && this
  2. Thanks for the input Numrollen, I will consider it.
  3. I'm not sure I fully understand what you mean by "touch friendly". The way it works now is exactly like it does on your windows desktop. Just click the icon and the application starts. ie. If you hit the BFT icon it will start up the BFT application on the tablet.
  4. Thanks :o Since everyone is in the Christmas mood, a little gift for everyone , a small progress update: I am into a closed beta now, and I am polishing up the GUI and fixing any bugs that arise in beta. The only major thing Im waiting on for a public release is the vehicle interface, as soon as thats done I will see about getting the first version out to everyone. Update - v1.0.0.2 Changelog: -Polished up the tablet gui. -Added quick access keys on tablet, F1,F2,F3 -Cleaned up the Helmet Cam and UAV Gui and made it look more realistic. (Let me know what you think) -Polished up the navigation of menu's in the Tablet -fixed helmet cam offset issues, helmet cam pip now shows the correct view no matter the animation the unit is in. -Tablet interface is 98% done. Media:
  5. Yes , as many people (On one Side) as you want to give the tablet to can have access at the same time. It works in MP, someone else can be piloting the drone while you view the video. It was designed with this specifically in mind, as the 15th has uav operators and I made this so the commander can link in and have a look at what that UAV operator is seeing. We are just now starting the closed beta with large scale MP testing , but I have not run into many problems with the mod on that front.
  6. Thanks for everyones feed back. MacScottie is right, What I am planning right now is to have a configurable option to which side you could use this with, it will default to use with Nato, but you can set it up at the beginning of a mission to use it with Redfor. After setting this Redfor would be treated as blueflor by the tablet.So it will be one side or the other can use the tablet. I hope to have this in at or just after I release. Hopefully Im explaining that well... Also I have had a few questions about the display text for each icon. It shows the groupID of the unit(s) and you can change that at mission start on the fly to anything you want with setGroupId .
  7. I have some updates for everyone. I have been working hard to get things completed, keep in mind this is Still WIP and some things may change slightly with the mod, it still needs some polish. Changes: Features ingame now: -Commander's tablet -Working FBCB2, Bluforce Tracker system -User placed makers -Android Based BFT -Commanders Tablet can view live UAV streams -Commanders Tablet can view live helmet cam streams Features planned/coming soon: -Vehicle mounted FBCB2, Blue Force Tracking -Direct Text Messages
  8. riouken

    Unified Addon Standards

    I don't really agree with this, I think the community in general does a great job of promoting and pushing the great mods to the top. Most people create addons because its their way of being creative, and most dont get paid for this. To imose limits and have some one else tell others how and when to be creative doesn't sound like a very appealing hobby to me. I like Sttosin's idea, I think the addon/mod threads that are user reviewed/rated highly should be designated in a better way, maybe special markers or a separate section in the forums.
  9. Any news on when the next update will be? Are you just waiting for release?
  10. Thanks everyone for the feedback. Ill try and keep this thread updated as I move along on this project.
  11. riouken

    KEYS: No action menu

    Your doing some great work, keep it up. If you need anything feel free to ask.
  12. rMsgBox rMsgBox is a easy and user configurable GUI. I wanted to provide an easy to use message box similar in design and function to the Messagebox in C#. I wanted to handle all the UI scripting while the user focused on passing in their own data to my scripts. rMsgBox can be used as user notification, choice selection, conformation and many other uses. Features - * All GUI scripting is done - user only has to pass strings and arrays to my setup script. * Can be called directly from and addaction or a direct call to the script. * The message body can use a string or Structured text. * Has 6 elements that the user can configure on the fly. * Message * Title * 4 Buttons * Can change button text and button actions. * Light weight. * Easy to use. Limitations- - Right now the size of the message box does not scale with the contents, so you will have to ensure your text and data does not go out of bounds on the gui. I am working on this and hopefully will be able to solve it. How to use rMsgBox in your mission. Put the rMsgBox folder in your main mission folder. Place this line of code in your descripton.ext descripton.ext: #include <rmsgbox\rmsg_gui.hpp>[size=2][size=2] [/size][/size] Thats it. Now you can call rMsgBox in your mission. How to pass Parameters to rMsgBox- You need to pass the parameters to this file - "rmsgbox\rmsg_gui_setup.sqf" They need to be passed as an array. Only the first param is required the rest are optional. [ Message, -Can use a String or Structured Text Title, -String ["Button 1","Command"], -Array format, pass two strings - the first is the button text, the second is the command when button is pressed. ["Button 2","Command"], -Array format, pass two strings - the first is the button text, the second is the command when button is pressed. ["Button 3","Command"], -Array format, pass two strings - the first is the button text, the second is the command when button is pressed. ["Button 4","Command"] -Array format, pass two strings - the first is the button text, the second is the command when button is pressed. ] Here is an example: _CallrMsgBox = ["My Message","My Title",["Button 1","closeDialog 0;hint 'Button 1'"],["Button 2","hint 'Button 2';"],["Button 3","hint 'Button 3';"],["Button 4","hint 'Button 4';"]] execVM "rmsgbox\rmsg_gui_setup.sqf"; //if you do not want one of the options, just pass it an empty string, example: // This wil leave out the Title and button two. _CallrMsgBox = ["My Message","",["Button 1","closeDialog 0;hint 'Button 1'"],["",""],["Button 3","hint 'Button 3';"],["Button 4","hint 'Button 4';"]] execVM "rmsgbox\rmsg_gui_setup.sqf"; Helpful links: https://community.bistudio.com/wiki/String http://community.bistudio.com/wiki/Structured_Text Please see the included readme.txt for more information. Download: Example mission including the rMsgBox scripts and several examples. http://arma2.co/download?file=63541-rMsgBox.utes.zip - Arma2.co http://www.mirrorcreator.com/files/0ZRMF7HY/rMsgBox.utes.zip_links Just the rMsgBox scripts. http://arma2.co/download?file=45095-rmsgbox.zip - Arma2.co http://www.mirrorcreator.com/files/0O7W07EB/rmsgbox.zip_links Images:
  13. riouken

    Road Classnames?

    They are map objects, they don't have true class names that you can access that I know of, but they gave us some helpful commands: http://community.bistudio.com/wiki/nearRoads http://community.bistudio.com/wiki/roadsConnectedTo
  14. Ahh yes thank you I was missing the type... type = CT_LISTNBOX; When you look at one thing to long you miss the details.
  15. I have a Dialog that worked in arma 2 with multi column listboxes, I was working to convert it to A3 and I have hit a roadblock, it does not seem to be working. Base configs: Dialog config: //--- Warfront #define IDC_WARFRONT_WF_CARGOTXT 1018 #define IDC_WARFRONT_WF_ITEMIMG 1200 #define IDC_WARFRONT_WF_CARGOLIST 1500 #define IDC_WARFRONT_WF_BACKGROUND 2200 #define IDC_WARFRONT_WF_UNLOADBTN 2400 #define IDC_WARFRONT_WF_CANCELBTN 2401 class WF_supply_dlg { idd = 1734; movingEnable = true; onLoad = "uiNamespace setVariable ['WF_supply_dlg', (_this select 0)];execVM 'client\gui\wf_supply_setup.sqf';"; objects[] = {}; class controlsBackground {}; class controls { class WF_background: IGUIBack { idc = IDC_WARFRONT_WF_BACKGROUND; x = 0.309687 * safezoneW + safezoneX; y = 0.29 * safezoneH + safezoneY; w = 0.387187 * safezoneW; h = 0.406 * safezoneH; }; class WF_cargotxt: RscText { idc = IDC_WARFRONT_WF_CARGOTXT; text = "Warfront Cargo"; //--- ToDo: Localize; x = 0.269271 * safezoneW + safezoneX; y = 0.191074 * safezoneH + safezoneY; w = 0.1575 * safezoneW; h = 0.056 * safezoneH; }; class WF_Cargolist: RscListbox { idc = IDC_WARFRONT_WF_CARGOLIST; style = LB_MULTI; columns[] = {0.003,0.1,0.8}; drawSideArrows = 0; idcLeft = -1; idcRight = -1; maxHistoryDelay = 1; rowHeight = 0; x = 0.319794 * safezoneW + safezoneX; y = 0.3404 * safezoneH + safezoneY; w = 0.216562 * safezoneW; h = 0.294 * safezoneH; }; class WF_itemimg: RscPicture { idc = IDC_WARFRONT_WF_ITEMIMG; text = "#(argb,8,8,3)color(1,1,1,1)"; x = 0.572187 * safezoneW + safezoneX; y = 0.346 * safezoneH + safezoneY; w = 0.091875 * safezoneW; h = 0.14 * safezoneH; }; class WF_unloadbtn: RscShortcutButton { idc = IDC_WARFRONT_WF_UNLOADBTN; text = "Unload"; //--- ToDo: Localize; x = 0.569687 * safezoneW + safezoneX; y = 0.533444 * safezoneH + safezoneY; w = 0.0984375 * safezoneW; h = 0.042 * safezoneH; action = "execVM 'client\gui\wf_supply_unload.sqf';"; }; class WF_cancelbtn: RscShortcutButton { idc = IDC_WARFRONT_WF_CANCELBTN; text = "Cancel"; //--- ToDo: Localize; x = 0.592662 * safezoneW + safezoneX; y = 0.64364 * safezoneH + safezoneY; w = 0.0984375 * safezoneW; h = 0.042 * safezoneH; action = "closeDialog 0"; }; }; }; Adding items: //// Warfront // // Created by: Riouken // disableSerialization; _display = (uiNamespace getVariable "WF_supply_dlg"); _lb = _display displayCtrl 1500; lbClear _lb; _supplies = wf_fob_supplies; { _classname = _x select 0; _text = _x select 1; _count = _x select 2; _pic = getText (configFile >> "cfgVehicles" >> _classname >> "icon"); _index = _lb lnbAddRow ["",_text,(str _count)]; lnbSetPicture [1500,[_index,0],_pic]; } forEach _supplies; _lb lbSetCurSel 0; This all works in A2 but when I updated it for A3 I cant seem to get the multi - column's to work. I even searched the A3 ui_f config looking for any refrence to multi column listboxes in A3 but could not find any. I get no errors in the .rpt or script errors. Anyone see a mistake I have made or maybe a Dev could shed some light on this? I know the Dialog is working as I can add items normally and pictures: _index = _lb lbAdd _text; _lb lbSetPicture [_index, _pic];
  16. http://community.bistudio.com/wiki/saveProfileNamespace http://community.bistudio.com/wiki/saveVar http://community.bistudio.com/wiki/saveStatus
  17. 1. Its a lot like procedural programing 2. SQF files are code. Not all are functions. Functions are saved to a variable and used at some point. 3. Yes in general when dealing with Multi Player you want to run as much of the code on the server as you can, and just localize the code that needs to run on the clients. 4. http://community.bistudio.com/wiki/ArmA:_Event_Handlers http://community.bistudio.com/wiki/addEventHandler 5. Dont get your hopes up to far about Java, if or when it does arrive, the overhead from the system may not provide enough of a reason to use it over sqf except in explicit cases. ---------- Post added at 07:28 AM ---------- Previous post was at 07:21 AM ---------- The big idea behind functions is this: if your only going to need a peice of code once then just leave it in the .sqf and the call it with execVM. But if you will be using it more than once, its better for performance if you just compile it once and save it to a variable and then just call it from memory when you need it.
  18. It can return a value. Like in my distance check function. If you want to to return a value you use: http://community.bistudio.com/wiki/call And if you just need it to run concurrently or with sleep with no return then use: http://community.bistudio.com/wiki/spawn
  19. I have to post this here, it would not let me post otherwise lol.
  20. Here is a function for checking the sea level distance from airborne objects to a pos on the ground. // wf_fnc_distance_to.sqf // By Riouken _obj1 = _this select 0; _obj2 = _this select 1; _pos_obj1 = [_obj1 select 0,_obj1 select 1]; _pos_obj2 = [_obj2 select 0,_obj2 select 1]; _result = _pos_obj1 distance _pos_obj2; _result I create it in a "init" file that I only run on the server(that way it is available anywhere on the server machine) wf_fnc_distance_to = compile preprocessFileLineNumbers "server\fnc\wf_fnc_distance_to.sqf"; Now I can call it from any script on the server machine like this: Here is a script(actually this is another function that I call it from) that I call it in: _loc = _this select 0; _cargo = _this select 1; _spwnpos = [(getMarkerPos "air_spawn") select 0, (getMarkerPos "air_spawn") select 1,600]; _dir = [_spwnpos, _loc] call BIS_fnc_dirTo; _c130array = [_spwnpos, _dir, "C130J_US_EP1", WEST] call bis_fnc_spawnvehicle; _c130 = _c130array select 0; _c130 allowDamage false; _transgrp = group _c130; _wp = _transgrp addWaypoint [_loc, 0]; [_transgrp, 0] setWaypointType "MOVE"; _c130 flyinHeight 400; _dropcargo = false; while {! _dropcargo} do { [color=#ff0000]_dist = [getPosAsl _c130,_loc] call wf_fnc_distance_to;[/color] if (_dist < 300) then { _dropcargo = true; }; sleep 1; }; waitUntil {_dropcargo}; if (_cargo == "Land_Misc_Cargo1E_EP1") then { _dropcargo = [_c130,_cargo] spawn wf_fnc_supply_drop; sleep .07; _dropcargo = [_c130,_cargo] spawn wf_fnc_supply_drop; }else { _dropcargo = [_c130,_cargo] spawn wf_fnc_supply_drop; }; sleep 3; _wp = _transgrp addWaypoint [_spwnpos, 1]; [_transgrp, 1] setWaypointType "MOVE"; _backtobase = false; while {! _backtobase} do { _dist = [getPosAsl _c130,_spwnpos] call wf_fnc_distance_to; if (_dist < 500) then { deleteVehicle _c130; }; sleep 5; }; ---------- Post added at 07:35 PM ---------- Previous post was at 07:22 PM ---------- Here is a silly example of a very limited scope for a function. while {time > 10} do { _starttime = time; // This function will only be availble in this loop that we created it in. _howLongHasItBeen = { _newtime = (_this select 0) - _starttime; _newtime }; While {true} do { _newtime = [time] call _howLongHasItBeen; hint str _newtime; sleep 1; }; sleep 1; }; // _howLongHasItBeen would not work out side the loop above.
  21. if(isClient) { run script // My client functions/scripts....stuff etc. myfunction = do some stuff... } else { // What ever we ran above would not be availibel in this case unless we sent the data to this scope, like we talked about before. // You can do stuff here for what ever is not a client... ie the server. } If you create the function on only one machine then only it will know about it. If you create it on everyone's machine you can execute it everywhere.
  22. You can limit the scope of functions by only running them on a particular machine, for instance the server, or only on clients or on one particular client.
  23. riouken

    Advanced help

    http://forums.bistudio.com/showthread.php?99753-Dynamic-AI-Creator-(DAC)-V3-0-released&p=2313989&viewfull=1#post2313989 There is also UPSMON: http://forums.bistudio.com/showthread.php?147808-UPSMON-for-arma3
  24. riouken

    Advanced help

    You can either use the Sites module or you can use scripting like DAC.
×