#arma3_scripting

1 messages · Page 194 of 1

compact terrace
#

okay i turned it on

#

so now arma should find my scripts in folders in the mission?

proven charm
#

missions files should be loaded already but with file patching you can load them even from arma dir if you want to

somber silo
#

Does anyone know if nearestObjects also returns simple objects?

little raptor
#

yes

#

as long as you don't use a class name

granite sky
#

You mean use a class name in nearestObjects, right

somber silo
# little raptor yes

Heres my implementation

_nearSimpleObjects = nearestObjects [_pos, ArrayOfBlacklistedSimpleObjectClassnames[], _dist];

#

Will this not work, passing in a list of classnames?

#

Do I need to filter after the fact?

little raptor
#

depends what kind of simple object you have

#

simple objects created from a class name do have class names iirc
but super simple objects (created from models) don't

somber silo
#

Its a flat decal that spawns on the floor - it contains ablood texture

little raptor
#

well how do you create them?
createSimpleObject [className, pos]
or
createSimpleObject [modelPath, pos]

granite sky
#

typeof cursorObject returns classname for simple objects created with a classname, but nearestObjects with the classname doesn't return that simple object.

somber silo
#

classname

granite sky
#

nearestObjects with [] does.

little raptor
#

then yeah don't use filter at all and just use []

granite sky
#

Feels like a bug but who knows with Arma :P

little raptor
#

you can filter it manually with select

somber silo
#

So probably the best option is _nearSimpleObjects select {!(typeof _x in ArrayOfBlacklistedSimpleObjectClassnames)} ?

little raptor
somber silo
#

Does nearestObjects with blank parameter also return super simple objects as well?

#

I may convert the simple objects to super simple, if thats something possible with decals

somber silo
#

ts just an example

little raptor
#

but I don't think you get any benefits

somber silo
#

If im spawning a bunch of them in a short amount of time, with a lot of decals left over - you dont think it will increase performance?

little raptor
little raptor
#

iirc super simple objs are faster to create

#

but runtime perf wouldn't differ much

somber silo
granite sky
#

No.

#

Hashmap is O(1), array is O(N)

#

in with an array just checks against every element in order.

#

So yeah, if you have much in your blacklist/whitelist arrays then it's best to convert them to hashmaps.

somber silo
granite sky
#

Technically you're associating them with the value nil, but yeah, it works.

somber silo
#

Thank you guys for the help!

somber silo
#

Hmm i seem to have an issue with spawning the super simple object:

When i provide the classname to createSimpleObject the normal simple object gets created, however when i provide the path to the model to createSimpleObject, the object does not spawn and returns objnull.

The class inherits NonStrategic in cfgVehicles

```class mydecal : NonStrategic
{
    scope = 1;
    author = "thehungryhippo";
    destrType = "DestructNo";
    model = "pathTomodel.p3d";
    displayName = "mydecal";
    faction = "Default";
    vehicleClass = "Misc";
    hiddenSelections[] = {"mydecal"};
};```

Anyone have a clue? Does something else need to be set up with super simple object, or is it only possible to spawn this type of object via class name (IE not super simple)

tulip ridge
somber silo
#

@tulip ridge
its the same exact path im providing in the config?

tulip ridge
#

Well if that's your actual config, then that path is just wrong

#

Because you need to start it with a pbo prefix

somber silo
#

"\WIH_Blood\Models\Plane\Blood_Plane.p3d"

#

And in createsimpleobject i tried without the first \

polar radish
#

how would you add an animation to a hold action?

#

like have the person doing the hold action do like a repair animation while they do it?

stable dune
polar radish
#

thank you

frail skiff
#

Hello again, had another question regarding UGVs and deployables in general. I've got a script set up so an AI controlled unit places down a UGV, does some stuff with it, then picks it back up.

When simplified, it looks a bit like this

`_currBag = unitBackpack Soldier;

sleep 5;

Soldier action ["assemble"];

sleep 5;

Soldier action ["Disassemble",(nearestObject [Soldier, "B_UGV_02_Science_F"])];

sleep 5;

Soldier action ["TakeBag", _currBag];`

Everything works until that last part, as the unit plays the animation to pick it up, but does not actually do it. I suspect that this is to do with the fact that the disassembled UGV does not count as a backpack, despite the wiki stating that the disassemble action "Takes assembled weapon to parts (carry bags).". In that case I'm not too sure what action to use.

frail skiff
#

How does one go about doing that?

#

ah thank you

#

What would the syntax of that command be to get the array from the groundholder? The wiki only mentions vehicle player, I haven't messed around with that sort of command yet

sharp grotto
#

Looks like takeBag is broken

0 spawn {
_currBag = unitBackpack Soldier; 
sleep 5;
Soldier action ["assemble"];
sleep 5;
Soldier action ["Disassemble",(nearestObject [Soldier, "B_UGV_02_Science_F"])];
sleep 5;
private _groundHolder = (nearestObjects [Soldier, ["GroundWeaponHolder"], 6]) select 0;
private _GHbackpack = (backpackCargo _groundHolder) select 0;
hint format ["DEBUGGY: %1", _GHbackpack];
Soldier action ["TakeBag", _GHbackpack];

}

Nvm with everyBackpack instead of backpackCargo it works properly.

0 spawn {

    Soldier action ["assemble"];
    sleep 5;
    Soldier action ["Disassemble",(nearestObject [Soldier, "B_UGV_02_Science_F"])];
    sleep 5;
    private _groundHolder = (nearestObjects [Soldier, ["GroundWeaponHolder"], 6]) select 0;
    private _GHbackpack = (everyBackpack _groundHolder) select 0;
    Soldier action ["TakeBag", _GHbackpack];
}
#

@frail skiff

frail skiff
#

Thanks a bunch, you're a life saver, I'd never figure this out lmao

haughty linden
#

please how to deactivate a triger by other trigger

thin fox
#

or, if you don't want to delete the trigger, use myVariable = true/false

haughty linden
#

thank you … so much 🙌🏻🙌🏻

haughty linden
pallid palm
#

in the trigger thats doing the deleting

thin fox
# haughty linden where shoul i put thise . pleas

In one trigger you need to create this variable, and the trigger you want to "deactivate" you put this variable in the condition, use the On Deactivation field aswell for this. But if you don't have any idea of doing this, check youtube videos, there are a lot of tutorials out there

pallid palm
#

its not that hard i know you can do it @haughty linden

haughty linden
#

Got it…! thanx for everything 🙌🏾

split ruin
#

Any one has script for AC-130 support? It wil be cool to see Spooky action form infantry point of view. 🙂

proven charm
#

have you tried those support modules? i dont know anything about them though 🙂

humble token
#

Would it be possible to port arma 2 environment sounds to arma 3?

#

I really enjoyed them

#

The wind blowing, Beach sounds. bird sounds

pallid palm
#

Arma 3 has all that

#

and yes you can put any sounds into Arma 3

#

but you cant really install them into a map like

#

unless you can map build

little raptor
leaden ibex
#

Is there a way to disable the AI reporting using SQF?
Or is the only way to do that selecting the no voice in arsenal?

#

(I am talking about the Man, 100m, front)

buoyant hound
#

How to set vehicle variable name for later use on zeus?

winter rose
leaden ibex
hallow mortar
split scarab
#

Is "head" really the only bone on a dog that allows the attached object to rotate?

dog = grp createUnit ["Fin_sand_F", getPos Cake, [], 0, "CAN_COLLIDE"];
bomb = createVehicle ["SatchelCharge_Remote_Ammo", ASLtoAGL getPosWorld dog, [], 0, "CAN_COLLIDE"];
bomb attachTo [dog, [0, 0, 0], "head", true];

All other bones like:

hips
neck
neck1
spine
spine1
spine2

Just makes the satchel sit staticly without rotating at all

#

I want to strap something that looks like an explosive to the back of the dog

thick tide
#

Does anyone know how to turn an object into an explosive in arma using the init option in zeus?

thick tide
fair drum
#

and what do you want it to do? explode when someone gets near?

thick tide
#

I'm mainly trying to turn an object into a bomb so when it touches or gets close to the group when dropped out of a plane it explodes

fair drum
#

what you'll do is you'll create a munition after a condition (multi-conditional waitUntil) is met, at the position of the object, hide it, and detonate it, then delete the main object

little raptor
split scarab
pallid palm
#
waitUntil { sleep 1; isTouchingGround   whatever  };
little raptor
silent cargo
#

Quick question, since getConnectedUav only runs local, is the easiest method to setVariable for that drone globally to just remoteExec setVariable for it?

#

I'm trying to "lock" drones from being used by people other than the one who assembled it

little raptor
#

set the variable for who? and who broadcasts it?

#

if you want to set it for all (globally as you said) you can just use setVariable and use its public parameter

lunar lichen
#

@opaque topaz sorry i just half read the convo lol

open marsh
#

how can we retrieve the 3d values of a marker placed in editor, like the height/z value? getmarkerpos is only 2d

faint burrow
open marsh
#

sorry what is that

warm hedge
#

A command to get a marker position

open marsh
#

do u mean private _pos = getMarkerPos [_x, true];?

#

as alt syntax

warm hedge
#

Alt = Alternative so yes

open marsh
#

ok thank u

proven charm
#

im curious why returning boolean from exitWith doesnt work in some codes. Like in HandleChatMessage if you do this it wont return true ```sqf
addMissionEventHandler ["HandleChatMessage",
{

if(true) exitwith { true };

false
}];

winter rose
proven charm
#

hmm if i dont remember wrong its not possible to use exitWith in some commands like select. (Could be some other)

#

just odd that exitWith does exit the code but doesnt return true

errant iron
#

^ heh, that takes me back to when i tried using exitWith in a trigger

winter rose
#

it might have to do with unscheduled

exotic gyro
#

Can definitely use exitwith and exit in unscheduled

#

I wonder if exitwith would work here if you wrapped it in a call

winter rose
#

not sure, but it may work?

proven charm
#

i guess its similar to ```sqf
[0,1,2] select {

if(_x == 1) exitwith { true };

false
};

faint burrow
#

But in this case it's better to use findIf.

proven charm
#

sure, just wondering if that select etc are fixable

faint burrow
#

I guess an error will be thrown.

stable dune
proven charm
#

it should return [1]

faint burrow
#

apply + select?

stable dune
#
[0,1,2] select {_x == 1}
proven charm
#

