trini scourge 1 Posted March 14, 2013 (edited) Diver Stats is an attempt to introduce a simulation of real world underwater dynamics to Arma 3. It is meant mainly for Open Circuit Scuba Diving. The Dive Mate (Diver stats display) overtly tracks : Depth from surface (feet). Pressure (based on depth from surface). Air Consumption Rates. Scuba Tank Size. Maximum Depth reached. Positional and Directional information. Temperature. (C and F) Breathing Time Remaining. Dive Time. Type of breathing gas mix. Blood Nitrogen percentage. Tissue Saturation Levels. Ascent Time (Time to Surface). Ascent Rate. Maximum Operational Depth. (MOD) Ascent Ceilings (Decompression Stops). Diver Stats covertly tracks many, many more variables, down to the solubility of a particular breathing gas at a particular depth. All of this information is pumped back into the Dive Mate Display, so that the diver can have all of the required information at his/her fingertips. In addition to visual information, the Dive Mate Display provides audio cues to keep the diver aware of: Fast Ascent Rates, surpassing recommended Tissue Saturation Levels and Maximum Operational Depth, and even sounds off to let the diver know that they have passed their No Decompression Limit (NDL). March 15 2013: (v1.01: Updated to include custom display and more useful information) March 16 2013 (v1.1: Updated display and added nitrogen blood level %) March 22 2013 (v1.2: Updated almost every aspect of script and display. Now hosted on Armaholic.) March 27 2013 (v1.31a: Too many changes to list here check Armaholic page for details). April 05 2013 (v1.34a: Changes listed on Armaholic page). Download v1.34a index=1 Edited April 6, 2013 by trini scourge Updated download link (update 5) Share this post Link to post Share on other sites
pvtdancer 5 Posted March 14, 2013 Wow man! Props, this will be fun to play with and see whats overall possible. now we will need to go find a refill station for our air tanks. ;) Share this post Link to post Share on other sites
cobra4v320 27 Posted March 14, 2013 (edited) I have been working on a similar script except in an FSM, your scripting is much better though. http://forums.bistudio.com/showthread.php?149979-Diving-Depth-Gauge-FSM Edited March 14, 2013 by cobra4v320 Share this post Link to post Share on other sites
cobra4v320 27 Posted March 14, 2013 Hey Trini Scourge can we just collaborate on one thread there seems to be 3 to 4 threads on this already? I have implemented your script into an FSM, I hope you dont mind? I will upload later on to this page. Share this post Link to post Share on other sites
cifordayzserver 119 Posted March 14, 2013 Have you both seen this thread: http://forums.bistudio.com/showthread.php?117196-Diving-Under-Water Also You should join the new group I've created: http://forums.bistudio.com/group.php?groupid=291 Share this post Link to post Share on other sites
trini scourge 1 Posted March 15, 2013 (edited) Have you both seen this thread:http://forums.bistudio.com/showthread.php?117196-Diving-Under-Water Also You should join the new group I've created: http://forums.bistudio.com/group.php?groupid=291 Whoa. I see it's being handled by someone much more capable than myself. Kudos sir. Joined the group. I just got certified a few months ago, so let me know if you need help testing/developing etc. Edited March 15, 2013 by trini scourge Share this post Link to post Share on other sites
marker 1 Posted March 15, 2013 Trini... Don't stop yours mate... Using it in a coop mission and it works fantastically well... Especially when the divers have less than five minutes air left, adds to the suspension.. Share this post Link to post Share on other sites
cifordayzserver 119 Posted March 15, 2013 Yeah totally don't stop yours! Join THIS PAGE TOO lol: http://forums.bistudio.com/group.php?groupid=293 I'm going to try to get as many of the Arma Modders who are willing to work together with similar goals to do just that... Hopefully work out a training/ranking system too so it's clear who has seniority and the best base of knowledge! Share this post Link to post Share on other sites
twistking 204 Posted March 15, 2013 good work! one think to consider would be though, that military divers probably would use rebreathers instead of open-circuit type of gear. Share this post Link to post Share on other sites
trini scourge 1 Posted March 15, 2013 good work!one think to consider would be though, that military divers probably would use rebreathers instead of open-circuit type of gear. You're absolutely right. However I don't know nearly enough about how closed circuit systems work to simulate their function. Share this post Link to post Share on other sites
cobra4v320 27 Posted March 15, 2013 (edited) Here is an FSM that uses a shorter version of the script above, it uses depth and pressure ONLY. If you die or go below a certain amount of feet the FSM will terminate. -80 meters is around 262 feet. Wiki Deep Diving, you can use these stats to decide on realism. http://rapidshare.com/files/2504270919/DepthGauge.fsm Execute with: null = [this,-80] execFSM "DepthGauge.fsm" null = [this] execFSM "DepthGauge.fsm" //default is -80 [player] execFSM "DepthGauge.fsm" // init.sqf file Here is the FSM for the script trini scourge created and deserves full credit. I added two states into it, which are the same as above, you die or go below a certain amount of feet the FSM terminates. http://rapidshare.com/files/314245647/DiverStats.fsm Execute with: null = [this,-80,25,1500] execFSM "DiverStats.fsm" null = [this] execFSM "DiverStats.fsm" //default kill depth is -80, default Surface Air Consumption Rate 25, and default tank size is 2000 [player] execFSM "DiverStats.fsm" // init.sqf file Edited March 15, 2013 by cobra4v320 Share this post Link to post Share on other sites
marker 1 Posted March 15, 2013 Just to let you know mate... The hint box is broadcast though the whole server on a dedicated box... Can you localise a hint box to the player on a dedicated server? Share this post Link to post Share on other sites
cobra4v320 27 Posted March 15, 2013 Marker Im working on improving this, I will see what I can do. Im also adding the option of disposable tanks from the script above and also damaging the player if they start to get too deep which leads to death. Hopefully I will have something tonight. I dont mess with dedicated servers very often so any feedback you have would be great. The issue with an FSM is you cant tell it to sleep you have to trick it and I'm still new to FSMs. Share this post Link to post Share on other sites
marker 1 Posted March 15, 2013 I think you should implement this into a dialog mate... Would remove the broadcast through the server to other players.. Share this post Link to post Share on other sites
cobra4v320 27 Posted March 15, 2013 Maybe but is there any point when we already have this in the works? http://forums.bistudio.com/showthread.php?149739-Underwater-Diving-Module-Arma3&p=2333574#post2333574 Im just helping to give the community something until it comes out. Share this post Link to post Share on other sites
marker 1 Posted March 15, 2013 That will be a brilliant mod mate, but it might be a bit heavy for short missions.. Where the thinner versions will be perfect.. Share this post Link to post Share on other sites
trini scourge 1 Posted March 16, 2013 That will be a brilliant mod mate, but it might be a bit heavy for short missions.. Where the thinner versions will be perfect.. I'm working on an improved version (with a display) that gives more information (such as ascent time, depth change, Nitrogen absorption levels under pressure etc.). Share this post Link to post Share on other sites
cobra4v320 27 Posted March 16, 2013 I'm working on an improved version (with a display) that gives more information (such as ascent time, depth change, Nitrogen absorption levels under pressure etc.). Cant wait to try it out. I'm interested in the display as well, since I have never messed with the dialogs. Share this post Link to post Share on other sites
trini scourge 1 Posted March 16, 2013 I updated the script and added a download link to the first post. Update includes: New custom display, new useful information, more accurate (stable) depth readings, auto turn on/off at surface. Feedback always welcome. Here is what it looks like: Share this post Link to post Share on other sites
marker 1 Posted March 16, 2013 Will update later on mate! Brilliant work... ---------- Post added at 18:53 ---------- Previous post was at 17:50 ---------- Ok mate Small update if you don't mind... Works well, I would say slightly too large and maybe make the position bottom right, of the screen... When you comment on your script, just use // If you start a comment with //****** and don't end it with */ then the uncomment carries on for the whole script... Also, good planning to keep your dialogs in one folder... I would change the folder path to scripts\trinedisplay\ Diverstats.sqf \Dialogs trine_display.hpp defines.hpp The above way is probably the most common way that everyone uses.. Other than that, great work mate.. Share this post Link to post Share on other sites
cobra4v320 27 Posted March 16, 2013 Hey in case you guys didnt know with diving, if you use removeAllcontainers while the diver is underwater the game slows. Ticket submitted and has been assigned. I know you were using that command in your script trini, have you guys seen this issue also? Im using the Alpha DEV. Love this dive gauge trini. Share this post Link to post Share on other sites
trini scourge 1 Posted March 16, 2013 Will update later on mate!Brilliant work... ---------- Post added at 18:53 ---------- Previous post was at 17:50 ---------- Ok mate Small update if you don't mind... Works well, I would say slightly too large and maybe make the position bottom right, of the screen... When you comment on your script, just use // If you start a comment with //****** and don't end it with */ then the uncomment carries on for the whole script... Also, good planning to keep your dialogs in one folder... I would change the folder path to scripts\trinedisplay\ Diverstats.sqf \Dialogs trine_display.hpp defines.hpp The above way is probably the most common way that everyone uses.. Other than that, great work mate.. Thanks for the feedback mate. I can put it in the bottom right, but the Alpha watermark would cover it up. Maybe bottom left would work better for now? Also thanks for the pointers on code/folder layout. I'm fairly new to scripting so every bit helps. Hey in case you guys didnt know with diving, if you use removeAllcontainers while the diver is underwater the game slows. Ticket submitted and has been assigned. I know you were using that command in your script trini, have you guys seen this issue also? Im using the Alpha DEV. Love this dive gauge trini. I've noticed the issue. Does the bug still occur if the specific gear item is removed? Glad you like the script. It's not nearly as complicated as Feint's but it'll do until he releases his masterpiece. I'll continue to add functionality to this system. Share this post Link to post Share on other sites
cobra4v320 27 Posted March 16, 2013 (edited) I've noticed the issue. Does the bug still occur if the specific gear item is removed? Glad you like the script. It's not nearly as complicated as Feint's but it'll do until he releases his masterpiece. I'll continue to add functionality to this system. Tested using removeVest player and it does not freeze the player, so looks like that is the best method. ---------- Post added at 22:38 ---------- Previous post was at 22:16 ---------- One thing you might change in the script. Instead of using this: (getPosASLW _unit) select 2 < -1.83 Use this: [url="http://community.bistudio.com/wiki/underwater"]underwater [/url]_unit Use this out of water: !underwater _unit ---------- Post added at 23:48 ---------- Previous post was at 22:38 ---------- Here are dialogs and everything in the right folders. I also added a depthcheck, if the player goes below a certain depth he will become damaged and eventually die. Let me know what you think. http://rapidshare.com/files/2501683912/trin_DiverStatus.zip <----link is dead see new link below. Edited March 17, 2013 by cobra4v320 Share this post Link to post Share on other sites
trini scourge 1 Posted March 17, 2013 I updated the script and download again. Thanks for the help cobra and maker. Share this post Link to post Share on other sites
cobra4v320 27 Posted March 17, 2013 (edited) I made some changes to the script. I added in a disposable option, that way if you are using a re-breather you don't see the psi or oxygen levels and you don't lose your vest. I also added your debug in as an option. So it would look like this: null = [this,25,3000,true,true] execVM "DiverStats.sqf" or like this null = [this] execVM "DiverStats.sqf", I added default 25, 2500, and disposable true. http://rapidshare.com/files/1385237052/trin_DiverStats.zip If you are going for realism with the rebreather: US Navy restrictions on oxygen rebreather use are: Normal working limit 25 fsw (feet of saltwater) (7.5 msw (meters of saltwater)) for 240 minutes. Maximum working limit 50 fsw (15 msw) for 10 minutes. LAR V Draeger has a maximum depth of 70 feet or 21 meters. Also most of the optics on these firearms are only built for 10 - 30 meters. Edited March 17, 2013 by cobra4v320 Share this post Link to post Share on other sites