#enfusion_scripting

1 messages · Page 22 of 1

drifting orchid
#

and open two game instances and do it the vanilla way?

#

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

drifting orchid
#

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

drifting orchid
#

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

past berry
#

HERO coolfrog

open pier
barren wharf
#

QUESTION what does this mean?? BACKEND (E): [RestApi] ID:[8] TYPE:[EBREQ_ANALYTICS_SendEventSR] Error Code:503 - Service Unavailable, apiCode="", uid="", message=""

drifting orchid
#

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

pliant ingot
pliant ingot
drifting orchid
#

oo thx will check those out now

#

got it working, again thx

drifting orchid
#

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

river imp
#

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

drifting orchid
#

not everything though

river imp
#

I know of 0 sqf specific functionality that exists in Enfusion

drifting orchid
#

I guess I have to implement my own building position system

drifting orchid
river imp
#

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.

drifting orchid
#

yea since its a different engine ik

sleek tusk
#

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.

drifting orchid
#

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

river imp
#

Wishful thinking tbh.

#

A config or static map is your best bet as of right now

drifting orchid
#

might, didn't say will but yea its just a guess

sleek tusk
#

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?

drifting orchid
#

the equivalent of getPos is .GetOrigin()

river imp
#

Enforce Script is closest to C#

drifting orchid
#

in reforger they* xd have IEntities which are characters, vehicles, etc...

#

yea

#

which is why its easy 4 me

river imp
#

If you know OOP, you'll just need to learn the syntax

sleek tusk
#

There could be some solution provided by game for building positions to be honest. It would be useful in any randomized scenario

drifting orchid
#

there isn't though I just checked the building's component variables

#

don't see any vectors

river imp
#

There isn't any equivalent in Reforger

drifting orchid
#

there could be a dictionary containing the class of the building and a list of vectors

#

idk

river imp
#

There isn't lol

#

Otherwise I wouldn't have had to manually place spawn points into the building prefabs lol

drifting orchid
#

ye pretty sure there isn't since everything is in wip

sleek tusk
#

I've seen some enforce script example and notice similarity with C# immediately.

river imp
#

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

sleek tusk
drifting orchid
river imp
#

Depends on who's calling it

#

Server or client

sleek tusk
#

On client

river imp
sleek tusk
#

Is SCR_PlayerController class provided by engine?

river imp
#

SCR prefix means it's script side

#

Everything inherits from some engine side class though

sleek tusk
#

I see

river imp
#

In most cases at least

#

Some classes are specifically scripted though

#

You should read all of this

minor agate
tawny lotus
#

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).

scarlet dune
#

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 🙂

scarlet iris
scarlet dune
#

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

drifting orchid
#

there is one provided in the workbench

scarlet dune
#

oh i see hmmmm

#

so we need a mod right off the bat hmmm

#

i guess its not a mod

drifting orchid
scarlet dune
#

ok thx m8

#

woohoo Script Editor Plugins yeah 🙂

#

what the hell Arma reforger has a script editor right in the Game WoW

sleek tusk
scarlet dune
#

oh no im weird then i like sqf lol hahahah 🙂

#

what OOP btw ?

#

i only know G & M code programing 🙂

misty escarp
#

An object comes from a blueprint called a class

scarlet dune
#

blueprint ohh i know blueprints 🙂

misty escarp
#

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

scarlet dune
#

oh i see

misty escarp
#

But if I make an object that is not Animal it may not have .walk() method

scarlet dune
#

so really its all the same stuff: its just diff syntax looks like to me

misty escarp
#

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

scarlet dune
#

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 🙂

timid citrus
sleek tusk
#

There is gonna be Arma 4 built on top same technology. What you learn in Reforger will work in Arma 4.

scarlet dune
#

yes true that

timid citrus
scarlet dune
#

nice

#

Awsome m8

#

holy shit huge stuff 🙂

elder idol
barren wharf
#

Its okay! It’s a good error. It can only seen by Bohemia

analog python
#

did you ever figure out what was causing this?

wooden cape
#

No, I dug into it, but it doesn't seem mod related

analog python
#

I couldnt find any references to that in vanilla code so I was curious if it was a mod or not hmm

wooden cape
#

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

barren wharf
# elder idol 👋 Hay Dennis. I'm getting the same error on my end, and since it's BACKEND, it'...