yeah this wasnt a question of how to do this but hoping the exitWith would work..

stable dune
proven charm
#

i got the HM working but was just curious whats up with exitWith , same thing with breakout i think

sturdy sage
proven charm
#

yea i was thinking of same thing but then on the otherhand who expects boolean from select?

pallid palm
#

Hello All : is there a way to get all the city and town names in text, from a script, from Alits Island

stable dune
pallid palm
#

wow holy cow man that was fast

#

thx m8 @stable dune

thin fox
proven charm
#

yeah its just problem with exitWith

thin fox
#

exitWith is literal

hallow mortar
proven charm
#

dunno, i was hoping it worked differently 😉

exotic gyro
#

Actually, I think ace uses cba direct call because events have that problem

#

So yeah, wrapping it in a call will work

thin fox
#

yeah there's even a note in the biki about this

proven charm
#

but why

real tartan
#

trying to get rid of '/' from string

private _hash = hashValue [systemTimeUTC,diag_tickTime];
private _name = _hash regexReplace [ "/", "*" ]; 
[_hash,_name]
faint burrow
real tartan
#
_hash regexReplace [ "\/", "*" ];

also does not work

faint burrow
#
_name = (_hash splitString "/") joinString "*";
delicate tangle
#

Can someone give me some input on why a certain script causes a good amount of lag whenever it is exec’d?

delicate tangle
#

Do I just copy/paste the entire script here…?

hallow mortar
#

!code

wicked roostBOT
#
How to use SQF syntax highlighting in Discord

```sqf
// your code here
hint "good!";
```

// your code here
hint "good!";
hallow mortar
#

If the script is very large, use e.g. Pastebin to avoid cluttering the channel

delicate tangle
#

how do I do that !code on mobile?

faint burrow
#

@wicked roost described this.

delicate tangle
#

I cant find the right ‘’’ for the sqf

little raptor
winter rose
#

copy this 😄

stable dune
#

```sqf

delicate tangle
# little raptor If you use GBoard, press ?123, then =\\<, then find the symbol

_Target = _nearestEnemiesCombined call bis_fnc_selectRandom;
 
                //Call Virtual CAS - Taken from MIL_CAS
 
                _logic = "Logic" createVehicleLocal getpos _Target;
 
                _logic setDir getdir _Object;
 
                _logic setVariable ["vehicle",_CASPlane];
 
                _logic setVariable ["type",_CASType];
 
                [_logic,nil,true] call BIS_fnc_moduleCAS;
 
                deleteVehicle _logic;

#

Basically its creating the zeus cas effect on a target. It causes a massive amount of lag

hallow mortar
#

Where is this executed?

delicate tangle
#

On a trigger activation line

#

I only inserted the relevant part

#

Theres more to it but it would be a lot and I dont have pastebin account

hallow mortar
#

What's the trigger condition and is it set to Server Only?

hallow mortar
delicate tangle
#

Ok, trying now

hallow mortar
#

Someone who has the game open will need to check this in the functions viewer, but it's possible that BIS_fnc_moduleCAS is not intended to be used in an unscheduled context like a trigger activation field

delicate tangle
#

It works, just causes a massive amount of lag at exec. It also doesnt cause any lag on thr virtual “island”

hallow mortar
delicate tangle
#

No, with the call in the pastebin. At the top of the script

#

[ThisTrigger, EAST, False, 2, 10000, 5, False, 300, 600] execVM "Scripts\FireSupport\FireSupport_SectorControl_CAS_Virtual.sqf"

hallow mortar
#

Okay, so this is all running scheduled, so that's not the issue

#

What is the trigger condition and is it set to server only?

delicate tangle
#

I cant login right now so I dont know if it is Server Only. However, this is singleplayer, not multiplayer- playing via the editor Trigger condition varies.

hallow mortar
#

The trigger condition is important. It could be repeatedly activating, causing duplicate instances of the script.

delicate tangle
#

Umm, I can probably recreate the condition, one sec

hallow mortar
#
_nearestMen = nearestObjects [_TargetedSector, ["Man"], _ScanDistance];```
This and the one for vehicles, with your parameters, are a potential issue; 10km scan radius is quite a lot if there are many vehicles and units on the map
faint burrow
#

Yes, the script is very unoptimized.

delicate tangle
#

Yah, but I also use an AI virtual artillery script which uses the same distances, etc and it doesnt cause any lag

#

Im also a scripting novice

hallow mortar
#

Non-critical: BIS_fnc_selectRandom is superseded by selectRandom. Not "big lag" difference in speed, but would be better to use the newer command.

#

Non-critical: the way this script sets up its params and variables is very annoying. Again, not the source of your problem, but using params and private would be better and tidier.

delicate tangle
#

The trigger conditions checks sector ownership and fires whenever the number of sectors controlled by a side exceeds a specified number. Ie East owns 4 or more sectors

somber silo
#

@Bohemia.net

Can we get support for hashmaps added to findif in a future update?

https://community.bistudio.com/wiki/findIf

I see no reason why it wouldnt work (Have to resort to using a forEach for a workaround which is far slower than findif)

hallow mortar
#

Non-critical: getPos is slow and should be used only in cases where that specific vertical format is essential. Otherwise getPosASL or getPosATL are faster.

somber silo
#

Better yet, maybe add support for finding hashmap values using in?

hallow mortar
#
if (_Loop) then {} else {_Go = False};```
_argh_
little raptor
delicate tangle
#

Lol, guys Im a novice

#

Im self-taught

little raptor
somber silo
little raptor
#

anyway, you can use in:
_value in values _hashmap

faint burrow
#
_hasValue = ((values _hashMap) findIf { ... }) >= 0;
somber silo
hallow mortar
little raptor
somber silo
#

im guessing hashmap with foreach is more efficient?

hallow mortar
# delicate tangle https://pastebin.com/QgxPfLWZ

If the lag happens at the moment the CAS plane is created, it could be something the CAS module function does internally. It's a pretty old function and probably not super optimised. I don't have the game open to inspect it though.

#

I'd still like to know the trigger condition, though.

little raptor
little raptor
#

also with forEach you'll also have the keys next to your values if you need them (_x and _y)

hallow mortar
somber silo
delicate tangle
#

Im going off memory but its something like that

little raptor
#

that example code is just written poorly

#
_someoneIsNear = {
     (_x distance [0,0,0] < 1000) && { breakWith true };
} forEach allUnits;    
#

that's the correct way

winter rose
somber silo
hallow mortar
hallow mortar
delicate tangle
little raptor
#

but both exitWith and breakWith are ok (in the case of my code I had to use breakWith tho)

hallow mortar
# delicate tangle https://pastebin.com/QgxPfLWZ

Someone else might spot something I missed, but from this, my main possible culprits would be either that 10km radius nearestObjects check finding many vics/men, or BIS_fnc_moduleCAS just being horrible

somber silo
little raptor
#

if you have it exactly like that yes (that example is trying to return a bool similar to findIf)

#

otherwise no

delicate tangle
hallow mortar
#

A quick test you can do is to comment out the CAS function call, and stick a systemChat "activated now"; in the same place for reference. If it doesn't lag any more then it's probably the CAS function

hallow mortar
#

If it is the CAS function then your only fix really is to find or write a better one. You can't directly change how the function works internally.

delicate tangle
#

True. I have another script that just spawns a plane and gives it a waypoint. Might just use that since it has zero lag. The “virtual” one is more effective though

real tartan
#
_createMarker = {
    params [ "_pos" ];

    private _marker0 = createMarkerLocal [ "marker_0", _pos ];
    _marker0 setMarkerTypeLocal "o_unknown";
    _marker0 setMarkerDrawPriority 1000;

    private _marker1 = createMarkerLocal [ "marker_1", _pos ];
    _marker1 setMarkerSizeLocal [ 50, 50 ];
    _marker1 setMarkerShapeLocal "ELLIPSE";
    _marker1 setMarkerBrushLocal "FDiagonal";
    _marker1 setMarkerDrawPriority 1;
};
allMapMarkers apply { deleteMarker _x };
[ getPos player ] call _createMarker;

trying to have marker0 on top of marker1 using setMarkerDrawPriority, but with no effect.

somber silo
little raptor
#

yes

delicate tangle
#

Are there any good “ai clear building” scripts?

split oxide
hallow mortar
#

All the NATO standard markers are partly transparent as an inherent part of the marker. You could try stacking two of the same marker on top of each other, but that's it.

buoyant hound
#

Two question :
One.about assign variable like name to objects on the zeus( how to do?)

Two.i wanna spawn BIS_fnc_typeText2 on server
Code run in editor via trigger test successfully but not work on the server!


[
["Text","align = 'center'"]
,0,safezoneY + safezoneH / 2
] Spawn BIS_fnc_typeText2;
faint burrow
hollow rune
#

hey guys is anyone experienced with Arma 3's coding language or PBO files? I want to edit the UNIT SFX mod so it doesn't play hurt sound when headshotting a unit, so like if the killing shot was fatal, no sound comes out out of entity/unit

#

eh, in the mean while I'll check if chatGPT will be useful

stable dune
hollow rune
#

can you atleast tell me how to make this mod make sure that sound does not play when damage value given upon unit is fatal?

#

no?

#

Frick

#

there is this init.sqf file inside the PBO

for hit screams, this is the code

// Hit scream SFX
mrg_unit_sfx_scream = [
"MRG_scream_1",
"MRG_scream_2",
"MRG_scream_3",
"MRG_scream_4",
"MRG_scream_5",
"MRG_scream_6",
"MRG_scream_7",
"MRG_scream_8",
"MRG_scream_9",
"MRG_scream_10",
"MRG_scream_11",
"MRG_scream_12",
"MRG_scream_13",
"MRG_scream_14",
"MRG_scream_15"
];
mrg_unit_sfx_deathScream = [
"MRG_deathScream_1",
"MRG_deathScream_2",
"MRG_deathScream_3",
"MRG_deathScream_4",
"MRG_deathScream_5",
"MRG_deathScream_6",
"MRG_deathScream_7",
"MRG_deathScream_8",
"MRG_deathScream_9",
"MRG_deathScream_10"
];

// Array sizes (saves having to calculate them later)
mrg_unit_sfx_bodyfall_concrete_size = count mrg_unit_sfx_bodyfall_concrete;
mrg_unit_sfx_bodyfall_grass_size = count mrg_unit_sfx_bodyfall_grass;
mrg_unit_sfx_bodyfall_drygrass_size = count mrg_unit_sfx_bodyfall_drygrass;
mrg_unit_sfx_bodyfall_sand_size = count mrg_unit_sfx_bodyfall_sand;
mrg_unit_sfx_scream_size = count mrg_unit_sfx_scream;
mrg_unit_sfx_deathScream_size = count mrg_unit_sfx_deathScream;

(if flood, let me know and I'll delete

#

I posted it since init makes me think of initialize word

serene sentinel
#

Hi. Can anyone help? When I'm knocking out enemy vehicle and repairing it to use it for my side, another my vehicles behave cautiously to the captured vehicle and they can even bombard it. Which command may help me to make this captured vehicle friendly to my units?

hollow rune
# hollow rune there is this init.sqf file inside the PBO for hit screams, this is the code /...

there is also mgr_fn_unit_killed
//_sT = diag_tickTime;

_unit = _this;
_unit spawn mrg_fnc_unit_sfx_hit;

if (player distance _unit > 50) exitWith {};

_surfaceType = surfaceType (getPosATL _unit);
_time = time;

_obj = "Land_HelipadEmpty_F" createVehicleLocal [0,0,0];
_obj attachTo [_unit,[0,0,1]];

_sound = switch (_surfaceType) do {
case "#GdtStratisGreenGrass";
case "#GdtGrassGreen": {mrg_unit_sfx_bodyfall_grass select floor random mrg_unit_sfx_bodyfall_grass_size};

case "#GdtStratisThistles";
case "#GdtStratisDryGrass";
case "#GdtGrassDry": {mrg_unit_sfx_bodyfall_drygrass select floor random mrg_unit_sfx_bodyfall_drygrass_size};

case "#GdtStratisDirt";
case "#GdtDirt";
case "#GdtStratisConcrete";
case "#GdtConcrete";
case default {mrg_unit_sfx_bodyfall_concrete select floor random mrg_unit_sfx_bodyfall_concrete_size};

};

//systemChat format["Killed | Process time: %1s", diag_tickTime - _sT];

waitUntil {(ASLToATL(eyePos _unit) select 2) < 0.8 || time > (_time + 2.5)};
_obj say _sound;

sleep 2;
deleteVehicle _obj;

//systemChat "done";

I suppose here I would need code to disable the code for pain sound?

#

I'll check what if I delete _unit spawn mrg_fnc_unit_sfx_hit;

serene sentinel
#

@little raptor friendly units (new crew)

little raptor
#

do you use AI mods?

serene sentinel
#

lambs danger

little raptor
#

what if you unload it? do they still target friendlies?

serene sentinel
#

Haven't tried it.

#

I would not like to play without AI mods to be honest

little raptor
#

well if it's the AI mod that's causing the issue, you have to ask them to fix it
anyway, just try vanilla, put down an OPFOR vehicle, put a BLUFOR soldier in it, and then spawn some BLUFOR outside. see if they target the vehicle

serene sentinel
#

@little raptor ok, thanks

hallow mortar
#

It might be that they just don't have up-to-date intel on it being friendly yet. You could try using reveal on it to give your friendlies perfect knowledge.

serene sentinel
#

@hallow mortar trying this, but doesn't help

#

@hallow mortar tank reveal [cursorObject, 1];

#

this way?

little raptor
#

use forgetTarget first

#

and use 4 for reveal

hallow mortar
#

You don't have to ping me every time.
If we assume that cursorObject is the previously-enemy vehicle:

{
  _x forgetTarget cursorObject;
  _x reveal [cursorObject, 4];
} forEach groups side player;```
serene sentinel
#

