#enfusion_scripting
1 messages · Page 22 of 1
gg just realized u can't open two game instances
oh I need to use the peer tool
ok I'm using server localhost + peertool and launching
but on my steam game instance I can't seem to join the server
or do I need to launch a separate game instance through workbench?
trying to direct connect through this ip
also I tried my local ip
no luck
when I try to direct connect into 0.0.0.0:2001, its stuck at searching server
Im gonna check out a video
hmm my peer window seems to throw an error
anybody familiar with this?
ok just managed to fix it
lol my PIE client is falling through the terrain
I managed to get PIE peer tool working but again it seemed to have stopped workin >_<, I made a new world and tried to launch it from there
I'm gettin this error now
managed to fix the error though now my client is being disconnected?
wonder why, it was just working fine until I made a new sub scene copy of Everon, I ran into this bug
where a entity glitched and I couldn't no longer select it or it appears in the hierarchy but its visible so I made a new world
_<
and now peer tool isn't working weird
ok managed to fix it again
yippy
HERO 
Make sure to update your mod in the profiles created for the peertool+server. Also I believe if you run the diag version of arma you'd be able to connect to your peertool. Although the peertool runs clients, and you can setup however many you need to test just gotta create new profiles for each client you want to run.
QUESTION what does this mean?? BACKEND (E): [RestApi] ID:[8] TYPE:[EBREQ_ANALYTICS_SendEventSR] Error Code:503 - Service Unavailable, apiCode="", uid="", message=""
can some1 enlighten me on the EntitySpawnParam's transform variable?
I know how to set the position
but rotation Im strugglin
tried searching through wiki and stuff, don't see a page on EntitySpawnParams
Everything you need in Math3D class
Just google for transformation matrix
https://learnopengl.com/Getting-started/Transformations (for opengl, but same thing)
Learn OpenGL . com provides good and clear modern 3.3+ OpenGL tutorials with clear examples. A great resource to learn modern OpenGL aimed at beginners.
guys in Reforger do buildings have positions defined or something similar to that?*
you know Arma 3 buildingPos, sorta used to patrol units in houses or spawn loot in those positions
No
They inherit from IEntity so you can get their position
But they don't have a "positions array" that contains "spawn positions" or whatever
Everything from A3 can be disregarded.
None of that exists here
not everything though
I know of 0 sqf specific functionality that exists in Enfusion
I guess I have to implement my own building position system
yea I'm not saying there are exact sqf functions in reforger but there are ones similar
Yeah, and Unreal and probably most games have "similar" ones.
Sqf supplied the boiler plate engine side so you didn't have to do a bunch of extra scripting.
That doesn't exist here.
yea since its a different engine ik
Building positions are quite nice though. It allows to easily spawn anything in any building. No need to tailor the code for specific buildings nor need for code which would find suitable positions automatically.
yep, they might add it later since some features haven't been added yet, for now you can try to implement your own building position system, already did in Arma 3
might, didn't say will but yea its just a guess
I haven't done any scripting in Reforger yet. How do you interact with the engine here? In Arma 3 you would use scripting commands. Does Reforger have engine defined classes? What's the equivalent of getPos player for example?
the equivalent of getPos is .GetOrigin()
Enforce Script is closest to C#
in reforger they* xd have IEntities which are characters, vehicles, etc...
yea
which is why its easy 4 me
If you know OOP, you'll just need to learn the syntax
There could be some solution provided by game for building positions to be honest. It would be useful in any randomized scenario
there isn't though I just checked the building's component variables
don't see any vectors
There isn't any equivalent in Reforger
there could be a dictionary containing the class of the building and a list of vectors
idk
There isn't lol
Otherwise I wouldn't have had to manually place spawn points into the building prefabs lol
ye pretty sure there isn't since everything is in wip
I've seen some enforce script example and notice similarity with C# immediately.
Yeah, that's what it's closet to.
The only cool thing we have for getting positions would be the ability to get all the points that make up the road splines
How do you get object of player's character for example? I guess then I can call his GetOrigin() method to get his for example.
On client
This for client
Is SCR_PlayerController class provided by engine?
SCR prefix means it's script side
Everything inherits from some engine side class though
I see
In most cases at least
Some classes are specifically scripted though
You should read all of this
If you need to predefine points in a entity / prefab, for whatever purpsoe. You can do so with the SlotComponent
I am defining the points where to spawn in a building by casting rays. When you hit a floor/furniture (navmesh) we can find a free position on it. Works quite nicely and is automatic. Some of the buildings have unreachable attics, but they still have a navmesh on those floors. Those are hard to filter out (=annoying).
so i asked if reforger uses C# or sqf and i was told that reforger uses sqf So whats the deal ?
is that true
i guess its none of the above: it just Arma scripting 🙂
All previous Arma games use SQF but this one uses Enforce Script which is very similar to C#
ok i see thx for the reply m8
looks harder then sqf to me: and more of a pain in the you know what 🙂
but its just like anything else: the more time you put in the easyer it becomes
so is there a text editor that's just for reforger: or can we use Visual Studio
there is one provided in the workbench
try looking into this: https://community.bistudio.com/wiki/Category:Arma_Reforger/Modding/Official_Tools
ok thx m8
woohoo Script Editor Plugins yeah 🙂
what the hell Arma reforger has a script editor right in the Game WoW
It looks more difficult for people who don't know OOP. I've never done any scripting in Reforger yet, but it looks like hell less of pain than sqf. Enforce script is much closer to popular programming languages, sqf is the weird one.
oh no im weird then i like sqf lol hahahah 🙂
what OOP btw ?
i only know G & M code programing 🙂
The idea that you couple all your data and functions that work on that data into abstract objects
An object comes from a blueprint called a class
blueprint ohh i know blueprints 🙂
I can have an Animal class. Lets give Animal a walk function (called method in oop), now I can make an Animals and call Animal.walk
oh i see
But if I make an object that is not Animal it may not have .walk() method
so really its all the same stuff: its just diff syntax looks like to me
You can also put a bunch of data as variables inside the objects too
that's a description of all programming tbh
There are important technical differences across different languages besides syntax
its like explaining the Golf swing 🙂
There are important technical differences across different body types 🙂
well 1st i guess i must get a PC that can run Reforger 🙂
even tho mine could do it just ok
problum is i'm 64 and it would take me a long time to learn Enforce Scripting: darnit
i can see me playing reforger and just as i was getting good at it: id be gone right at the PC lol 🙂
It's a complete game engine, except with some things protected.
There is gonna be Arma 4 built on top same technology. What you learn in Reforger will work in Arma 4.
yes true that
There are 2 api's. EnfusionScriptAPI is the building blocks that arma reforger and arma 4 are built from. ReforgerScriptAPI is reforger specific stuff.
nice
Awsome m8
holy shit huge stuff 🙂
hay everyone take a small brake: and Marry ChristMass to you All Woohoo https://www.youtube.com/watch?v=V68fvKhmDaI
JINGLE BELLS – HEAVY METAL VERSION#ChristmasSong #ChristmasRock #RockChristmasSong #HolidayRock #XmasRockVibes #RockNRollChristmas #ChristmasSongRockVersion #RockBalladChristmas #FestiveRockSong #ChristmasRockAnthem #MerryRockmas #SantaRockStyle #WinterRockVibes
👋 Hay Dennis. I'm getting the same error on my end, and since it's BACKEND, it's highly likely that the problem is maintenance on Bohemia Interactive's end... But I'm no expert, so take my information with a grain of salt 😅
BACKEND (E): [RestApi] ID:[8] TYPE:[EBREQ_ANALYTICS_SendEventSR] Error Code:503 - Service Unavailable, apiCode="", uid="", message=""
Its okay! It’s a good error. It can only seen by Bohemia
did you ever figure out what was causing this?
No, I dug into it, but it doesn't seem mod related
I couldnt find any references to that in vanilla code so I was curious if it was a mod or not 
I've added it to the wall of "black magic in enfusion" for now
Worth noting that increasing replication bubble size seems to have quieted it down some, but my money is on a modded vehicle of some sort
#Bohemia operates an internal web service (Cloud Run) through which
crash reports, performance data, and debug reports from the editor are collected.
The path
demo/prod/report
indicates a report viewer (an internal or semi-public tool).
The parameter
signature=…
is a unique identifier for exactly one report (e.g., a crash event or an editor session).
Why don't you see anything (503 Service Unavailable)?
This isn't an error on your end. Typical reasons:
The report viewer is only accessible internally to Bohemia employees.
The service is temporarily offline or not publicly available.
The report has already been deleted or has expired.
sorry for late answer
OOB = Object Oriented Programming. Basically it's a lot of inheritance, methods, classes, like the C++ language is to C. If you can understand that, you'll be fine in Enforce script.
The main challenge is just trying to figure out what to call, how, and when if you have the mod logic written out. I write out logic in psuedo code first then try getting what I need from Enforce
I would like to create a new attachment class for removable bipods, how do I do that? Is there a class just called Attachment from which I can inherit?
I'd look at where a MG bipod is defined and go off that.
Unfortunately all the bipods currently in the game are permanently attached to the weapon, that works differently.
I thought you could detach weapon bipods like the other stuff?
Only fold and retract, not remove or install
huh, i thought they were separate attachments because there are different types. Maybe im thinking Arma3
Yeah, I think so. You got any idea how I might be able to handle this?
I've never touched weapons, so I'm not sure. I'd probably wander into changing the weapon prefabs to add/remove bipods using the ActionManagerComponent, but that'd probably be the wrong path 😄
Alright, thank you
Look at the underbarrel gl code, pretty sure I've seen some neat things on how to setup attachments, or rather how that attachment is setup.
The attachment is just required to have some component that inherits from inventory item component and the slot is required to be shown in inspection. That's it, iirc
RHS does this and IIRC it's not an easy process
It's not as simple as just assigning a bipod to an attachment point, they had to do something else
TLDR vanilla does not support removable bipods and RHS had to man handle it so only specific weapons could even be capable of it
If it's for your own weapons they have a guide here on setting it up
https://docs.rhsmods.org/rhs-status-quo-user-documentation/arma-reforger/rhs-status-quo/for-developers/detacheable-bipods
I want to avoid using prefabs in my fuel mod and just use scripting to add/alter prefab components (including editable prefabs) to be dynamic with fuel management. Do I have to use prefabs if my mod is solely changing prefab logic, not the models?
No problem Dennis and thanks for your reply 💪
What is the goal with your fuel mod?
Limit the amount of fuel available in fuel depots, including helipads and Conflict vehicle depot. Players have to refill them with a fuel truck.
Right now I set the fuel min/max using the prefab components. It's annoying to keep track of, I'd rather configure them via scripting.
I haven't played around with fuel much, im sure theres a way to do it by script, but if there is a way to do it through the components then it might be your best bet rather than reinventing the wheel.
I've broken my server a few times now trying to do something the game handles by default, but in the way I wanted to.
If you continue i'd look into possibly setting up configs with preset data and load those in. You'll have to play around with the functions in the prefab components where you can change the min/max levels to see if theres setters for it though
Im trying to use **AddPrefabFilter **from BaseGameTriggerEntity, but it doesnt have any reaction on this.
My code is:
ResourceName prefab = "{DE15FB5FAFC3E63F}Prefabs/Characters/Factions/BLUFOR/US_Army/Character_US_Officer.et";
PrefabFilter filter = new PrefabFilter();
filter.SetPrefab(prefab);
triger.AddPrefabFilter(filter);
Does **AddPrefabFilter **work correctly? Or i do smf wrong?
P.S.
This filter works when i add that prefab manually in trigger in editor
guys just spawned in a unit using SpawnEntityPrefab, but the unit doesn't seem to do anything?
AI need waypoints to do anything
they don't even react to me, the AI is USSR and I'm US
SCR_AIWorld.et on map?
but normal editor placed groups responses and immediately fires
yea
the navigation path finding stuff is setup
its working since they do move and fire when placed in editor
currently looking into SCR_AIGroup spawn methods
place same character from game master menu and check readction, it could be not script problem, but config problem on yours map
bro just told you editor placed entities responds and fires
also
spawning vanilla group prefab also works
spawning individual character prefabs doesn't
Individual characters are more tricky, as they still need to have a group prefab. Not sure if it's your issue, just mentioning it.
enable this when spawn
its disabled by default?
yes
wow
don't see a variable called enable AI
but there is a activate AI method maybe through that?
AIControlComponent::ActivateAI() ???
oh yea it was that
it works
now
so weird the AI not being activated on initialize >_<*
it logical decision as for me
not 2 me though since common game engines end up activating their* AI on spawn
I guess this one activates its AI on placement as well but not on spawn through method
AI can be disabled on map or broken, u can use character prefabs not only for AI, when player spawns game spawn character prefab and place player inside it can run away if AI enabled
pretty sure its because things are in WIP, they will change it probably later
character prefabs is for players first, AI is second target
I guess so but still I'm pretty sure they would add a method similar to createUnit or some method that lets you spawn units with AI enabled in the future