#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.

restive island
# scarlet dune what OOP btw ?

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.

restive island
summer flower
#

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?

restive island
#

I'd look at where a MG bipod is defined and go off that.

summer flower
#

Unfortunately all the bipods currently in the game are permanently attached to the weapon, that works differently.

restive island
#

I thought you could detach weapon bipods like the other stuff?

summer flower
#

Only fold and retract, not remove or install

restive island
#

huh, i thought they were separate attachments because there are different types. Maybe im thinking Arma3

summer flower
#

Yeah, I think so. You got any idea how I might be able to handle this?

restive island
#

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 😄

summer flower
#

Alright, thank you

open pier
river imp
#

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

desert escarp
#

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

restive island
#

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?

elder idol
open pier
restive island
#

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.

open pier
#

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

abstract crescent
#

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

drifting orchid
#

guys just spawned in a unit using SpawnEntityPrefab, but the unit doesn't seem to do anything?

scarlet iris
drifting orchid
#

they don't even react to me, the AI is USSR and I'm US

abstract crescent
drifting orchid
#

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

abstract crescent
#

place same character from game master menu and check readction, it could be not script problem, but config problem on yours map

drifting orchid
#

also

#

spawning vanilla group prefab also works

#

spawning individual character prefabs doesn't

scarlet iris
drifting orchid
#

yea I did try adding them to a group

#

at runtime using group.AddAgent

#

no luck

abstract crescent
#

enable this when spawn

drifting orchid
#

its disabled by default?

abstract crescent
drifting orchid
#

wow

#

don't see a variable called enable AI

#

but there is a activate AI method maybe through that?

abstract crescent
drifting orchid
#

oh yea it was that

#

it works

#

now

#

so weird the AI not being activated on initialize >_<*

abstract crescent
drifting orchid
#

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

abstract crescent
drifting orchid
#

pretty sure its because things are in WIP, they will change it probably later

abstract crescent
#

character prefabs is for players first, AI is second target

drifting orchid
#

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

drifting orchid
#

just game dev instincts, could be wrong

river imp
river imp
#

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

drifting orchid
#

yea that is pretty much basic open world game logic

river imp
#

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

drifting orchid
#

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

river imp
#

It's on you to do that

drifting orchid
#

but again ik things are in development so thats fine

river imp
#

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

drifting orchid
#

yea ik sqf does that, I didn't bring up sqf, in above comment I'm talking about other common game designs

river imp
#

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.

drifting orchid
#

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

river imp
#

Yes I know what you said. You made an assumption about it lol

drifting orchid
#

assumption about?

#

createUnit?

#

about that assumption

river imp
#

Them adding a "createUnit"-esque function

drifting orchid
#

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

river imp
#

Yeah I'm not sure why you had to reclarify what you had already said. Lol

drifting orchid
#

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

drifting orchid
#

ooh just realized it and was about to do that lol

#

since I made a component and it wasn't working as well

river imp
drifting orchid
#

yea its already removed, just created a new entity class and throwed the print method to show here the issue

river imp
#

Have you bothered to read the wiki?

drifting orchid
#

I did a bit

#

didn't read everything though

#

I expected EOnInit to be executed like void Start from Unity

river imp
#

Not too much there but it's better than it was.

drifting orchid
#
  • some of it isn't updated
abstract crescent
#

Has anyone used AddPrefabFilter from BaseGameTriggerEntity? Does it work correctly?

drifting orchid
drifting orchid
#

I'm using a player trigger entity, works well so I'm pretty sure that will work too

abstract crescent
drifting orchid
#

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

drifting orchid
#

ok I guess the feature must not be working >_<

blazing sedge
#

Anyone help me find where game master gets assigned by default?

#

Like the code that does the assignment. Where does that happen?

summer flower
drifting orchid
#

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

pliant ingot
blazing sedge
#

I managed to find the logic for assigning in GM game mode

I was curious about how admins automatically get it (I think?)

timid citrus
#

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

blazing sedge
#

Ok noted, thanks folks

river imp
river imp
#

the apparently only use null checks when they want to

timid citrus
#

Ah ok good to know.

late locust
#

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

pliant ingot
# blazing sedge I managed to find the logic for assigning in GM game mode I was curious about ...

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)

blazing sedge
#