seems like reveal 4 helped

serene sentinel
granite sky
#

Note that those knowledge commands are local effect, so in MP you may need to remoteExec.

frail skiff
#

Yet another question, how does one get an AI controlled vehicle to use its flares/countermeasures? I haven't found anything about it on the wiki, besides something that could be used for smoke launchers (BIS_fnc_effectFiredSmokeLauncher).

frail skiff
#

Thanks!

tender fossil
#

A short return to Arma 2 scripting after a while.

Is there a way to disable autolock for certain types of bombs with scripting only? (I guess there isn't.)

The problem is that players are locking target buildings and dropping precision bombs (FAB-250, Mk-82) from high altitude which kinda wrecks the game balance, so I'm trying to research whether it could be disabled or somehow circumvented in order to not have to remove the guided bombs from the mission.

A hacky way of implementing it could be adding some randomness to the bomb's trajectory, but I think it would be bad design since then it would indeed be random and not hard(er) to hit the target. Or maybe it could work if the error margin got smaller with decreasing distance between plane and target building, but it would still be hacky I think

hallow mortar
thin fox
#

but he can just delete the projectile in a certain altitude

hallow mortar
hallow mortar
thin fox
delicate tangle
#

Is there a fix and or reason why the entitycreated eventhandler will occasionally miss units? (Ie a loadout script will not be applied).

wicked roostBOT
#
How to use SQF syntax highlighting in Discord

```sqf
// your code here
hint "good!";
```

// your code here
hint "good!";
delicate tangle
#

I dont have it on hand - I did it in the past but scrapped it because it didnt work 100% of the time.

thin fox
#

you'r asking for a fix for a unknown code🤔

delicate tangle
#

Like this


addMissionEventHandler ["EntityCreated", {
    params ["_entity"];

_entity execVM “loadout.sqf”



}];

#

The entity doesnt always exec the script. Usually runs into issues when a lot of units are created all at once.

delicate tangle
#

Just a loadout script - remove item, add unforom, helmet, etc.

thin fox
thin fox
delicate tangle
#

You mean kindof man, etc?

thin fox
#

because it can get any object, such as vehicles, air, helicopter

#

it can throw an error (or a silent one) and your script just stop working (maybe by skipping some actual units)

quaint oyster
#

Is it possible to use the flash light on the minimap effect from contact dlc in base game?

slim acorn
#

So I got all my scripting crap to work on a mission but I'm having difficulties getting a server to load some mods....

 3:34:37                                               @icp |                 @icp |      false |      false |     GAME DIR (Empty) | da39a3ee5e6b4b0d3255bfef95601890afd80709 |  11fdd19c | /home/customer/srv/a340k/@icp
 3:34:37                                              @tiow |                @tiow |      false |      false |     GAME DIR (Empty) | da39a3ee5e6b4b0d3255bfef95601890afd80709 |  11fdd19c | /home/customer/srv/a340k/@tiow
 3:34:37                                             @tiow2 |               @tiow2 |      false |      false |     GAME DIR (Empty) | da39a3ee5e6b4b0d3255bfef95601890afd80709 |  11fdd19c | /home/customer/srv/a340k/@tiow2
 3:34:37                                    Grimdark Armory |            @grimdark |      false |      false |     GAME DIR (Empty) | da39a3ee5e6b4b0d3255bfef95601890afd80709 |  11fdd19c | /home/customer/srv/a340k/@grimdark

Thought maybe one of you might know why this happens. I'd like to test my mission on actual multiplayer server....

#

and yes all the mods are downloaded

granite sky
#

It's Linux so it's probably a case sensitivity issue.

#

Make sure the folder names are addons not Addons

slim acorn
#

seriously??

granite sky
slim acorn
#

I couldn't see those channels, I looked too xD

pallid palm
#

Hello All: i was reading up there lastnight and i'm not sure i understand,
i made a Steal the car mission,
And when you take Car1 its called, witch is a opfor car,
Some Opfor choppers = O_Heli_Light_02_F come after me but they don't seem to Attack me that much,
How can i get Chopper1 and Chopper2 and Chopper3 to Attack me Better

fair drum
#

i have an interesting issue. I'm not sure if its a race condition or what, but i have the following being executed from data from a module.

// server function
if (!isServer) exitWith {};

params ["_carrier", "_side"];

private _carriers = missionNamespace getVariable QGVAR(carriers);
_carriers set [_side, _carrier]; // this is a hashmap
// yada yada stuff below

due to when modules initialize, i'm pausing it depending on gamestate:

// module function
waitUntil { (missionNamespace getVariable [QEGVAR(game,game_state), -1]) >= GAME_STATE_INIT };

// do stuff

so there are two modules, one for west, one for east. they should be editing the hashmap sequentially and gives the following results on SP and local hosted:

// SINGLE PLAYER AND LISTEN SERVER
22:22:43 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carrier Added For Side: EAST
22:22:43 [CARRIERSTRIKE] (game) INFO: InitCarrier | All Carriers: [[WEST,<NULL-object>],[EAST,165284aa080# 627667: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]

22:22:43 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carrier Added For Side: WEST
22:22:43 [CARRIERSTRIKE] (game) INFO: InitCarrier | All Carriers: [[WEST,1656e422080# 626946: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F],[EAST,165284aa080# 627667: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]

this works as intended. however, on a dedicated server, I get the following:

// DEDICATED SERVER
22:28:59 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carrier Added For Side: WEST
22:28:59 [CARRIERSTRIKE] (game) INFO: InitCarrier | All Carriers: [[WEST,1bafe462b00# 626946: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F],[EAST,<NULL-object>]]

22:28:59 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carrier Added For Side: EAST
22:28:59 [CARRIERSTRIKE] (game) INFO: InitCarrier | All Carriers: [[WEST,<NULL-object>],[EAST,1baff083580# 627667: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]

they cancel each other out. its the weirdest thing...

#

this is the only place that the hash is edited. everywhere else its just pulling data from this hash

#

more debugging

// SINGLE PLAYER AND LISTEN SERVER
22:50:14 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carriers Pre Edit: [[WEST,<NULL-object>],[EAST,<NULL-object>]]
22:50:14 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carrier Added For Side: EAST
22:50:14 [CARRIERSTRIKE] (game) INFO: InitCarrier | All Carriers: [[WEST,<NULL-object>],[EAST,11c53eca080# 627667: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]

22:50:14 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carriers Pre Edit: [[WEST,<NULL-object>],[EAST,11c53eca080# 627667: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]
22:50:14 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carrier Added For Side: WEST
22:50:14 [CARRIERSTRIKE] (game) INFO: InitCarrier | All Carriers: [[WEST,11ac72f2080# 626946: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F],[EAST,11c53eca080# 627667: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]
// DEDICATED SERVER
22:49:04 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carriers Pre Edit: [[WEST,<NULL-object>],[EAST,<NULL-object>]]
22:49:04 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carrier Added For Side: WEST
22:49:04 [CARRIERSTRIKE] (game) INFO: InitCarrier | All Carriers: [[WEST,26c1a12a080# 626946: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F],[EAST,<NULL-object>]]

22:49:04 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carriers Pre Edit: [[WEST,<NULL-object>],[EAST,<NULL-object>]]
22:49:04 [CARRIERSTRIKE] (game) INFO: InitCarrier | Carrier Added For Side: EAST
22:49:04 [CARRIERSTRIKE] (game) INFO: InitCarrier | All Carriers: [[WEST,<NULL-object>],[EAST,26c1b206080# 627667: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]
pallid palm
#

opfor choppers

#

@granite sky oh they are the umm armed base Opfor chopper O_Heli_Light_02_F

granite sky
little raptor
fair drum
#

hash map is initialized here. initGame is only called once

granite sky
#

You have proved that it's only called once?

little raptor
#

and on another note, why are they even switching orders?

#

sp is east west, dedi is west east...

fair drum
#

that I can't tell you other than wonky firing of modules

granite sky
#

It's a hashmap, it's allowed :P

fair drum
#

i think he means the processing of those modules, the order of them

little raptor
#

yeah

fair drum
#

will the isGlobal = 2 fire again on the server on a join? even if the function it calls is blocked by a server check?

#

no wait, its not firing additionally, I would have two sets of log messages

real tartan
#

I wish there would be some event handler for tasks

fair drum
real tartan
# fair drum as in?

as you have basic event handlers ( killed, deleted, take, put, ... ), mission event handlers, ... something to track tasks, like task was created, updated, changed state ...

#

instead you need to do a loop to detect changes

little raptor
#

if you're the one making changes, you know when they happen already

fair drum
#

yeah I only get one set of messages:

22:49:04 [CARRIERSTRIKE] (game) LOG: InitGame | Saving missionNamespace game data...
22:49:04 [CARRIERSTRIKE] (game) LOG: InitGame | Data save complete...

so the hash isn't being created twice I think

real tartan
fair drum
#

if you really want to do it that way, you know you can create your own event handlers right?

little raptor
#

can you even use multiple triggers at once for a task? thonk

fair drum
#

thats what a scripted event handler or a CBA event handler is for. making custom events

real tartan
pallid palm
#

just use task module's

little raptor
#

maybe it's updated by a network msg somehow

hallow mortar
#

You don't even really need to make a scripted EH for this. You can make a function and call that every time you do a task change. One line of code in the task change code.

real tartan
#
  • got this problem, that I cannot detect changes after task is completed. E.g. scenario that task is "success" and I will change task to "cancelled"
fair drum
little raptor
#

yeah

#

discord failed to make the reply it seems 🥲

#

oh no it is a reply 😓
you confused me for a sec meowsweats

fair drum
#

yeah, but we were also talking about CBA events which use publicVariable events as well. so didn't know who you were referring to

little raptor
hallow mortar
real tartan
little raptor
#

no, just put your code after calling BIS_fnc_taskSetState

real tartan
#

well easier to "connect" to BIS function, than rewrite every execution of tasks change in mission ( e.g. hundreds of condtions )

real tartan
little raptor
#

you said wrapper for BIS fnc
it's not the same thing

hallow mortar
#

All that being said, since BIS functions are functions, it is within the realm of possibility that they could be updated to add a built-in scripted EH call. Such things do exist for other BIS functions, and SQF changes do happen. You may as well make an FT ticket for it.

real tartan
real tartan
little raptor
pallid palm
#

i thought wrapper was a guy that did dance music lol he he

real tartan
little raptor
#

I don't care what's easier or not and that's not the point

real tartan
#

same thing, but you do you

hallow mortar
fair drum
#

I think what I'm going to do it go back to the way I had when I first started, which was make the modules add the data to an array to process, then after init, those arrays are processed to build the game data. almost like forcing the init order. instead of calling the functions directly

little raptor
fair drum
#

its so annoying that the initialisation order changes with SP & MP

pallid palm
#

if you think that's annoying try getting a 2" ball into a 4-1/4" cup from 485 yrds

little raptor
#

maybe there's something wrong with Dedmen's new networking improvements

fair drum
#

nope didn't work.

I am getting a bunch of:

23:47:44 Server: Object 2:1568 not found (message Type_114)
23:47:44 Server: Object 2:1567 not found (message Type_110)
// about 25 lines total

between the logs of the carriers being added

#

but I do have a lot of local only objects

fair drum
# little raptor if you're on profiling or dev branch, try stable too

so I removed the hash from the main initGame.sqf and made it locally:

LOG_1("Carriers Pre: %1",missionNamespace getVariable [ARR_2(QGVAR(carriers), createHashMap)]);
private _carriers = missionNamespace getVariable [QGVAR(carriers), createHashMap];
_carriers set [_side, _carrier];
missionNamespace setVariable [QGVAR(carriers), _carriers, true];
LOG_1("Carriers Post: %1",missionNamespace getVariable [ARR_2(QGVAR(carriers), createHashMap)]);
// DEDI
23:54:32 [CARRIERSTRIKE] (game) LOG: Carriers Pre: []
23:54:32 [CARRIERSTRIKE] (game) LOG: Carriers Post: [[WEST,233df3b7580# 626946: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]

23:54:32 [CARRIERSTRIKE] (game) LOG: Carriers Pre: [[WEST,233df3b7580# 626946: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]
23:54:32 [CARRIERSTRIKE] (game) LOG: Carriers Post: [[WEST,233df3b7580# 626946: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F],[EAST,233e0279600# 627667: carrier_01_hull_base_f.p3d Land_Carrier_01_base_F]]

so now its working... but I'm pretty sure that the initGame.sqf version wasn't being called more than once. Maybe something was happening during the transit of the variables over the network for the large set of data

pallid palm
#

should i post my issue 2x if i did not get help ?

stable dune
pallid palm
#

o i C

#

lol

#

Hello All: i was reading up there lastnight and i'm not sure i understand,
i made a Steal the car mission,
And when you take Car1 its called, witch is a opfor car,
Some Opfor choppers = O_Heli_Light_02_F come after me but they don't seem to Attack me that much,
How can i get Chopper1 and Chopper2 and Chopper3 to Attack me Better

fair drum
hallow mortar
#

AI aircraft are generally not super good at using fixed weapons against ground targets. They have difficulty lining up.
reveal is definitely the best way to get them to try it though - you can use it to give them perfect information about your position, which they will act on but struggle to actually obtain on their own.

pallid palm
#

i see thx guys

#

them wonky ai choppers lol

#

man, one time they shot the shit out of me, and the next time they just fly by, lol

#

i made it a long drive to get to the commander so i give the choppers a good chance

#

thx for the info guys !

tepid rune
#

someone can help me ? I want scripts for play with friend in Arma 3 to use UGV load injured player
I want to control the UGV and make it able to load injured.

tender fossil
real tartan
#

is there a get equivalent for setVehicleAmmo ?

proven charm
cosmic lichen
pallid palm
#

omg i love the Block thingy on Discord, its so Awsome, i love this program

granite sky
#

@pallid palm AI attack helis are mostly useless unless they have guided missiles or a ball turret. Occasionally they'll land a rocket volley. Fixed guns either miss by miles or more often don't shoot at all.

#

Use a Kajman or the proper NATO attack heli if you want to die.

pallid palm
#

@granite sky well i did what them guys told me and holy shit, them choppers shot the hell out of me, in the enemy car, it was Awsome its working Awsome now thx m8

fair drum
#

You can also use a fired event handler to veer the shots away from the car if you want to do it for cinematics without slaying the player

pallid palm
#

no no its working really good, from what them Awsome guys, told me, its Awsome

#

as a matter of fact i don't think i can even make it to the commander unless i drive like a zig zag them choppers are Awsome

#

talk about explotions all around me holy shit WOW

granite sky
#

oh yeah, if you want them to miss then the light attack helis are fine.

pallid palm
#
{
    _x forgetTarget Car1;
    _x reveal [Car1, 4];
} forEach units _grp;
#

this did the trick

#

now they don't miss lol holy shit

#

i use that code in a Attack chopper script i made and WOW them choppers are good now

#

i got KIA every time

#

now i think i must make the drive way shorter just so i have a chance to make it to the commander lol

#

all from Awsome help from you great guys in Discord

#

i love you guys WooHoo Arma 3

#

now im kinda scard to play that mission lol

#

just think, you take the car and you think oh yeah i got it woohoo and then caboom all around you lol Awsome just Awsome

#

i think i'm going to add 1 more chopper then there will be 3 choppers lol

#

you can stop the car and shoot the choppers down, but if the car gets destroyed then is a mission failure

lunar lichen
#

hey guys, im making a display for a small HUD type dialog however depending on what resolution i build the display affects other resolutions. does anyone know how to make the dialog adapt to the display resolution / ratio?

pallid palm
#

the choppers keep respawning too so well you know

lunar lichen
pallid palm
#

10 player mission

lunar lichen
#

^ thats the same dialog on 2 diff ratios / resolutions

pallid palm
#

chopper AI are not wonky anymore woohoo WOW

#

the 1st time i played the mission after the fix i was like omg holy shit Look out WOW

#

then the Taps music was playing lol

#

i don't think the mission can be Won with only 1 player now, We need Team Work Woohoo.

#

all my missions are based off of Team Work

#

respawn Options are

#
"infinite Respawns",
"No Respawn",
"5 Total Respawns",
"10 Total Respawns",
"Team Respawn"
thin fox
#

Okay

pallid palm
#

thx for the ok m8 !

deep marten
#

Yo, possible to get all players joining in zeus gamemaster 48+2 to spawn in as nato? i've gota script but it kicks me. thanks

atomic niche
#

!code

wicked roostBOT
#
How to use SQF syntax highlighting in Discord

```sqf
// your code here
hint "good!";
```

// your code here
hint "good!";
haughty linden
#

please help… I need a trigger that can activate if any opfor soldie shoot..

faint burrow
quiet wind
#

Hey folks, is there any way to get configSourceAddonList to return all the class entries in CfgPatches? Trying to allocate all loaded addons to a game master.

#

activatedAddons works only in multiplayer, so when singleplayer testing it screws up the module

tulip ridge
#

What do you mean by "all the class entries in CfgPatches"?

If you mean literally everything, just use configClasses

quiet wind
#

Unfortunately it just returns the config path and not the config class

tulip ridge
#

Apply { configName _x }

#

configName returns class name of a config path

cosmic lichen
#

Is there no way to get the state of disableMapIndicators ?

quiet wind
real tartan
faint burrow
#

But is this from difficulty settings? Or not?

#

Could you check please? Turn on in difficulty settings, for example, tactical ping, turn it off using disableMapIndicators, and check what returns difficultyOption "tacticalPing".

crystal ore
#

hey guys, I've made myself a respawn point using a user texture with the following code in it's init as per the wiki:
if (isServer) then { ship_spawnpoint = [BLUFOR, getPosATL this, "My West Respawn"] call BIS_fnc_addRespawnPosition; deleteVehicle this; }

It works great when I use "run in MP" in eden, but when I run it on the dedicated it exhibits some interesting behavior. On dedicated MP it'll make the spawn point, but it won't give the spawn point a name, and will merely do the "X of Y" naming of a respawn point without a name value.

More importantly, attempts to use BIS_fnc_removeRespawnPosition in triggers will fail to remove the spawn point while running on the dedicated server via ship_spawn call BIS_fnc_removeRespawnPosition;

#

does anyone have any ideas? I've tried setting the trigger to execute only on the server, I've tried having it detect bluefor with the condition this && player in thisList

pallid palm
#

do you have to use a texture ?

crystal ore
#

the interesting thing is that I have a dynamic spawn point on the map that executes with
sh call BIS_fnc_removeRespawnPosition; sh = [west,sh01_3,"Safe House"] call BIS_fnc_addRespawnPosition;
but it put the name of "my west respawn" on the dynamic point and not the first point I have set

crystal ore
#

however, the behavior is the same if I put that spawn code in a trigger

pallid palm
#

markers can be invisible too

crystal ore
#

(minus the deletevehicle ofc)

crystal ore
pallid palm
#

holy shit lol

#

why is it that high

crystal ore
pallid palm
#

oh i see

#

wow thats freeking high

crystal ore
#

orbital drop

pallid palm
#

rgr

crystal ore
#

had to turn off the parachute animation

#

sorry, freefall

pallid palm
#

i see wow thats high, but i guess if youre sim-ing ET

crystal ore
#

doing a set of missions involving orbital dropping onto a hostile planet

pallid palm
#

i see looks cool

crystal ore
pallid palm
#

so you need something invisible up there hmmmm

faint burrow
pallid palm
#

yeah i never had anything that high i'm not sure how to help m8

crystal ore
pallid palm
#

can you script a marker to be that high

crystal ore
#

I added that "if not present" to try and see if it would work, but it doesn't look like it

#

hint doesn't execute

#

the music one executes, but the problem is that it doesn't seem to work on dedicated

pallid palm
#

hmmm interesting

crystal ore
#

everything works in eden MP

#

but things like syncing a trigger to an eden infantry respawn module isn't working on the dedi server

faint burrow
crystal ore
#

mhm

#

I have to execute globally on the debug console, and that only seems to half work

#

it probably doesn't help that my mission file is 25mb

faint burrow
#

What do you want? For the music to play for the player who entered the trigger and for the respawn position to be deleted?

crystal ore
#

yep

#

the ship is only to be accessible while they're on it and building their kits

#

once they drop, the ship is no longer accessible and they respawn on their medics and team leader + any safe house they can find

#

part of the problem is that the music is set to be local to each player

#

each player has their own independant fnc_jukebox instance to give them dynamic music

faint burrow
crystal ore
#

"E of Zdrma" needs to be "Eyes Wide Open," and "Eyes Wide Open" needs to be "Safe House"
"E of Zdrma" also needs to be removed, and hasn't been

#

the code did execute tho

faint burrow
#

Unfortunately, I can't help here. Most likely, there is some kind of bug.

#

Does the trigger work as you need?

crystal ore
#

everything else on the trigger worked

#

and when I use the debug console global exec does remove the ship spawn point

faint burrow
#

With my suggestions for the trigger settings, has the respawn position been deleted?

crystal ore
faint burrow
#

That's strange.
Unfortunately I'm on a computer that doesn't have the game installed, so I can't check.

crystal ore
#

I'm going to try remoteexec with 0 instead of 2

#

force it global instead of keep it on the server

faint burrow
#

I have another solution:

  • Add this line after setting ship_spawnpoint:
publicVariable "ship_spawnpoint";
  • Revert the trigger "On deact." field value.
crystal ore
#

set to global doesn't work either

deep marten
# deep marten Yo, possible to get all players joining in zeus gamemaster 48+2 to spawn in as n...
// if (isServer) then {
    // Move current players
    {
        if (isPlayer _x && side _x != west) then {
            private _grp = createGroup west;
            [_x] joinSilent _grp;
            systemChat format ["%1 was moved to BLUFOR.", name _x];
        };
    } forEach allPlayers;

    // Handle future JIP players
    addMissionEventHandler ["PlayerConnected", {
        params ["_id", "_uid", "_name", "_jip", "_owner"];

        ["", {
            waitUntil { !isNull player && isPlayer player && side player != west };
            private _grp = createGroup west;
            [player] joinSilent _grp;
            systemChat format ["%1 was moved to BLUFOR (JIP).", name player];
        }] remoteExec ["spawn", _owner];
    }];
};
hint "good!";
#

fount it out

upbeat valve
#

Just curious: i was told side group unit is "better" than side unit, anyone know why?

tulip ridge
#

A unit's side will change depending on relation, i.e. it might be "renegade"(?) sideEnemy if they kill a bunch of friendlies

#

Some other cases like that

#

From wiki:

Returns the side of a unit, vehicle, object or location.

side of a renegade soldier is sideEnemy
side of an empty vehicle is civilian
side of a crewed vehicle is, if present, commander's > gunner's > driver's or > cargo's side, in this order
side of a captive or dead unit is civilian. Use side group _unit to get the underlying side (see Example 2)
you can use playerSide to know the real player's side
upbeat valve
#

Ahh now i remember that yeah, thanks

frail skiff
#

Hey, had yet another question, hopefully the last for quite a while.

How does one go about showing subtitles (BIS_fnc_showSubtitles) over cinematic bars?

#

The weirdest bit is that it seems to work fine if the black bars are created in init.sqf and the dialog via trigger, but it stops working when using a script other than init

upbeat valve
tulip ridge
upbeat valve
#

Oh there is! For the record the second one is over twice as fast, at least on the performance intensive mission im running right now

#

Thats actually a very cool feature

hallow mortar
# upbeat valve Kind of a related question then: should i do ``` private _airAssets = allUnit...

In terms of speed, aside from the number of commands, you can consider the number of items you're having to iterate over.
allUnits select { ... } is checking that condition for every unit that exists. That condition also has to have 3 parts, because it has to have a side check as well.
units opfor select { ... } only has to iterate over OPFOR units. Its condition is simpler, as well.
If you have 50 OPFOR units and 50 BLUFOR units in the game, the second option only has to iterate over half as many items.

#

However, because of units changing their apparent side under certain conditions (like being incapacitated or captive), the second one is a little less robust. If you aren't concerned about that, then it doesn't matter, but if you need to also detect units that are in these side-shifted states but originally belonged to this side, then the first option may be your only choice.

upbeat valve
#

I see. Here's something else ive got going on that's weird. Here is a function called fn_isDebug:

private _debug = false;
if (_debugNum == 1) then {
    _debug = true;
};
_debug;```
when I run ```MORK_fnc_isDebug;``` in console it returns some junk about isNIl random whatever, but when I run the code of the function it returns true, which is correct. Why is it doing this? I have other functions working so i dont think its a description.ext problem
upbeat valve
#

Nevermind its because the function has to be called or spawned

granite sky
#

If you type the name of a function then it'll return that function. A function in SQF is just a variable pointing to a code block.

dusk gust
#

Anyone know of a way to return an attachment position relative to the weapon/player? ex proxy:\a3\data_f\proxies\weapon_slots\side.001"

warm hedge
#

selectionPosition

dusk gust
# warm hedge selectionPosition

From what I've found with testing, you can't select the weapon of a player normally.
Using cursorObject to get the weapon itself, it will return NOID mx.p3d for example, but every selectionPosition will return at [0,0,0]

warm hedge
#

I see the point

#

There is very scripted workaround

#

createSimpleObject the weapon and selectionPosition it

little raptor
#

like this

dusk gust
#

Definitely saving that, much appreciated guys

chilly bronze
#

any way to make a unit invisible but still able to take damage (hideObject makes it impervious to bullets)?

little raptor
#

no, but you can make an invisible unit yourself (invisible = no resolution and shadow LOD) based on the A3 sample's soldier model

#

the game does have many invisible soldiers itself but iirc they also don't have fire geometry

foggy stratus
#

private _grp = createGroup east; private _ai = _grp createUnit ["C_Soldier_VR_F", [0,0,0], [], 0, "FORM"]; for "_i" from 0 to 5 do {_ai setObjectTextureGlobal [_i,""];_ai setObjectMaterialGlobal [_i,""];};

#

This is how I create invisible targets that AI will always target and shoot (like for hunting animals, I attach the VR dude to the animal)

little raptor
foggy stratus
#

That is true, which blows.

#

I make them crouch when attaching so not that noticeable, and only attached for when I actually want some AI to target them.

little raptor
#

why don't you use CBA invisible targets? (if you use CBA)

foggy stratus
#

Cuz I was unaware!

#

I don't like the vanilla invisible targets because they stop bullets and make a metallic sound when hit. Do CBA targets do that?

little raptor
#

they're probably better for what you're doing because CBA targets are tanks, but what you're using are soldiers with many bones + AI (bad for perf)

foggy stratus
#

I'll check it out thanks.

chilly bronze
#

@little raptor have you ever experimented with being able to control/move AI units by playing animations? i have a script that lets me move/control any AI similar to the direct control mode in men of war if youve ever played it, except the movement gets stuck near objects, bodies, walls, in buildings, etc, not sure if youve ever experimented with this and found a solution
https://streamable.com/6jleh7

Watch "2025-06-10 21-02-10" on Streamable.

▶ Play video
little raptor
#

and don't use setVelocity on the units

little raptor
#

it's related to cutRsc layers. you can't fix it afaik (apart from what you said)
you can however create our own subtitle system (too much effort) or maybe the cinematic function

frail skiff
#

Bugger.~~ How would one go about creating their own subtitle system? It's only 5 lines, so I'm willing to do it if there is no other solution~~ nvm found it

pallid palm
#

hello all: i was woundering is there a way to Attach a flashLight to "arifle_SDAR_F"

warm hedge
#

No

proven charm
#

there is flashlights in vanilla arma

atomic niche
warm hedge
#

No it doesn't have a top rail even

proven charm
#

ah ic. wasnt sure if he knew there was flashlights at all

atomic niche
#

it does no?

warm hedge
#

Never does unless you mean a Mod

proven charm
#

how do you turn on the light anyways? xp

atomic niche
warm hedge
#

No, it doesn't have optic slot

atomic niche
#

🤯

warm hedge
#

It doesn't have any slot

pallid palm
#

right

atomic niche
#

damn, i swear i remembered it with a top rail

pallid palm
#

nope no rail on the "arifle_SDAR_F"

#

it looks like theres a rail there but theres not

#

i mean when your in game it looks like theres a rail there but theres not

#

@atomic niche maybe we can put a rail on the side or the top of the "arifle_SDAR_F" that would be cool

meager granite
#

Shining flashlight underwater would've been super cool

pallid palm
#

yes that works

#

if your gun has a rail and you go under water you can have a flashlight on it and the light works

#

but you can't fire unless the gun is a "arifle_SDAR_F"

#

i see some switch guns under water back and forth to get the light on it

#

like you can do a ammo box under water with a addAction in it, with diff Loadouts

hallow mortar
pallid palm
#

no mods for me i only use vanilla

#

but thx m8

#

maybe Mr @atomic niche will do a vanilla rail on the "arifle_SDAR_F" woohoo

#

@proven charm

_x addPrimaryWeaponItem "acc_flashlight";
_x enableGunLights "forceOn";
formal stirrup
#

is there a way to give an object a highlighted look, kinda like an outline on the object

thin fox
#

like so

hallow mortar
#

An extension could possibly do it as a post-process effect. But that's an entirely different can of worms.

formal stirrup
#

hmm, a box around units would prob look alot worse than a single small box on the center

proven charm
hallow mortar
proven charm
#

right

hallow mortar
#

Shining a light on it could also produce an acceptable effect

formal stirrup
#

I was thinking about attaching a unit thats scaled up by like 1.1 to the object at first lmao

atomic niche
digital hollow
pallid palm
#

@atomic niche Awsome cool m8 Awsome

proven charm
#

how do you define keybinds that have multiple buttons? i have { DIK_RCONTROL + DIK_M } but it results to "End" in arma

pallid palm
#

you mean in a script or in the settings

proven charm
#

script or config actually , in the key Mappings

pallid palm
#

i just do it in the settings

proven charm
#

yea this is like for the settings

pallid palm
#

oh yeah you can have like 5 keys on 1 control

proven charm
#

yup

atomic niche
pallid palm
#

they will be red collor but thats ok

#

@atomic niche Awsome m8 keep up the great work

proven charm
#

red means conflict notlikemeow

pallid palm
#

no no its ok, it does not mean that

#

its just telling you, you have some more keys on that control.

#

like i have at least 20 red collor controls in my settings for years

tough abyss
#

Can anyone help me fix this? Game won' t launch. Was working fine before

hallow mortar
pallid palm
#

oh nooooo darnit

#

i'm hoping for Mr. Crumble to fix it👍

hallow mortar
#

You don't have to ping people all the time

pallid palm
#

copy that, sorry about that

snow viper
#

got a problem in my project, curious if anyone has tips:

in editor i placed a unit, in unit init i call a script that runs on the unit, that script does an execVM to run a script inside the mission folder, but no matter what i try i get "not found" even though the path is 100% correct

rain void
snow viper
true frigate
#

Heyo boys, got a troublesome one.
Started a new Dedicated server using FASTER and I'm using Extended Debug console to check test some scripts in game with a friend.
I can "watch" values but I can't execute commands to check for them, or execute code.

#

That goes for Server, Global, and Local exec.

granite sky
#

Get Advanced Debug Tools instead, it's better.

#

Dunno why that one wouldn't work though. Looks like it's the same one we integrated with Antistasi.

true frigate
#

That's what's confusing me haha

#

Not sure if it's an issue with the host

granite sky
#

ah yeah, I suck at names.

true frigate
#

No worries haha

#

What's really weird is that I can force code to execute by putting it in the "Watch" section lmao

granite sky
#

Host shouldn't matter. It's just a UI that runs remoteExecs.

spring stone
#

@tough abyss Could you somehow explain to me what that code does? (I'm not new to scripting but still am Limited in my ability to understand some codes. E.g. I still nt understand what "select" and the 0,5 means xD)

tough abyss
#

[1,2,3,4,5] select [1,3]
-> [2,3,4]
I think you can figure it out.

jade abyss
#

[1,2,3] = [select 0, select 1, select 2]

tough abyss
#

^ what?

jade abyss
#

[1,2,3] select 0 = 1

#

[1,2,3] select 1 = 2

#

[1,2,3] select 3 = 2

#

[1,2,3] select 4 = Error 😄

tough abyss
#

He means ARRAY select ARRAY

#

also you skipped an index

jade abyss
#

Ah, missrad

spring stone
#

Okay in your explanation I understand it, but in the practical use (like in the code @tough abyss send me, or that is used in many scripts) I don't really get what its doing. (E.g. "_obj = _x select 0;", "_target = _x select 1;" and "_specIndex = _x select 2;" from CHSA)

pallid palm
#

i can't tell, witch one of them Animations, is the Reload Animation

granite sky
#

Use animationState and gestureState to find out.

pallid palm
#

umm i'm not sure what that means i'm new to Animations

#

i tryed using the animation viewer but i just can't tell witch one is the reload Animation

#

i'll keep looking

#

you would think they would have a list saying this is the Reload Animation

granite sky
#

animationState returns the current animation of a unit. So you can just hint it in a loop and then reload.

pallid palm
#

oh ok i see let me try that

granite sky
#

Reloading might be a gesture rather than animation. I wouldn't know.

pallid palm
#

oh noo lol

#

well i have my script working ,with out the reload animation for now, till i figure it out later, i'll get right i just know i will

#

i just call it Slient Reload for now lol lol 🙂

#

see i came up with the idea to remove a mag from the player and add the same mag back so i don't have to repack my mags

#

works Awsome i just want the reload animation or whatever it is to play as it happends

upbeat valve
#

The wiki says for is much faster than forEach, example:

private _array = allUnits;        
for "_i" from 0 to count _array -1 do { private _x = array select _i; _x setDamage 0 }; // 0.107 ms    
{ _x setDamage 0 } forEach _array; // 0.0770 ms    

is this still true?

little raptor
#

yes

upbeat valve
#

So then forEach should be replaced with this format of for. good to know, my mission has a lot of functions with forEach allUnits or large arrays of objects in general

upbeat valve
#

Oh wait i just read it wrong

#

lol

#

im a little dyslexic maybe

little raptor
#

well I didn't read your post properly either. I thought you asked if forEach is faster and if what wiki said is still true

upbeat valve
#

So then the wiki is wrong? It says for is faster but provides contrary examples

little raptor
#

you sure? it says forEach is faster as far as I remember (which is correct)

upbeat valve
little raptor
#

that's wrong

#

forEach is faster for iterating an array

upbeat valve
#

Alright then

little raptor
#

it even shows that in its timings, but still says for is faster 😅

upbeat valve
#

Yeah right

#

I hope this performance page doesnt lie about anything else 😰

little raptor
#

it's not a lie. maybe a typo

upbeat valve
#

thats what i mean :P

little raptor
#

or maybe whoever wrote it was talking about plain for (which has nothing to do with arrays)

upbeat valve
#

since functions pre compile code, is there any use to ever using execVM

little raptor
#

not really. except if you're lazy and don't care about performance

pallid palm
#

darnit nothing will show me the reload Animation for the mxm

#

i mean the syntax

#

oh shit w8 a sec i know what to do woohoo, oh hell yeah i got it yeah woohoo Arma 3 hell yeah, works Awsome now just as i wanted ```sqf
if (needReload player == 1) then { reload player };

upbeat valve
# upbeat valve https://community.bistudio.com/wiki/Code_Optimisation#Performance

The wiki also says declaring private variables in loops outside of them is faster, which i understand, but does that mean that EVERY private variable I use in a loop should be declared outside of it? The example it provides is

private ["_a", "_b", "_c", "_d"];
for "_i" from 1 to 10 do
{
    _a = 1; _b = 2; _c = 3; _d = 4;
};
// 0.0195 ms

for "_i" from 1 to 10 do
{
    private _a = 1; private _b = 2; private _c = 3; private _d = 4;
};
// 0.0235 ms
``` , and ill do the first example for better performance but ive never seen it done in any script before
tough abyss
#

It defines variables. The better way to do it is to use params now though.
_x params ["_obj", "_target", "_specIndex"];

granite sky
#

It's a perf vs readability tradeoff. Declaring a variable isn't super expensive.

#

I do it in a handful of loops. Not worth it anywhere else.

#

The page is partially out of date as it's missing any mention of inAreaArray or simpleVM.

#

The former's extremely powerful for various 2d searches. The latter means that most short code loops are far quicker than longer code loops.

#

so for example _array select { conditionA } select { conditionB} is often much quicker than _array select { conditionA and { condition B } }

#

And manipulations that require transforming arrays with simple apply code become a lot more useful.

errant iron
#

TIL, i have a few chained conditions where that might be beneficial

pallid palm
#

yes me too woohoo

#

in my chopper scripts

#

and my LabTop script also

#

@granite sky thx for putting me in the right direction

little raptor
#

private _var = has the same perf as _var =. in fact the first one is most likely slower because it also creates an array

#

and also, without private the game will have to keep going up the scope tree to find where a var is defined

#

so the only reason to ever put private outside the loop is if you need it outside the loop

little raptor
#

(don't use it with codes that spawn something tho, because you'll get thousands of spawned code)

granite sky
#

Creating a new variable in a scope has an additional cost, which is why pre-declaring is faster.

errant iron
# granite sky so for example `_array select { conditionA } select { conditionB}` is often much...

tested this on three of my loops:

  1. iterating over vehicles of 17 elements, five conditions
  • 0.0433ms => 0.0317ms
  1. iterating over groups opfor + groups independent of ~80 elements, 13 conditions
  • 0.3131ms => 0.2210ms
  1. iterating over allUnits of 638 elements, 10 conditions
  • 1.0330ms => 0.5897ms
  • 0.4265ms if i reorder some conditions as well
    i also get a big readability bonus, so i'll take this even if it wasn't faster
hallow mortar
# little raptor it even shows that in its timings, but still says for is faster 😅

I think it's correct if you take into account the "if _x is not required" part. Compare the second type of for shown there (0.0170ms) with the equivalent first type of forEach shown there (0.0250ms). When you add in needing to operate on the array elements, then forEach becomes faster.
It just needs a little bit of rewriting to make it more clear what it means. Moving "if _x is not required" to the start of the sentence would probably help a lot.

thick hatch
#

Heya all! just a quick thing hopefully, I'm trying to give my players 'voicelines' to say with addAction, but I keep getting given an 'undefined variable: this' when using the action. 'this' obviously works for the action, but not for the say3D source. Any thoughts?

this addAction
[
    "Hurrdurrdurr",
    {
        this say3D "placeholder.ogg";
    },
    nil,
    1.5,
    false,
    true,
    "",
    "true",
    -1,
    true,
    "",
    ""
];```

Edit: just confirmed that naming the object/player and using that as the source works as well
meager granite
#

addAction context has its own _this which include a lot of stuff in it

thick hatch
#

Could I do 'this = source' in my init field then put 'source' in the say3D field?

meager granite
#
Parameters array passed to the script upon activation in _this variable is:
params ["_target", "_caller", "_actionId", "_arguments"];
#

_this is array of 4 items above

thick hatch
#

hmm well I tried putting _caller in the field as well, same problem

meager granite
#

You probably didn't do params ["_target", "_caller", "_actionId", "_arguments"]; to use _caller

thick hatch
#

right yes! need to put that before hand. I'll try that now

meager granite
#
params ["_target", "_caller", "_actionId", "_arguments"];
_caller say3D "placeholder.ogg";
```or just
```sqf
(_this select 1) say3D "placeholder.ogg";
```if you don't want to unpack `_this` into local variables
#

same thing

thick hatch
#

It seems to be solved! Just need to have fun adding them to CfgSounds now. Thank you!

meager granite
#

Also I think say3D is local so only client pressing the action will hear the sound

thick hatch
#

grrrrr

#

soo playSound3D* then?

meager granite
#
params ["_target", "_caller", "_actionId", "_arguments"];
[_caller, "placeholder.ogg"] remoteExecCall ["say3D", 0];
thick hatch
#

Or that too, easy! Thanks Sa!

#

I think I remember you from my scripting adventures at least a year ago now, you help ALOT!

chilly bronze
thick hatch
meager granite
#

and somehow missed ; lol

little raptor
little raptor
#

why would you iterate over an array if you don't need x?

little raptor
granite sky
#

Fun fact, even if you don't use _x, forEach is still faster :P

proven charm
#

anyone know how to define key mapping that have multiple keys? (in CfgDefaultKeysPresets) . i tried { DIK_RCONTROL + DIK_M } but it results to "end" key

proven charm
#

that's the wiki i have been looking when trying to figure this out. I tried { "0x9D + 0x32" } but that also doesnt work.

cosmic lichen
#

Nevermind. I was thinking of INPUT_CTRL_OFFSET but that allows both ctrl keys.

winter rose
pallid palm
#

wow that stuff is cool

hallow mortar
# little raptor why would you iterate over an array if you don't need x?

If you need to do something based on the number of items in the array, it can seem like the most convenient and natural approach. Using forEach technically does what you need and is more compact than counting and using for. If you don't already perfectly understand the way SQF performance works (hence why you're reading that page), it's an easy "trap" to fall for.

#

Like, let's say you want to add 5 magazines to a box for each player in the game. Well hey, that sentence had "for each" in it, didn't it? And you can use forEach to do that, quite easily. A newer scripter who doesn't really know the detailed background of the different commands is probably not going to think any further than that. Until they read a code optimisation guide that explains it to them...

hallow mortar
wispy ravine
#

Hey just asking is there a way to force snow to replace rain? I just wanna set it up for a mission as my players are going to be in Mountainous Afghanistan and I have all the weather timings set up I just need it to snow

#

I did find a script but it forces snow on the get-go and was just wondering if there was a simple script to just change rain to snow and have it gradually come in like rain does on overcast

hallow mortar
#

You can use syntax 2 of setRain to set advanced rain parameters, including whether to use snow instead of rain. The command can be run at any time during the mission. You can then use the first syntax to change the rain density over time as normal.

The one thing you can't do is interpolate between rain and snow. It is either rain or snow; the particle type change can only be instant. If you need a smooth transition, you'll have to gradually stop the rain, change the particle type to snow, and then gradually start the rain again.

upbeat valve
winter rose
#

done

thin fox
thin fox
#

let me double check it

#
getSensorThreats cas2;
// [[O Alpha 1-2:1,"locked",["radar"]]]
// [[620777: missile_sam_04_fly_f.p3d ammo_Missile_s750,"missile",["radar","missile"]]
upbeat valve
#

How do i avoid nesting lots of if statements in a while loop? If i use exitWith it exits the while loop as well, right? But i need the loop running the whole time

winter rose
proven charm
#

exitWith exits only the current scope

upbeat valve
winter rose
#

I would write a function? 😄

upbeat valve
#

It is a function, like functions for the things in this code?

#

Ah i see some ways to improve it

haughty linden
#

please guys I have 5 days trying to make a trigger that activate if opfor firing in the trigger area , I really need this

faint burrow
#

I already provided a possible solution.

haughty linden
#

yes I saw it sir but i dont have any idea in promation please can you give me more explication

#

i ve tryed anything but it doesn work , please sr i would apreciate more explication or a picture

faint burrow
#

What did you tried?

thin fox
haughty linden
#

i put this in the trigger condition it does not work

haughty linden
thin fox
thin fox
# haughty linden

You just want to detect if a opfor soldier fired, right? Schatten already provided you with a possible solution by using "Fired" event handler I think. Did you check what he sent to you?

haughty linden
#

he di not sent it yet sir

#

if only i could see an example of

haughty linden
#

oh okay… i ll check it. thanks

#

this addEventHandler ["Fired", {
params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_gunner"];
}];

haughty linden
thin fox
faint burrow
haughty linden
#

multiple unit

faint burrow
#

Are they all AI? Are they in the same group?

haughty linden
#

yes they are ai but different group

faint burrow
#

Is your mission for single player?

thin fox
#

important question

haughty linden
#

player should rescue a hostage in area but if the soldier that infront of ther hostage hear any shotgun.
he should kill the hostage

#

yes for single player

#

the only thing that i dont have is the trrigger that should be activate if any opfor unite open fire.

faint burrow
#

OK, try this:

  • Place in init.sqf:
{
    _x addEventHandler [
        "Fired",
        {
            params ["_unit"];

            firedOpforUnit = _unit;
        }
    ];
} forEach (units opfor);
  • Trigger condition:
_unit = missionNamespace getVariable ["firedOpforUnit", objNull];

!(isNull _unit) and { _unit inArea thisTrigger }
upbeat valve
#

Does anyone else have a problem with planes spawned by BIS_fnc_spawnVehicle starting at the right position but then immediately descending almost to the ground?

haughty linden
faint burrow
#

Screenshot?

haughty linden
faint burrow
#

Remove ";" at the end.

thin fox
faint burrow
#

I think it doesn't make much sense because it's added to group of units, not to a single unit. I would make trigger non repeatable.

haughty linden
haughty linden
faint burrow
haughty linden
#

yes sir

faint burrow
#

OK, try this:

!(isNil "firedOpforUnit") and { !(isNull firedOpforUnit) } and { firedOpforUnit inArea thisTrigger }
haughty linden
#

where

faint burrow
#

The same field.

haughty linden
#

in the trigger sir ?

faint burrow
#

Yes.

haughty linden
faint burrow
#

That's not my code.

#

And why you put ";" at the end again?!

haughty linden
#

sorry sir

faint burrow
#

There is "Copy" button, so just copy and paste, not type by hands.

haughty linden
#

got it

#

sorry but it doesnt work..😭

faint burrow
#

Show what you did.

haughty linden
faint burrow
#

And? That's it?

haughty linden
#

yes sir with the init.sqf as you said

faint burrow
#

What's in init.sqf?
And you didn't add anything in "On activation" field. What should happen on trigger activation?

haughty linden
#

h1 setcaptive true;

#

h1 is the bluefor hostage name

#

perhaps i must sent you the mission

faint burrow
#

I don't have the game installed on my computer.

#

Make sure that event handlers and trigger fire.

haughty linden
#

ok i ll try , thanks for all

faint burrow
haughty linden
#

its a carpet with a mission sqf and a rehen,sqf file

#

and a init sqf file

#

in malden map with rhs usa mods

faint burrow
#

I don't see my code in init.sqf.

haughty linden
#

i was using a sample before puting it in the mission

#

i use to use a simple scenario with 2 soldier befor using it in the reel mission, it would take too much time to chek it

faint burrow
haughty linden
#

the problem is; i dont know scripting and im learning just for arma 3;

#

can you fix it in the mission file and sen it to me please 🙌

faint burrow
#

Well, that's a good starting point.

haughty linden
#

There is a trigger in the mission location center that is connected to several flares, when the opfor that is in the room hears shots from the opfor, he will kill the hostage that is in front of him.

granite sky
magic dust
#

Is is possible to read or modify the Mission statistics on the map screen?

real tartan
#

Any way to place mines on bridge, instead under it ?
using

private _pos = [ [ _marker ], [ "water" ] ] call BIS_fnc_randomPos;
_mine setPosATL _pos;
granite sky
#

Getting the z-height of a bridge surface is a bit shaky because bridge objects are often incorrectly defined.

#

Worst case you can raycast the thing from above.

#

lineIntersectsSurfaces or whatever.

still forum
proven charm
errant iron
#

Excuse me for asking, but does anyone know where Leopard20 is? I noticed he's left the server and his workshop mods like Advanced Developer Tools are no longer available, which caught me by surprise when I had just installed it on my server last night and I'm now finding out that Steam silently uninstalled it from my launcher. Apologies if this isn't an appropriate place for this!

still forum
hallow mortar
#

I respect people wanting to take a step back from modding or the community etc. but I wish they wouldn't blow up everything they've ever released when they do it :U wouldn't hurt to leave stuff up after spending years getting people to rely on it

cosmic lichen
#

It's his decision and he has all the rights to do so.

hallow mortar
#

I didn't say he couldn't. I'm not going to try to sue him over it. It's just a confusing decision to make.

cosmic lichen
#

It's not

#

Maybe he doesn't want to work on it anymore and also doesn't want it to get broken at some point.

hallow mortar
#

And so the best solution to that is to simply erase absolutely everything, including one of the most relied-upon tools for modding and scripting, with no warning, no archives, no opportunity for anyone else to take over maintenance? I personally disagree, I think there were much more graceful options available. But again, I'm not going to try to chase him over it or anything. I hope he's okay.

#

Hopefully someone can make a replacement for the improved config and function viewers at least. Going back to the BI versions is going to be brutal.

cosmic lichen
#

What's the best solution, is for him to decide, he is the owner.

rich frost
wind basin
#

That's gonna make things quite difficult, are there any alternatives?

tulip ridge
#

Dedmen has some debug tools, but haven't seen any other mods with an improved config viewer

#

Time to start working on ADT 2 I guess

hollow thistle
#

I'm considering looking into making open source alternative but struggling with time, might end up on dead projects pile considering I barely do A3 stuff these times 🫠

ornate whale
tulip ridge
#

Advanced Developer Tools

tulip ridge
fair drum
#

i'll contribute

hollow thistle
#

We could consider hosting one under CBA or ACE maybe.

Community Developer Tools or smth

tulip ridge
#

Would be nice

fair drum
#

cba would be good because most people use it

tulip ridge
#

I think they mean under the CBA name, not in CBA or ACE itself

hollow thistle
#

Yes

tulip ridge
#

They also left the arma discord, and told someone in ace to delete their reupload

hollow thistle
#

They did not, the mod is gone, do not expect it to come back.

#

Won't and can't share more.

fair drum
#

that sounds like a falling out

tulip ridge
hollow thistle
#

We can organize on ACE Discord I guess. I'm happy to help/give blessing to get under GitHub org but my nearest free weekend to look more into it is in two weeks 🫠

fair drum
#

does it delete their messages on discord? we were on a roll figuring out bounding box issues

hallow mortar
fair drum
tulip ridge
#

You'll have to search from:leopard20

cosmic lichen
magic dust
#

if you are lucky enough, you might able to find the mod on your local disk:

D:\Game\SteamLibrary\steamapps\common\Arma 3\2369477168

D:\Game\SteamLibrary\steamapps\workshop\content\107410\2369477168
thin fox
#

F @Leopard20

cosmic lichen
#

@bitter heart <@&105621371547045888>

tulip ridge
#

Time to ping that person whenever a mod's needed

still forum
still forum
#

bots named discord moderator with discord logo as avatar

cosmic lichen
#

I was pinging because of the name calling.

still forum
#

But you pinged a inactive scam bot account

cosmic lichen
#

uff

#

In the past typing '@@' brought up the moderator role

#

It does now too but immediately disappears

edgy dune
#

how will I run my skiptime 12 script now Dustie

fair drum
#

the same way? lol

edgy dune
#

ik its just I had a file saved just for that cause I got tired of typing it out

#

super duper lazy

fair drum
#

make a mod for yourself, that binds the script to a key bind. embrace even more lazy

edgy dune
#

plz no theres too many keybinds

#

AI voice recognization 🤔

fair drum
#

you also have 7erra's

edgy dune
#

2 scary

#

dang I wonder what I used before for config viewer

#

thats really the main thing cause base game one is a tad bit slow

sharp grotto
#

Glad i recently updated my local dedicated test server with it, so i still have the last build meowsweats

verbal saddle
fair drum
edgy dune
tidal ferry
#

Massive loss for the community, ADT were the best tools around

#

So if Leopard20 took down all of his stuff off of Steam Workshop, does that mean ADT is now technically abandonware?

tulip ridge
tidal ferry
granite sky
#

I don't see any license on it, so the default legality is that you can continue using it if you have a copy, but you can't redistribute it.

acoustic night
#

W gatekeep

tidal ferry
#

Rare Leopard20 L

spring stone
#

Okay tested the things now. The real_date by KK does not work for me. The code from the BI wiki works kind of. It even sets the time while it somehow misses on the date. It gets day, month, hour and minute but the year is off. Right now the mission is set to 2013 and even with the script the mission stays at 2013. I'm mean its not the biggest of deals. I can adjust that but...its odd! xD

ornate whale
granite sky
#

Sounds like they're just not using the building waypoints that wouldn't be useful?

#

Custom waypoints sounds more interesting though.

pallid palm
#

Leopard20: he was a good guy, he helped me a lot, he will be missed

#

i wounder what happend

tacit lion
#

Yeah I only recently started using ADT and it's just poof gone

meager granite
#

Wow. So sad to see Leopard20 go.

sly cape
#

I have a script that I'm making and I don't understand why it doesn't work with JiP. I have code inside a remoteExec ["spawn", 0, true], but it doesn't activate for others in official public Zeus. Oddly, when I local host and connect to myself from a different instance, it does work.

granite sky
#

I would think spawn is remoteExec blocked in public zeus.

sly cape
granite sky
#

You probably can't? Public zeus is probably quite limited in what global scripting you can do.

#

You'd have to ask the people who run the servers.

sly cape
meager granite
#

What's in your script? Maybe it executes too early for JIPs.

sly cape
#

What do you mean?

meager granite
#

If you do something that depends on fully loaded game it might not be loaded yet by the time JIP stuff executes

granite sky
#

JIP functions execute very early in the client init order.

meager granite
#

Just show your script

sly cape
#
[[], {
    while {sleep 0.5; handgunWeapon player == "hgun_esd_01_F"} do {
        _antennas = handgunItems player;
        if ("muzzle_antenna_01_f" in _antennas) then {
            missionNamespace setVariable ["#EM_FMin", 78];
            missionNamespace setVariable ["#EM_FMax", 89];
            if ((missionNamespace getVariable "#EM_SelMax") - (missionNamespace getVariable "#EM_SelMin") != 1) then {
                missionNamespace setVariable ["#EM_SelMin", 83];
                missionNamespace setVariable ["#EM_SelMax", 84];
            };
        } else {
            if ("muzzle_antenna_02_f" in _antennas) then {
                missionNamespace setVariable ["#EM_FMin", 390];
                missionNamespace setVariable ["#EM_FMax", 500];
                if ((missionNamespace getVariable "#EM_SelMax") - (missionNamespace getVariable "#EM_SelMin") != 10) then {
                    missionNamespace setVariable ["#EM_SelMin", 440];
                    missionNamespace setVariable ["#EM_SelMax", 450];
                };
            } else {
                if ("muzzle_antenna_03_f" in _antennas) then {
                    missionNamespace setVariable ["#EM_FMin", 432];
                    missionNamespace setVariable ["#EM_FMax", 434];
                    if ((missionNamespace getVariable "#EM_SelMax") - (missionNamespace getVariable "#EM_SelMin") != 2) then {
                        missionNamespace setVariable ["#EM_SelMin", 432];
                        missionNamespace setVariable ["#EM_SelMax", 434];
                    };
                } else {
                    missionNamespace setVariable ["#EM_FMin", 0];
                    missionNamespace setVariable ["#EM_FMax", 0];
                    missionNamespace setVariable ["#EM_SelMin", 0];
                    missionNamespace setVariable ["#EM_SelMax", 0];
                };
            };
            sleep 0.5;
        };
    };
}] remoteExec ["spawn", 0, true];
meager granite
#

Your while loop ends as soon as player drops the spectrum device

#

Even with 0.5s sleep player might still not be loaded into the game during JIP so your loop ends and nothing happens

sly cape
#

Then what should I do?

meager granite
#

Why do you want your loop to end once player drops the spectrum device?

#

If they drop it and pick back up you'll no longer get your frequencies changing inside loop

meager granite
#
    while {sleep 0.5; true} do {
        if(handgunWeapon player == "hgun_esd_01_F") then {
            _antennas = handgunItems player;
            //...conditions here...
        };
    };
sly cape
#

I think it works now, thanks! ❤️

haughty linden
#

Is there a way to make the AI ​​so skilled that it never misses its shots?

frozen seal
#

holy sheesh, advanced developer tools is gone

#

god bless local copies

#

I guess it's a matter of time now until a game update breaks it though

#

hope Leopard20 is ok, something must have happened to cause such a crashout

pallid palm
#

@haughty linden make your Game settings to expert and see what happends

minor viper
#

How to open the rear door (ramp) on a (base game) chinook?

I've tried


chinook animate ["door_rear", 1];
chinook animate ["door_rt", 1];
chinook animate ["door_rb", 1];
chinook animate ["door_lt", 1];
chinook animate ["door_lb", 1];
chinook animate ["door_rear_hide", 1];

chinook animateDoor ["door_rear", 1];
chinook animateDoor ["door_rt", 1];
chinook animateDoor ["door_rb", 1];
chinook animateDoor ["door_lt", 1];
chinook animateDoor ["door_lb", 1];
chinook animateDoor ["door_rear_hide", 1];

And a couple of other things, too. Nothing seems to work at all.

split ruin
#

any fps friendly dust storm script? 🤔

tulip ridge
minor viper
#

Looks like it's been renamed by Aegis

#

but it's the base game twinrotor

tulip ridge
#

I think it's Door_rear_source then, but you can try all of those

minor viper
#

do I use animate or animateSource? I've only ever used animate

tulip ridge
#

animateDoor or animateSource

#

Vanilla should be mostly animateDoor

minor viper
tulip ridge
#

Look at the AnimationSources class in the helicopter

minor viper
#

Can that be done in-game or is it a case of pawing through the actual config files?

tulip ridge
#

You can do it in-game, there's a config viewer tool

minor viper
#

Thanks man I'll look into it, really appreciate the support 🩵

digital hollow
radiant lark
#

heyy whats wrong with the forums

atomic niche
radiant lark
#

Never thought I'd see Arma forums get ddosed

atomic niche
#

not ddos, other spam issues

radiant lark
atomic niche
#

taking a bit longer than we hoped but it'll be back at some point

radiant lark
#

Alright, thanks for info

pallid palm
#

hello @atomic niche how's the flashlight on the underwater gun going ?