just game dev instincts, could be wrong
It's done like that for a reason, specifically because AI doesn't need to be simulating when no one is on the server or is too far away from the ai.
oo
If that group is spawned in and no one is on the server or close enough they aren't active
When spawning from gm mode, they're active because someone is obviously on the server.
When you get outside of their network bubble they go "inactive"
And back to active when you get close to them
yea that is pretty much basic open world game logic
There is no "this prefab is supposed to be an AI" logic when spawning.
Spawning a prefab is, just that.
The activate ai method is the "equivalent" to your createUI method.
Except the engine doesn't do the boiler plate for you
I see, though common game designs do intend to initialize there AI automatically on placement and this one does too for eg when you spawn a group prefab, you don't need to call activate ai, its only required when placing individual units
but I understand that those characters can be either possessed by a player or an AI similar to Unreal pawns
but it still would be cool if the engine it self switch the entity to AI when a player is no longer posessing it
It's on you to do that
but again ik things are in development so thats fine
Sqf did that for you
Enforce isn't gonna do that
If you want it to be AI you have to tell it to be AI.
Otherwise it's just a prefab that's being spawned
yea ik sqf does that, I didn't bring up sqf, in above comment I'm talking about other common game designs
You did, when you made the assumption that they would add a "createUnit" function. Lol
If they were gonna do that, it would already exist.
yea there is a chance they might, I didn't say they will
also it's been some time I brought that up, I'm not talking about that
they might not add a function exactly called 'createUnit', but there is a chance they might add a method that spawns an AI entity and auto activates it
I mean I can easily make a method like that right now so In the future for Arma 4 its possible
I'm not 100% saying they will*, they just might
Yes I know what you said. You made an assumption about it lol
Them adding a "createUnit"-esque function
I already left a reply
_< lol, yes I did mention them adding a method, and again:
I'm gonna stop 4 now to avoid chat redundancy
Yeah I'm not sure why you had to reclarify what you had already said. Lol
just ctrl+T and created a entity class in the 'scripts\Game\Entities' folder, I'm able to place this entity, but the entity doesn't execute its override EOnInit method?
though it works 4 components
the print function doesn't seem to execute
oh wait do I need to create a prefab of this entity first?
nop creating a separate prefab doesn't work
I think I'm gonna go with component 4 now
uncomment line in constructor
ooh just realized it and was about to do that lol
since I made a component and it wasn't working as well
If you don't need the on frame event remove it and the pipe from your SetEventMask method
yea its already removed, just created a new entity class and throwed the print method to show here the issue
Have you bothered to read the wiki?
I did a bit
didn't read everything though
I expected EOnInit to be executed like void Start from Unity
Not too much there but it's better than it was.
- some of it isn't updated
Has anyone used AddPrefabFilter from BaseGameTriggerEntity? Does it work correctly?
test it out I'm pretty sure it will work, I mean they wouldn't add something that isn't working right?