Does string.ToVector not work?
The position looks ok as a string, but comes back as "0 0 0" when the method is used

solid hearth
#

You can just pass the string

#

i.e vector spawnPosition = spawnPositionStr;

blazing sedge
#

didn't seem to like that

solid hearth
#

Wait maybe not for variables thenking

#

Sorry used to doing like vector blah = "0 67 123" I just ran it again but it seems to work?

blazing sedge
#

hmm interesting

#

The string comes from vector.ToString, so I'm guessing that's the correct format?

pliant ingot
#

problem: <>

#

and ,

#

vector string must be simple 3 float with spaces

solid hearth
#

Any particular reason you need it as a string 🤨

pliant ingot
#

probably for serialization

blazing sedge
#

yeah replication

pliant ingot
blazing sedge
#

so i'm guessing it's the beautify process that adds the < , >

solid hearth
#

I don't see why you wouldn't just use the vector.. Replicating strings should be worse

blazing sedge
#

yup, fixed. Thanks both

#

Don't think it accepted a vector? Unless I misunderstood

late locust
river imp
#
    //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
    }    
late locust
#

But can you just ifdef ModNameHere?

pliant ingot
solid hearth
#

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.

river imp
late locust
#

Feedback tracker time to auto add modname as a define to all modshmmyes

river imp
#

Were expected to do that from the project settings

late locust
#

Then why not auto add it

river imp
#

Because not everyone wants a define for their mod.

solid hearth
#

Where do you even set a define in project settings 🤨

river imp
#

ScriptProjectManagerSettings

solid hearth
#

dent I see.

river imp
#

Custom script modules too.

sleek moat
#

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

sour marten
#

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!

solid hearth
#

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 dent

ancient axle
#

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

open pier
late locust
#

Did anything change with missile move launch or am I doing it wrong? They just disappear now thonk

MissileMoveComponent missileMove = MissileMoveComponent.Cast(FindComponent(MissileMoveComponent));
missileMove.Launch(vector.Zero, vector.Zero, 0, this, null, null, null, null);
ancient axle
#

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

static vale
#

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);
    }
torn bane
minor agate
#

axis vectors (The first 3 vectors) having nan on them, or inf, or -inf, or length 0

#

etc

modern marlin
#

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?

minor agate
#

Given that it is for visual effects, it might only be called on Proxies

modern marlin
# minor agate 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.

modern marlin
# minor agate Given that it is for visual effects, it might only be called on Proxies

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).

inland bronze
#

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 thonk

late locust
timid citrus
#

What script do I mod to add new attachment type?

solid hearth
#

Like for a gun?

timid citrus
#

Nvm Attachments_Base.c

#

yeah

solid hearth
#

Looks like you found it, you just inherit off a base type

timid citrus
#

This will be a public mod so want it to play nicely

solid hearth
#

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.

timid citrus
#

Hmm ok interesting ty. In this case its a bipod

solid hearth
#

Then unique it is.

timid citrus
#

Does anybody have any resources or experience obfuscating on this platform?

open pier
solid hearth
#

You just said a forbidden word here monkaTOS

open pier
timid citrus
#

Cool appreciate it

open pier
#

I will lay my head in the guillotine

trail gazelle
#

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

spark otter
#

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.

timid citrus
#

Any chance of ever getting external IDE support?

tired geyser
#

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.

fringe prairie
#

@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.

lime dew
#

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.

cobalt shadow
#

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.

cobalt shadow
# restive crown

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.

modern marlin
#

Can someone suggest a way to reliably detect if a vehicle is a Helicopter. The EVehicleType surprisingly does not have an entry for helicopters.

solid hearth
#

Check if it has the component VehicleHelicopterSimulation

modern marlin
dire sinew
#

Alternatively, you could use editable entity lables on the editable vehicle component.

midnight talon
# lime dew Hey. Can some one point me in the right direction on how to script a weathersta...

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

lime dew
lime dew
static vale
#

Any way to get a prefabs bounding size before spawning the actual prefab? Somthing with loading the prefab and converting to base container?

sweet badger
modern marlin
#

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.

sweet badger
# modern marlin I would like to attach a component to the player controlled entity, but it is p...

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.

modern marlin
sweet badger
modern marlin
# sweet badger USSR_Base? I thought you meant the player controller. What are you trying to do,...

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.
hazy ether
#

