#arma3_scripting
1 messages ยท Page 685 of 1
So, to put the code in english.
You are asking the prae's to attach the plane to itself.
As you want the Prae's to attach to the plane, the plane needs to be the parent object with the init
[this, nuke] call BIS_fnc_attachToRelative;this addEventHandler ["Fired",{(_this select 0) setVehicleAmmo 1}]
"nuke" is the nuclear warhead ive seated in the plane so im gonna try attaching the praetorians to that
As just do what I said, "the plane needs to be the parent object with the init"
thats what it was before but now im gonan try attaching it to the land vehicle ive attached to the middle of the plane
which is "nuke" in the init
"nuke" has an init attaching it to the plane
See here (Should start a 5.00)
Liru, sets BCM as the parent object, as this is the one which will move etc
And then BCM has all the attachTo 's as its the parent object
ahhhh i see! thank you for the help! ill see if i can get this thing raining hell
@fair drum
so you made global var and assigned to it _respawnlaptop which could be nil, what do you think global var will be?
Sorry I dont think I quit eunderstand?
Oh, _respawnlaptop itself is the variable name of an object
no it is not

you canโt have object named with underscore
it will be nil
huh ok
_respawnLaptop was just defined as the variable name in an objects 3den attributes
can you test if itโs nil?
if (isNil{_respawnLaptop}) then {diag_log "_respawnLaptop is Nil"};
add this to that code then check .rpt
Yup
18:17:00 "_respawnLaptop is Nil"
although let me test something real quick
ye without the _ its fine
Although note that the error for the remoteExec still remains
{_respawnLaptop} is not an expression tho
Loose the brackets
Also _prefixed variables are private by default
Ah its killzone kid, he probably kniws what hes doing
you should know too
Is it possible to place a vanilla composition (predefined within the game files) via script or is the only possible way to place compositions with BIS_fnc_objectsMapper and BIS_fnc_objectsGrabber (which seem to be typically used for custom compositions only?)?
can't remember how to find an object bone list from the console
selectionNames?
yeah that was the one
thanks
are there any other options for grass cutting except for the grass cutters in the editor?
like are there any commands that can be used to do it over a volume?
no
aww
thx
if i want to use grass cutters for an entire airstrip how bad of a performance hit does that cause?
be sure to make them Simple Objects and it should be ok
cool thanks
I'm looking for a script to add a scroll menu option to open the ACE Arsenal. I have this one for the BI Arsenal. What do I need to modify?
player addaction [("<t color=""#FF4444"">" + "Open Virtual Arsenal" + "</t>"), {["Open", true] call BIS_fnc_arsenal}, "", 0, false, false];
And to clarify, I mean just to open the full ACE arsenal from any location.
player addaction [("<t color=""#FF4444"">" + "Open Ace Arsenal" + "</t>"), {[_this select 0, player, true] call ace_arsenal_fnc_openBox},[this]];
This is how you open Full Ace Arsenal from scroll wheel for anyone coming in from the future to find this. ๐
hello i created a mission with Intel ( init calls sqf file with a script on it ) so what i m trying to do is 2 hints
hint_2 "message bluh bluh ";
exit; ```
and i want the 2nd hint shows up like after 10 seconds
The command hint_2 doesn't exist.
The command exit exists, but nonsense in a SQF script
To make a suspension to a script, use sleep command
To make a suspension to a script, use
sleepcommand
sleep between the 2 hints
do i need make like this
hint "you have collect vital evidence";
sleep"10";
hint "message bluh bluh bluh "; ```
sleep 10;```
I'm trying to get an addAction that calls a function to work, the addAction appears, but nothing happens when I select it.
this addAction ["Spawn Practice Patient - Stab", SOG_fnc_Medical, [pracGurney, "stabWound"] call SOGMedical];
Supposesqf this addAction ["Spawn Practice Patient - Stab", SOG_fnc_Medical, {[pracGurney, "stabWound"] call SOGMedical}];the {} brackets for the codes
Disregard
the code is SOG_fnc_Medical tho 
IDK what it is ๐
Uh ah
Sorry I misread it ๐
Suppose you're using the SOG_fnc_Medical in a wrong way
you got SOG_fnc_medical, and SOGMedical, which one is the correct one? or are they both doing something? ๐
Make sure it atleast launched, just put like only debug command like systemChat
@warm hedge I'll implement that now
Pro tip: @'ing in a edit post, won't throw the ping @broken forge like this
really?
I know how to ping Dedmen now! ๐
โ๏ธ mods please ban /s
Hi, I'm trying to find out my steam playtime from Arma. I tried to query it by using
_playtime= getStatValue "TotalPlayTime";
_playtime= _playtime/60;
_playtime= _playtime/60;
hint format ["%1",_playtime];
but I get a time of 2600 hours even though I have about 3700 hours
maybe sum all of them?
(getStatValue "EditorPlayTime" / 60/60) + (getStatValue "SPPlayTime" / 60/60) + (getStatValue "DevPlayTime" / 60/60) + (getStatValue "StablePlayTime" / 60/60) + (getStatValue "MPPlayTime" / 60/60)
This gives a number close to my actual playtime. Not sure if it's correct
Nope. 5390..
can someone please help me with the scripting to add radio to come up in command menu ie team, supports, ect.. next should be radio but it's not. thanks
having launcher open counts towards steam hours and i don't think you can retrieve that number iirc
hi i got a problem with my ctrlGroup
0 spawn {
disableSerialization;
_display = findDisplay 46 createDisplay "RscDisplayEmpty";
_ctrlGroup = _display ctrlCreate ["RscControlsGroup", -1];
_ctrlBackground = _display ctrlCreate ["RscTextMulti", -1, _ctrlGroup];
_ctrlMap = _display ctrlCreate ["RscMapControl", -1, _ctrlGroup];
_ctrlButton = _display ctrlCreate ["RscShortcutButton", -1, _ctrlGroup];
_ctrlGroup ctrlSetPosition [ safeZoneX + safeZoneW * 3/4 - safeZoneH * 1/20,
safeZoneY + safeZoneH * 3/4 - safeZoneH * 1/20,
safeZoneW * 1/4 ,
safeZoneH * 0.3 ];
_ctrlGroup ctrlCommit 0;
_ctrlMap ctrlSetPosition [ 0,0, // the 0,0 pos is Not relatively to the control group ???
safeZoneW * 1/4 ,
safeZoneH * 1/4 ];
_ctrlMap ctrlCommit 0;
_ctrlMap ctrlAddEventHandler ["mouseButtonDown", {
if (_this select 1 != 0) exitWith {};
hint "map is actually here";
}];
_ctrlButton ctrlSetPosition [0, safeZoneH * 1/4 ,safeZoneW * 1/4, 0.05];
_ctrlButton ctrlCommit 0;
_ctrlButton ctrlSetText "Test";
};
My _ctrlMap is set to pos [0,0,X,X] but the positions is not calculated relatively to the control group.
_ctrlButton is done in the same way but its relatively to the control group,
what am i doing wrong here ?
Map is not even intended to be used within a Controls Group
and why ?
Somehow. It says โbecause of its complexityโ
I'm no RV Engine engineer
Could be caused by the fact that maps cannot be in controls groups. Engine treats them a bit differently because of how complex they are.
Karel says so
https://forums.bohemia.net/forums/topic/191876-map-control-not-positioned-correctly-using-ctrlcreate/?tab=comments#comment-3049009
Im creating a map control using ctrlCreate but its not positioning correctly, at least not visually. The orange box is a static background control with the same position the map control is given. So the position is correct, but the map doesnt work with it :S Source code: https://github.com/marsed...
not strictly a scripting thing, but anyone here have experience with alive? What sort of profile counts do you start having problems at?
Does anyone knows of an EH that measures the bullet speed?
Yeah I use that one when it comes out of the gun, but I want to measure the bullet speed at certain distances i.e 100m 500m...
Here is the code
/*
player addEventHandler
[
โFiredโ,
{
_myStr = format [โEH Fired. ID: %1 Bullet traveling at %2 Km/h.โ,
_thisEventHandler, speed (_this select 6)];
systemChat _myStr;
}
]; */
hint "good!";
spawn code that will waituntil the bullet is far away
this EH will trigger when you fire, not after
Spawn the eh code
Ok I think I got it, thanks
greetings guys, how could I make map centralized on current player pos after he has pressed "m" button in multiplayer?
mapAnimAdd command
guess, this command must be attached to some EH for map or not ?
perhaps it must be triggered somehow when some player presses M button
anyway thanks for the tip ๐
yeah, found it on wiki
Iz has more options and some additional checks
I think it's enough for small upgrade ๐
What does this error mean? ```
ace_medical_damage_damageTypeCache setVariable [_typeOfProjectile, _damageT>
13:20:22 Error position: <setVariable [_typeOfProjectile, _damageT>
13:20:22 Error Reserved variable in expression
13:20:22 File z\ace\addons\medical_damage\functions\fnc_getTypeOfDamage.sqf..., line 37
13:20:22 Error in expression <lectRandom;
[_victim, _size, _bodypart, _wound] call ace_medical_fnc_addDamageTo>
13:20:22 Error position: <_wound] call ace_medical_fnc_addDamageTo>
13:20:22 Error Undefined variable in expression: _wound
13:20:22 File SOG\SOG_Functions_F\Medical\scripts\medical.sqf..., line 47
Here is a link to the medical.sqf https://sqfbin.com/bikamegimosoyohabuyo
This is what I have in the unit's init field: ```sqf
[] spawn { waitUntil { sleep 1; !isNil "SOG_fnc_Medical" }; [a1, "randomWound", pracGurney] call SOGSpawnVictim; };
_wound is undefined that's what it is
and then i guess ace defaults something to "", which throws reserved error in setVariable
@copper raven are you able to look at the medical.sqf file I have on sqfbin.com
Hey, does Keyframe Animation work in MP?
for an attached plane to a carrier, I want to set it's direction to a mem point. I try sqf _plane setVectorDir ((_spots selectionPosition "C2End") vectorFromTo (_spots selectionPosition "C2Start")); but this leaves the plane facing 180 degrees, e.g. backwards. Any vector math magic that makes this work?
seems the attachTo messes up everything ๐ฆ
use setvectordirandup
after attach to
also make sure that selectionposition returns position and not 0,0,0
I'm looking for a mission, upon mission start, move one whole side (east) to one of 5 pre-defined spawns via markers.
I have this so far ```sqf
_spawns = selectRandom [spawn1,spawn2,spawn3,spawn4,spawn5];
if (side player == east) then { setPos (getPost _spawns)};
Does this look good so far?
Also, with the selectRandom, when it picks one of the spawns, does that then save and be applied to the each player and they are moved to the same spot.
Or does it call the selectRandom on each person on east and thus moves each client to one of the 5, as compared to the earlier.
Where do you execute that script?
player is unknown to the server
isPlayer?
the player variable
initServer.sqf
missionNamespace setVariable ["RndSpawn", selectRandom [spawn1,spawn2,spawn3,spawn4,spawn5], true};
initPlayerLocal.sqf
if (side player == east) then {player setPos RndSpawn};
initServer.sqf is executed before initPlayerLocal.sqf so the RndSpawn variables should be set before any player gets teleported
(not tested!)
before i search for hours, can i have a txt database in SP without lan multiplayer server?
any way to command a player to lock a laser but not fire
Is there an arma equivalent to string.endswith
Is there a way to add display EventHandlers to a display created by cutRsc?
Donโt understand the question but probably yes
Try ```sqf
_string = "lala.";
_endswith = ".";
_string select [count _string - count _endswith] isEqualTo _endswith;
Apparently cutRsc can be used to create a fake display which is not null or displayNull, but also cannot be detected with allDisplays or findDisplay. So far can't get any display EHs to work with it. D:
findDisplay doesn't work with cutRsc
you can set its onload event handler through config, where it stores its own handle into some variable in ui namespace
is it possible to control range of artillery by scripts if a player uses arty computer in-game?
I found just getArtilleryComputerSettings instruction but it fetches settings of current arty comp. Is there any 'setArtilleryComputerSettings' or similar to it script command ?
How does one remove the grenades from the pilot of PF helicopters? This vehicle player weaponsTurret (assignedVehicleRole player select 1) isn't returning any weapons
anyone know where/how to access the Contact DLC directory, trying to figure out how they put tracks on a ugv
it's ebo'ed and therefore encrypted, you may not open it
okay, how do i figure out how to combined tanks and ugvs?
maybe the wiki has something on it, otherwise Google I'm afraid
afaik contact is the first and only mod/people to make a tracked ugv
tried doing it myself with very very broken resaults
is there anyway to gain permission to view what they did?
did you try checking the wiki?
ive looked previously the past few days, an also im looking now but to no avail
ok so i have
[
["USAF_A10"],
{[_this] execVM "scripts\pylons\a10pylons.sqf";}
],
in the object init pointing to
params ["_vehicle"];
_vehicle setPylonLoadout ["1","USAF_PylonRack_2Rnd_AIM9X_LAU105", true];
_vehicle setPylonLoadout ["2","USAF_PylonRack_7Rnd_HYDRA70", true];
_vehicle setPylonLoadout ["3","USAF_PylonRack_1Rnd_AGM65E", true];
_vehicle setPylonLoadout ["4","USAF_PylonRack_1Rnd_GBU24", true];
_vehicle setPylonLoadout ["5","USAF_PylonRack_1Rnd_GBU12", true];
_vehicle setPylonLoadout ["6","USAF_PylonRack_1Rnd_GBU54", true];
_vehicle setPylonLoadout ["7","USAF_PylonRack_1Rnd_GBU12", true];
_vehicle setPylonLoadout ["8","USAF_PylonRack_1Rnd_GBU24", true];
_vehicle setPylonLoadout ["9","USAF_PylonRack_1Rnd_AGM65E", true];
_vehicle setPylonLoadout ["10","USAF_PylonRack_7Rnd_HYDRA70", true];
_vehicle setPylonLoadout ["11","USAF_PylonRack_4Rnd_GBU39", true];
hint "hello";
i get the hello, but the pylons aren't switched, any ideas?
try asking in #arma3_model
will do o7
[
["USAF_A10"],
{[_this] execVM "scripts\pylons\a10pylons.sqf";}
],
```I hope that's not the whole init field, otherwise you would get an error
and since it's an init field, you may want to use this, not _this
(and also not use init field at all if it is an MP mission)
@split notch?
@winter rose its a slice of the init as i'm running kp lib
not here ๐ try sqfbin
pylon: Number or String - pylon index (index starts from 1) or pylon name (see getCompatiblePylonMagazines Example 4)
right i've tried it like
_vehicle setPylonLoadout ["1","USAF_PylonRack_2Rnd_AIM9X_LAU105", true];
and like this
_vehicle setPylonLoadout ["pylon1","USAF_PylonRack_2Rnd_AIM9X_LAU105", true];
@split notch โ
Oh my, it's Karmakut
How would I disable Post Process effects in a trigger?
I used the example from the wiki;
_hndl ppEffectEnable true;
_hndl ppEffectAdjust [1.0, 1.0, 0.0, [1.0, 0.1, 1.0, 0.75], [0.0, 1.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]];
_hndl ppEffectCommit 0;
sleep 10;
ppEffectDestroy _hndl;```
But I think the sleep timer is off, so I would like to end the effect on another trigger;
Start trigger
```_hndl = ppEffectCreate ["colorCorrections", 1501];
_hndl ppEffectEnable true;
_hndl ppEffectAdjust [1.0, 1.0, 0.0, [1.0, 0.1, 1.0, 0.75], [0.0, 1.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]];
_hndl ppEffectCommit 0;```
End trigger
```ppEffectDestroy _hndl;```
This enables the effect, but when I activate the 'End' trigger it returns something like 'error undefined variable in hndl'
yep, underscore-prefixed variables are local
so you can make it STRDL_ppEffect =
Hmm replace _hndl with STRDL_ppEffect in both fields?
yes, making it a global variable
But I think the sleep timer is of
you cannot sleep in a trigger, you should then spawn the code
_hndl = ppEffectCreate ["colorCorrections", 1501];
_hndl ppEffectEnable true;
_hndl ppEffectAdjust [1.0, 1.0, 0.0, [1.0, 0.1, 1.0, 0.75], [0.0, 1.0, 1.0, 1.0], [0.199, 0.587, 0.114, 0.0]];
_hndl ppEffectCommit 0;
[_hndl] spawn {
params ["_handle"];
sleep 10;
ppEffectDestroy _handle;
};
Well I thought the boxes of the SOG Cinema Base module were trigger boxes ๐ but as you probably already noticed I'm pretty new to this scripting business
The module features a run on start, run on end, and loop box, I put 'Start trigger' content in the start box and 'End trigger' content in the end box
if you want a timer, use this
if you want an "end trigger", use a global var ๐
So '_hndl' is a local var while 'STRDL_ppEffect' would be a custom global var?
yes
global as in "accessible from all scripts on the machine", not as "visible by everyone on the network"
global != public ๐
hi guys, im getting undefined variable error but it's not, can someone tell me what i'm missing or how to improve it?
params ["_radius"];
_types = ["Airport", "NameLocal", "NameVillage", "NameCity", "NameCityCapital", "StrongpointArea", "NameMarine"];
_locations = nearestLocations [position player, _types, _radius];
_location = nil;
{
if !(_x in (missionNamespace getVariable "completedLocations")) exitWith { _location = _x; }
} forEach _locations;
_location
_location should return nil when it can't be overwritten, but when it's nil it says it's not defined
code still works as expected, it's just the undefined error im trying to get rid of
missionNamespace getVariable "completedLocations"
exactly the same ascompletedLocations
ignore, nil is used to undefine a variable, fixed it by just changing it to a boolean..
are you sure it's defined at all? completedLocations
you can just private it
private "_location";
i was checking if locations was still nil by doing isNil somewhere else:
_location = [_radius] call HAVOC_fnc_findNearbyLocation;
while {
typeName _location == "BOOL"
} do {
_radius = _radius + 1000;
_location = [_radius] call HAVOC_fnc_findNearbyLocation;
sleep 1;
};
but as you can see im now just checking if it;s a boolean, because i changed it from nil to false
_location = false;
check isNil
i did that, but i guess when a function returns a variable that is of value nil, it starts crying that it's undefined, because nil is used for undefining variabled
it used to look like
_location = [_radius] call HAVOC_fnc_findNearbyLocation;
while {
isNil "_location"
} do {
_radius = _radius + 1000;
_location = [_radius] call HAVOC_fnc_findNearbyLocation;
sleep 1;
};
perhaps use locationNull (?) in your case, instead of checking against a nil
that is alot cleaner than using false, ill try it out
yeah that works, thanks!
full code for anyone that want to have it
HAVOC_fnc_findNearbyLocation = {
params ["_radius"];
_types = ["Airport", "NameLocal", "NameVillage", "NameCity", "NameCityCapital", "StrongpointArea", "NameMarine"];
_locations = nearestLocations [position player, _types, _radius];
_location = locationNull;
{
if !(_x in (missionNamespace getVariable "completedLocations")) exitWith { _location = _x; }
} forEach _locations;
_location
};
HAVOC_fnc_getNearbyLocation = {
_radius = 1000;
_location = [_radius] call HAVOC_fnc_findNearbyLocation;
while {
_location isEqualTo locationNull
} do {
_radius = _radius + 1000;
_location = [_radius] call HAVOC_fnc_findNearbyLocation;
sleep 1;
};
_location
};
if (isNil {missionNamespace getVariable "completedLocations"}) then {
missionNamespace setVariable ["completedLocations", [], true];
};
_location = call HAVOC_fnc_getNearbyLocation;
_completedLocations = missionNamespace getVariable "completedLocations";
missionNamespace setVariable ["completedLocations", (_completedLocations + [_location]), true];
missionNamespace getVariable "completedLocations"
replace it withcompletedLocations
is that because it automatically makes it public?
because it's literally the same thing
got it, thanks
you're using getVariable
not setVariable
thanks, changed it now
am I doing the file path properly?
player addAction ["Action", "Folder/action.sqf"];
should probably be \
why do you ask?
it wasnt working with / but I changed it to \ and its working
how can I check to see if there are people in a vehicle?
I am trying to write an artillery script and I've run into a snag.
_shell = createvehicle [_type, [(getMarkerPos "artyhelper" select 0) + (random 50-25), (getMarkerPos "artyhelper" select 1) + (random 50-25), 50],[],0,"none"];```
This won't create a mortar shell eg: "vn_shell_81mm_m57_fs_ammo", but it will create a bomb eg: "vn_bomb_500_blu1b_fb_ammo".
Any idea why this might be the case?
for starters, theres is a helper function that gives you a random pos near a point
also, i think your random math is false, you probably want a range of -25..25 but instead you get 25..75
does it give you any errors for the mortar shell?
you are right about the maths!
This is the case because _type is "vn_bomb_500_blu1b_fb_ammo".
no errors on the shell that I can see
What I'm trying to tell you is: You have to find out why _type is "vn_bomb_500_blu1b_fb_ammo" instead of "vn_shell_81mm_m57_fs_ammo".
sorry what I mean is if the _type is "vn_shell_81mm_m57_fs_ammo" it wont work, but if _type is "vn_bomb_500_blu1b_fb_ammo" it will
Do spawned shells have inertia? I set _type to a tow missile and it launched when created. Are my shells just being launched off into the middle of nowhere?
https://forums.bohemia.net/forums/topic/154972-how-to-set-artillery-shell-directly-on-the-ground-in-arma3/
Hmm perhaps you have the same problem as discussed here?
this makes sense to me
That was exactly it! Thanks a lot @willow hound and @spark turret
https://www.youtube.com/watch?v=NDrgn8L9d-k
How would one go about scripting this if I may ask?
Hey guys. Im building a new Persistant survial project in the S.T.A.L.K.E.R. Universe and im actively looking for scripters that can help me build the systems. It will be based on Exile.
My vision is a Server that people can also play on when they are alone and dont get bored since it will basicaly a singleplayer experience on an arma server. There will be different Faction locations known from the original games with questgivers, roaming AI that you can interact with, mutants that make the world feel alive, A huge world to explore based on the Tschernobyl Redux map, all the systems that exile has, ACE medical system.
can anyone here think of a good way to determine if a vehicle classname is a military or civilian vehicle?
does the config tell you what side a vehicle is for? or what faction?
SetObhectScale and attachTo i imagine
try faction command
does this work on empty vehicles
Hello, what can be a reason of that error?
Observer R ะัะฐะฒะพ 3-5:3 (Pepsi) REMOTE (reb_4) in cargo of R ะัะฐะฒะพ 3-5:3 (Pepsi) REMOTE (reb_4); message was repeated in last 60 sec: 1402
it looks more a log than an error tbh
Hmm
Last time i have problems with freezes when player got shot from somebody, though - there something like a lot of damageHandlers, or something else, but... no - damageHandler works good.
But still can't understand - what can be a reason for that lag (players got something like 0 fps when getting damage). And no errors in logs. Checked a lot of scripts, but no idea...
Maybe you had problem like this in your missions?
Does anyone know how I can make myself zeus?
I am hosting a server for MIKE FORCE (S.O.G. DLC gamemode) and for some reason, I was able to zeus until I died and respawned, now zeus isn't assigned to me. How can I re-enable Zeus
For cfgSentences, do I need to specify an actor within the topic class? If so is there a way that I could pass a variable from a custom array for the actor param?
Does anyone know?
Common Game/Server Bug; occurs with 'Synced' Player slots -- Game Master
Fix, try re-spawning again. Or DC, and reconnect.
ah theres no actual unassign and reassign it like you can with ACE? I got achillies on it.
Well, as you arent player id assigned to a zeus slot; the only way to convince it, is to try and force the module to recognise you. By either respawning, or DC'ign
ACE only works when you are Admin logged (In regards to what are you talking about)
Though, you cannot assign or reassign Zeus. using ace; ofc you can promote someone to Zeus.
Admin Logging in ace, allows you to create a Zeus slot when there isnt one.
But when modules are synced to player either by variable name or physically; ace/ admin logging will have issues with it
Ah okay
@winter rose I was looking at that, just trying to wrap my head around it, about half way down the page is how my config.cpp is setup, it works, but I'm not following on if the actor param is mandatory.
The only reliable way, is steam id synced module
it depends on if you are using kbTell or BIS_fnc_kbTell :)
I'm using BIS_fnc_kbTell
if you provide the actor, it will be used
Otherwise it will try to figure it out iirc (I wrote that page)
So I created a custom function, will it figure out that the unit that I'm passing into the array is the name of the actor? ```sqf
SOGSpawnBriefing = {
params ["_unit", "_topic", "_sentence"];
_unit = param [0];
_topic = param [1];
_sentence = param [2];
_unit disableAI "ALL";
_unit switchMove " ";
[_topic, _sentence] call BIS_fnc_kbTell;
};
```sqf
[sgt, "topic", "sentence"] call SOGSpawnBriefing;
I am looking for an event handler that triggers when a player becomes unconscious. And an event handler to check by whom someone was revived (vanilla revive system). But such event handlers don't seem to exist. Are there other possibilities?
@winter rose The conversation keeps telling me that actor is undefined
you'll have to make your own
How can I have a hint display to everyone when a task is completed
An actual hint or the whole task completed popup?
So a hint. Like the task is completed, cool, now here is a hint for the next task
'If ( โtask_1" call BIS_fnc_taskState == โSUCCEEDEDโ) then {hint โpasswordโ}'
If someone doesn't answer you until tomorrow I'll show you how. Currently lying in bed headed to sleep.
Same. No worries. Thank you
waitUntil {sleep 0.5; "task_1" call BIS_fnc_taskCompleted};
["Password"] remoteExec ["hint"];
if you're in charge of task completion just do the hint when you complete it (no need for waitUntil)
But that doesn't really help me to check who revived which player.
Hello people, I was doing some scripting involving profileNameSpace and had some problems with it. Apparently whenever I join or host any multiplayer server my profileNameSpace is completely empty. In Sp no problems.
I assume this is not intended behaviour. Could this be something with the Arma 3 player profile not transmitting and if so any any known ways to fix this?
I'm using allVariables profileNamespace to get the variable names, filter what I need to find and then use getvariable. My current problem is that allVariables profileNamespace returns nothing in MP.
I think it shouldnt return anything otherwise it would be concerning
getVariable specific values work, but iirc, allVariables profileNamespace working on multiplayer would be concerning regarding the safety of the profile..
Okay, good to know. ๐ The problem is that i cannot know the exact name of the variable, only one part of it, hence the need to filter trough them all.
is it something like myVar_1 myVar_2 etc?
Yeah.
then run a for loop , inside it do a getVariable with format ["myVar_%1", _forEachIndex]?
https://community.bistudio.com/wiki/allVariables
Multiplayer: Using profileNamespace and uiNamespace with this command has been disabled in multiplayer
indeed
Makes sense, I'll rewrite the thing so I can go for loop like Talya_taya suggested.
hey guys, trying to edit a script that has a random zone landing script to have the option to specify a specific lz on a placed and named marker. its for AI that spawns automaticaly. Ive tried hunting through the script to see what id need to remove/edit/keep but im getting lost. can i post it here for your thoughts?
on sqfbin if it's more than a few lines
9 lines
```sqf
// your code here
hint "good!";
```
โ
// your code here
hint "good!";
private _spaceMult = 1;
private _pos = [getMarkerPos "ZONE_RADIUS", (br_zone_radius * 2) * sqrt br_max_radius_distance, 600 * _spaceMult, 24, 0, br_heli_land_max_angle, 0] call BIS_fnc_findSafePos;
// We also find another position if it's too far from the zone
while {count _pos > 2 || _pos distance br_current_zone > (br_max_ai_distance_before_delete - 50)} do {
_pos = [getMarkerPos "ZONE_RADIUS", (br_zone_radius * 2) * sqrt br_max_radius_distance, 600 * _spaceMult, 24, 0, br_heli_land_max_angle, 0] call BIS_fnc_findSafePos;
_spaceMult = _spaceMult + 0.1;
sleep 0.1;
};
_pos;
its from bradens evvanex, so im not sure what will break if i just try and use marker lz`s to direct the AI thats spawned. I think i might have to spend a few weeks properly learning the sqf functions, but i thought id ask incase there is an easy edit.
private _pos = getMarkerPos "myNamedMarker";
```and you are good ^^
AI Zeus?!
There is no AI Zeus
Hey guys, did anyone play around with the old man functions in multiplayer?
they are complete undocumented :{
such as?
If I add a unit/vehicle to the garbage collector via addToRemainsCollector while they are still alive will they only be removed once dead/destroyed or do I need to wait until they are dead to add them?
never even considered that
just run it in an "EntityKilled" event handler and dont worry about it
Actually I am just going to roll with allDead...
If anyone here would be so awesome - trying to turn this into a code that applies for ALL blufor (my team) so we can sponge more bullets. This is for singleplayer! "player addeventhandler ["handledamage",{ (_this select 2) /2}];"
Right now it only affects the player.
removed once dead
Is there any way to use setUserMFDText with text with newlines in?
try with \n, but I don't think so
Yeah, i tried that and it didn't seem to work, I even tried with a static text source setting text = in the config (thought of that after posting this) and that didn't seem to work either
Hmm, I may have to re-evaluate feasibility of moving over.
How would I go about referring a custom function to an array of textures with timers that is provided in a mission's description file or sqf file?
IE. ```sqf
myArray = [["filePath\texName1.paa",30],["filePath\textName2.paa",15]];
Then an addAction to start the presentation, which calls my custom function. The custom function then takes myArray[]; and uses it
Working on a slide show presentation function with an AI presenting it using BIS_fnc_kbTell
And what is the problem now?
I dont know how to go about scripting said example, I tried and couldn't get it to work. Unfortunately I'm at work atm, so I can't even paste the custom function I created.
Hi,
With this code I can put the truck (_panne) exactly behind another one (_dep). but how to align the blue arrow with the yellow arrow in the direction of travel? I know the coordinates of each arrow.
_panne setvelocitytransformation [getposasl _panne,((getposasl _dep) vectoradd ((vectordir _dep) vectorMultiply -20)),[0,0,0],[0,0,0],vectordir _panne,vectordir _dep,vectorup _panne,[0,0,1],1];
Always with setvelocitytransformation to make a smooth movement
!code
```sqf
// your code here
hint "good!";
```
โ
// your code here
hint "good!";
Something like:
{
_x addEventHandler ["handledamage",{ (_this select 2) /2}];
}foreach units west;
Good evening fellas I'm having a small issue with a "Fired" EH on aircraft.
Here is the code:
vehicle player addEventHandler ["FiredMan", {
params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_gunner"];
systemchat format ["%1 was fired", _weapon];
if (_weapon == "FIR_AIM7") then {systemChat "aim7 fired"};
if (_weapon == "FIR_AIM9L") then {systemChat "aim9 fired"};
The script correctly displays X was fired but doesn't display the other commands, almost as if it's cutoff there.
I've tried with different weapons, using the "FiredMan" EH, using player instead of vehicle player all with no improvements.
I'm stuck, please can anyone help me?
@little raptoras in, getting the systems to work in multiplayer, with synchronized states accross all clients. I am especialy looking at the quest and relationship systems
I'm having this SAME exact issue. Did you ever figure out what was wrong?
Nope. Ended up dropping the script entirely
i'm entirely confused on why it works half the time. I followed the same exact thread you followed. It kicks the player if they enter the slot. but when i go and add my steamid, it still kicks me. if i mess with the txt file in any way it says it cant find it.
Whats the context here?
adding reserved slots
oh.
yeah its been a pain the butt.
i went and added this but i still either get an error, cant find allowedid.txt. or it kicks me
using that exact one
are you familiar with it?
Nope, but I will have a look at alternatives
i feel like the one provided is missing a step. and I think it has to do with the allowed portion. it doesnt recognize what that is supposed to mean
Have you done everything, the description and the inits?
and you followed the info.txt?
yes
The issue isnt getting the reserved slot to work. it kicks unwanted people out
the issue is, it also KICKS ME lol.
even when my allowedIDs.txt is in where the server.exe is
@frank mango
so it kicks me when I leave allowedIDs.txt with server.exe
BUT doesnt kick me when its left in the mission folder
no visible errors either.
I presume you are including all those files inside your mission folder right?
yes
So how was it with the server .exe.????
kicks me
No; how the file get to be in the same folder as your server exe
i put it there.
if its in your mission pbo it should be in your mission folder
The thread tells us to create an allowedIDs.txt and put it where the server.exe is located.
While all the other files will be in the mission folder
Ah sorry, wasnt looking at that bit
lol
I gotta still try on my test server. It seems to work on eden but never know if it works correctly live.
then ill put on my actual server.
@pulsar bluff Are you able to shed some like on how your Apex Framework manages Reserved Slots / Whitelisting?
waitUntil { crew _ifrit == [] };
Im trying to wait until a vehicle is empty. This is giving me an error: Type = array
Yes
use isEqualTo
== doesn't do array (wiki says)
thanks
thanks
@frank mango it works now! test server mission success. Kicks when supposed too and doesnt when the correct steamid is loaded!
This was exactly what it needed! THANK YOU! why wasnt this included in the thread that was posted?
I've decided to change my script to this. did I put the ! in the right spot?
waitUntil !{ _caller in ( crew _ifrit ) };
no
what about this:
waitUntil { _caller not in ( crew _ifrit ) };
not
not
Love that
and ! and not both say you cannot do what you did
and all the wiki page for ! says is that it reverses a boolen
there arent really any good examples for what I need
SQF works like this, for EVERYTHING
nularCommand
unaryCommand rightArgument
leftArgument binaryCommand rightArgument
but you wrote
leftArgument unaryCommand binaryCommand rightArgument
So Iโm still new to this but just to make sure Iโm reading this right
When task_1 is completed, wait half a second, and push the hint command with the argument โPasswordโ?
ok
im a bit confused. how can I reverse the boolen of ```sqf
{ _caller in ( crew _ifrit ) };
or is that where I made the mistake in the first place?
! or not take one argument on the right
so if you want to revert you have to do
! argument
You want to use _caller in ( crew _ifrit ) as argument.
So
! (_caller in ( crew _ifrit ))
this is the example the wiki page for crew gave:
player in (crew _tank);
ok
ohhh
yeah makes sense
because the () make it an argument
no it doesn't
well
you have to add parenthesis because
!_caller in ( crew _ifrit )
would result in
(!_caller) in ( crew _ifrit )
but you don't want to flip _caller, you want to first do the in check, and then flip the result
yes
No, it's check every 0.5 seconds if the task is complete, then hint.
Ah ok. That works
Hey, so did Art of War add the ability to change the map texture that shows up when you press the M key? If so/if not how would one go about doing that?
Now where did I read this before?! ๐ค 
How can I make a building uneditable/deletable/moveable by Zeus but still have its doors work? Simple object would normally work. But not for this specifically.
I understand that this is what I am supposed to use:
https://community.bistudio.com/wiki/removeCuratorEditableObjects
Is this literally all I know, or do I need to do something to it?
hey guys does anyone know how i can set up a AI helo to use the spot light?
that's probably it, it removes the object(s) from curator interface
Waituntil isnt actually a wait command, its a loop that is often used for waiting. Kinda misleading name
yes thats literally the only thing you need to use to make an object inaccessible to zeus.
make sure you use it on zeus module and not on zeus(player entity) itself. Maybe that part confused you if you made any attempts..
@copper raven thanks man i got it
Could someone take a look at this slideshow presentation function I'm working on and help me with getting it to work?
SOGBriefingChangeSlideTest = {
params ["_objName", "_SOGSlideArray", "_SOGBriefingSlides", ["_SOGSlideNames",[]], ["_SOGSlideTimers",[]], "_SOGSlideName", "_SOGSlideTimer"];
_objName = param [0];
_SOGBriefingSlides = [];
if ((count _SOGSlideArray) > 0) then {
_SOGBriefingSlides = _SOGBriefingSlides + _SOGSlideArray;
};
{
_SOGSlideNames pushBack (_x select 0);
_SOGSlideTimers pushBack (_x select 1);
} forEach _SOGBriefingSlides;
{
_SOGSlideName = (_SOGSlideNames select _forEachIndex);
_SOGSlideTimer = (_SOGSlideTimers select _forEachIndex);
} forEach _SOGSlideNames;
_objName setObjectTexture [0, _SOGSlideName];
sleep _SOGSlideTimer;
};
init.sqf:
_SOGSlideArray = [
["filePath\image01.paa", 15],
["filePath\image02.paa", 25]
];
No I tried it on objects. But I thought I missed something.
How can I set an item to be an full arsenal by default? And also make the arsenal restricted in terms available types of weapons/equipments?
I meant for left hand parameter , not for right hand parameter, of course right hand parameter gotta be an object, it cant read ur mind, maybe in future it may.
lots of unnecessary/nonsense stuff in there, for making it work, you don't iterate over the slides, nor you recursively call the function again, so how do you expect it to work?
https://community.bistudio.com/wiki/Arma_3:_Arsenal you can find everything there
@copper raven I have an addAction that calls the function
@cosmic lichen to start the slideshow presentation
When the presentation starts, I would like it to pull the textures and their filePaths in order from the array then set a specific amount of time each slide is shown before it automatically switches to the next slide
Q: re: triggers, when we connect a trigger to an OBJECT, how to we "set" the trigger position? or does it follow that object from that point forward? or do we need to re-create a new trigger when the object moves; trying to avoid that scenario, or perhaps triggers aren't the right approach tracking with an object after all...
I have a different funnction that's working, but I would like to refactor it with using an array instead of the same line being copied over and over again and the function being called for each line
[screen01, "filePath\slide01.paa", 0] call SOGBriefingChangeSlide;
[screen01, "filePath\slide02.paa", 60] call SOGBriefingChangeSlide;
SOGBriefingChangeSlide = {
params ["_objName", "_texture", "_time"];
_objName = param [0];
_texture = param [1];
_time = param [2];
_objName setObjectTexture [0, _texture];
sleep _time;
};
why do you use params, and then call param?
@copper raven I thought it was a shorter way then using this select 0, this select 1, and so on
;
if you have that change slide function already
then you just need to loop over you slides array
Params already defines your variables
@cosmic lichen that's what I'm trying to figure out, is how to create a slide array that loops my slides
Thanks for that info, that's a lot of code I can clean up then
tag_fnc_showSlides = {
params ["_object", "_slides"];
{
_x params ["_texture", "_delay"];
_object setObjectTexture [0, _texture];
sleep _delay;
} forEach _slides;
}
//usage
[screen01, [...]] spawn tag_fnc_showSlides;
super ass doing this on phone 
@copper raven Thank you, lol, I'll give it a test.
What does the [...] mean in ```sqf
[screen01, [...]] spawn tag_fnc_showSlides;
it's pseudo code, that's your array, [...fill in the blanks...]
@dreamy kestrel so I put _myArrayName in that or is that where I put all the slides with their arrays?
any ideas? like I said, maybe triggers are barking up the wrong tree with this one... 99.7% of the time the object is not likely to move at all, but there's that .3% of the time the player may fidget with the object under a build/move mode, and those are the scenarios I am trying to avoid doing a lot of event channel triggers bookkeeping if possible.
Nevermind I figured it out, lol
I'm really off today, lol, it doesn't help that I'm a noob as well
@broken forge it gets easier and the docs are mostly there, assuming you ask them the right kinds of questions
It is getting a little easier by the day, but I still have a lot to learn, lol, thanks again for the clarification, and thank you everyone for helping me out
Thanks, will look into it tomorrow. It's 1:16am here. 
My next question is to do with the BIS_fnc_kbTalk.
Is there a way to pass the actor config variable through my function that ties into the spawns the audio for the slideshow?
[unit, "topicClass", "sentenceClass"] call SOGSpawnLecture;
SOGSpawnLecture = {
params ["_unit", "_topic", "_sentence"];
_unit disableAI "ALL";
_unit switchMove " ";
[_topic, _sentence] call BIS_fnc_kbTell;
};
Grab the config entry as a string and use missionNamespace getVariable?
@winter rose I'm not sure how to do that
Check getText, >>, getVariable on the wiki (sorry, I'm off to sleep!)
i like to have in my onplayerkilled.sqf somthing like: selectplayer leader group player; but thats the dead player on the ground. i have no clue how to select next alive squad member of _oldUnit
{
if (alive _x) exitWith {
selectPlayer _x;
_group selectLeader _x;
}
} forEach units _group;
@little raptor thx. again i fail to apply that into the rest of my script
if (({alive _x} count units group _oldUnit) > 0) then {
selectPlayer _notseenhere;
BIS_DeathBlur ppEffectAdjust [0.0];
BIS_DeathBlur ppEffectCommit 0.0;
}else{
//your code
{
if (alive _x) exitWith {
selectPlayer _x;
_group selectLeader _x;
}
} forEach units _group;
};
!code
```sqf
// your code here
hint "good!";
```
โ
// your code here
hint "good!";
BIS_DeathBlur ppEffectAdjust [0.0];
BIS_DeathBlur ppEffectCommit 0.0;
_group = group _oldUnit;
_selectedUnit = objNull;
{
if (alive _x) exitWith {
_selectedUnit = _x;
}
} forEach units _group;
if (!alive _selectedUnit) then {
if (isNull _group) then {
_group = createGroup ((configFile >> "CfgVehicles" >> typeOf _oldUnit >> "side") call BIS_fnc_sideType);
};
_selectedUnit = _group createUnit ["B_G_Survivor_F", [0,0,0], [], 0, "NONE"];
};
_respos = getPos dmpcore;
_newPosdo = [_respos, 2000, 3000, 12, 0, 12, 0] call BIS_fnc_findSafePos;
_newUnit setPos _newPosdo;
_x = _selectedUnit;
clearWeaponCargoGlobal _x;
clearMagazineCargoGlobal _x;
clearItemCargoGlobal _x;
_x addWeapon "hgun_Rook40_F";
_x addHandgunItem "16Rnd_9x21_Mag";
_x setAmmo [currentWeapon _x, 4];
dmpHunger=9;
dmpThirst=12;
dmpFatigue=0;
if no squad member is left, it should switch to a specific created unit.
oh ok
it's certainly not what your code says tho 
if (({alive _x} count units group _oldUnit)** > 0**) then {
its looks like this
onplayerdeath spawns a unit, also if i wont switch too it, but that is fine for me, cause i cannot reach that scripting level yet.
if a squad member is alive i should switch to him
if no squad member is left, i should switch into myspecialunit
the code of the pastebin works some how for me, i know the variables are global but they wont work other wise. i even have no clue why that matters cause i have for all my variables names lol
"B_G_Survivor_F" createUnit [[0,0,0], _deserter, "newUnit = this"];
use the other syntax 
honestly, i just script to get it working. it takes up all time. but i really like to learn it too
cool leme mix that new spagetti into the other now thx.
by the way, your all in one command thingy made me stay in arma, beside other things. its like unplayable without you guys. thx
oh man i dont understand _newunit for _group, cause the old _group is dead?
groups don't delete immediately
but you can check that too
as I said, don't do this:
"B_G_Survivor_F" createUnit [[0,0,0], _deserter, "newUnit = this"];
see this message again:
#arma3_scripting message
yes, but i cannot wrap my head around why i should create him into the old group cause its gone.
AH
then create a new group
I'm saying don't use that syntax
if the side is always west, just change that line to createGroup west
ohhhhhhh
that would have exploded in my face in some month haha
ok here it is again https://pastebin.com/qw7WZw7H
{
addSwitchableUnit _x;
_x enableStamina false;
_x enableFatigue false;
_x setUnitTrait ["Medic",true];
_x setUnitTrait ["engineer",true];
_x setUnitTrait ["explosiveSpecialist",true];
_x setUnitTrait ["UAVHacker",true];
_x addWeapon "ItemWatch";
//_x addWeapon "itemGPS"; ItemWatch
//_x addItemToVest "DemoCharge_Remote_Mag";} forEach (allUnits select {playerSide isEqualTo side _x});
why?
yeah thats stupid, cause some times there could be a spawned unit from zeus or somthing
but yeah i know thats wrong, it applies just to all west units, and there are not many.
i could fix that my self. thx
it's still not done tho
ok. thats bad then.
i have somthing else
where it cames from
its like a reinit of this:
{
addSwitchableUnit _x;
_x enableStamina false;
_x enableFatigue false;
_x setUnitTrait ["Medic",true];
_x setUnitTrait ["engineer",true];
_x setUnitTrait ["explosiveSpecialist",true];
_x setUnitTrait ["UAVHacker",true];
//_x addWeapon "ItemGPS";
//_x addWeapon "B_UavTerminal";
//_x addItemToVest "DemoCharge_Remote_Mag";
} forEach (allUnits select { (side _x) isEqualTo playerSide });
[player, false] call GENIX_fnc_pylonManagerAdd;
i exec this at mission start
yeah looks like i fucked that up and never noticed it yet
I mean your code still had issues
I updated the code again
its risky to call it my code.
I'm assuming you always want to set the respawn position and stuff
which it didn't
I updated the code to show you how
but it works as intended i guess
so this should only apply to the new unit?
clearWeaponCargoGlobal _x;
clearMagazineCargoGlobal _x;
clearItemCargoGlobal _x;_x addWeapon "hgun_Rook40_F"; _x addHandgunItem "16Rnd_9x21_Mag"; _x setAmmo [currentWeapon _x, 4];
if so ignore the new code then
yes, the new spawned unit has this
the ammo thing dont work, i forgot that.
oh boy. yes that code doesn't work, but i forgot its there
because you're using cargo (container) commands 
the code isn't working. i hope its not the respawn settings in description.ext, its sp
i used the last pastebin ๐
i restarted the game
i mean the scenario in the editor
you didn't define _oldUnit
i thought that cames from onplayerdeath.sqf magical some how
no
params ["_oldUnit"];
yes but now it is. ๐
have no clue if desciption.ext applies. i dont use lan single player.
so group player wont work?
i have no idea where to put params ["_oldUnit"];
also not why
is there anyone here that is bored enough to help me on my project?
it will be fun .. i promise :)
@little raptor i tried it with _group = group player; but it switched me into the new spawned unit, with blur
at the beginning of the script 
it works now. legendary! it took me like two years to have that finally.
many thanks for your time
this is always a great feeling
i finaly have the bones of my project standing with all essential systems working .. took me two weeks in overdrive mode
yo parsec. whats your project? i cannot script but i have some minor audio and gfx knowledge
im working on a persistent rpg survival world based in the stalker universe
cool. i do somthing similar. funny
i basicaly want a server that people can also play on completely alone without getting bored
aah nice
what is it youre building ?
i can post you a text, its offtopic for here i guess
@little raptor the death blur has to be in each blocks seperate, only on top doesnt work
wat?
@sacred slate (allUnits select { (side _x) isEqualTo playerSide }); โ units playerSide
you can change the loading screen background. Thats what AoW added
Well it does "wait" and suspend like Sleep does. What is the definition of "a wait command" ?
sleep <condition> 
Dont know about definitions, but i feel like the first expectation is something else than a loop ๐คท
How is it supposed to know when the condition is true if it doesn't loop
Or rather: that its a pure command for waiting and cant be used as a loop?
Through codemagic obviously
wait(lambda: is_something_ready(something), timeout=120, waiting_for="something to be ready")
Python works similar. You assign a function to it which returns boolean.
That timeout might be interesting ๐ค
Im aware of how it works, but its essentially just a bottom check loop. Which a lot of beginners dont directly realize
Anyways, lets move on, i didnt intend to start a discussion :P
it's too late now!!
you're too late!

if west players are friendly to guer players and guer players are friendly to west ones, can they use same side chat or any other chat channel to communicate with each other ?
hmm
You could create a custom channel though
ok thanks, will check it. One additional question: can I somehow influence arty computer settings via scripts ?
https://community.bistudio.com/wiki/Category:Arma_3:_Scripting_Commands Check Artillery Group
did it before and found "getArtilleryComputerSettings". Was wondering if I can use something like SetArtilleryComputerSettings ..
just want to reduce arty range a bit
Don't think that's possible
maybe via arty configs, so modding approach
computer settings are defined by the vehicle config and what the player selects
Yeah sure. You can mod the arty
on the other hand, gear UI is also moddable by scripts. So maaaybe we could somehow mod arty UI as well and override it's data about currently selected settings...
Now it's getting complicated 
just sharing my founds ๐
I started overriding gear UI recently for mission I am making and could achieve some boost of its time loading. I found that custom gear UI scripts I was using originally simply override data that gear UI uses while running. I am curious if this trick can work with arty UI as well ๐
in such a case I do need to mod arty configs that simplifies my work theoretically...
i like to store the number of squad units and their gear into a sqf, less db as possible. i like to load it after a game restart. this seems to be not easy to google.
Found interesting code snippet to influence arty comp settings:
0 = [] spawn {
disableSerialization;
private "_ctrl";
waitUntil {_ctrl = ({ if !(isNull (_x displayCtrl 510)) exitWith {_x}; displayNull } forEach allDisplays) displayCtrl 510; !isNull _ctrl};
while {!isnull _ctrl} do {
if(lbSize _ctrl > 1) then {
_ctrl lbDelete 2;
_ctrl lbDelete 1
}
}
}
Potentially we can get data by lbdata and modify distances for currently selected arty installation ๐
!code
```sqf
// your code here
hint "good!";
```
โ
// your code here
hint "good!";
did it not have a custom brochure instead of the classic map when you pressed M?
trying to have an AI play an animation after a "death" eventhandler
not sure how to do that since I don't think dead units can animate once dead
and I guess I can use a waituntil to kill the unit only when the animation ends?
handleDamage โ guy should die โ make invincible and play anim โ add anim eh โ on completed, kill dood
mhm ok I'll make some tests
Hey, question
Working on the same project as Sanchez here and I wanted to ask
If you disable simulation on a unit, will it prevent it from playing animations?
Also, are eventhandler scripts happening in the scheduled or unscheduled environment?
Always unscheduled
Gotcha
yes
Hmm, okay
well, what do you expect ๐
and what are you trying to do ๐ฌ
Well yeah I figured but just wanted to make sure ๐
I know some switchMove animations work but only for static poses
Basically we're trying to have a custom animation execute on AI death
Rather than them ragdoll like usual
yes, I got that part?
see this
setCaptive the unit too
Aye, but would handleDamage be best or should I use the hit/dammaged eventhandlers? handleDamage fires for every damaged part, I only want to detect overrall damage level
Also, will ACE Medical complicate damage detection?
yes
To both?
handleDamage be best
check damages on the "" selection - I believe death is when it is > .9
Hi guys i'm struggling to get this done. I want to make a simple smooth weather change, something like 5 minutes.
I'm setting a trigger that fires on bluefor presence and on activation does this:
[5, 0.5]remoteExec["setOvercast"];
[5, 1] remoteExec ["setRain"];
};```
Unfortunately nothing happens at all.
I understand that setOvercast will not change inmediately the clouds and that they will take time some seconds to rerender.
I looked the docs and i'm confused on how to make this. This solution works inmediately but is too strong and noticeable. ยฟHow do you guys do this?
skipTime -24;
86400 setOvercast 0.5;
86400 setRain 1;
skipTime 24;
0 = [] spawn {
sleep 0.1;
simulWeatherSync;
};
Thanks
hi,
no need to remoteExec, the server syncs weather frequently
also, 5 minutes might be too short for the changes to happen
also, time is in seconds ๐ฌ
(and the last code portion you posted can be done with forceWeatherChange I think)
ok but it wont mean that the cahnge will occur on 5 secs? if i put 7200 / 2 = 3600 (1 hour) it means it will take 1 hour to change? im confused because is not supposed to be in seconds?
โฆI did not understand what you mean here, but setOvercast takes <number> setOvercast <number>, left number is transition time in seconds, right number is overcast value in range 0..1
[5, 0.5] remoteExec ["setOvercast"]; // ask to change over 5 seconds
[5 * 60, 0.5] remoteExec ["setOvercast"]; // ask to change over 5 minutes
a ok, in the docs it says something like this:
Actual transition time is inversely proportional to the timeMultiplier. For example, a time of 7200 (2 hours) and a timeMultiplier of 2 will result in a real-life transition time of 7200 / 2 = 3600 (1 hour).
In case of overcast, a timeMultiplier > 1 will cause gradual desyncing of the cloud cover with the overcast value, so it is advised that you multiply the transition time by the multiplier, i.e. :
(7200 * timeMultiplier) setOvercast 1
this is the bit it confuses me.
so no need to remote exec, only include the regular (time) set overcast (intensity) on
if (isServer) then {}
see also Adanteh's note:
Delay in Arma 3 doesn't work for quick changes. Using 120 setOvercast 1 only reaches full overcast after about 50 minutes
This is because the new clouds system is different than in Arma 2 and earlier titles
what's should be the minimum time to setOvercast to make the changes visible without skipping time.
that means smooth inmediately (5 -10 minutes) change wont be possible
most likely not, yeah
a bit too short for big changes
I would say consider a change of 0.1 overcast to take ~0.1h or something
(I am not reading the values from the game here; it is only a guesstimate)
ok i understood now. i'm going to try chaining small changes with skip time to be less noticeable, someting like 0.2 / skipTime / 0.2 /skipTime
until reaches its full potential
skipTime or forceWeatherChange, but you will always get a little freeze here and there I guess
sorry for not providing the ideal solution, I wish it existed too
With this guide:
https://community.bistudio.com/wiki/createSimpleObject
Can I really make any object an simple object? Or only objects that would have the same option as a tickbox under properties?
every object
some might look broken though, but you can basically spawn any p3d you want
Hello people, is there a isNull equivalent command for arrays? I'm in need of way of checking if a control text field is a proper array like "[1,2,3]" and not a typo like "[1,2,3]]". I am using the parseSimpleArray to convert the string into an array.
Count array ==0?
IsEqualTo [] (not sure)
Or isEqualType [] to test if its an array
Or you loop over every item inside and test its type
Count and IsEqualTo will both error out wihtout return if the variable compared is not a recognizable type like [1,2,3]].
well, what does parseSimpleArray return in such case?
"Help me stepbro im stuck"
Nothing, that is my problem. I would like it to return false.
then it might return nil
private _result = parseSimpleArray "a[}";
if (isNil "_result") then { systemChat "oh noes" };
Exists with a generic error due to _result being illegible, not with a isNil unfortunately.
im afraid you can't avoid it throwing
Of only there was a try catch in sqf
you can save the result into a global variable, and check on it next frame
will still throw, but will accomplish what you want
Intriguing idea, however I am trying to avoid global variable whenever possible and the code throwing would still annoy me to no end. ๐
if you only need constant support, i.e [1,2,"test"], might not be too bad to write an array parser in sqf
I do not follow.
Please help - I have a trigger that should only activate when a) any player is present and b) no opfor units are alive within the trigger area, but I can't find the right condition. I have the trigger set to "anyplayer present" and I tried multiple things in condition. I thought "this && (east countSide thisList) < 1;" should work, but it still fires when opfor is in range
no errors. the trigger executes a script that spawns a group. when i exit the trigger and enter again I would expect it to NOT spawn a second group, but it does.
yea ... that would be easy. but it must be repeatable. just not when enemies are currently in the area.
So it gives a false positive on the absent enemies?
Log the enemies upon execution with diag_log thisList
See if its actually a false positive or something else
!rpt
Arma generates a .rpt log file each time it's run, which contains a lot of information like the loaded mods, or any errors that appear, this log file can be very useful for troubleshooting problems.
To get to your RPT files press Windows+R and enter %localappdata%/Arma 3
Additionally see the wiki page for more info: https://community.bistudio.com/wiki/Crash_Files
To share an rpt log here, please use a website like https://sqfbin.com/ to upload the full log, that way the people helping you can take a look at it and try to figure out the problem you're having together with you.
Note: RPT logs can hold personal information relevant to your system, the game or others.
there is, but it doesn't catch engine errors
parse the text manually
you have regex now 
although bracket matching doesn't need regex 
Weird... when I enter the trigger, it seems to count only my player in thislist, but at the same timestamp it throws some warning about an enemy unit in the same area:
20:12:32 [B Alpha 1-4:1 (Lenny79)]
20:12:32 soldier[vn_o_men_vc_14]:Some of magazines weren't stored in soldier Vest or Uniform?
20:12:32 soldier[vn_o_men_vc_14]:Some of magazines weren't stored in soldier Vest or Uniform?
are you spawning units with the trigger?
yes
but even if i set one manually within the trigger area it is not in thislist
maybe ace or cba is messing with the command?
oh, the problem is that thislist only lists groups of the defined type, in this case players because i set the trigger to "any player"
Well if you spawn the group with the trigger; it wont catch it bc it checks and then spawns
how would i check in the script if an enemy unit is within a certain area?
nevermind, i got it, thanks for the backup
i meant parsing the user input, and checking if its a valid array(using sqf), character by character
Hi is it possible to delete all objects/vehicles in a radius?
yes
There's a ton of action going on in a scene and I want to do some optimization once the player leaves the scene
gotcha, do you know you would use? looking on the site but not too sure
https://community.bistudio.com/wiki/nearestObjects or some other similar command
thanks!
"See Also", some got better perf, nearObjects i believe
oh okay
that one doesn't sort by distance
you don't care about the order if you just want to delete
gotcha
Is there a way to open certain hud elements by a trigger, like the compass for example?
what the hell is going on??
22:36:27 ["helo order action was called with: ",[B Alpha 1-2:1 (IR0NSIGHT),B Alpha 1-2:1 (IR0NSIGHT),[B Alpha 1-2:1 (IR0NSIGHT),"Unterstรผtzung",["Anastasia","Annika","Galina","Irina","Katina","Katerine","Khristina","Lada","Lelyah"],supply_helo_01,crate_01]]]
22:36:27 Transfer of uninitialized variables is not supported
22:36:27 Error in expression <ler = _this select 3;
_lzPrefix = _this select 4;
_lzNames = _this select 5;
_he>
22:36:27 Error position: <select 4;
_lzNames = _this select 5;
_he>
22:36:27 Error Zero divisor
a code error apparentlyโฆ?
well its obviously not a zero divisor. and the parameters are all there
im trying to parse the above logged params into my variables in an ace addaction
fixed the zero divisor.
what does that one mean:
22:58:22 Transfer of uninitialized variables is not supported
EDIT: i passed the wrong variables, basically i gave <null> into params.
aha, now that looks suspicious
23:02:25 ["markername ",scalar NaN]
23:02:25 Transfer of uninitialized variables is not supported
if you add <null> + <null> it gives you scalar NaN. ๐คญ
Hello, is there any tutorial/info how I can spawn custom groups with custom loadouts (i.e. Syndicat troops with CUP weapons) with use of CustomGroups.inc or smth similar?
yes but what kind of null :p
i fed an array out of bounds into params, it parsed that into a string and a string array and i tried concatenating string1 + selectRandom stringArray
what about selectRandom <null> ๐
a lot of commands werent failsafe here lol surprised i even got that far
probably bc they were intitialized through params but had no value
how do i access the maps center (to catch findSafePos returning its default)?
default map center position is returned, which will be in format [x,y,0]
worldSize / 2
aha! thank you
Hello, hopefully this is the right place to ask... I am trying to have a sound play when I open an ammo container, or close said ammo container. (not just the one, the entire "class" of object) that i'm importing into the game. The problem is, I have no idea how to do this. I've tried utilizing eventHandlers but i'm very new to this and it's quite confusing. Here are my pastebins.
https://pastebin.com/vxQbpqJM config.cpp
https://pastebin.com/cSU8RWmp bagsounds.sqf
help, findSafePos keeps giving me the same position as the map center, but its not the maps center:
0:19:09 ["world center: ",[7680,7680,0]," for worldsize: ",15360," distance pos to center: ",827.377]
0:19:09 ["found safe spot at search radius",50," : ",[7228,6987,0]] <- same value again and again, close to map center, but not quite.
haha how dumb, its a hardcoded config value:
_worldcenter = getArray (configfile >> "CfgWorlds" >> worldName >> "centerPosition");
Hi all, looking for a script to addAction on a vehicle that when selected it will respawn back at fob/set location.
theres a module for that
Hey, is there any way to get the functionality of initPlayerServer by executing code inside of init.sqf?
Currently looking to condense the standard files we use in missions (e.g. initPlayer, initPlayerServer, initServer, onPlayerRespawn etc.) into one CfgFunctions function that can be called from init.sqf
Kind of, remoteExec'ing a function on the server I would say
Do you think setting up a PlayerConnected eventhandler would have the same effect?
you might miss some arguments mayhaps? idk
The code I need to execute is ```{
if (!isnull (getassignedcuratorunit _x)) then {
_unit = getassignedcuratorunit _x;
if (isnull (getassignedcuratorlogic _unit)) then {
unassignCurator _x;
sleep 1;
_unit assignCurator _x;
};
};
} foreach allcurators;
Can I use a script to make any object join a faction so that AI would shoot at it? Like for an firing range.
anyone know of a basic script that could spawn a vehicle when you interact with whatever object the scripts on, as i wanna setup something of the sorts that just spawns a vehicle on a invisible helipad, etc?
Hi. I need your help again. I have a trigger activivated on bluefor prescence that will fire a say3D in a loop:
nul = [thisTrigger] spawn {while {true} do {
[tv1, ["Audio1", 22, 1]] remoteExec ["say3d", 0, true];
; sleep 150;};};
my problem is that the trigger is firing continuosly each time a bluefor unit enters the area or if the same unit stills there, overlapping the audio. my idea is just to play once in loop no matter how many bluefor units are on the trigger. once they leave the area the sound will stop and if they re enter the tv will say3D again. Any idea?
thanks in advance
nevermind, i found the solution here:
https://www.reddit.com/r/armadev/comments/f7ntvn/play_a_looping_ambient_sound_from_multiple/
is there a way to see/know how many EHs have been made? im trying to check how many "killed" ehs are running with the mods i use before thinking about using it for my own purpose
doFire
Empty objects do not have a side and AI don't attack them
No
addAction
setPosASL
getPosASL
cheers
can someone tell me where can I find a list of examples for proper syntax that are used to activate triggers? for example how do I write if I want "X unit" to move forward after been fired upon but only continue moving strategically to, not mindlessly continue to move forward?
idk if im being clear enough, im trying to make a scenario where the enemy attacks first, blue forces hold off the attack and after holding off the attack mount a counter attack on the enemy camp. I already gave them the waypoints from point A to point B, but I only want them to begin moving after the 1st attackers have been eliminated
if you don't know sqf:
https://community.bistudio.com/wiki/Introduction_to_Arma_Scripting
these are AI commands:
https://community.bistudio.com/wiki/Category:Command_Group:_Unit_Control
although you probably just need waypoints:
https://community.bistudio.com/wiki/Category:Command_Group:_Waypoints
Ty
The module works but I want to have a action on the vehicle that the player can select with the mouse wheel to manually respawn the vehicle. Say tire were blown out the player can respawn it back at the starting point respawn location manually.
_unit does not exist in onEachFrame
how can you set all flags true with BIS_fnc_bitflagsSet?
16777216
hmm ok I will try that, thx
b = [0, 16777216] call BIS_fnc_bitflagsSet;
b becomes zero
You will need to addAction on every (re)spawned vehicle .. I think there's a field in the respawn module that lets you execute code when a vehicle is spawned. Try that
65535 works
Thanks for the reply. Any idea what the respawn code itself would look like๐
I'm working with NightIntruder on a carrier and wonder if there's a way to detect if any object/plane is on top of the landing strip of the flight deck. Is there any way to detect this straight forward? I consider checking the nearEntities of 150 meter around the carrier and for any vehicle check if it's on top of an landingstrip invisible object with lineintersectswith function. Basic function is to allow pilots to 'call final' and get confirmation by the CV is the deck is clear or not for landing.
if there's a more clean path to the above problem, I'd be happy to read about it!
isTouchingGround + inArea
landing strips are rectangular aren't they?! 
a carrier should be, at least ๐
although there was this round carrier prototype at one point ๐ค
there's also inPolygon
but it's 2D
inArea can be 3D
although I assume inPolygon + a simple altitude check is enough
the landing part of the deck is pretty rectangular indeed
if you want 100% accuracy inPolygon is a good choice tho ๐
that plus vectorUp and vectorDotProduct (since the carrier is flat, I assume?)
yes, the flightdeck is flat
unless it's sinking - you are not thinking of everything Leo!! ๐ ๐
I mean the surface 
ha ha, I tried that once with the Nimitz. Ye good ole man on moving object problem
which is why I suggested vectorUp
altho doing that in model space seems a way better option
but if it is upside down and one lands on the keelโฆ? ah-HAH !!
lol
โฆbut ok joke aside, inArea (3D) + isTouchingGround should do ๐
not inArea 2D version, otherwise wrecks at the bottom of the sea would trigger it too ๐
if (isTouchingGround _plane && {
_planePos = ASLtoAGL getPosASL _plane;
(_carrier worldToModel _planePos) inPolygon _deckPoly //deckPoly must also be in model space
&& {
_diff = _planePos vectorDiff _deckPos; //deckPos is also in model space
abs(_diff vectorDotProduct [0,0,1]) <= 5 //on deck (3D)
}
}) then {
//on deck
}
so I'll place four mem points on the edge of the flight deck landing strip, use inArea or inPolygon with modelToWorld/selectionPosition and nearEntities
you could even use bounding box, it's not that bigger I guess
so in case a wing is over the landing strip it's recognized?
yes, the getPos takes the object's centre ๐
(more or less)
it is not checking if the whole item is in the box, only the centre point
yes, so i'd need to check the four rectangle corners of the bounding box around the plane?
with the altitude check as well
you can also use BIS_fnc_nearestPoint to check if plane is on the runway
using that in my script ๐
that might beโฆ how?
never use getPos in 3D 
I meant the getPos* stuff of course
agrrrrrr รจ_รฉ
_p = [_runwayStart,_runwayEnd,getposATL _veh,false] call BIS_fnc_nearestPoint;
if(_p distance _veh < 20) then
{
_runwayClear = false;
};
something like that
using inPolygon and inArea is more accurate
that's just a line
yea but you check the distance to the line...
I wonder if I should use nearestPoint for the wire grappling detection... there are three arresting wires and I check now if the tailhook is close to the line between two wire anchors
or might it make more sense to define an area with inArea and check tailhook pos inside any of them... hmm
both work
but engine commands (inArea and inPolygon) are faster than scripts (BIS functions, etc.)
(if performance matters for what you're working on)
yes, that's my thinking. Right now I use custom code for that, it has to run in a per frame eh so perf is relevant
isn't the tailhook thingy handled by engine?
no, it's checking distance to a 'wire center' point and then auto applies the brakes (on the Freedom and Nimitz)
oof 
for the new carrier I've experimented with attaching ropes between tailhook and wire anchors, but I need to detect the point when the hook catches one of the wires
That sounds good.
But I think near entities might be useless.
inArea alone should be faster.
inArea does not detect objects
What is the functionality exactly?
Right now I consider creating a global array of planes and one for carriers and walk through this rather than use nearEntities/Objects whatever
I mixed two questions now: 1) how to detect if a plane is on the landing strip of the fligh deck for a 'final approach' call by the approaching plane. 2) how to detect if a tailhook grapples a wire during the landing/touchdown part
I think inArea sounds like a good approach to either problem
Basic function is to allow pilots to 'call final' and get confirmation by the CV is the deck is clear or not for landing.
for that nearEntities is needed, right. As it's called on demand I assume performance is not that important.
how to detect if a tail-hook grapples a wire during the landing/touchdown
is BI functionality not enough?
no, I want to extend in the mod what BI/Bravo provided in the Freedom
gotcha. For that I guess you could use only the inArea.
eachFrame where plane is local check if tailhook is inArea defined by carrier memory points. 
I would do it like this if it would be performant enough.
Is the tailhook handling really in scripts? I can't find any BI code related to this.
first check in the eachFrame is currently if it's already grappled (getVariable on plane), then distance plane and carrier smaller than 150, then the actual check for wire grappling. That is hopefully reasonably cheap to start with the getVariable and distance
yes, it's in the Aircraft functions for the tailhook
so you need to check the F-181 jets dlc functions
No need for distance check imo.
Cou can benchmark this
it's a bit improved over the old Nimitz functions, but basically same approach
but distance check is most likely not that much less expensive than inArea
ok, run it in debugger and measure the time?
It will be more expensive due to all the modelPositonToWorld that you will need to do to get the area itself 
Sure. Like I said, use addAction https://community.bistudio.com/wiki/addAction . And refer to the spawned vehicle. Fill in the blanks yourself ๐
but... you could create a trigger and attach it to carrier when it inits.
then I guess it would look something like
_plane inArea (_carrier getVariable "carrier_tailHookArea") 
only one needed for plane pos with Leopards approach: sqf (_carrier worldToModel ASLtoAGL _planePos) inPolygon _deckPoly
but how you create the poly.
so that's 4 additional command calls.
as you mentioned the carrier is not moving, so I can init a variable with it, good idea
If we assume it cannot be moved by scripts then it's fine. You can store the area on the object.
ha ha, if you start moving it with a script all kind of funny things might happen ...
jesus, the tailhook wire arrest is really scripted...
In a damn spawned script.

lol, same for the Nimitz... old code!
Yeah, all these things are scripted ๐
have fun landing with low fps with a lot of scripts running.
thanks for all the useful information!
somewhere along the lines of getting the target area, possibly through a named helper object and then a createVehicle
Thanks, will have a look and see what I can come up with๐
does anyone know how to restrict a radio channel to people with curtain backpacks, and also in vheicles ??
you would need to play with custom channels I believe ๐
@winter sierraalso don't crosspost thanks (#rules)
ahh sorry i am about to delete the one in mission makers
never mind ๐
thanks
yeah i have the channel (literally just a module) but i want it to only be avalable for people in Pilot/CoPilot/Driver/Gunner seats
and people with curtain backpacks
Is it possible to make a permanent script that runs though the whole game that makes lightning strike a player if they teamkill?
yes
If you use model space it won't matter if it moves
selectionPosition returns coords in model space
yes, ok, and worldtomodel translates the plane coordinates
ok, I'll remove the distance check and just go with the inArea
Just cache the selectionPosition (they're always fixed in a fixed bone structure)
yeah, the flightdeck is pretty much fixed ๐
I think I will change the Nimitz elevator code for inArea as well
Is it possible to create a custom radio channel with the same properties as the direct communication?
Not sure if Iโm just too tired, dumb or just played arma for too long, but Iโm having issues with this:
{_x allowDamage false;} forEach units group groupname;
waituntil {triggerActivated task2trg};
{_x allowDamage true;} forEach units group groupname;
Basically having this specific group invincible up until player reaches a certain trigger. Any ideas?
It should probably be forEach units groupname ๐
stop mocking my misery D:
what does your error say
Error says type group, expected object
Leaving โgroupโ out creates a generic error in expression
WHY
```
it worked perfectly 16 hours ago
Ducking arma keeps ducking crashing i hate my life
{_x allowDamage true;} forEach units GROUP_NAME;
From RTP:
10:55:54 Error in expression <{_x allowDamage false;} forEach units group groupname; waituntil {triggeract>
10:55:54 Error position: <group observation; waituntil {triggeract>
10:55:54 Error group: Type Group, expected Object
i bet you named your group oberservation
@cosmic lichen using it like that causes a generic error in expression
you dont need the "group" command then, its already a group
Yeah I used groupname here to make it easier
Thatโs why Iโm breaking my brain, both cause an error
show code that causes generic error
{_x allowDamage false;} forEach units groupname;
waituntil {triggerActivated task2trg};
{_x allowDamage true;} forEach units groupname;
This is correct. You probably have a wrong var name somewhere
Would it matter where I executed it? This one is in TLโs init
with spawn?
Yes
I'm trying to made a trigger activate when all intel has been picked up (it deletes itself)
This is my triggers Condition
!alive intel_1 && !alive intel_2 && !alive intel_3
That worked like it should
But then I want only some intel to spawn, completely random how much and which ones, so I set them all to probability of presence - 50%
When I do this, trigger doesn't activate anymore
Did I do smth wrong, or is there a better/working way to achieve what I'm trying?
if not all of them are spawning try using or instead of &&
Wouldn't or only complete when one of them is picked up?
I want all of the spawned ones to be picked up for the trigger to activate, so if two spawn - or would activate after I pick up only one
command will fail silently if an argument is nil
so, if one of those variables is nil, everything will fail
Makes sense, what can I do about it/can I go around it?
you can check if they're defined with isNil, personally id make an array of intel, and use findIf or something like that
So basically smth along these lines?
if (isNil intel_1) then {!alive intel_2 && !alive intel_3}
And then just repeated with elseIf for every other possible situation? That would be way to messy, since I'd have more than 3 intel pieces
How would I use findIf instead?
Would this be it?
waitUntil { {!alive _x} count [intel_1, intel_2, intel_3] == 0 };
or
waitUntil { [intel_1, intel_2, intel_3] findIf {!alive _x} == -1}
neither count nor findIf return what waitUntil needs
edited, forgot the 0 and -1
Those are exampled from the biki
So if they aren't it, should I do it?
Now they will work
Ah, perfect
About to try it out)
waitUntil { {!alive _x} count [intel_1, intel_2, intel_3] == 0 }; returned true instantly, which I didn't work
waitUntil { {alive _x} count [intel_1, intel_2, intel_3] == 0 }; worked, but had an error on mission start
'...e _x} count [intel_1, intel_2, intel_3] |#|== 0 };}'
Error Generic error in expression
same error and results with the other one
I guess I'll stick with the error one, since it seems to work fine still. Ty for help)
!sqf cries silently
I hate arma. It kept crashing for 2 hours, probably bc my virtual machine is bugged, then it claimed my addAction is broken, which worked yezserday so i debugged it and changed nothing and it works again
Make a feedback tracker ticket
Nah, its a problem on my end
Arma crash == arma problem :u
I have an ubuntu running in a vm and that is causing problems with my RAM (i think)
My exploresers and VCS crash and reopen and arma doesnt survive but freeze. Ill send in the mdmp
Now I'm trying condition of presence. Intel_1 should only spawn when elder_1 exists.
I've tried alive elder_1, which resulted in nothing spawning
Then tried if (alive elder_1) then {true}, which did the same
Again, am I doing it wrong, or am I using the wrong tools?
youre wanted tool is "diag_log [myStuff]" to see if your code works and checking the .rpt ๐
I don't know what that means
Any help w/ praire fire?
_newGrp = grpNull;
_newGrp = [_basePos, east, configfile >> "CfgGroups" >> "East" >> "OPF_F" >> "Infantry" >> "OIA_InfTeam", [], [], [0.2, 0.3]] call BIS_fnc_spawnGroup;// Spawns Vanilla east team
_newGrp = grpNull;
_newGrp = [_basePos, east, configfile >> "CfgGroups" >> "East" >> "VN_VC" >> "vn_o_group_men_vc" >> "vn_o_group_men_vc_01", [], [], [0.2, 0.3]] call BIS_fnc_spawnGroup;// Error: Generic error in expression fn_spawnGroup.sqf line 160
diag_log is a command that writes to your error log file (the .rpt)
use that to write your stuff step by step into the log file, making sure the values are correct
.
also it tells you errors in there so you know what went wrong
I c, well - I am not writing any code - it's literally the box in the editor called "condition of presence"
https://i.imgur.com/URqGKKF.png
In hindsight maybe better to ask that in #arma3_scenario