-
Content Count
105 -
Joined
-
Last visited
-
Medals
Everything posted by Cheitan
-
(already posted on A3's Discord, so sorry if by any chance you've already read that, but I wanted to reach to the forum's community to see if anyone has other clues) Hi there ! There is something weird going on with parachutes and ropes. I thought parachutes were basically aircrafts, plus they are listed in the "transport" list of vehicles : https://community.bistudio.com/wiki/ropeCreate/transport In fact, creating ropes from them "kinda" works : when using `ropeCreate[vehicle player, [0,0,0], 6]` when under a parachute, a rope is indeed created, with the correct length, hanging toward the ground. However, it does not follows the movement of the parachute. It stays right where it spawned, hanging down. Calling on the parachute works as intended : the rope object is returned correctly. But it still hangs in the air. Using `ropeCreate` to attach an object to the parachute is even weirder : the object behave exactly as it would if the rope was there, attaching the object to the parachute : it swing left to right when turning, hits the ground before the player, etc. However, despite the behavior being OK, the rope is still displayed at the spawn point, mid-air. Here you can see what I mean : the box is behaving normally, swinging behind the player, but the rope is stuck mid-air, not moving, not doing anything. I've so far failed to make it move in any way : reattaching it does nothing. Deleting it works however. Then, 2 questions : - is there anything I can do to make this work properly ? - is there any use to bug-report it now ? Thanks,
-
What do you mean ? The first message is using this command : ropeCreate[vehicle player, [0,0,0], 6] So I'm already using the parachute, since ropeCreate only works with "transport" vehicles as origin for ropes : https://community.bistudio.com/wiki/ropeCreate/transport Soldiers are not a valid "from" object.
-
Due to this affecting only a player's own sighting, I simply ended up locally hiding rope segments. It works like a charm and keep the code simple to read and understand, rather than messing around with proxy objects. We can even add a drawn line onEachFrame for the time of flying, so that the 3rd person view is not too weird. Good enough for my use case 👌
-
I did not have much hope for that anyway. However amp' report allowed me to see that this problem is local only : only your "own" rope is glitched, but every other ropes created under other player's parachutes are rendered ok on your screen. So one can locally hide the rope and use https://community.bistudio.com/wiki/drawLine3D to render a visual link, and let other player around with their ropes. Or any other trick. Basically, only the local use case have to be dealt with. But it's definitely a weird glitch, for sure.
-
I don't know how, I missed a previous task opened by @ampersand38 on the same topic : (https://feedback.bistudio.com/T157379) Mine (https://feedback.bistudio.com/T163601) is consequently a duplicate but I apparently can't merge it with amper's one. I'd say a moderator is needed here 🤷♀️
-
There use to be some, relying on rigid body objects and attachTo, but since we have decent ropes and a parachute being considered as a transport vehicle, it would be a shame not to use it 🤷♀️ I never issued bug reports for A3, I think. I have to find how all this works. Thanks for double-checking after me !
-
PS : might also worth mentionning that when the player hits the ground, the parachute is still displayed for a few seconds, falling to the ground. During this specific moment, the rope is correctly displayed, attached to the parachute and the box. And it behaves like a rope. When the parachute is deleted, the rope is deleted too.
-
Fast Sea Frame - Sea Fighter - Assault Craft
Cheitan replied to [aps]gnat's topic in ARMA 3 - ADDONS & MODS: COMPLETE
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 -
Reverse Engineering EOS
Cheitan replied to dreadpirate's topic in ARMA 3 - MISSION EDITING & SCRIPTING
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 ! -
Lesh's Towing Mod 1.0 (2018-06-16)
Cheitan replied to leshrack's topic in ARMA 3 - ADDONS & MODS: COMPLETE
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 ? -
Expression not running in custom Eden attribute
Cheitan replied to Cheitan's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
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 -
Expression not running in custom Eden attribute
Cheitan posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
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 ? -
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 !
-
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.
-
Using stringtables in description.ext
Cheitan posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
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 ? -
Using stringtables in description.ext
Cheitan replied to Cheitan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
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... -
Using stringtables in description.ext
Cheitan replied to Cheitan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
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. -
Using stringtables in description.ext
Cheitan replied to Cheitan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
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... -
Rely on squadParams for privilege management
Cheitan posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
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 🙄 -
Rely on squadParams for privilege management
Cheitan replied to Cheitan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
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 ! -
Rely on squadParams for privilege management
Cheitan replied to Cheitan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
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. -
Rely on squadParams for privilege management
Cheitan replied to Cheitan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
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. -
Yet another topic on HitPoint protection
Cheitan posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
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 ? -
Prevent vehicle drifting with BIS_fnc_unitPlay
Cheitan posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
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 ? -
Prevent vehicle drifting with BIS_fnc_unitPlay
Cheitan replied to Cheitan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
I tried. They don't. Still scraping the ground as if it wanted to light up hell's fires.