Could i use this on my server? I'd like to be able to whitelist some of the factions

pliant ingot
sweet badger
fringe prairie
modern marlin
# sweet badger If you really need to do this a component on the PC might be enough, you don't n...

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.

modern marlin
granite tendon
#

hi. what has happened here? TheMethod?

sleek tusk
queen silo
queen silo
static vale
#

Any reason why my QueryEntitiesBySphere wouldn't find SCR_AIGroup entity? on same frame it was spawned? Regular entities work fine
Using EQueryEntitiesFlags.ALL

torn bane
static vale
minor agate
dire sinew
static vale
# dire sinew What are you actually trying to accomplish? What do you want to do, once you got...

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

dire sinew
#

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.

crimson star
#

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

red cedar
potent vault
#

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.

torn bane
#

I think there were some parameters you can set about this on the methods. Don't have the code at hand for another week

uneven oriole
#

is it possible to use c# on enforce script? or .NET lib ?

potent vault
uneven oriole
torn bane
uneven oriole
#

Ok Cool

#

can we run another application from Enforce?

potent vault
graceful falcon
#

Hello, Is there any way to render these lines between two entities like between two tasks or group and task?

torn bane
torn bane
potent vault
torn bane
graceful falcon
# torn bane It's scripted, you can see how it's done

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)

late locust
#

So how does one change the peer tool identity since its connecting my peer with id 0? thonk

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
graceful falcon
late locust
#

Yeah I changed the profile and it worked again, weird

fickle widget
#

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.conf in /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 😮‍💨

sleek tusk
#

You can use symlinks, if you have same files in multiple missions

fickle widget
#

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.

fringe prairie
#

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.

static vale
#

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

torn bane
static vale
# torn bane Root items are only root items of the storage. Items inside clothing are not roo...

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!

kind widget
fickle widget
#

whats wrong with my setup (two ent files, two mission header conf) - i guess something is duplicated here thonk

gusty perch
#

Hi everyone, is it possible to make our character hold a gun on a helicopter like in Arma 3?

fringe prairie
#

Or if the compartment is a turret then you can force them to hold a turret

opal loom
#

Hey guys, is it possible to overide script. I want to get 1 mod to ovveride picture that it loads.

minor agate
thick arch
#

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.

potent vault
fickle widget
languid steeple
#

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 !

coarse moon
#

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

potent vault
#

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);

coarse moon
tawdry flume
#

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.

torn bane
tawdry flume
spark otter
#

I use SCR_JsonSaveContext & SCR_JsonLoadContext

midnight talon
tawdry flume
wooden cape
#

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

shrewd nova
#

Enfusion systems seem overly complicated on purpose

torn bane
wooden cape
#

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

shrewd nova
#

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

open pier
#

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

toxic lake
open pier
shrewd nova
#

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

open pier
#

Only solution to diagnosing replication rn is getting 128 pc players to run the diag version of arma afaik thonk

shrewd nova
#

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

open pier
#

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

shrewd nova
#

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

shrewd nova
#

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

minor agate
#

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

minor agate
#

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

minor agate
#

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

solid hearth
#

UE also doesn't scale very well with player capacity until you gut it and redo parts thenking

silent shard
#

Arma 5 should be made in Ren'Py

timid citrus
#

Anybody know what script to modify to add a new LoadoutAreaType ?

fringe prairie
#

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)

fringe prairie
# wooden cape Ok, thanks for the quick response. It seems like 75+ spectator entities, one per...

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.

ocean kernel
ocean kernel
clever oxide
#

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

granite tendon
#

anyone been using ReforgerDumper plugin? working with .conf files but can't access to .c files. any idea why?

timid citrus
#

What script to mod the vest slot on inventory screen?

maiden goblet
#

That said, I didn't have any problem using the ReforgerDumper

gloomy lynx
inland bronze
#

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

fringe prairie
#

Also some great videos about how unoptimized UE5 is out of the box, it's not a magic engine

gloomy lynx
#

yeah but when i get an error it tells me what it is.

gloomy lynx
spark otter
#

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.

gloomy lynx
#

even the most experienced people on this discord are having trouble

modern marlin
#

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).

silent shard
gloomy lynx
#

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.

fringe prairie
#

Last I checked other engines pretty much only have map tools

