Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Everything posted by Cheitan

  1. Is reporting a viable option to help ? I reported those two stolen mods, giving the link to this thread (and especially this excellent investigation by @Gunter Severloh) in both reports descriptions. EDIT : answer already given, sorry
  2. Cheitan

    Reverse Engineering EOS

    Hey @dreadpirate, I recently had similar concerns, and I ended up thinking that it would be easier to redesign a brand new occupation system from scratch. So that's what I did. You can find a very basic version of it right here : https://github.com/team-gsri/GOS (GOS standing for GSRI Occupation System, not related to the team named GOS). Frankly, it's not as polished as I want it to be. Ultimately I will probably ship it as a mod, mainly for my team's needs, but for now I lack time to work on it. I don't forget it though, I really plan to perfect it at some point. For now, feel free to take inspiration from it, fork it, or eventually open a pull-request following the generic Contributing guidelines of our organization. Have fun !
  3. Could you please share the values used to make this work please ? I can totally deal with attaching the chopper to the platform, but making the platform a towable object is giving me headache. I added the needed values to it, but when trying to tow it, the platform is immediately rotated by 90° and automatically detached. I tried playing around with wheelOffset values, but when changing this value, it only affect the rotation direction (clockwise or counterlockwise) but still refuses to stand still and be gently towed. EDIT : I might have found the values that you used : https://bitbucket.org/Leshrack/leshtowing/src/master/testconfigs/config.cpp. Can you confirm ? I'll give it a try today or tomorrow. EDIT2 : I can confirm that there is still this strange problem when trying to tow the landing platform, even with @leshrack values. Anyone having a solution for this ?
  4. Tried with a very simple "diag_log 'gabuzomeu'", but there is nothing in the log file either. It seems not to be executed, and I don't understand why
  5. Quick question there, I have a custom Eden attribute defined that way : class GSRI_frigate_attribute_addWeapons { displayName="$STR_GSRI_frigate_addWeaponsTitle"; tooltip="$STR_GSRI_frigate_addWeaponsTooltip"; property="GSRI_frigate_addWeaponsProperty"; control="Checkbox"; expression="_this setVariable ['toto',_value,true]"; defaultValue="true"; }; It works just fine in Eden, as the checkbox is properly displayed with the correct name, tooltip and default value. Similarly, displaying this class with the in-game config viewer shows that the attribute is correctly added. However, when I run the mission, there is no variable "toto" in the object's namespace. I'm probably missing something very obvious but I can't put my finger on it. Any idea ?
  6. Initial project Hey there ! I'm glad to introduce you a brand new mod : GSRI Zeus Manager ! This component was first developped in order to provide GSRI mission editors a complete template relying on the USS Liberty destroyer. It is meant to quickly start a new mission without having to deal with our usual stuff such as having a few basic vehicles, ship's weaponry, arsenal, and of course Zeus modules automatic management. This last part is now a separate project, as we ended up thinking that it can be beneficial for the whole A3 community. 😀 What GZM can do Once GZM is installed it can take care of any Zeus module placed via 3Den, without requiring you to configure each module with a proper owner. 💪 It relies on a serverside stored whitelist of players considered as allowed to get a Zeus privilege. The granting process check for the whitelist before linking the requester to an available curator. Any interaction with GZM is made through "command line like" user interface : just open your multiplayer vanilla chat and enter #zeus help to get a quick reminder of what each command does : Usage : #zeus <command>, with : whitelist : show whitelisted players slots : display (un)assigned slots request/release : get (un)assigned to an available slot promote/revoke <player> : (un)register <player> as zeus-allowed With GZM, you can add as much Zeus modules as needed without getting worried by how to be sure that your team's members will be able to use it. 👌 The whitelist is stored in the server's profile, meaning that it is available to all missions running on a given server. Just log in as admin on your server, promote players as you wish, and let GZM deal with the details ! 👮‍♀️ How do I get it ? Literally everything you need to know about GZM is available on the Github repository of our project. Just have a look to the included Readme. Also, you can simply click here to go instantly to the release page on Github. Please mind that this mod requires the always excellent CBA mod, otherwise you will not be able to interact with GZM (which is sad... 😥). If you have any question, feel free to ask here, on Github, or on our Discord server !
  7. Cheitan

    GSRI Zeus Manager

    GSRI Zeus Manager has been updated (original post edited), and is now only maintained and distributed as a mod ! This way you do not need to add or update it to every single mission you are using. If you still need it as a script, you are free to get the source code on Github and use it as-is in your mission, or modify it the way you want under the conditions of the MIT License.
  8. Hey folks. I'm struggling with some strange behaviour here. I'm trying to use the very cool notification system (BIS_fnc_showNotification) with some localized text so several languages can be added to my scripts. I have defined my notifications as follow (sample) : class CfgNotifications { class SubmarineOk { title = "GSRI Insertion System"; iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIconDone_ca.paa"; iconText = ""; description = $STR_GSRI_submarineOk; color[] = {1,1,1,1}; duration = 5; priority = 0; difficulty[] = {}; }; }; And my stringtable.xml is structured as fllow (sample also) : <?xml version="1.0" encoding="UTF-8"?> <Project name="GSRI Opex Template"> <Package name="GSRI_opex_Submarine"> <Key ID="STR_GSRI_submarineOk"> <Original>Submarine has moved to the designated location (%1).</Original> <French>Le sous-marin s'est déplacé aux coordonnées indiquées (%1)</French> </Key> </Package> </Project> However, when trying to activate the corresponding action, the notification is displayed with no text at all. Trying to use *localize "STR_GSRI_SubmarineOk"* is returning an empty string. This behavior is witnessed in both 3den preview and packed pbo launched on my computer. Following an advice from Dedmen I've checked if the stringtable.xml file was correctly added to the mission pbo and yes, it is. EDIT : the game is adding a log entry in RPT : "19:05:51 String STR_GSRI_submarineOk not found" Any idea ?
  9. Bloody hell, I get it. There is a missing / for the closing tag for 3 of the entries. Probably due to a missed copy-paste. This might have confused the XML parser of the game, leading to a fully unexpected behaviour but without any kind of warning/error message. I spotted it by re-typing the whole file from scratch and having everything working at first try. I then performed a strict comparison between both files with a dedicated tool and the magic happened. How dumb I may be, from time to time...
  10. Yeah I had some problems with that a while ago, so now I always check encoding first, but in this very case IT IS ALREADY UTF-8 without BOM.
  11. OK, I think my game is cursed, or something. Here is my full Stringtable.xml file : <?xml version="1.0" encoding="UTF-8" ?> <Project name="GSRI_Opex_Template"> <Package name="GSRI_opex_notifications"> <Key ID="STR_GSRI_submarineOk"> <Original>Submarine has moved to the designated location (%1).</Original> <French>Le sous-marin s'est déplacé aux coordonnées indiquées (%1).</French> </Key> <Key ID="STR_GSRI_submarineFail"> <Original>Submarine cannot go here.</Original> <French>Le sous-marin ne peux se déplacer ici.</French> </Key> <Key ID="STR_GSRI_submarineInfo"> <Original>Left-click to move, shift+click to move in surface.</Original> <French>Clic-gauche pour déplacer, maj+clic pour déplacer à la surface.</French> <Key> <Key ID="STR_GSRI_heliInfo"> <Original>%1 is available in hangar.</Original> <French>%1 est disponible dans le hangar.</French> </Key> <Key ID="STR_GSRI_heliDelete"> <Original>%1 has been deleted.</Original> <French>%1 a été supprimé.</French> </Key> <Key ID="STR_GSRI_heliMoved"> <Original>%1 has been moved.</Original> <French>%1 a été déplacé.</French> <Key> <Key ID="STR_GSRI_heliFRIES"> <Original>%1 is now equipped with FRIES.</Original> <French>%1 a été équipé d'un FRIES.</French> <Key> </Package> </Project> Initially it was split between two packages for the sake opf clarity, but while trying to debug it all I ended up with this simplified form. But now I don't understand a thing to what I'm seeing... When calling _localize "STR_GSRI_submarineOk", the right sentence is displayed. When calling _localize "STR_GSRI_submarineFail", the right sentence is displayed. When calling _localize "STR_GSRI_submarineInfo", the sentence displayed sentence is " is available in hangar". When calling _localize "STR_GSRI_heliInfo", no sentence is found. When calling _localize "STR_GSRI_heliDelete", no sentence is found. When calling _localize "STR_GSRI_heliMoved", no sentence is found. When calling _localize "STR_GSRI_heliFRIES", no sentence is found. Moreover, my game is supposed to be configured for french language, so even if there were a bug with, let's say, encoding, the right sentence should be " est disponible dans le hangar" instead of the english version " is available in hangar". I am completely lost... Stringtable is something I'm using for a long time, usually in mods, with a lot more entries and packages and structured text and stuff. I don't understand why this very simple use is behaving so weird...
  12. I recently discovered, thanks to @Lou Montana, the A3 command squadParams. It has the ability to display Unit's informations, such as name, tag, image, email, etc (thanks again Lou for that 😍). As a Unit's name is unique, I wonder if relying on this is safe, for attributing privileges to players. For example, I've designed a quick Zeus slot management with the extremely useful CBA_fnc_registerChatCommand. When a player type #zeus request, he is automatically assigned to a curator (provided that there is an available curator, otherwise the player is prompted with a warning). Similarly, using #zeus release automatically unassign the player from his previous curator. For now, there is no kind of "security check". Anyone knowing how the command works is able to get Zeus access (yes, even you, dear reader !). I now want to make sure that only members of my team are able to access Zeus, and that no guest is able to do so, even if he knows the command. As often stated, security through obscurity is no security at all. One way is to store server-side a list of steam IDs (assuming that such an ID cannot be faked...), and make the Zeus request handler check this list in order to allow Zeus privilege. But this way is not very flexible : if a new player joins the team, we need to update the mission file. Another way to do so is to enable file patching on the server and to keep the Steam ID list in a file out of the mission folder. But file patching has its own flaws, and it still need a server root access to modify the file in case of a new member. The final way I just found is to rely on squadParams : if the player is a member of my team, then he should be granted with Zeus privilege. Considerations are as follow : - Unit Name must be unique on BI's side (let's assume that it is absolutely secured). - Check must be performed on the server, as we cannot assume a mission file is secure on client side. - There is NO KIND OF LOCAL STORAGE for squadParams, as local storage could be altered a way or another. I browsed every A3/Launcher folder that I know, including AppData, etc. I found some kind of local storage for units, but only the team's picture is stored. I can make the guess that squadParams is able to do a sort of HTTP request on-the-fly when called. Such a request is done at game start in order to download the squad picture, which is then stored client-side aiming at avoiding big network messages later on. But the remaining intels are not stored, because the total volume of data is considered to small to make a significant difference between local storage and online request. If my guess is right, we can assume that relying on squadParams for privilege management is safe. Of course, to be perfectly honnest, any kind of network proxy should be able to detect and modify on-the-fly any call to the distant database in order to make it display the wanted value, but it's kind of a "very" advanced attack for a ridiculously stupid goal : gaining a temporary Zeus access... Not to mention the fact that game's network traffic might be encrypted, at least for such a call to a HTTP service, which, if it is, will make this attack inoperative. Is anyone able to (in)validate my guess ? I admit I'm not curious enough to kick off my own network security tools just to perform such a small check... Even if doing so might eventually be quicker than writing down this long message 🙄
  13. Thanks @Dedmen, very exhaustive answer ! @sarogahtyp that's a very good idea O_o such a command would only be accepted by the server if it's called by an already registered player, or by a loggedAdmin. Excellent !
  14. Yep I know this is going too far ^^ To be honnest, it's only a matter of curiosity. I wonder if having a squadXML fills the squadParams the same way than a Unit... If it's strictly the same, then it can be faked indeed. However, creating a new Unit with the same name is apparently impossible. I tried quickly, and as soon as you enter the name, there is a check performed by the website to verify that the name is available. If not, further steps are locked. But I don't know about the security level of such a service, maybe it can be attacked in a way or another to duplicate Unit's name. Anyway, if squadXML cannot be differenciated from Unit via squadParams, it's indeed not a very secured way of attributing sensitive privileges. But for Zeus it's good enough.
  15. As stated here, relying on such an ID require to update the mission file or the server file containing UIDs, in case of a new player joining the team.
  16. Hi there. We found in our modpack a vest which is not displaying proper protection values in virtual arsenal. At first I thought that the vest was misconfigured, and tried to tweak armor and passThrough values. But none of my tries changed anything to VA stats. After a few tests on AI, it looks like config values are correctly used for damaged calculation (3 to 4 5.56 shots at 20m, same for similar vests with properly displaying stats). Why is the arsenal not showing right values ? You can find bellow the code used : class My_Vest : Vest_NoCamo_Base { descriptionShort="$STR_A3_SP_AL_IV"; class ItemInfo: ItemInfo { uniformModel="\path\to_model.p3d"; containerClass="Supply200"; mass=15; passThrough=1; // looks like A3's old-way to do it. With or without this line doesn't change the result class HitpointsProtectionInfo { class Chest { HitpointName="HitChest"; armor=25; PassThrough=0.30000001; }; class Diaphragm { HitpointName="HitDiaphragm"; armor=25; PassThrough=0.30000001; }; class Abdomen { hitpointName="HitAbdomen"; armor=25; passThrough=0.30000001; }; class Body { hitpointName="HitBody"; passThrough=0.30000001; }; }; }; }; This is almost a copy-paste of a working vest, only model and names are changed. (above names have been replaced by placeholders) Do I miss something ?
  17. I recorded the motion of a truck with BIS_fnc_unitCapture, and I now want to play this motion with BIS_fnc_unitPlay. No problem so far, the vehicle is doing exactly what I want, but when doing so the tires are scraping on the ground. I thought adding an AI on the driver seat would help, but nothing changed. How can I get this vehicle to stop braking this way ?
  18. I tried. They don't. Still scraping the ground as if it wanted to light up hell's fires.
  19. 2014, uh ? 🙄 I think I will drive by myself, period.
  20. I wonder if there is a way to make ACE consider other objects as ToolKits ? We have a backpack that is visually suitable as a toolkit. We can adjust its weight in order to reflect the fact that it carries some tools, but is there a way that ACE accept it as a valid toolkit ? I've found that for some modules, some properties are definded to allow this. For example, in the logictics_wirecutter module, there is a config property that you can have, so the item (backpack or vest) can be considered as having an embedded wirecutter. I would like to see the same thing for repair (and eventually medical) modules.
  21. Hey everyone, I set up a scenario using Eden, and the EditTerrainObject module to give a damaged look to a few buildings. I hosted it on my PC and had a try with one of my team mates. We are encoutering a strange behaviour : - I can see buildings as damaged. - He can see buildings as clean. - When I enter a damaged building, nothing change. - When he enter a damaged building, he can see some kind of glitch, with the damaged version quickly appearing and then the clean version is here again. I had a look on the function used by the module, but it seems perfectly fine. Did anyone ever had a similar problem ? Thanks, Cheitan
  22. thanks @pierremgi. I ended up replacing all those modules with one single server-side script to manually apply damage without effects at mission startup. With such a workaround, everything was fine. Very strange bug, nonetheless...
  23. Cheitan

    Emitter 3Ditor

    Right on time ! I'm just starting to look for emitters. This will be definitely the best tutorial I could ever imagine.
  24. Cheitan

    Anti-Puncture Spray

    Your guess is right ! This type of device can be found in most car repair stores. It is design to contain enough matter to fill in and reinflate a standard tire. Afterward the can is disposable. Of course, here comes a bit of unrealism, given the size and the composition of military grade tires such as the ones on a Marshall for example. But here the goal is to bend the realism a little bit in order to bring a more usable feature ingame.
  25. Anti-Puncture Spray for ACE Repair module by [LM] Cheitan What is this about ? Tired of not having enough spare wheels in your vehicle to keep it moving at a decent speed ? Here is the solution : an anti-puncture spray ! This mod adds a new item you can store in your inventory or in your vehicle. It is a spray that you can plug on a damaged tire. It will inject a specific paste in the tire which will firstly fill the hole and secondly emit a lot of gas, leading the tire to be usable again ! Initially developped among other features for the french team La Muerta, it is now available for everyone. Only french and english translations are available for now. Feel free to submit your own language ! How to use it ? You must have at least one spray in your inventory. Get close to the damaged tire and use the external action key from ACE. It will display a new action on the black part of the tire, named "Use anti-puncture spray". Trigger this action, and it will open a loading bar during 10 seconds with a sound effect. Once the spray is empty, it will be removed from your inventory, and the tire will be usable again. However, keep in mind that over damaged tires cannot be fixed with this spray. Also it will not magically restore the tire at factory state, but it will make it able to reach max speed with the vehicle. Known issues - If the loading action is interrupted, the sound effect will still be hearable until it end. However, do not worry : no item will be taken from your inventory ! Disclaimer and credits This mod is released under APL-SA. - La Muerta Team for testing and support - Icons made by Freepik from www.flaticon.com - Dedmen for various help with code and licence - ACE Team for creating such an amazing mod/framework - Bohemia Interactive for bringing us such a great game If you have developped or enhanced a feature and you think it should be included in this mod so that everyone can benefit, feel free to reach me on BI forum. I would be pleased to see your work and integrate it if relevant, making you a contributor of this mod. Changelog can be found in readme.txt Download La Muerta cloud space (deprecated) Armaholic