I'm using a player trigger entity, works well so I'm pretty sure that will work too
by code or in editor? Im asking about code
well what I did was create my own trigger entity inheriting from a base one, and spawned it through code, the onactivate events does seem to fire
ok I guess the feature must not be working >_<
Anyone help me find where game master gets assigned by default?
Like the code that does the assignment. Where does that happen?
Thank you. I suppose I will leave it for now. I only have a static non-rail bipod I would like to add to my mod, and don't want to add RHS as a dependency
could be wrong but if your refering to the player being able to press T and go to game master there is a entity called Editor something
there is a boolean parameter that lets you disable that
or if the game master is enabled by default when you hit play, try removing the gamemode and switching to a other gamemode
for GM game mode?
I managed to find the logic for assigning in GM game mode
I was curious about how admins automatically get it (I think?)
That's probably engine side.
You can disable / remove the input key for it and from the pause menu. Don't think you can actually disable it in existing game modes unless you are using actual base game mode
Ok noted, thanks folks
From actually taking a look, I found SCR_EditorManagerCore::CreateEditorManager
You can by disabling SCR_EditorManagerCore but, there are some info displays that still call it for adding to invokers.
the apparently only use null checks when they want to
Ah ok good to know.
Will it ever be possible to add like fake methods / classes from other mods to add compatibility without dependency?
Like a #ifdef ModXY -> call ModXY.DoSomething
So, in GM Game Mode or Admins? Because it's different.
Game Mode - by voting SCR_VotingEditorIn (if everyone is GM then it just start vote and instantly end it with yes for each player in SCR_GameModeEditor)
Admin - SCR_EditorManagerCore -> OnPlayerRoleChange -> if some mode defined to add with specific player role (in {A9ACCDC72AD70995}Configs/Core/CoresManager.conf) then it will be added (GM is defined to be added for admins)
great, thanks! Will look into it
Does string.ToVector not work?
The position looks ok as a string, but comes back as "0 0 0" when the method is used
didn't seem to like that
Wait maybe not for variables 
Sorry used to doing like vector blah = "0 67 123" I just ran it again but it seems to work?
hmm interesting
The string comes from vector.ToString, so I'm guessing that's the correct format?
Any particular reason you need it as a string 🤨
probably for serialization
yeah replication
if replication then just send 3 floats
so i'm guessing it's the beautify process that adds the < , >
I don't see why you wouldn't just use the vector.. Replicating strings should be worse
You can already do that.
What how
//Inside a component
void SetStatValues(notnull array<int> StatValues)
{
#ifdef IDK
StatValues.Insert("11");
int FakeStatValue = this.FunctionThatDoesntExist();
IEntity Player = SCR_PlayerController.GetLocalControlledEntity();
ComponentThatDoesntExist Com = ComponentThatDoesntExist.Cast(Player.FindComponent(ComponentThatDoesntExist));
Com.GetStatValue();
#endif
}
But can you just ifdef ModNameHere?
if there is no methods for replicating vector (i don't remember) you always can send each component as float
ScriptBitReader/writer has vector support and RplProp will replicate just about anything, whether you should do it on just about anything is a different story. Replicating strings versus raw floats should end up being worse.
The define has to come from somewhere unfortunately.
Feedback tracker time to auto add modname as a define to all mods
Were expected to do that from the project settings
Then why not auto add it
Because not everyone wants a define for their mod.
Where do you even set a define in project settings 🤨
ScriptProjectManagerSettings
I see.
Custom script modules too.
Restarted our server and now getting this spammed and people can't join, getting kicked for system_failure
What would be trying to call RPC on the NetworkedStatsComponent? I only see like two lines of code for SetStatValueOfAuthority and the component exists on the player controller only
dear modders i have a question about the Damage System
i want to add Damage effect to a player i use the SCR_CharacterDamageManagerComponent and the SCR_DotDamageEffect for example
I apply an SCR_DotDamageEffect to the player via SCR_CharacterDamageManagerComponent.AddDamageEffect().
I’ve set the DamageType to EDamageType.FIRE
The player’s health decreases correctly over time (health regeneration stops, and HP drops).
There is zero visual or audio feedback. No red vignette, no camera shake, and no pain sounds. The player just "silently" dies while watching their health bar drop.
Question: How do I properly trigger the SCR_CharacterDamageEffectEvaluator or the HUD feedback for a persistent SCR_DotDamageEffect so the player actually sees and hears that they are taking zone damage? Is there a specific way to "wake up" the client-side feedback for damage that doesn't have a physical hit/instigator?
Any help or snippets would be greatly appreciated!
Off the top of my head without having dove into the damage system I'll just throw out look for things related to ScreenEffects, there's a specific manager named along those lines tied to each player to handle those things and you may have to trigger it separately. Just a place to start looking till maybe someone who knows whats up chimes in 
SCRIPT (E): Virtual Machine Exception Reason: Index out of bounds. Class: 'TimeAndWeatherManagerEntity' Entity id:52464 Function: 'Get' Stack trace: scripts/GameCode/World/TimeAndWeatherManagerEntity.c:448 Function GetDayTimeUIInfo scripts/GameCode/World/TimeAndWeatherManagerEntity.c:429 Function GetCurrentDayTimeUIInfoAndPhase scripts/Game/UI/HUD/AvailableActions/Conditions/Game/SCR_DaytimeCondition.c:24 Function IsAvailable scripts/Game/UI/HUD/AvailableActions/SCR_AvailableActionsDisplay.c:215 Function IsAvailable scripts/Game/UI/HUD/AvailableActions/SCR_AvailableActionsDisplay.c:369 Function GetAvailableActions scripts/Game/UI/HUD/AvailableActions/SCR_AvailableActionsDisplay.c:459 Function DisplayWidgetsUpdate scripts/Game/UI/HUD/AvailableActions/SCR_AvailableActionsDisplay.c:449 Function DisplayUpdate scripts/Game/UI/HUD/SCR_InfoDisplayExtended.c:551 Function UpdateValues WORLD : UpdateEntities WORLD : PostFrame SCRIPT (E): Virtual Machine Exception Reason: Index out of bounds. Class: 'TimeAndWeatherManagerEntity' Entity id:52464 Function: 'Get' Stack trace: scripts/GameCode/World/TimeAndWeatherManagerEntity.c:448 Function GetDayTimeUIInfo scripts/GameCode/World/TimeAndWeatherManagerEntity.c:429 Function GetCurrentDayTimeUIInfoAndPhase scripts/Game/UI/HUD/AvailableActions/Conditions/Game/SCR_DaytimeCondition.c:24 Function IsAvailable scripts/Game/UI/HUD/AvailableActions/SCR_AvailableActionsDisplay.c:215 Function IsAvailable scripts/Game/UI/HUD/AvailableActions/SCR_AvailableActionsDisplay.c:369 Function GetAvailableActions
scripts/Game/UI/HUD/AvailableActions/SCR_AvailableActionsDisplay.c:459 Function DisplayWidgetsUpdate scripts/Game/UI/HUD/AvailableActions/SCR_AvailableActionsDisplay.c:449 Function DisplayUpdate scripts/Game/UI/HUD/SCR_InfoDisplayExtended.c:551 Function UpdateValues
can someone please help me i am gtting this error
but i didnt touch anything like this and when i woke up and opened my project i get this error i can not figure out a fix
Not too sure whats happening here but little tip to make it easily readable, slap 3 ` before and after your message
test message
Did anything change with missile move launch or am I doing it wrong? They just disappear now 
MissileMoveComponent missileMove = MissileMoveComponent.Cast(FindComponent(MissileMoveComponent));
missileMove.Launch(vector.Zero, vector.Zero, 0, this, null, null, null, null);
Has anyone ever had a issue in enfusion where when you click play to test all your stuff isnt loading in but then when you go back to 3ditor mode everything is still there M
Why is this freezing my game??? Somthing to do with the transform. If i remove the transform it works and just do position it works
Broken:
void SpawnPrefab(ResourceName prefab, vector transform[4])
{
EntitySpawnParams spawnParams = new EntitySpawnParams();
spawnParams.Transform = transform;
GetGame().SpawnEntityPrefab(Resource.Load(prefab), null, spawnParams);
}
Works:
void SpawnPrefab(ResourceName prefab, vector pos)
{
EntitySpawnParams spawnParams = new EntitySpawnParams();
spawnParams.Transform[3] = pos;
GetGame().SpawnEntityPrefab(Resource.Load(prefab), null, spawnParams);
}
Probably a script VM issue when you try to assign the whole static array. please make a feedback ticket about it
You are probably giving it a malformed transform
axis vectors (The first 3 vectors) having nan on them, or inf, or -inf, or length 0
etc
this was it
I am looking for a pointer in the right direction... I am overriding SCR_MuzzleEffectComponent.OnFired ( i've also tried hooking the same call up using GetOnWeaponFired().Insert(OnFired). When i run this in a local GM session, it always works fine. If I deploy and run on a server it never seems to get invoked even when i log just before i hook up GetOnWeaponFired().Insert(OnFired). Is this expected behaviour?
Are you checking it to be called on Proxy (Client) or Authority (Server in DS env)?
Given that it is for visual effects, it might only be called on Proxies
This is what I was thinking. I only want to handle this on the server side preferably so I've been using if(!Replication.IsServer()) return; . If it only runs client side then I'll need an alternative. I do use an alternative mechanism to capture the vast majority of shots on the server, (eventHandlerManager.RegisterScriptHandler("OnProjectileShot", this, OnPlayerWeaponFired);, however that doesn't seem to work for WCS MH6 Pilot operated mini-guns. SCR_MuzzleEffectComponent.OnFired does get invoked on GM Mode, but sadly it seems to not work when deployed to a server.
I think this must be true. So I'm just trying to collect shot data ( who shot what). If I can only get it on the client, then I think I will set up a collector client side that will periodically send the data ( playerId, shotCount, projectileType) to the server. This minimises data movement ( one call per interval in the 100's of millis instead of a call per shot). Is this a reasonable approach and if so is it possible to do the client side work ONLY for the player who's operating the vehicle? ( i don't want this to be happening for every single client!!). I would be selective about which muzzles apply ( it would only be for MH6's currently of which there should only be a few at any given time).
Does the gadget component/manager not consider dropping the gadget from a player's equipment slot to the ground as a mode change?
Seems to say it is when going from hand to ground or storage to ground, but not a player equipment slot.
Or I could be doing something wrong, it is almost 4am 

What script do I mod to add new attachment type?
Like for a gun?
Looks like you found it, you just inherit off a base type
Nice ty. Is there any general naming convention you know of, like should I put my tag on the modded script name, or just modded in the name or?
This will be a public mod so want it to play nicely
If the attachment is unique to you it doesn't really matter but keeping up with how they name stuff is always nice.. What I can say is if the attachment is like a flashlight or something like that you're better off just setting it to AttachmentRIS1913 as all modded guns are using that or its child AttachmentRIS1913Short for rail-based weapon attachments and AttachmentOpticsRIS1913 + its children for rail-mounted optics.
Hmm ok interesting ty. In this case its a bipod
Then unique it is.
Does anybody have any resources or experience obfuscating on this platform?
Iirc major obfuscation of code is against ToS. Even with obfuscation, anyone that can read code would be able to piece it together so no point in wasting time trying to do that imo
You just said a forbidden word here 

Cool appreciate it
I will lay my head in the guillotine
Is there or can someone do a "simple" script mod to make you drop the disposable rocket launchers, after you fire them?
It would be awesome
Tab + x
AFAIK it doesnt matter if its major vs minor obfuscation, it's simply not allowed. in 99% of cases obfuscation is only used to hide the fact that you've stolen scripts.
Any chance of ever getting external IDE support?
Hi, could someone help me with this?
I registered my action, and yet my function isn't triggered when I press F9...
class RJL_PlayerControllerClass : SCR_PlayerControllerClass
{
}
class RJL_PlayerController : SCR_PlayerController
{
override void OnControlledEntityChanged(IEntity from, IEntity to)
{
super.OnControlledEntityChanged(from, to);
if (!to)
return;
Print("RJL_PlayerController ativo");
InputManager input = GetGame().GetInputManager();
if (!input)
return;
input.AddActionListener("PlayerMenu", EActionTrigger.DOWN, OpenPlayerMenu);
Print("Listener de input registrado");
}
void OpenPlayerMenu()
{
Print("Abrindo PlayerMenu...");
MenuManager mm = GetGame().GetMenuManager();
if (!mm)
return;
if (mm.IsAnyDialogOpen())
return;
mm.OpenDialog(ChimeraMenuPreset.RJL_PlayerMenu);
}
}
I receive the logs:
SCRIPT : RJL_PlayerController ativo
SCRIPT : Listener de input registrado
But when I press F9 I don't get the Print("Abrindo PlayerMenu...") output.
I tested changing the action name to one that's already vanilla in the game, and it works, but it doesn't work with the ones I create.
@tired geyser you created a new class
Instead of modding, so everything is still using original SCR player controller, not yours.
Well not entirely true I guess, your issue is the action context, you created the keybind, not the action itself.
I’m also a bit sleep deprived so I might not be looking at it right but what context does the action exist under? The game uses context to determine what actions to enable/listen for, so if you are in a vehicle for example, you get the specific actions for that.
Which fix would be going under contexts in the input config and adding one for your menu, or putting the action under the player context (some context that would ideally always be active). You can use debug > input to see active contexts on screen.
Hey.
Can some one point me in the right direction on how to script a weatherstate to be present at night.
Essentially I want the night to be foggy, I have the created the weatherstate already just struggling with calling the weatherstate to activate at night.
Could someone point me in the direction of the location for the script that identifies these? I'm looking to add saline to this list.
Thank you for this. I'm working on a M5 medical bag that deploys a Medkit with a healing zone and an arsenal for resupplying medical items. Just needed to add in an action to grab saline from the deployed Medkit. I'm hoping this works.
Can someone suggest a way to reliably detect if a vehicle is a Helicopter. The EVehicleType surprisingly does not have an entry for helicopters.
Check if it has the component VehicleHelicopterSimulation
that's perfect. Not sure why I didn't think of that! Thanks.
Alternatively, you could use editable entity lables on the editable vehicle component.
You can override SCR_TimeAndWeatherHandlerComponent.HandleDaytimeAcceleration to apply your weather state between specific hours, you can call manager.GetTimeOfTheDay() to get the hour of day if you want to affect a broader time range than what vanilla considers to be "night", for example I do a similar thing to override night time acceleration to 128x between 8pm->5am
if (manager.GetTimeOfTheDay() < 5 || manager.GetTimeOfTheDay() > 20)
{
if (m_bDaytimeAcceleration || setup)
{
m_bDaytimeAcceleration = false;
manager.SetDayDuration(DAY_DURATION / overrideNightTimeAccel);
}
}
might be a more appropriate method to override in your case but that one already has needed vars and gets called on a regular basis so should work for a quick and dirty
Thanks for the Info. 🍻
Really appreciate it!
Update.
This worked great ! I had some playing around to do but I got it working as intended.
Thanks @midnight talon
Any way to get a prefabs bounding size before spawning the actual prefab? Somthing with loading the prefab and converting to base container?
I don't have it memorized how to get the bounding box from the base container, but you can get the BC via Resource.Load(p).GetResource().ToBaseContainer()
I would like to attach a component to the player controlled entity, but it is proving difficult. I have tried doing so via prefabs. If i 'inherit' a prefab, it doesn't get used ( which kind of makes sense as the main code isn't going to be using my prefab but I'm not entirely surely how to intercept and replace with my inherited version). I'd rather not override / duplicate the default prefab it as I don't want to cause issues with other mods / standard BI stuff. Is there a good reference for using inherited prefabs? Or is there a better way to attach my component at runtime? Thanks.
You would usually override in this case, at least if if the component should exist in most contexts. Unintended side effects can still be avoided by considering other contexts in your code, e. g. by checking circumstances before doing things.
If what you are doing is very gamemode specific, you could also go with inheriting and then having a reference to your player controller only where you need it - but in this case, make sure to inherit from the one that has everything (IIRC the MP one?) and not something in the middle of the chain.
Thanks. The component I want to attach is very specific to my own mod, (nothing else should be looking for it), and otherwise I won't be touching anything else on the prefab. The prefabs that i was looking at were the Campaign_US/USSR_Base.et which seem to be what is used as the base for all players. Does that seem reasonable and safe?
USSR_Base? I thought you meant the player controller. What are you trying to do, exactly?
I'll try to explain. I am collecting in game stats. I have one rather specific case where I can't seem to get what I need server side. So I've created a component who's job is to accept client side stats, pre-aggregate them, and then replicate them back to the server (wont be doing this too often). So I need to attach it to the player owned entity on the client ( as these stats are player oriented). So far the only way I've seen to attach is via the prefab ( add component in the workshop entity editor). As I want this to work for any player, Im overriding the base prefabs which are Campaign_US_Base.et (and USSR version). Then I get the component via AUT_StatsUploadComponent.Cast(localChar.FindComponent(AUT_StatsUploadComponent)); where localChar is the locally controlled entity as per:
static IEntity GetLocalControlledEntity()
{
SCR_PlayerController spc = GetLocalSCRPlayerController();
if (!spc) return null;
return spc.GetControlledEntity();
}
``` This works when I *override * the prefabs. I'd prefer not to have to do that though.
Could i use this on my server? I'd like to be able to whitelist some of the factions
This works when I override the prefabs. I'd prefer not to have to do that though
if you need this to work on everyone, then you should override
also you can place your component on BaseBody prefab (or something similar) and MPPlayerController. on controller side you track changes of controlled entity and execute functionality of your component on character side
If you really need to do this a component on the PC might be enough, you don't necessarily need another one on the controlled entity.
What stats are you collecting specifically? There may be a better way.
the server already collects a bunch of stats which you might be ok with using
I've collected quite a few stats and other than this specific case it has all been possible server side using the PC and a few other built in components. This 'specific case ' relates to pilot operated MGs on helis such as the WCS MH6. The normal way to capture shots fired using event handlers just never seemed to work, and according to the WCS guys there is a general lack of support for pilot operated MGs. I've tried quite a few other approaches but this is the only way that has worked on dedicated servers.
Yes it does. We've found it to be somewhat unreliable - often missing players and usually missing data. This started as a bit of a learning exercise but morphed into a full blow, reliable stats collector supporting real time and aggregated statistics that goes beyond what the built in stats do.
hi. what has happened here? TheMethod?

Fixeded! ✅ thanks for the report. please provide further ones in #community_wiki so we can fix these (I do not monitor this current #enfusion_scripting channel lots)
Any reason why my QueryEntitiesBySphere wouldn't find SCR_AIGroup entity? on same frame it was spawned? Regular entities work fine
Using EQueryEntitiesFlags.ALL
Was Update() called on the group entity? If not its position may not have yet been flushed to world query structure
Thanks for the response!
I tried that and still not getting the SCR_AIGroup entity or any ChimeraCharacters. It's like the group disappears but also the characters aren't spawned in until later. Right now i am just spawning a random prefab that is found in the query and deleting it after. Any other ideas?
I am not sure SCR_AIGroup has some scene representation that could be used to query
What are you actually trying to accomplish? What do you want to do, once you got the group?
Right now i'm randomly finding a position that fits a criteria. One of those criteria is no physics bodies. I am spawning several different prefabs vehicles and characters/groups in those positions. Some times the vehicles/groups will spawn on top of anther group because the groups/characters are not being found in the search query looking for an empty spot. Yes i could spawn vehicles first but still have an issue with other groups spawning ontop of each other. I rather not have to have some custom way of keeping track of each group spawned
Helper prefab might just be way for now if there isn't a simple fix
I agree with MarioE that they probably can't be queried. You could iterate over all groups and do a distance check. Two possible getters would be AIWorld::GetAIAgents and SCR_EditableEntityCore::GetAllEntities. The latter will have them as editable group components.
I made a small script to open a layout when an object is clicked. It works, except that when I'm in the layout window, my mouse cursor isn't there (it's always over the player). I don't know how to fix this. In Behavior, the "ignore cursor" option is unchecked. please help
inflation... we used to get themethod... but THEY TOOK IT
Hello, is there a way to add an object to a players inventory without playing a animation? Using the method InsertItem from SCR_InventoryStorageManagerComponent plays an animation, TrySpawnPrefabToStorage of the InventoryStorageManagerComponent does not play an animation but at the same time wont return a reference of the created object.
I think there were some parameters you can set about this on the methods. Don't have the code at hand for another week
is it possible to use c# on enforce script? or .NET lib ?
Thank you, but they dont have a parameter for that 🙁
🙁 is the RESTAPI working?
Inserting item on server side should work.
Thank you, i will try that
Hello, Is there any way to render these lines between two entities like between two tasks or group and task?
In workbench for plugins yes. Client and server no
It's scripted, you can see how it's done
At the end it is the same behavior, the pick up animation plays. I guess i have to leave it at that 😄
Hmm strange. I think maybe you can know which entity is was from the callback you can pass to spawn prefab?
i can't find it. Can you give me a rough idea of where to start to dig? I tried AIWaypoint_Move and searched for something related to the command via the toolbar, but I still can't find it. (Or maybe more words to search for)
So how does one change the peer tool identity since its connecting my peer with id 0? 
NETWORK : Player connected: connectionID=0
NETWORK : ### Connecting player: connectionID=0, Name=
WORLD : UpdateEntities
RPL : rpl::Pip::ProcessNetToGame
DEFAULT (W): Another connected player with the same identity found. Dropping this connection request and disconnecting the client
maybe different profile in peertool could help?
Yeah I changed the profile and it worked again, weird
whats the best practice to support multiple maps for the same mission?
my current failing approach (modeled after taking a look into us combat ops):
- create separate
scr_missionheader.confin/Missions - add separate worlds in
Worlds/MP(sub scenes of the vanilla worlds) - copy paste units / game mode etc from one world to another (apart from AI pathes which need to be tailored)
what happens: mostly problems with coordinate/nav system and map, it seems i still have some leftovers from everon inside my cain/kolgujev mission. dont know where.
seems i forgot to change topo/satmap in scr_mapentity 😮💨
You can use symlinks, if you have same files in multiple missions
i do, basically its all the same apart from spawn positions. so in theory i could manage that map compat in script via some mapping i guess.
I have a ghost keybind in my mod from an earlier version, that seems to affect all users of the mod prior to recent updates. You can unbind the action completely and the "old" default bind is still active - and extremely annoying.
Did SCR_InventoryStorageManagerComponent.GetAllRootItems change? GetAllRootItems is now not giving items in clothing when pre 1.6 it did?
Seems like SCR_InventoryStorageManagerComponent.GetStorages(outStorages, EStoragePurpose.PURPOSE_DEPOSIT); isn't working right
Root items are only root items of the storage. Items inside clothing are not roots.
The methods are working correctly, read carefully what they do.
If you want all items there is a other method for that.
must of changed in 1.6. As before it would get all items but not attachments on guns, ect. EStoragePurpose.PURPOSE_DEPOSIT will return all clothing items and stuff so something seems wrong still
In the method comment it even says:
//~ Get deposits like backpacks and jackets as well as any held weapons
GetStorages(storages, EStoragePurpose.PURPOSE_DEPOSIT);
//~ If backpack or jacked or any other cloth storage only get what is inside the storage
if (ClothNodeStorageComponent.Cast(storage))
Will use GetItems anyways, thanks!
Except web browser
whats wrong with my setup (two ent files, two mission header conf) - i guess something is duplicated here 
Hi everyone, is it possible to make our character hold a gun on a helicopter like in Arma 3?
If they aren’t in a compartment
Or if the compartment is a turret then you can force them to hold a turret
Hey guys, is it possible to overide script. I want to get 1 mod to ovveride picture that it loads.
Do you have your source files on the same folder as downloaded/packed addons?
Do you guys know of a way to pre-populate a parent classes attributes based off a child class that shows up in the UI?
This script does work to pre-populate the variables but it doesn't actually show the pre-populated information in the object properties UI.
Thank you, in the end it all worked out. I switched to TrySpawnPrefabToStorage, everything runs server side. The script is for switching between different versions of hand grenades. The german DM51 has a removable fragmentation sleve, via an action it can be switched in Reforger. Cant send a gif of it in action 🙁
this is happening on dedicated and i dont have source files there actually. i see different pak files however, data001-004 and worlds001 and worlds002 additionally to the ones without number sequels
Problem: Creating role-based bandage timing in Arma Reforger mod.
Goal:
- Medic self-heal: 25s
- Medic heals other: 5s
- Non-medic: non-vanilla timings (35s self, 15s other)
Current Status:
- ✅ Self-heal works perfectly (role detected, correct timings)
- ❌ Other-heal broken (always uses vanilla 15s, role NOT detected)
Issue: In SCR_ConsumableBandage::GetAnimationParameters(IEntity item, IEntity target, ...), I cannot get the actual user (the character applying the bandage) when healing someone else.
What I tried:
// Method 1: item.GetParent() → returns null or wrong entity
// Method 2: BaseInventoryStorageComponent.GetOwner() → doesn't work
// Method 3: InventoryItemComponent → GetParentSlot() → doesn't work
// Method 4: PlayerController.GetControlledEntity() → works for self-heal only
Question: How do I get the character entity who is using the item (not the target) inside GetAnimationParameters() for other-heal scenarios?
Code: Inheriting from SCR_ConsumableBandage, overriding GetAnimationParameters().
Notice : I've never script in my life, I did all with GPT & Claude !
What can I use to replace one prefab with another while it is being inspected? I mean, I have an object that is being inspected and using a UserAction I want to replace it with another one. I have managed to replace it, but I have to re-equip it in my hand and I would like the replacement to be in the hand itself
If we are talking about something like a grenade, you can use the function TryEquipRightHandItem of your character controller 😉
This will move it into the right hand. If you delete the inspected item from the hand, the player will be still in the inspecting state (if you switch to a rifle he will inspect it). You can stop inspecting before deleting the item with characterController.SetInspect(null);
That was my problem, thank you!
Hi! Does anyone know how to parse gameProperties from config.json?
My goal is to write my own addon config here, but I haven't found a solution for extracting gameProperties data yet.
I know that JSON parsing could be used, but first I'm looking for some built-in logic.
You won't be able to. The server config structure is fixed and can not be extended via mods that easily. If you want some custom add-on config, make a new file in profiles folder that owners can edit
Hi! Oh, I see, but can you set it up in addons so that there is a config file in the profiles folder, or do you always have to add it manually?
So I guess I can generate the file at the code level and handle it simply by reading the file, and as you say, there is no built-in logic for this.
I use SCR_JsonSaveContext & SCR_JsonLoadContext
Yes this is how mods with server config work, check if config file exists and if not create one
Hi! Okey, thanks for information.
Are there any potential engine ramifications to spawning an entity and allowing a player controller to take over it compared to using the default free spawn request -> possess spawn system?
Fairly complicated question, but I'm trying to hunt down replication stalls and wonder if how the player entities being spawned can cause it
This is for non-conflict
Enfusion systems seem overly complicated on purpose
replication stalls are are complex topic. respawn logic is not part of it as far as we know. no it does not make a difference if if you go through the vanilla respawn system or take a shortcut and give control directlyy
Ok, thanks for the quick response. It seems like 75+ spectator entities, one per player, doesn't cause any excess rpl stress, but as soon as they respawn and are in player entities (moving, shooting, etc...), the server fps doesn't dip, but individual clients start to rpl stall
I will do more digging
Good thing those rpl error prints are so descriptive
We need that system exposed, so we can actually see the errors.
If the reason it’s not is because of hackers, it’s a moot point, if they are motivated enough they will expose it themselves anyways
Having no way to track rpl errors is stupid
If you guys are purposely killing modding can you at least let us know
A lot of what we don't see afaik is due to security reasons. If they expose how replication works then it allows malicious actors to do more. Id love to see more info for these issues, best I can do is count what moght be getting replicated as i write code for stuff.
Slapping a
if(!Replication.IsServer())
Return;
Does wonders in the beginning of functions, where needed ofc, else all entities in the bubble virtually do the same function
See this would be all well and good if they can't already easily crash servers and inject shit...
Which lately it's like some got cheats for christmas ;-;
More cheaters is a small price To pay for actual rpl tracking
Every game has cheaters, if they are motivated enough it doesn’t matter what security there is
The pros outweigh the cons
Only solution to diagnosing replication rn is getting 128 pc players to run the diag version of arma afaik 
Also since we can’t track it we could run into things where the base game has an error but we think it’s our mod because there’s no way to track it
Bi is not infallible
All I know is moving from a custom map back to everon as nearly ensured thay when you first login, you get a replication stalled kick, but after you're good for a while
And that’s acceptable to them for some reason
I used ue5 for 2 days, and bi could def take a lesson or six from epic
I’m betting it would take them less time to make a4 with ue5 than it would for them to finish it in Enfusion, if they started right now
Those errors with the stalls, we cant also track like how you want
Rpl stall does not mean that rpl system froze
It means that the rpl system got so corrupted on its state, that it decided to stall and cause a crash
So, it is not descriptive because it does not know what happened
It just knows that its got itself into the worst possible scenario to a point of no return where it cant recover itself
UE5 is game dev
Modding is not
Different topics
We do have more control on engine from cpp side
Same as you wouls in UE5
Dont go into modding expecting it to be the same as game dev, you will be disapointed.
Everything else, will usually tell you exactly what caused an rpl error in the logs
UE5 is useless for Arma
It was investigated before, its good for small world or mid level worlds with not so much openess and going on. But its extremely bad and low performant for what we want it to be
There is an interview with enfusion lead programmer where this was asked
Plus you would actually have lower interfaces and modding in general if we went that route
You have it a lot better right now because of enfusion
And the rpls issues you face as modders, its due to us allowing you to do more than you should. To the point were you require to master it, and be careful like a developer
UE also doesn't scale very well with player capacity until you gut it and redo parts 
Arma 5 should be made in Ren'Py
Anybody know what script to modify to add a new LoadoutAreaType ?
It seems to be related to join/leave events though (in terms of the massive 3-10 seconds freezes that have been present since before 1.3)
I looked through the logic myself and couldn't find a good reason for it, but it does correlate. Whether there is causation is another question
It would be sick though to see a solution to it at some point, or specific examples from the mods that are causing it (if it's indeed only a modded issue)
It could be related to notification systems or serialization/deserialization of players? I noticed it was ESPECIALLY bad when a player reconnected after a disconnect/crash. The gamemode spawn system seems to branch off into 100 layers of component and system calls as well, but a lot of those are on server - so the thing that affects client performance, in my head, is the loading/deloading of new player state.
Ok but is enfusion better? I make a simple mod that creates a projectile in the air and the game crashes
Exactly. I hope the engine devs figure out how to make the engine not crash when I step on an eggshell.
Hi! Is there a way to get original terrain layer's heights when roads changed it? When road generator changes the heightmap i can get only the visual heights, Smoothing tool uses the original heightmap and try build back what road generator changed (nothing happens on roads). So Smoothing tool not working near roads what is uses "Adjust Heightmap" checkbox. Also possible change the adjusted road heights by tool or scripts in any way?
I need Smoothing this without slow tricks, because its too many time in 10x10km2 map
anyone been using ReforgerDumper plugin? working with .conf files but can't access to .c files. any idea why?
What script to mod the vest slot on inventory screen?
The game's scripts all on github now, so you can grab from there instead: https://github.com/BohemiaInteractive/Arma-Reforger-Script-Diff
That said, I didn't have any problem using the ReforgerDumper
when was the last time it was investigated? ue5 wasnt out when reforger came out
I doubt UE5 will ever be used when the devs have already built an entire engine around ARMA, so I’m not sure why the topic gets brought up.
You can talk about the stability of Enfusion and how it needs work (which is the point of Reforger tbf, to test the engine before A4), but I find the UE5 conversation and how devs should just swap to it absolutely pointless
Also some great videos about how unoptimized UE5 is out of the box, it's not a magic engine
yeah but when i get an error it tells me what it is.
enfusion seems to be a more 'magic' engine than ue5, because we are supposed to magically know how things work without documentation
Oh yeah sure, let's just switch the game's engine, NBD... 🧌 Update coming next week! 🙄
Not that I dont think you have a point about documentation... But that is not the solution.
even the most experienced people on this discord are having trouble
Can anyone tell me where in the vanilla AR code that Spall and Penetrator projectiles are spawned for a M72A3 LAW hit ( or for any rocket launcher). I can't seem to find where that happens, but I'm assuming it must a kind of proximity trigger when the main shell hits (or is close enough to spawn them).
They're both referenced as submunition effects of the BaseTriggerComponent for the Warhead_HEAT_M72A3, which is what the M72A3 rockets use.
imo, enfusion is years behind other engines, yeah i get that its purpose-built for arma. but in many areas it seems like a step backwards even compared to arma 3, maybe its just the build we are getting to test reforger\a4, but to sum it up, i think the devs are holding too many of the cards too close to their chest for any modders to make decent progress.
for modders to make the arma series what it is today, and the lack of documentation and the hidden engine features not exposed to modders seems like an artificial restraint from progress.
Last I checked other engines pretty much only have map tools
try ue5
And some limited script ability
Well considering you don't even get to see the engine with UEFN, which is the flagship example of implementing such mod tools in UE5, I highly doubt it
and still, if i get an error, it tells me what it is.
developing with enfusion is like trying to get your lady to tell you what her issue is.
Is there a single large scale combined arms game made in UE5
squad
UE4
no its ue5 now
and Bellum (not released)
so if the leverage of enfusion is that theres no competitors... well that is changing.
theres also many large scale combined arms games made in ue3 and 4
BI used ue4 for vigor
At this stage in the game, how is an engine switch logical or practical at all?
scalability
look at chris roberts and star citizen, it was the first game ever to do seamless server meshing, you can walk from one server to another with no noticable transition
and that was a few years ago
innovation is what keeps games relevant, then u have examples like COD. same engine for 15 years with a new coat of paint every iteration, losing popularity fast for lack of innovation.
yeah its great if you are a fan of cod and dont care about new stuff, you play the game because you like cod.
BI building its own engine specifically for its own games is literally innovation, so what's the point you're aiming at?
seeing arma turn into something like that is a morale killer.
just a new coat of paint, no new features, hard to work with.
i was here for a while because i love the arma series. but what is keeping people here now?
what im trying to say is, if you want to attract new modders that will bring new stuff to the game, the game has to advance
the ones that have been here since arma 2-3\dayz, are fading fast and it sucks
ok what innovations does reforger have over arma 3?
other than the great graphics
not trying to shoot shots here, im just being realistic. please dont take that question as an insult
Engine != Game, I still like playing(well maybe not really after working on multiple CDLCs) and modding A3, working at something for A3 at the very moment.
As a modder you have way more powerful tools at your hands almost the same tools the devs of the game have 
so modding tools are better, ok thats one
what can i do in enfusion that i cant do in rv
Ahh yes the game still not released properly, great example 
neither is reforger?
completely custom AI behaviour trees, make your own performant scirpted simulation, eg. drone mods, gl. scripting that in SQF, can't be arsed to think about more examples, I have work to do ;d
The difference is timelines & funding. It's mental that they've still not got a clear end in mind for SC
i was referencing it for that innovation, yeah they have quite a interesting history of development
@gloomy lynx what games or mods have you worked on?
Innovation I think is a strong word for it in the grand scheme of what they actually achieved
ive been making my rp mod for 3 years now in enfusion
4*
and recently we started developing it into a standalone with ue5
i made a few car mods here, some cool features for rp, a whole map, etc.
i think they are still the only game to have done it
seamless server meshing = one giant world with thousands of players
eve-online kind of does it, but there are transitions
Fairly sure life is feudal did the same thing without transitions
ok i didnt know that, not really in the genres i follow
you also habe to keep in mind the use cases and intentions of these systems are so vastly different. Some games can afford to throw resoruces at that sort of stuff because it's not actively calculating 128 players + however many AI at every single moment
Don't get me wrong enfusion is nowhere near perfect but it's comparing apples to oranges
Thanks! What I can't work out is then how to catch/intercept the spawning of the submutions inside a script ( assuming that is possible). I've looked in the BaseTrigger and related components but it's not clear. The only time i see the Spall / Penetrators is when they cause damage ( eg in the VehicleDamageManagerComponent). Can you point me to the location in the code ( script) where the munitions are spawned? ( assuming this is actually possible in script).
Presumably after GetProjectileEffects is called, but it's a proto external method. What exactly are you trying to do?
Hi! Yes, I used it, but I had to rewrite the file handling logic because I couldn't even open the modal window because I kept getting an error. I tried 3 year old plugin.
Yeah that's where I was looking ( after the GetProjectileEffects call). I'm tracking projectiles between shooter and the victim. This is mostly straightforward, however the victim (vehicle) in this case gets hit with the Spall / Penetrator and not the initial projectile, so was just interested to see where these secondary projectiles get spawned. As you've eluded, Its an external method, so it may well just be non-scriptable. Thanks for you help anyway.
so with this: cs array<ref CONVICT_ProbabilityItem> crateAwards = m_CrateAwards.GetRandomizedItemData(); if (crateAwards && !crateAwards.IsEmpty()) SCR_ScenarioFrameworkSystem.GetCallQueuePausable().CallLater(SpawnAwards, m_iDelayInSeconds * 1000, false, crateAwards); crateAwards passes the if statement and returns that it's not empty, but it returns null in the CallLater..? Any clue why? Am I missing something simple?
I don’t think CallLater() can preserve an array<ref T> parameter, so you’ll have to store the array in a member variable.
Every game that has tried to do same scale or similar to us in all unreal versions has failed due to tech
It was brought up again for A4. And the answer was sti the same
Also you have no proper modding at all on UE5
And if things crash, unless you report it wont be found out. UE5 has many more crash logs because people constantly report it, so they add the logs for pwople to know if they misconfigured or misused something.
And UE5 is not really scalable how you think
Its unreal tournaments root still show up very strongly. Which is an issue.
There is a reason why no proper open world game actually uses UE, Unity, etc. See it, all use their own engines.
Also, most of the crashes you see, its not the engine
But the game impl itself. So blaming the engine is misguided
Its clear you are confusing modding with game dev
As game dev with full control on engine, on cpp side you obviously have more and easier ways to do stuff.
Its not comparable. You have access to source code
As modder, we cant give you that full control. Also you would definitely cause more problems for the game in terms of stability, performance and scale if you had this access if you do not really know what you are doing.
If you want game dev, go for making a game. Not modding.
Otherwise you will never find that control you seek so much
Also dont compare an empty or small ue project vs perf on AR with all the features of the game. Obviously the first will "behave" better as there is nothing going on in comparison
Enf on itself is faster for our purposes, we even got the same comment from our devs working in Vigor which used UE

There is uncountable improvements on for A4, and new Enf. Excited to people to experience it when it releases
The whole game has modding considered since its epoch. So it should be better in usability.
hmmm, that might be the case, but even swapping it to a non-array for CallLater(), still comes up null 
AR was indeed the "test bed" for devs to develop a game with enf and realize its capabilities, failures and see how to improve
Note, AR is a full game. Its not a demo
So, dont expect A4 to be a clone of AR
I would suggest, to report in feedback tracker things you want to have access to, or issues
They do get solved, and some of that feedback also goes to A4 even if not possible to do for AR
1 server pdb please 
Would it be safe to assume that for A4, more engine-level API would be exposed?

Yeah
We are planning/seeing on a way on how to make engine/cpp classes moddable too
As in moddes class xxx
When that is done, if we do not cancel it. It will probably reach AR as well
Sounds slick, I'll bite. Very excited to see what will come. I'll continue to add feedback in the tracker (some features I really pray for 🙏 )
So, based on this. If reported by modders we see what falls flat, what is annoying, important, etc
But key thing is to report it
Hence why feedback tracker is super important, or at least reporting to anyone from mod dept to consider
The issue isn’t that its an array, its that lifetime of the variable expires before CallLater() is executed. CallLater() only remembers to call a function, thats it. So you need to persist that variables data beyond the function’s scope.
Store the array<ref T> outside of your function
Ex.
protected array<ref CONVICT_ProbabilityItem> m_PendingAwards;
And then assign its value before you CallLater(), within your If statement. Then you can read it in the method youre delaying ( SpawnAwards() )
Get what Im saying?
I do agree but I do have to say it feels the sentiment in the reforger modding scene at the moment is that when we do report things they don’t get fixed or communicated that it’s being worked on.
I get it’s a company and there’s lots of moving parts and people, but there’s been various issues such as the timeout uploading mods and exploits to crash servers going on for a while.
I’ve been in love with arma since a2 and I’ll continue to love it so please don’t thing I’m being abrasive the feedback on the need for communication comes from a place of love not hate.
Thing is that those epxloits, ws issues, etc have higher prio
So that takes most resources
Meaning smaller things will feel like not done
Difference now though is that we now have dedicated programmers for attending modders needs now exclusively for AR
So that will start to be noticed this year
The purpose of these programmers is to see what troubles modders, what crashes to them, what they are missing and to provide it swiftly
Also help them debug stuff
I gotcha, but I'm already doing what you're mentioning. m_CrateAwards is defined outside the function as an attribute, so no issue there.
But also, I just realized I'm dumb and script debugger was pointing at the wrong line when the actual issue was 3 lines down
I've got it fixed now lol. Thanks for the insight!
I got a big list of issues
me too but not related to modding 
Shoot them on ft modding pls
So that they do not get forgotten
Some are on there already and been sitting for awhile 
You should feel upset when time passes, we do not fix any of your issues or address it. And then we just provide an update with minimal changes overall.
But if you see update after upsatw, full of changes, fixes, removals, additions
Then your ticket just fell on lower prio
When they get done is not based on time, its on what is more pressing at the moment
There is also the issue where people believe assigned in ft means its being worked on
Assigned just means it was added to someone's backlog
So, you don't even try to mod AR? Better performance, better scripting language, ECS model, more control over network, physics and etc
ive been modding AR for about 4yrs
And why this needed for arma? Also, what about everything else?
Looks like you just do nothing
Why? Arma is space MMO?
Placing prefabs in world doesn't touch most of modding features
ive made cars, rp features, textures, maps, map utilities
95% of everything in my server is made by me and my team
we have no vanilla clothing
So, you still don't see improvements over A3?
graphic fidelity, vehicle physics are improved yeah
my lancia is as close to real life in performance as enfusion allows
Just wait until they drop the sex update, then we can start comparing Arma 3 and Reforger.
Can't do wheelspin though
I was honestly blown away by Roblox because when I made a mod in it, everything worked (in the sense that the whole thing didnt crash). In Reforger there's an 80% chance the whole engine will crash and revert my most recent changes it confirmed were saved every time I work on something.
Maybe in A4 engine devs learn try/catch and make it so my font choice in a rendertarget doesnt crash console players.
Is there anything I can do to lower bandwidth outgoings from my server? We're opening a life style server and the last 5 days it's shot up to a high amount which isn't sustainable
I'm assuming it might be down to how many rpc stuff we have and how often it's doing them?
Pop has jumped to consistent 70+ 24/7 too
Are you asking as server owner or mod developer?
As both, but mostly mod developer as its only the last 5 or so days we've had a dramatic increase which is after running our mod
mod developer
Then use less RplProps, decrease rate of Rpcs, use spatial replication (limit who receives data), client-side predictions, reduce number of entities with replication, use less data and compress it using encoders, and etc. It's depends on what you actually do to generate your traffic
Thanks, will give some of these a look. Are there any docs or resources regarding spatial replication setup and stuff like that?
Just enable it on RplComponent and game will automatically do this. Or do this manually by enabling/disabling streaming
me the same. and it's working with all files except ".c". anyway, Steve-E have given me link to github and now I got everything.
Yes, I dumped the files directly from the Arma Reforger core files using PakExtractor.
You can also get 8 threads to all try read/write a global variable at the same time in Roblox. Can definitely get the whole thing to crash, but at least its debuggable and you know why. i.e. the crashes are your fault.
Yeah, crash reporting logs or gracious crashes are not that ironed out that much on what you have
I'd like to think they do but some I know of were reported to BI months ago with seemingly no update and they're still used by cheaters to cause crashes etc
any chance one of you fine upstanding members of the community can give me a small script to run in the remote console to test my morph states on clothes
There are more than the ones you mentioned, plus other 🐛
Some of fixes are already on a exp mod. Before it reaches proper release which takes longer
You can install that mod on your server if you have one
We can only release things to stable in a bundle, we cant just update the game whenever unfortunately
Scripted fixes for exploits are on that mod for the time being
Can you guys say if the character identity system will be similar or easy to port to arma 4?
Or would i be better off making a custom one.
FT tickets are a minority of the amount of aggregated tasks in the end
Many reports were known even before reported by community
Work on others wont stop just because a newer one came in
A lot are fixed already, just not released yet
I get that, but when the exploits listed for months can crash a server almost whenever the cheater ones, it's hard to keep mod makers engaged and going with their project when that keeps happening to their community server.
I know some very talented scripters that cant be bothered making new stuff becaus eof it
As i said, there are even worse ones around being worked on
So those need to get sorted first.
At some point yours will get its turn if not already
I get it feels ignored
But its not
"At some point" feels like a backhander and honestly a shitty excuse for an exploit that has been reported a very long time ago by some veterans of this community. It doesn't just feel ignored it is ignored. An exploit to crash servers and kill communities at the click of a button should be at the very top of any list
I never said it is not being worked on
How can it take several months (if not iirc a year nearly) to fix something this critical
its madness
Read what i mentioned carefully again
id rather the servers take a hit than my personal data
I did, and I don't see it excusing the many months to fix this shit
You are making it seem as if nothing at all is being fixed
As i mentioned
There are other bad ones being fixed first
If yours is not released yet, its because it has not got into release pipeline yet
Or its being worked on
Or the fix is part of another bigger one
You are only thinking about your specific one
Saying you fixes some stuff is all well and good, but it's very offputitng seeing patches coming in 90% minor stuff for several months while a critical issue continues. This isn't just "my specific one" it's a base game system opened to crashing servers flagged as a serious isuse by multiple different server owners and BI game vets here.
All comes back to the modders feeling like theres no point if bad actors can kill your servers so easily very regularly
The exploits are addressed, people in specific have been tasked to fix them
All you have to do is wait
Critical issue usually means harder
And doing something fast and quick usually leads to another exploit
Which in retrospect is usually the causes of the exploits to begin with
So wait, no company wants exploits on games
Specially on an alive game
It makes zero sense
They are being worked on. Idk what else you want to hear?
You want to hear they are being worked on, but you do not want to hear it as well

That the critical ones aren't taking multiple months to be "worked on". I get things take time but not that much time 
You are not a dev for the game
You do not know exactly what those entail
If they were indeed easy fix, they would have been done already
Clearly this is gonna be one of those agree to disagree days, peace out
We made full game, engine, etc. If it was sortable like that. It would have been out already
All this hooplah, all I know is when I have a major issue, I can come in here or another channel depending on the issue, put up my question, and get a response from a dev or a knowledgeable modder fairly quick. Have never imagined to have this level of access to the developers of a game I've loved since arma 2.
Tons of issues but even polished games with no modding at all have their fun bugs and problems with exploits. Here we have the power to be able to fix them ourselves because of the tools and documentation available to us.
Even if you can't make a complete anticheat mod, you can gather enough data to determine when something isnt right with someone and recover from it if they do damage.
What would cause this error? Seems to happen right before players get kicked
RplCreationError: Existing stream used for creation ordering is missing. rootNodeId=0x8000AEE8, parentNodeId=0x800098F1
does anyone know a good place to find the backends for enfusion calls? id prefer to integrate my existing system with the engine rather then fighting it.
yep, thank you!
This is maybe helpful as well, but idk for sure:
Hey guys, I'm making a mod that adds weapon movement like in Squad. I've made progress and have a rough version, but I'm not happy with some aspects of the implementation and need some help:
- I'm writing code using a service-subservice architecture, and I don't like that my services responsible for weapon movement are created during weapon initialization and by the weapon components themselves. I'd like to have the services created along with the game space, and on the weapon side, I'd have a simple component that connects to the already initialized services. My question is, which class should I rewrite to trigger the initialization at the very beginning of the game space?
- I figured out how to subscribe to literally any Action in the game via the input manager. But Action is responsible for action clicks. This doesn't guarantee the action will be executed. Instead, I'd like to subscribe specifically to events of ongoing actions. And I just haven't found any. Can you tell me which service implements the event bus pattern in the Bohemia code?
- To achieve the weapon's offset position, I override the weapon's AimCalculate method. The problem is that this method is only called when the weapon is active. This creates unsightly moments, such as during the reload animation, the weapon first entering its normal state, then ending there, and then moving to modified values. Similarly, the sprint starts with the weapon's default position, visually causing the weapon to jump upward. I see two solutions:
- I need to find a way to modify the character's hand position independently of the weapon.
- I should modify the animations themselves using AnimationEditor. But this seems complicated because I haven't worked with animations yet.
Can anyone with some knowledge comment on this last point and point me in the right direction?
Isn't the process of aiming itself driven by IK?
- You would create your own WorldSystem and implement your service there, but I believe WorldSystems & WorldControllers are partially broken at the moment.
- The Workbench doesn’t have an event bus or any sort of central registry for events.
- Use animations. You may need to create a few scripts for this project, here and there, but ultimately you should be relying heavily on custom animations. With your current design you’re going to be fighting the engine the whole way down.
Are you coming from Godot?
I am unity game dev
.
u can modify translation, rotation and roll during code. They provide such API
For example lowering u weapon a little it is not an animation, but just modifing of weapon transfrom
Sure, I mean the animation system
If you are new to the engine and game, it seems you set yourself for one of the hardest projects in terms of brickwalls to hit, lack of support to modify character controller, learning curve of everything combined you will need to learn
(Judging by the new user badge on your discord handle)
The Workbench doesn’t have an event bus or any sort of central registry for events.
So, we literally have no way to subscribe to native events from Bohemia Code?
You do, it's with script invokers and now, for those systems that started using it the Event System (EventAttribute and EventReceiver)
But there is no singleton event system of sorts
As we avoided that due to performance concerns
So the events of each system, component, etc are done through event methods exposed on their own interfaces
usually named "OnXXX"
Listen, I think the entry level into modding Arma Reforger is significantly lower than Arma 3 or other moddable games. Without much understanding of documentation or tutorials, I was able to implement working gunplay like in Squad. It took me a total of 150 hours. And to be honest, I spent most of it time de-engineering the Squad game mechanics to understand what's actually happening with the weapons on the screen.
Yeah, I am not trying to discourage. But you should know that in AR, the character controller stuff is one of the most hard coded things that have not much support for modding.
So you will eventually hit some walls.
If something starts to feel like taking to much to do something
Ask here
oh wait are u on who record some bootcamps for arma reforger modding?
I think I recognize your nickname
And we can eventually tel lyou it is not possible, or if lucky give you possibility on a next update
Depends on what the issue is
It was multiple devs but yeah
I worked on the foundations one, the intro one, the replication ones and the animation ones
I looked at your profile, and at first I didn't realize I was talking to a dev (: Listen, it's cool that I'll be able to ask questions directly to the devs. Thank you for such a service
There is also, another sort of "bootcamp" for animations that follow different topics that are for some reason hidden
They are different from the bootcamp ones, done before.
Reception of this is what eventually led to making the bootcamps
But we have plans to create more planned, and mastered ones to be released on youtube along with documentation
These are simple and not really show much. They were most of a "Lets get you a bit of your fear away of getting into X topic"
Yeah no problem. You will see plenty of more devs talking to community in here.
A lot of animation related ones will be in #enfusion_animation
They usually just check the channels related to them.
Where or to who should I write about suggestions and bugs I encounter?
When I talk about bugs, I mean problems with the API during coding. It may be not bugs
Listen, is there a general list of all the events somewhere? I understand they're all local, but maybe you've compiled them all in one place in the documentation. Because, I'm a little confused, as I could only find and subscribe to the CharacterController events related to lowering and raising weapons.
I simply didn't find the other events or they are not public
There is a feeback tracker
You will be posting mostly under "Arma reforger Modding bug reports", feature request are also published there using the "feature" severity.
Character stuff is the one that has the least amount of events
As i said, most of it was hardcoded in CPP, and not exposed to scripts
For AR, such list is not available due to the ScriptInvoker usage nature, which is one of the endless reasons we faded that usage out on next arma
For Event System usage, we can generate that list which we are working on so that it is generated on Doxygen, and Workbench on some panel, but that will only reach A4.
Got it, got it. It's not really relevant because I'm just checking the states I need at runtime. It sounds terribly unoptimized, but my code runs every 10 milliseconds, and that only slows the game down a couple of frames per second, which I'm pleasantly surprised by and willing to tolerate.
how those popup layouts are managed? for example conflict capture status or kill feed. I'm new in modding 🤷♂️ give me guys some advice where to search.
Ask in #enfusion_gui
Relevant devs will see it there and help
In which cases does ReadValue() return false? I've noticed that in the case the full struct read fails ( ReadValue("", conf) ), the correctly read values are returned, rest is ignored and true is returned. I expect that in the case read fails, a false would be returned.
(This happens when a float value in the json does not have decimals. For example "0.0" is fine, but if for some reason the value is "0", the read will stop).
Usually it returns false is any of the chained internal operations stops, the value you got then is not going to be reliable. reading "0" as float should however not be an issue. please give me a reproduction example
Anyone able to point me in the right direction. I am wanting to find out what scripts are used to display player information on the ingame map? Player name, symbol and location.
yo , I have made this mod https://reforger.armaplatform.com/workshop/68476EF20ED9F64E-BandageUseTimeModifier which is basically un scirpt that modify the SCR_consumableBandage in the bandage to allow different time of use depending the CaracterPRefab you sue link with a role key word in the name of the prefab.
I have a weird issue where when Player try to heal them self with the R shotcut, it doesn't work on themself, but on other it does. When I try trough the Tab shortcut to inventory and then slide the bandage on my it works tough ! . So is it link to my shortcut or is maybe the scirpt I don't know. If someone got an idea plz tell me !
How can I get internal vars on the ShellMoveComponent component. Essentially i want to get the bullet mass. But there is no exposed variable or method
if it's not exposed in scripts, then you can only get prefab values from parsing prefab, not actual current values of entity
code like this: #enfusion_scripting message + finding actual values
I get this for a entity, however it's a component on said entity
I was able to find an example:
Thanks!
ShellMoveComponent shellComp = ShellMoveComponent.Cast(projectile.FindComponent(ShellMoveComponent));
BaseContainer container = shellComp.GetComponentSource(projectile);
is there a way to ignite a vehicle's specific fuel tank on fire and have it do fire damage to nearby characters and have it all replicated?
How can I mod a class from another mod? I tried using modded class CLASSNAME_FROM_MOD and overrode a function from it, but it's not executing (I placed a breakpoint and did a Print()).
It does compile
Does anyone know of a decent way to check if a character has an item (Clothing) from a SCR_EntityCatalog equipped? Otherwise do you know a way to check if the character has a specific prefab equipped?
Nevermind, figured it out. I renamed my Mod's ID, and I guess this broke the reference for my modded script override. Restarting the editor fixed it for me.
BaseMuzzleComponent muzzComp = selectedWeaponComp.GetCurrentMuzzle();
Print("Task Muzzle Magazine : " + muzzComp.GetDefaultMagazineOrProjectileName());
ResourceName prefabResourceName = muzzComp.GetMagazine().GetOwner().GetPrefabData().GetPrefabName();;```
How can i get a Mag Prefab, when there are 0 magazine in the weapon? like actually no magazine in the weapon?
this one doesnt work when there are no magazine attached to the weapon
I am confused, if your weapon prefab has no magazine attached via muzzle component, then of course you will be unable to access it.
Like this
Like on this state
only access the default magazine from magwell?
or like access the usable magazine of the weapon?
like all useable magazine?
Do you want to be able to just slide a mag in there at will? You'll have to load the mags prefab(30rnd stanag), spawn it and insert it into the mag well. There is no "default magazine" set considering there are multiple types of stanag mags, tracer and non tracer
nvm, i found the way
and btw how can i delete Entity from script?
if (garbageSystem)
garbageSystem.Insert(invCB.GetEntity(), 1);```
I try using this but not working?
that is for deleting items after some time for cleanup. if you wantg it instantly look for is https://enfusionengine.com/api/redirect?to=enfusion://ScriptEditor/Scripts/Game/Helpers/SCR_EntityHelper.c;177
ahhh, alright thanks !
When will the new AF documentation be available? 🙂
Does anyone know how to make the “IsVisible” work locally for gadgets?
I can get it to work but I only want it to work locally for 3rd person, as doing the head clipping.edds doesn’t seem to work with gadgets unless I’m missing something
SCRIPT (E): Virtual Machine Exception
Reason: NULL pointer to instance. Variable '#return'
Class: 'SCR_CampaignBuildingLayoutComponent'
Function: 'CreateUnsafeAreaEvent'
Stack trace:
scripts/Game/Building/SCR_CampaignBuildingLayoutComponent.c:465 Function CreateUnsafeAreaEvent
scripts/Game/Building/SCR_CampaignBuildingLayoutComponent.c:138 Function EvaluateBuildingStatus
scripts/Game/Building/SCR_CampaignBuildingLayoutComponent.c:349 Function AddBuildingValue
scripts/Game/Building/SCR_CampaignBuildingNetworkComponent.c:134 Function RpcAsk_AddBuildingValue
Does anyone have an idea where the error might be coming from? vanilla ?
Hello
Is it possible to add custom image as map marker from script? Using SCR_MapMarkerBase marker = new SCR_MapMarkerBase(); or something simillar?
anyone know if I can do dynamic class instantiation?
Nvm don what I need to
How are vars being passed to the post process effect?
For example in SCR_StaminaBlurEffect I see this, but don't understand how this applies to the effect itself. It's just setting values to this var s_fBlurriness. How does this link to the material?
//Blurriness
private static float s_fBlurriness;
private static bool s_bEnableRadialBlur;
"material refs"
Hey Guys! New server owner and first time working with json files.
I'm attempting to add persistence to my server and I think I have it figured out but no matter what I do I can't seem to get the json config right. Would anyone be willing to take a quick look for me? I have about 8 hours invested into this and really dont want to give up.
Anything helps, thank you
This is what i tried to add:
"persistence": {
"autoSaveInterval": 15,
"databases": {
"local": {
"preset": "{E2D6873105B82635}Configs/Systems/Persistence/Database/JsonLocal.conf"
}
},
"hiveId": 1337,
"storages": {
"session": {
"database": "local"
}
Missing 2 end tags?
???
You do not need to add any options you do not want to override. you must not add the persistence section if you have no values to change
what does adding empty persistence section do?
Is it possible to get a definitive answer on the future of REST api? Is it known whether it will be supported long term or will be moving away from it?
do anyone know how to call GC cleanup for dead entities?
Nothing
it is being refactored at some point to make it consistent on all http verbs and reliable. the blocking now methods may be removed, we will see. it is best to rely on the callback versions only.
tyvm
yeah i suppose my question was just whether this is something that could work.
Again, just new to all this, and I'm just looking to find a solution for our server.
I would strongly recommend to wait for 1.7 update if you want production server ready persistence. 1.6 is rather instable in this regard and unfinished, it was meant as early feedback for modders - which we got. now we need some time to apply all that feedback 🙂 there will be very easy to follow how to documentation on the biki both for server owners and mod makers to understand what they each need to know about persistence
Pls, don't remove client-side rest, at least to localhost/user-defined whitelist
*for extensions like TFAR/ACRE
Wait... you can use the rest system on clients..?
I was under the assumption it was like the backend, only the server/host can
I don't know if it's possible now, but at some point in past - yes
At least on PC
Is there any way to hide RESTAPI keys on Reforger server?
Just save them into file in server's profile
On a server? You have two options, load a script via ScriptModule or just read it from profile and store it in your server-side code.
If the client knows them, no way to hide, if they are exclusively on the server, use e.g. a command line argument to pass your api key or read from profile directory file as tonic suggested.
Yeh, the user wouldn't be using this key at all, would all be server side
Lovely
Thank you very much gentlemen :))
maybe dont pass them as commandline arguments tho
@safe geode Follow this advice. Other mods can easily see this. Meaning you create an exploit for gethering possibly sensible credentials or data from your server to bad actors.
Or you can expose it by accident by sharing some logs here for a crash or so
Yes bohemia can see your API tokens
So read from profile only real option?
or mission headers i believe but profile file is my go to
I've got like 34 script leaks. Can someone tell me what causes a script leak usally?
I figured out cause I don't clean up in workshop on the game stop & then leaks like fuckk. DURRR
eta?
Questions about when an update drops should be asked to community managers instead, for example Nillers.
Oftentimes failing to dispose of UI
Or anything else
Yeah pretty much what it was... Painfull
Nice haha. Yeah, I just learned that one a couple weeks ago myself.
I limit tagging employees to ask questions, which is why I asked you.
Thing is, for releases and so. Its better to ask community managers.
Also they are also employees 😅
And they are the ones allowed to answer that to you
Ask Lou, he would know :)

Why does Lou look like he would star in an American western movie
Also not him, he is not a community manager as well 😅 @coarse bane
Feel free to ask @restive dust, @polar tendon those things.
Issue is that asking regular devs, risks them into mentioning a date without permission to do so. Risking them into trouble later on
Questions about when an update will drop = There won't be an answer or one you like. 😅

Mission headers are publicly accessible once you put someone's mod in your workbench. I have my api keys in a file in the profile folder that gets loaded. Seems to be the most secure
my favorite answer is silence, that means we are close🤤
Lol
I doubt it, do you think all the devs were working hard on the next update over their christmas breaks? LOL!
Hello
How to draw circle like radius on map with some radius number? For example radius 100m from central point? To have visibility for radius borders on map, but from code 🙂
Something like this, saw on screenshot
This white circles
can I get playerId from UUID? o.O
Could loop through the players from PlayerManager.GetPlayers(), and use the PlayerIdentityUtils to get the UUID, once they match you have the playerID
With a AttachmentSlotComponent on a weapon, how do I access the InventoryStorageSlot within it through script?
Directly not that i'm aware of but i usually have a map of <uid>, <player id> or if i'm in a requestcallback i set an attribute of the caller id in the object
Tyler's approach also gets the job done so 🤷♂️
Not exposed to script, what do you want to do? attachments are also added to the attachment storage component on the weapon, you can find it there
Hello everyone, is there a way to open a web page inside a ui frame?
What are you trying to accomplish? It just contains configurations.
If you just want to access some prefab value, you can do it via its BaseContainer.
No, and you probably wouldn’t want to
I was trying to do a CAD system, the web ui and game communication is ready but I'm not able to find a way to open the "Tablet" in game
guess I'll stick with the web page
You can send data on the API and create UI that reads that data
Or display that data more accurately
yeah I was thinking about it
little bit more work but feaceble
But it’s a pull system so you can’t send to the game, but you can request from the game and get responses. Limited to one megabyte per request and response
Heyo, does anyone have a decent way to find wether a character has a specific Item (prefab) in his inventory, aside from just looping through the whole inventory and comparing an items prefab?
Depends. What item are we talking about? Is it something custom? Could it be a component itself? or is it just a mission item/ vanilla prefab?
I ended up going a different approach using the SlotManagerComponent as it actually worked better for my use case because I didn’t want my entity to be an actual attachment.
So I got it sorted now, thanks! 😄
An item of clothing, customisable through the editor, which is why I‘d only have a prefab to check against. If there’s a way to immediately check wether the character is wearing said item, that’d be great too, but once I have the item as a non-prefab that part should’ve pretty doable.
Id also preferably not spawn an instance of the item for the check, if it can be avoided.
If it's in the inventory, you'll be using a loop. If it's equipped you don't need to loop and compare, you can directly query the slot that the item is equipped in.
Why are you trying to avoid a loop?
You could potentially avoid a loop by using flags, bools, an event, but it's best to work within the expectations and architecture of the engine. Especially if its just to check if a specific item is in a collection (your inventory)
Dont forget the DRY principles:
Dont reinvent the wheel
Really, reinventing the wheel again?
You're trying to reinvent the wheel again?

If I'm understanding correctly, could check by prefab name of the already spawned entity? IEntity.GetPrefabData().GetPrefabName()
ResourceName prefabName = IEntity.GetPrefabData().GetPrefabName();
if (prefabName.Contains("PrefabNameHere"))
{
// do whatever
}
``` But beforehand, you'll have to loop through the inventory to get the items. Or there's also `InventorySearchPredicate` that may be relevant
How would I get the slot from a prefab though?
And is it enough to use the .getprefab() method to compare the prefabs, or what would be the intended way to check wether it’s the item selected in the editor?
I’ll look into InventorySearchPredicate, thank you for the suggestion
i fix metis
There is inventory predicates
Search for predicate here or in the workbench
How would I go about drawing debug lines into world coordinates? I found SCR_Shape class, but I'm not sure where to run the methods. Do they need to run in a specific event?
LineGenerator i belive ?
ok, thanks, gotta look into that
idk if thats it hang on theres something
Theres line stuff in there might be what you want
Thanks. I'll look into those
@broken swallow Thank you so much, your mod was able to give exactly the effect I was trying to create for about 3-4 months. If you need the logic for it to work outside of the scope, I can send it to you.
Hi community,
Does anyone know what could be causing this issue?
Error:
Reason: NULL pointer to instance. Variable 'm_MainBase'
Class: 'SCR_CampaignMilitaryBaseComponent'
Function: 'SetAsHQ'
Stack trace:
scripts/Game/Components/Locations/CPR_SCR_CampaignMilitaryBaseComponent.c:159 Function SetAsHQ
scripts/Game/Components/Locations/CPR_SCR_CampaignMilitaryBaseComponent.c:159 Function Deserialize
11:30:57.006 SCRIPT (E): Virtual Machine Exception
This only happens on some maps, and it makes the scenario unplayable. The player faction does not spawn correctly; instead, there is only a white icon with the Game Master, without any faction configuration, similar to a normal CP or MOB in Conflict mode.
Any insight or help would be greatly appreciated.
I never touched conflict code but looks like there are no main base set?
That's strange, cuase there is actually base there, but it's like... it doesn't read it ;/
Is it one of your mod doing it? I see that it is a modded class so maybe the mod on question forgot to call the base overriden method which didn't allow the main base variable to initialize properly
I have no idea which mod uses CPR as a prefix tho
Not exactly mine, but from Gramps one, ConflictRemixed2.0.
maybe i should ask there if he could see what's causing it, in that case.
Would be wiser he definitely would know what could be causing that and work on a fix / tell you what to lookout for
Certainly. Thank you for your time, sir. 🙏🏽
anyone good with Radial menu setups? using custom icons? running into a issue where when moving around in the Radial i have a Runoff of Icons that i dont want
I answered you in my discord. Probably a scenario based on mine that didn't update for 1.6 correctly
If it's not a vanilla map, it's not my scenario
Yeah, i guess you applied the same logic from the ADS camera to the 1rst person camera ?
3-4 months 
yup
Well, let's say I didn't fully apply it, just took the basics, had to redo a few things there.
I guess
Right now I'm dealing with another problem related to this: if you exit the aim while turning, the body jerks sharply in the direction of the turn, causing the camera to lag behind and not catch up with the body.
Weird wasnt having this issue
I’ll be working on it next weekend I’ll let you know
Among the options, I plan not to activate the zone immediately but to give it a timer with a boost up to the normal level, basically setting a 1-second timer when the player turns and leaves the sight, during which the sight will gain free force.
It worked xd
I need help with SCR_PhysicsHelper.TraceSegmented()
- I've created an instance of the class
- I've subscribed to the OnTraceFinished ScriptInvoker via GetOnTraceFinished().Insert()
- I have tried multiple combinations of TraceFlags, like TraceFlags.ENTS | TraceFlags.WORLD | TraceFlags.ANY_CONTACT
but seems like no objects are detected on the trace no matter what layers they are on
BaseWorld.TraceMove() works, so there seems to be some issue with SCR_PhysicsHelper.TraceSegmented()
Can someone please fix the cloudflare settings on Reforger Script API so the css loads. Thank you https://community.bistudio.com/wikidata/external-data/arma-reforger/ArmaReforgerScriptAPIPublic/
Following up on this. I'm in the final stages of this mod and I still can't figure out how to make my weapon commands/variables replicate to proxies.
- My commands are bound in my
CustomWeaponAnimationComponentconstructor - The commands run on Authority and Owner Proxy
- The character commands are replicated to all proxies
- The weapon commands are not replicated to proxies
- Replacing one of my commands with a vanilla command like
CMD_Weapon_Reloadreplicates perfectly to proxies - All of my commands and variables are checked as
Synchronizedin the weapon graph andplayer_maingraph
Do you have any ideas? Is there something special going on with the commands in the vanilla code?
Anyone know how to theoretically make telekenesis work with npcs? Looks like the current issue is keeping them ragdolled as they enter different states, from idle, to knocked, to a recovery state, etc. Also, anyone know how to keep the npcs ragdolled once they're killed?
Everything else works fine, still working on trying to add fire/lightning/ and most importantly getting the npc ragdoll stuff down
is there a way to know where we fucked up when we get our peertool disconnected for group 4, 2 (remote vs local checksum is different)
probably loading addons from different location, for example peer tool client see your addon from downloaded workshop addons, not from your worbench. so make sure available and loaded addons are same for all clients and server (this info is printed in the beginning of log file)
the addondir is set to the reforger workbench addon profile tho :(
So in theory they should all be loading the same ??
Maybe idk
if i just open my mod with addons (didn't set them as a dependency) it shouldn't change anything right ?
should still be the same listing of the addons and all of their dependencies
don't guess, just read log files
as I said - there is list of available (what it see) and loaded (what its loaded) addons
if some mismatch - modify startup parameters
check path to addons too, because even if guid is right, it may select different location to load from
or use symlinks
i did and although the order is not the same. all the mods are identicals down to the path so i'm kinda lost
it's joever
ok so the order was the culprit...
";" is evil and i hate it almost as much as "}"
In semicolons we trust, between curly braces we feel safe 🙏
Heresy.
Jokes aside i spent almost the last week trying to do shit the wrong way. Got the light bulb moment like 15 minutes ago and now I feel like a dumbass tearing my hair out over this xm25
I always get ideas on how to fix something at the most random moments so.. can relate
need help with this please
can we get rid of the !@$#%@#%$ delay in the script editor every time i select the window?
what are you running like 100 mods in workbench?
Also, does the RplId of each prefab on the server differ for each client?
rplid is same for all
did you exclude all arma (game and tools) folders from window defender ? if not try it, it helped me last year
i have not, ill try that thank you
So there once was a SetSafetyFireMode method in the BaseWeaponComponent?
Or there could be one in a future build 
this is pyhton
I am guessing there is no way to have a ammo box attached to an open bolt machine gun without the belt attached?
What component would I want to use to add slots to a radio to have interchangeable batteries and antennas? I am completely stumped. I tried attachmentcomponent without success, basecloth kinda worked though it wouldn't show the slots in bacon loadout editor
What about slot component
Slot component works for a single predefined prefab, but I have multiple prefabs that I want use in a given slot. When I try to set it up for that it doesn't work
Is it on purpose that BaseMuzzleComponent.ClearChamber() only works on a equipped weapon?
Should work just fine on a weapon on the ground too.
I couldnt get it to work.
I added a new scriptcomponent to handgun_Base and ran that method with a delay of 1000ms.
It works if its the currently equipped weapon of a unit, but not if its on the ground or unequipped as a sidearm.