gloomy lynx
#

try ue5

fringe prairie
#

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

gloomy lynx
#

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.

fringe prairie
#

Is there a single large scale combined arms game made in UE5

gloomy lynx
#

squad

fringe prairie
#

UE4

gloomy lynx
#

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

spark otter
#

At this stage in the game, how is an engine switch logical or practical at all?

gloomy lynx
#

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.

serene yew
#

BI building its own engine specifically for its own games is literally innovation, so what's the point you're aiming at?

gloomy lynx
#

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

gloomy lynx
#

other than the great graphics

#

not trying to shoot shots here, im just being realistic. please dont take that question as an insult

serene yew
# gloomy lynx ok what innovations does reforger have over arma 3?

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 shruge

gloomy lynx
#

so modding tools are better, ok thats one

#

what can i do in enfusion that i cant do in rv

toxic lake
serene yew
toxic lake
gloomy lynx
serene yew
#

@gloomy lynx what games or mods have you worked on?

toxic lake
#

Innovation I think is a strong word for it in the grand scheme of what they actually achieved

gloomy lynx
#

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.

gloomy lynx
#

seamless server meshing = one giant world with thousands of players

#

eve-online kind of does it, but there are transitions

toxic lake
#

Fairly sure life is feudal did the same thing without transitions

gloomy lynx
#

ok i didnt know that, not really in the genres i follow

toxic lake
#

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

gloomy lynx
#

i saw a gta5m server with 600 people

#

that game came out in 2013

modern marlin
# silent shard They're both referenced as submunition effects of the BaseTriggerComponent for t...

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).

silent shard
tawdry flume
modern marlin
# silent shard Presumably after GetProjectileEffects is called, but it's a proto external metho...

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.

inland bronze
#

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?

silent shard
minor agate
# gloomy lynx scalability

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

minor agate
#

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

solid hearth
minor agate
#

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.

inland bronze
minor agate
#

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

solid hearth
#

1 server pdb please worryPlease

marble ridge
#

Would it be safe to assume that for A4, more engine-level API would be exposed?

solid hearth
minor agate
#

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

marble ridge
#

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 🙏 )

minor agate
#

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

silent shard
# inland bronze hmmm, that might be the case, but even swapping it to a non-array for `CallLater...

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?

toxic lake
# minor agate But key thing is to report it

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.

minor agate
#

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

inland bronze
solid hearth
#

peepoWaving I got a big list of issues

inland bronze
#

me too but not related to modding sadge

minor agate
#

So that they do not get forgotten

solid hearth
#

Some are on there already and been sitting for awhile PepeSad

minor agate
#

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

pliant ingot
gloomy lynx
pliant ingot
gloomy lynx
#

since 4 months after it came out

#

seamless meshing, no shooter has done yet

pliant ingot
pliant ingot
gloomy lynx
#

yeah doing nothing but making one of the biggest maps on AR

#

lol

pliant ingot
gloomy lynx
#

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

pliant ingot
#

So, you still don't see improvements over A3?

gloomy lynx
#

graphic fidelity, vehicle physics are improved yeah

#

my lancia is as close to real life in performance as enfusion allows

silent shard
#

Just wait until they drop the sex update, then we can start comparing Arma 3 and Reforger.

sleek tusk
ocean kernel
#

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.

sleek moat
#

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

pliant ingot
sleek moat
pliant ingot
sleek moat
#

Thanks, will give some of these a look. Are there any docs or resources regarding spatial replication setup and stuff like that?

pliant ingot
granite tendon
tawdry flume
maiden goblet
minor agate
toxic lake
clever marlin
#

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

minor agate
#

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

timid citrus
#

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.

minor agate
#

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

toxic lake
minor agate
#

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

toxic lake
#

"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

minor agate
#

I never said it is not being worked on

toxic lake
#

How can it take several months (if not iirc a year nearly) to fix something this critical

#

its madness

minor agate
#

Read what i mentioned carefully again

clever marlin
#

id rather the servers take a hit than my personal data

toxic lake
minor agate
#

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

toxic lake
#

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

minor agate
#

The exploits are addressed, people in specific have been tasked to fix them

#

All you have to do is wait

minor agate
#

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

toxic lake
#

That the critical ones aren't taking multiple months to be "worked on". I get things take time but not that much time shrugs

minor agate
#

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

toxic lake
#

Clearly this is gonna be one of those agree to disagree days, peace out

minor agate
#

We made full game, engine, etc. If it was sortable like that. It would have been out already

open pier
#

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.

sleek moat
#

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

rotund imp
#

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.

knotty peak
#

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:

  1. 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?
  2. 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?
#
  1. 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:
  1. I need to find a way to modify the character's hand position independently of the weapon.
  2. 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?
ocean kernel
#

Isn't the process of aiming itself driven by IK?

silent shard
# knotty peak Hey guys, I'm making a mod that adds weapon movement like in Squad. I've made pr...
  1. You would create your own WorldSystem and implement your service there, but I believe WorldSystems & WorldControllers are partially broken at the moment.
  2. The Workbench doesn’t have an event bus or any sort of central registry for events.
  3. 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?

knotty peak
#

I am unity game dev

knotty peak
knotty peak
ocean kernel
#

Sure, I mean the animation system

minor agate
#

(Judging by the new user badge on your discord handle)

knotty peak
minor agate
#

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"

knotty peak
# minor agate If you are new to the engine and game, it seems you set yourself for one of the ...

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.

minor agate
#

So you will eventually hit some walls.

#

If something starts to feel like taking to much to do something

#

Ask here

knotty peak
#

I think I recognize your nickname

minor agate
#

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

minor agate
#

I worked on the foundations one, the intro one, the replication ones and the animation ones

knotty peak
#

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

minor agate
#

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"

minor agate
#

They usually just check the channels related to them.

knotty peak
#

When I talk about bugs, I mean problems with the API during coding. It may be not bugs

knotty peak
red cedar
#

You will be posting mostly under "Arma reforger Modding bug reports", feature request are also published there using the "feature" severity.

minor agate
#

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.

knotty peak
granite tendon
#

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.

minor agate
tawny lotus
#

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).

torn bane
thick tinsel
#

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.

languid steeple
#

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 !

Arma Reforger

Bandage Mod

Thanks JamesD, Trumm44 & esp. Hycann for script fixes!
Bandage: Medics heal allies faster. Non-medics are slower. Auto-detect prefab keyword. Config timings with sliders.

static vale
#

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

pliant ingot
static vale
static vale
#

I was able to find an example:
Thanks!

ShellMoveComponent shellComp = ShellMoveComponent.Cast(projectile.FindComponent(ShellMoveComponent));
BaseContainer container = shellComp.GetComponentSource(projectile);

late kite
#

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?

last marsh
#

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

ocean breach
#

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?

last marsh
uneven oriole
#
        
        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
torn bane
uneven oriole
#

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?

open pier
#

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

uneven oriole
#

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?
uneven oriole
#

ahhh, alright thanks !

restive island
thick yacht
#

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

coarse dragon
#

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 ?

forest arrow
#

Hello

Is it possible to add custom image as map marker from script? Using SCR_MapMarkerBase marker = new SCR_MapMarkerBase(); or something simillar?

rose needle
#

anyone know if I can do dynamic class instantiation?

rose needle
#

Nvm don what I need to

static vale
#

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;
stark glen
#

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"
            }
restive island
#

Missing 2 end tags?

torn bane
ocean kernel
#

what does adding empty persistence section do?

timid citrus
#

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?

uneven oriole
#

do anyone know how to call GC cleanup for dead entities?

torn bane
stark glen
#

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.

torn bane
#

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

pliant ingot
#

*for extensions like TFAR/ACRE

solid hearth
#

Wait... you can use the rest system on clients..? thenking I was under the assumption it was like the backend, only the server/host can

pliant ingot
#

At least on PC

safe geode
#

Is there any way to hide RESTAPI keys on Reforger server?

pliant ingot
solid hearth
#

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.

safe geode
#

O

#

And that'd stop users from finding it?

torn bane
#

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.

safe geode
#

Yeh, the user wouldn't be using this key at all, would all be server side

#

Lovely

#

Thank you very much gentlemen :))

ocean kernel
#

maybe dont pass them as commandline arguments tho

minor agate
#

Or you can expose it by accident by sharing some logs here for a crash or so

ocean kernel
#

Yes bohemia can see your API tokens

safe geode
red cedar
rose needle
#

I've got like 34 script leaks. Can someone tell me what causes a script leak usally?

rose needle
minor agate
# coarse bane eta?

Questions about when an update drops should be asked to community managers instead, for example Nillers.

timid citrus
#

Or anything else

rose needle
timid citrus
coarse bane
minor agate
#

And they are the ones allowed to answer that to you

silent shard
misty escarp
#

Why does Lou look like he would star in an American western movie

minor agate
#

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

restive dust
minor agate
timid citrus
open pier
coarse bane
red cedar
#

Lol

spark otter
#

I doubt it, do you think all the devs were working hard on the next update over their christmas breaks? LOL!

forest arrow
#

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 🙂

forest arrow
#

Something like this, saw on screenshot
This white circles

spark otter
#

can I get playerId from UUID? o.O

severe owl
inland bronze
#

With a AttachmentSlotComponent on a weapon, how do I access the InventoryStorageSlot within it through script?

red cedar
#

Tyler's approach also gets the job done so 🤷‍♂️

torn bane
manic carbon
#

Hello everyone, is there a way to open a web page inside a ui frame?

dire sinew
#

If you just want to access some prefab value, you can do it via its BaseContainer.

fringe prairie
manic carbon
#

guess I'll stick with the web page

fringe prairie
#

Or display that data more accurately

manic carbon
#

little bit more work but feaceble

fringe prairie
#

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

ocean breach
#

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?

silent shard
inland bronze
ocean breach
silent shard
#

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?
inland bronze
#

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
silent shard
#

InventorySearchPredicate's methods return collections as well

ocean breach
ocean breach
polar patrol
fringe prairie
#

Search for predicate here or in the workbench

modern crane
#

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?

modern crane
timid citrus
#

idk if thats it hang on theres something

polar patrol
#

@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.

trail forge
#

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.

red cedar
trail forge
red cedar
#

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

trail forge
red cedar
trail forge
elder smelt
#

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

spark otter
#

If it's not a vanilla map, it's not my scenario

broken swallow
#

3-4 months BlobjakThinking

polar patrol
#

yup

#

Well, let's say I didn't fully apply it, just took the basics, had to redo a few things there.

broken swallow
#

I guess

polar patrol
#

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.

broken swallow
#

Weird wasnt having this issue

#

I’ll be working on it next weekend I’ll let you know

polar patrol
#

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

modern crane
#

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

modern crane
#

BaseWorld.TraceMove() works, so there seems to be some issue with SCR_PhysicsHelper.TraceSegmented()

slow acorn
mild quarry
#

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 CustomWeaponAnimationComponent constructor
  • 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_Reload replicates perfectly to proxies
  • All of my commands and variables are checked as Synchronized in the weapon graph and player_main graph

Do you have any ideas? Is there something special going on with the commands in the vanilla code?

manic lion
#

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?

manic lion
#

Everything else works fine, still working on trying to add fire/lightning/ and most importantly getting the npc ragdoll stuff down

red cedar
#

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)

pliant ingot
red cedar
#

the addondir is set to the reforger workbench addon profile tho :(

So in theory they should all be loading the same ??

Maybe idk

red cedar
#

should still be the same listing of the addons and all of their dependencies

pliant ingot
#

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

pliant ingot
red cedar
#

it's joever

red cedar
noble mortar
#

";" is evil and i hate it almost as much as "}"

red cedar
noble mortar
red cedar
#

I always get ideas on how to fix something at the most random moments so.. can relate

high rock
#

need help with this please

high rock
#

@vivid spear

#

@elfin zinc

elfin zinc
#

yes?

#

join vc

#

@high rock

gloomy lynx
#

can we get rid of the !@$#%@#%$ delay in the script editor every time i select the window?

spark otter
#

what are you running like 100 mods in workbench?

#

Also, does the RplId of each prefab on the server differ for each client?

vernal moat
gloomy lynx
coarse pine
#

So there once was a SetSafetyFireMode method in the BaseWeaponComponent?

solid hearth
#

Or there could be one in a future build hmmmjj

coarse pine
#

I am guessing there is no way to have a ammo box attached to an open bolt machine gun without the belt attached?

deft frost
#

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

deft frost
coarse pine
#

Is it on purpose that BaseMuzzleComponent.ClearChamber() only works on a equipped weapon?

torn bane
coarse pine