#arma3_scripting

1 messages ยท Page 401 of 1

little eagle
peak plover
#

LOL
I had taht as well for s&d ai to clear buildings

lone glade
#

nah, it's a waypoint :/

peak plover
#

Shit was annoying

#

Do you save all the used positions?

#

so 2 units don't end up in same pos

lone glade
#

I have a check to avoid that

peak plover
#

I wanna use the same array because then it won't conflict with ace garrison

lone glade
#

teeeechnically i could save the pos, but AI being AI they don't always stand exactly there

peak plover
#

you save like houseposition position?

lone glade
#

nope

peak plover
#

Wha den ? ๐Ÿ˜„

lone glade
#

unit check in a very small radius on the pos before placing / giving a waypoint

#

I also have something for those that path to there

#

can't remember what

peak plover
#

nearestObjects

#

not inArea ?

#

aah nvm

peak plover
#

I see

#

So 2 or more units from different groups may be going for same position?

lone glade
#

nope

peak plover
#

huh?

lone glade
#

they won't end up on the same pos, i'm 100% sure of that

peak plover
#

How do you make sure of that? 2 buildings 20 units per group

#

5 groups

#

No one stacks?

lone glade
#

the function tells you it can't place all of them and they don't path / get placed

#

enabling debugging on the AI component will show you traces like those:
TRACE_1(format [ARR_2("fnc_garrison: while loop ended | %1 units ready to be treated by PFH",count _unitMoveList)], _teleport);

#

ah, I save the units currently being "guided" to a pos to avoid stacking

peak plover
#

where are they shaved?

lone glade
#

only units currently moving are there:
missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];

peak plover
#

aahha

lone glade
#

so, ace_ai_garrison_unitMoveList

peak plover
#

okaay thanks

lone glade
#

I technically could cache the positions but it wouldn't be of much use if a zeus place a unit there or one make it's way there

#

or if it get killed, etc

#

honestly seeing AI climb ladders terrify me

peak plover
#

yeah

#

killed deleted

#

etc

lone glade
#

there's some issues in the pathing algorithm imho, AI absolutely refuse to path in certain situations

peak plover
#

yeah

#

I have an issue with CUP buildings

lone glade
#

like, they climb those small brick houses in construction (the ones with the ladders), but can't get down

peak plover
#

missing ai positions but pathing seems to kinda work

lone glade
#

actually takistan houses seems to be the ones working the best

#

they nearly always climb ladders to get on roofs there

#

they can even naviguate those 3-4 stories houses with dual ladders fairly easily

peak plover
#

yeah

#

Which small brick houses u talking about?

#

btw zenomorph or sth made script that checks if it's a window

#

and such

#

back in a2 i beliv

lone glade
#

not really houses, like those small construction sites with a single story and a "roof" (flat area) accessible via a ladder

peak plover
#

aa a3 ones

#

yes

#

remeber now

lone glade
#

also the control tower ladder is either misplaced or has fucked up lods

#

the AI cannot climb them :/

delicate lotus
#

What is better in terms performance? a loop check or a waitUntil?

lone glade
#

depends

#

they're not used for the same things

delicate lotus
#

Like for checking if a target is nearby and if yes then boom

lone glade
#

yeah, you can go with a waitUntil (which is a loop)

#

it suspends the rest of the code until the condition is cleared tho

delicate lotus
#

k

lone glade
#

also, scheduled only

peak plover
#

If you need to check a condition every frame and run the code every frame it's waitUntil

delicate lotus
#

every frame sounds a bit... too often

jade abyss
#
waitUntil{sleep 1; (condition)};```
also works, if you don't need it every frame. (sleep first! Condition must be on the end)
lone glade
#

sleep is checked more often than that btw

peak plover
#

sleep = no fps

#

Do you want to have FUN @delicate lotus

#

Don't sleep

jade abyss
#

tztztz

peak plover
#

once you realize you don't need sleep, it blows your mind wide open ๐Ÿ’ก

lone glade
#

dscha hasn't changed his name yet today

delicate lotus
#

Well Currently im managing a IED array using a loop with a sleep at the end that checks for every IED nearby targets

lone glade
#

he's an impostor

#

i'd say it's a good use case for triggers, for once

peak plover
#

wrong

delicate lotus
#

well its not one IED but like 20-30

lone glade
#

nevermind

delicate lotus
#

and triggers trigger to much

lone glade
#

I was thinking 3-4 ๐Ÿ˜„

delicate lotus
#

lol who places only 3-4 IEDs on a road

peak plover
#

You can't have IED with sleep

lone glade
#

and yeah, don't use sleep in scheduled if it's for IEDs

delicate lotus
#

I use uiSleep

peak plover
#

sounds bad man

#

USE SCHEDULED

lone glade
#

network lag + scheduler = the vehicle has passed the thing before the condition is checked

peak plover
#

but use 1 loop with waitUntil

#

and no sleep

#

1 loop for all the bombs

delicate lotus
#

it is currently one loop for all bombs

peak plover
#

30 bombs ~1 second (30 fps)

delicate lotus
#

but how should I manage all bombs with one waitUntil?

#

wait I just show you how I did it so I can get suggestions to improve it.

sleep 2;

//Setup global variables.
if(isNil "IEDList") then {
    furv_IEDList = [];
    furv_IEDcount = 0;
    furv_IEDSleepTime = 0.5;
};

waitUntil {furv_IEDcount > 0};

while {furv_IEDcount > 0} do {
    {
        if(!(isNull _x)) then {
                    _objPos = position _x;
                    _targets = nearestObjects [_objPos, ["Man","LandVehicle"], 2, true];
                    _counter = {alive _x && not(side _x == opfor)} count _targets;

                    //Explode IED
                    if(_counter>0) then {
                        furv_IEDcount = furv_IEDcount -1;
                        _x setDamage 1;
                    }
        }
    } forEach furv_IEDList;
    uiSleep furv_IEDSleepTime;
};
lone glade
#

wait why the fuck are you sleeping right at the start?

delicate lotus
#

I dunno

#

I thought it was a good idea.

#

but actually its useless

peak plover
#
#define pirate private
pirate _bombs = [];
waitUntil{
    if (_bombs isEqualTo []) then {
        _bombs = _bombs +  my_bombs;
    };
    pirate _bomb = _bombs deleteAt 0;
    //check the bomb
    false
};
delicate lotus
#

pirate

cedar kindle
#

@still forum Might not be bad for a mission.. I mean.. it's your mission that breaks when you add a mod from someone who thought the same
could also be a new script command. no reason to not use tags :p

delicate lotus
#

XD

peak plover
#

fixed

delicate lotus
#

yeah just redefine the typo l o l

peak plover
#

why bother fixing it in 2 places if I can fix it oce

#

once

lone glade
#

i'm going to burn you for that define nigel

peak plover
#

my macro files are giant becauise i make alot of typos

delicate lotus
#

why are you using private infront of _bombs?

#

isnt _ the same as private?

peak plover
#

private is faster than without

lone glade
#

he used a macro for no reasons

#

and no, _ isn't the same as private

jade abyss
#

So, then explain me why to use private in there =}

lone glade
#

lemme explain

peak plover
#

faster

delicate lotus
#

@peak plover I dont understand your script.

peak plover
#

it checks a bomb every frame

lone glade
#

global vars:
Available in the namespace they're defined in, use tags, no need for privatization since they're available in all scopes

_local vars: Available to the current and lower scopes, privatize, always

Privatization, push the local var to the innermost scopes, avoid the local var being redefined 3 scopes down

peak plover
#

simple ๐Ÿ˜ƒ

half relic
#

Every... Frame?

delicate lotus
#

ah now I understand it

peak plover
#

speed == 1 bomb / frame

delicate lotus
#

but isnt a every frame check performance heavy?

peak plover
#

no

lone glade
#

depends

#

it's entirely dependent on what you check every frame

half relic
#

Depends on the length and size of the script

#

From what I've picked up

peak plover
#

@delicate lotus before you were checking all bombs as fast as possible then sleeping

lone glade
#

it depends on how many scripts are running, how heavy the checks are and how much you want to break triggers

delicate lotus
#

and my target check using nearestObjects is good?

peak plover
#

You checked a lot more than one per frame

jade abyss
#

oaisdngfiasbgdasg

delicate lotus
#

wtf

peak plover
#
_counter = {alive _x && not(side _x == opfor)} count _targets;
_counter = {alive _x && {not(side _x isEqualTo opfor)}} count _targets;
#

to make it only check the second condition if the ffirst one is true

jade abyss
#

Run that and note the times

lone glade
#

not

#

wtf

jade abyss
#

You will find something interesting

#

! or not
same

lone glade
#

! is a lot more readable

jade abyss
#

Yep

lone glade
#

same as those people using AND and OR

delicate lotus
#

I use ! and not

peak plover
#

&& || > AND OR

lone glade
#

it reminds me too much of electrical logic gates

delicate lotus
#

but I didnt know that you can put condition inside conditions using {}

peak plover
#

&& || master race

jade abyss
#

Anyway, Nigel: Check your Codetimes above ingame (or even try that with more conditions).

lone glade
#

afaik it's best if the conditions that check false more often are placed first

jade abyss
#

I think it was @still forum the last time, as we tested that

lone glade
#

but honestly it doesn't matter, I still use lazy eval

#

I should've gist'd the results of the tests we had on #dev in the ace3 slack

jade abyss
#

iirc LazyEval doesn't seem to work ๐Ÿ˜„

lone glade
#

it does

jade abyss
#

check the times again

lone glade
#

it's not true lazy eval tho

jade abyss
#

i mean, now^^

lone glade
#

I know, we tested that a month ago

#

or was it two?

jade abyss
#

1-2 Weeks

lone glade
#

oh ded retested it?

jade abyss
#

It wasn't that long ago

peak plover
#

hmm

#

{} is sloer?

#

slower?

little eagle
jade abyss
#

@little eagle Oi, where you there, when we tested lazyEval?

lone glade
#

shit commy, the band-aid is bloody again, apply another one

delicate lotus
#

_bombs = _bombs + furv_IEDList;
Why add an empty array to it?

peak plover
#

deleteAt would edit original array

lone glade
#

wait, where is that

delicate lotus
#

if (_bombs isEqualTo []) then {
_bombs = _bombs + furv_IEDList;
};

#

does not make sense to me, explain pls

peak plover
#

next line

#

delete ata

austere granite
#

that doesnt make sense

lone glade
#

if "furv_IEDList" is an array that's stupid

peak plover
#

Otherrwise you edit furv

austere granite
#

so _bombs = +FURV_IEDlist?

lone glade
#

no adanteh

#

that's copying the array ref

#

which is also not necessary

little eagle
#

It kind of does iff you want flat copy of furv_IEDList, but then you could use [] + syntax.

delicate lotus
#

So _bombs = furv_IEDList ? also yes furv_IEDList is a array.

austere granite
#

it depends on what he actually wants i guess ๐Ÿ˜„

delicate lotus
#

a copy of the furv_IEDList array

peak plover
#

[] + then probs yeah

lone glade
#

do you need to keep furv_IEDList as is or can you modify it?

still forum
#

@cedar kindle New script command? ๐Ÿ˜‚ nice joke

delicate lotus
#

@lone glade yes I need to keep it as is

lone glade
#

then use +

delicate lotus
#

or wait...

little eagle
#
if (_bombs isEqualTo []) then {
    _bombs = + furv_IEDList;
};
jade abyss
#

Oi Dadmouse, do you remember if lazyEval worked or not?

peak plover
#

wow=+ wrosk?

lone glade
#

^what commy posted

delicate lotus
#

If I blow up an IED, it will be objNull right?

lone glade
#

yes.

delicate lotus
#

I need a null check then...

austere granite
#

not directly, it'll be !alive first

#

i think

still forum
#

@jade abyss what u mean by "work"

lone glade
#

waaait a second, let us explain

jade abyss
#

@still forum any advantage

still forum
#

yes...

little eagle
#

@peak plover + ARRAY is deep copy and [] + ARRAY is flat copy of arrays.

still forum
#

above a certain level yes

jade abyss
#

Wasn't the last test kinda dissapointing?

lone glade
#

if you do _bombs = furv_IEDList and edit the _bombs array you'll end up modifying furv_IEDList too

jade abyss
#

When we discussed Quaksliver's mess

peak plover
#

What's a deep cop[y?

still forum
#

if you have if (_lvar && _var2 && _var3 && _var4 && _var4) it's not really worth it

delicate lotus
#

yeah thats why im going to do a deep copy now

little eagle
#

@peak plover The difference between deep and flat copy is, if sub arrays are also copied or passed by reference.

jade abyss
#

"Worth it" starts when?

still forum
#

When it's worth it.

jade abyss
#

I wanna punch you right now

still forum
#

Can't really say that. You need to develop a feel for it

peak plover
#

= + not working

little eagle
#

Deep copy: also copy all sub arrays, flat copy: copy array, but keep references of sub arrays.

#

What do you mean "not working"?

delicate lotus
#

Wait now im confused

peak plover
#

g = + [4];
g
//[4]

lone glade
#

?

delicate lotus
#

I still need to do a null check to check for IEDs that already exploded?

peak plover
#

shouldn't it add anothr 4 every time I execute

lone glade
#

why the fuck would you use + there

little eagle
#

That is working, nigel.

lone glade
#

no

#
  • creates a new array ref
little eagle
#

I'll make a script to illustrate the differences and then paste it as gist.

#

Gimme a minute.

lone glade
#

example:
I don't use + when using getVar on a profileNamespace array, when modifying the local var where said array is now saved I also edit the original array in profileNamespace

#

to avoid that I use +, tadaaa, the local var is now a new ref separate from the profileNamespace one

peak plover
#
for "_i" from 0 to 100 do {g = g + [4];};
g 
//[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4]
for "_i" from 0 to 100 do {g = + [4];};
g 
//[4]
lone glade
#

array + array is something else

peak plover
#

=+ just same as [] +

delicate lotus
#

Yeah I already understood that thrice

stable wave
#

I''m trying to delete a ctrl but getting an error saying '/playerSettings/controls/butnHidemarker.hideMarker': "" encountered instead of '='

#

what does this mean?

delicate lotus
#
private _bombs = [];
waitUntil {
    if (_bombs isEqualTo []) then {
        _bombs = +furv_IEDList;
    };
    private _bomb = _bombs deleteAt 0;
    _objPos = position _bomb;
    _targets = nearestObjects [_objPos, ["Man","LandVehicle"], 3, true];
    _counter = {alive _x && {not(side _x isEqualTo opfor)}} count _targets;

    //Explode IED
    if(_counter>0) then {
        furv_IEDcount = furv_IEDcount -1;
        _bomb setDamage 1;
        furv_IEDList = furv_IEDList - [_bomb]; //Look here
    }
    false
};

Can I use that instead of a null check?

austere granite
#

@stable wave it means your config is wrong, that isn't a script error.

delicate lotus
#

or wait no I still need to null check...

#

damit

stable wave
#

I just copied ```sqf
class btnKillfeed : w_RscButton {
idc = -1;
text = "Killfeed";
onButtonClick = "with missionNamespace do { [] call A3W_fnc_killFeedMenu }";
x = 0.158; y = 0.57;
w = 0.125; h = 0.033 * safezoneH;
};

    class btnHidemarker : w_RscButton {
        idc = 1;
        text = "Hide Marker";
        onButtonClick = "with missionNamespace do { player setVariable ["hideMarker", true, true] }";
        x = 0.296; y = 0.57;
        w = 0.125; h = 0.033 * safezoneH;
    };
#

I just copied the first class and make the second one

peak plover
#

btw

lone glade
#

wow, haven't seen screen percentages used in ages

peak plover
#

    if !(((nearestObjects [_objPos, ["Man","LandVehicle"], 3, true]) select {alive _x && {not(side _x isEqualTo opfor)}})isEqualTo []) then {
        // explode
    };
#

if they are IEDs

#

you should also check speed for gameplay

#

If you wanna let them defused

delicate lotus
#

No they should not be defuse able

lone glade
#

use ace, stand on the side of the road with a cellphone

#

RING RING RING

peak plover
#

๐Ÿ‘Œ

#

problem fixed no scripting required

delicate lotus
#

I do not want to use ACE period.

little eagle
#
private _origSubarray = [0, 1, 2];
private _origArray = [_origSubarray];

private _refCopy = _origArray;
private _deepCopy = + _origArray;
private _flatCopy = [] + _origArray;

_origSubarray pushBack 4;
private _newSubarray = ["a", "b", "c"];
_origArray pushBack _newSubarray;

systemChat format ["Reference Copy: %1", _refCopy]; // [[0,1,2,4],["a","b","c"]]
systemChat format ["Deep Copy: %1", _deepCopy]; // [[0,1,2]]
systemChat format ["Flat Copy: %1", _flatCopy]; // [[0,1,2,4]]

@peak plover

peak plover
#

๐Ÿค”

still forum
#

@peak plover you are mixing up += and =+

peak plover
#

yes

little eagle
#

I hope my example is clear.

peak plover
#

Hmm this is very interesting

little eagle
#

Yes, even though it's seldom needed, it's good to know.

#

And ofc this is all undocumented.

peak plover
#

anyotne got biki account?

still forum
#

yes. everyone

lone glade
#

everyone now

delicate lotus
#

I dont

peak plover
#

pls post cod stuff

still forum
#

@delicate lotus You don't have a BIF account?

peak plover
#

Wait really

#

That's good

delicate lotus
#

no I dont have

lone glade
#

it was changed a while ago

little eagle
#

Registraion of new accounts for the Community Wiki has been temporarily suspended. We apologize for the inconvenience.

still forum
#

That's a lie

austere granite
#

Temporarilyyyyyyyyyy

still forum
#

it just can't register because they accidentally IP blocked their registration proxy

little eagle
#

And how do I log in?

peak plover
#

uhh

#

bad

still forum
#

I can login fine

little eagle
#

This is the page that comes up when I try to log in though.

still forum
#

after logging in or before you are asked for creds?

little eagle
#

After creds.

still forum
#

It creates your biki account automatically in the backend

#

I guess that's not working as they have banned their backend from accessing biki

little eagle
#

That's all very interesting, but it means that I can't post anything there.

lone glade
#

I got an arma mobile ops newsletter from the biki account dwarden created for me

peak plover
#

wew lad

lone glade
#

sooo, yeah, it's a bit fucked right now

delicate lotus
#
furv_addIED = {
    params [["_object", objNull,[objNull]]];
    if(!(isNull _object)) then {
        furv_IEDcount = furv_IEDcount+1;
        furv_IEDList pushBack _object;
    };
};

Is a null check here necessary?

little eagle
still forum
#

@delicate lotus Is that a joke question?

austere granite
#

dedmen you're becoming too bulli tbh ๐Ÿ˜ฆ

#

the blue name got to your head ;_;

still forum
#

I didn't change tho

#

You just notice it more because my name stands out more

#

which might not even be because of the blue

austere granite
#

well it's also the asci art

still forum
#

Magic spider attack!

austere granite
#

so there's that

still forum
#

@delicate lotus You potentially set _object to objNull just one line above. So object can obviously be null. And if you don't want null objects the null check is obviously necessary because you have objNull right above it

little eagle
#

๐Ÿ‘ ๐Ÿ‘ƒ ๐Ÿ‘
๐ŸŒ ๐Ÿ‘„ ๐Ÿฅ’

delicate lotus
#

the feeling when you think turning your script into a inline function is good until you notice that you actually execute the function before it is even registered.

peak plover
#

use cba xeh

delicate lotus
#

welp time for cfgFunctions.

little eagle
#

^^

delicate lotus
#

If I create a file called functions.hpp in the mission root folder and add #include functions.hpp in the description.ext, will that work?

little eagle
#

Yes.

stable wave
#

how to escape double quotation marks in contrl text attributes?

lone glade
#

" ' ' "

little eagle
#

"""string"""

#

Or:
ctrlSetText str "string" ยฏ_(ใƒ„)_/ยฏ

stable wave
#

works like a charm. thanks

delicate lotus
#

okay I think I made some bubu

#

I have 15 objects with [this] spawn furv_fnc_addIED; in their init.
Function code:

params [["_object", objNull,[objNull]]];

if(isNil "IEDList") then {
    furv_IEDList = [];
    furv_IEDcount = 0;
};

if(!(isNull _object)) then {
    furv_IEDcount = furv_IEDcount+1;
    furv_IEDList pushBack _object;
};

Yet furv_IEDList only contains one of the 15 IEDs.

#

what did I do wrong?

little eagle
#

if(isNil "IEDList") then {

#

Forgot to tag this one.

#

It's always undefined, and therefore furv_IEDList becomes [].

delicate lotus
#

oh yeah true

#

damm you IntelliJ

little eagle
#

Btw, what's the point of furv_IEDcount if you could just write: count furv_IEDList?

delicate lotus
#

nobody can trust your refactor

#

@little eagle furv_IEDList will contain null objects / IEDs that are nolonger alive.

little eagle
#

OK.

delicate lotus
#

I still could use count thou

#

hehe

#

another global variable off you go

little eagle
#

It's not proper refactoring if you don't end up with twice the features, half the bugs, and a quarter the code.

tame portal
#

And 5% more lifetime gone

lone glade
#

and a lot of tears

little eagle
#

That's why I decided to write perfect code from the start.

delicate lotus
#

yes you never do errors

little eagle
#

Only happy accidents.

lone glade
#

"happy crashes"

tame portal
#

"perfect code"

little eagle
#

I haven't crashed my Arma in months tho.

lone glade
#

I see you haven't touched the diag branch

#

aka the "I fucking swear i'll crash if you ever take a glance at me" branch

delicate lotus
#

@little eagle you want to crash your game? include a reference basic Arma files in your description.ext, pbo the mission and try to host it in mp.

little eagle
#

Yeah, I know. It's been bugged since they added 3den.

#

Works fine with files in the mission folder though.

delicate lotus
#

yup its very awkward

#

it also works correctly with steam missions

#

and campaigns

little eagle
#

Probably just a typo somewhere that could be fixed in one minute.

#

Or by intercept.

still forum
#

@delicate lotus why furv_IEDcount ? Why not just count furv_IEDList

little eagle
#

ikr

delicate lotus
#

Its not like we already discussed that

little eagle
#

^^

still forum
#

I read slowsly

delicate lotus
#

I see

little eagle
#

But reply fast.

delicate lotus
#

Now I could be cocky and make a joke about slowly reading, age and your name but I dont wanna be banned.

still forum
#

I haven't crashed my Arma in months tho. Nice! I crashed it a couple dozen times just yesterday

#

I can't ban people

little eagle
#

You know why?

still forum
#

I know why I crash stuff yeah

#

My own broken code

little eagle
#

You crash the game, because you haven't released tf-ar one zero yet.

still forum
#

If you do something wrong you get a script error. If I do something wrong I get a crash

delicate lotus
#

Is it possible to remove the Open Inventory Action from ammoboxes while still being able to add custom Actions?

little eagle
#

Only with addons.

delicate lotus
#

:/

little eagle
#

I guess for a mission you could try inGameUisetEventHandler or whatever the name was.

#

And overwrite it with a custom script.

#

Or maybe inventory opened eventhandler or whatever that was called again and block it.

delicate lotus
#

nah that would be too much work for such a tiny detail.
If I execute clearItemCargoGlobal _box from initServer.sqf. Will it be synchronized to JIP players?

still forum
#

Global == Global == everywhere == yes

little eagle
#

I think technically it copies the cargo space from the server once you connect, so it would also work with the deprecated non-Global commands, for JIP only.

delicate lotus
#

in MP, where is a player local?

lone glade
#

to his machine

#

duh

delicate lotus
#

xD

#

um... how do I execute code on all machines again?

little eagle
#

init.sqf

#

CfgFunctions preInit or postInit.

delicate lotus
#

no not like that

little eagle
#

Init box in the editor.

jade abyss
#

initPlayerLocal.sqf

delicate lotus
#

I mean like a function

#

Like I have a addAction which code should be executed on all machines.

little eagle
#

Once activated?

delicate lotus
#

yes

little eagle
#

remoteExec

delicate lotus
#

thx

#

I just found out that I can give remoteExec a object as target so I dont even need to get the objects owner ^^

peak plover
#

commy will medical rewrite force broken legs to lye down like in ace2?

little eagle
#

S-sure.

lone glade
#

you'll have turned into nothingness eons before the medical rewrite release nigel

peak plover
#

Well I can edit the current one for my liking until then

#

Already got defibs, pakking in medical resets revive lives, pakking in medical 5x as fast, fixed bleeding screen

#

Surgical kit fix broken limbs

#

Gotta do the lie down with broken legs

#

That would be funny

tame portal
#

@little eagle When is your Realistic Rope Community DLC going to drop?

peak plover
#

haha

little eagle
#

Feed me for a year and I'll think about it.

delicate lotus
#

@little eagle no

little eagle
#

Well then "never".

peak plover
#

CBA as community DLC

#

๐Ÿค‘

little eagle
#

Oh I wish.

peak plover
#

quick obsfucate the pbo

#

close github

delicate lotus
#

A working game as dlc

peak plover
#

๐Ÿ˜„

little eagle
#

FPS dlc

lone glade
#

can you survive on dried fruits and berries with a tiny bit of water ?

peak plover
#

I got the fps dlc coevered

#

๐Ÿ˜‰

lone glade
#

gotta start that self mummification process early

still forum
#

I'm already working on fps mod. No need for DLC

delicate lotus
#

fps mod for money

#

paid mods dlc

peak plover
#

Ohh yeah

#

Altis life the mod

#

;D

#

๐Ÿ˜‚

little eagle
#

Altis Life Stand Alone.

#

4 years of open Alpha.

peak plover
#

๐Ÿ’ฉ

delicate lotus
#

tfw all your friends play in Arma is life and y hate it

peak plover
delicate lotus
#

well they dont even play arma anymore

peak plover
#

Anyone got link to that life mod that wants to do standalone?

lone glade
#

"X is unfriended, arma's discord is my new friend"

peak plover
#

There was a trailer?

delicate lotus
#

they only play rainbow or this knight game from ubishit.

lone glade
#

for honor?

delicate lotus
#

yes

still forum
#

For honner. Who is honner?

delicate lotus
#

lul

peak plover
#

aah it was idendity

#

By asylum life

lone glade
#

I want to see it now, just to see how many stolen / badly imported assets I can spot

peak plover
delicate lotus
#

xER

#

thats how many you will find

peak plover
#

SEX?!

#

lmao thios cancer

delicate lotus
#

yeah the titel is cancer

peak plover
#

video is worse

#

pre-teens will defend that video 'tho

#

Looks terrible

lone glade
#

that's a ton of actual work tho

#

not what I expected

delicate lotus
#

Well im a teen and I dont like life mods

lone glade
#

(as in using UE4 community stuff)

peak plover
#

Yes

little eagle
#

Nigel, I can't make the mission create the slot dummies automatically, but I can simplify it down to the mission maker having to execute:

10 execVM "setup.sqf";

In the editor once and save the mission, where 10 is the number of slots.

peak plover
#

Looks like just crappy UE4 stuff

#

and I doubt it actually functions

#

Just setpieces to sell the gam

austere granite
#

UE4 > RV4

lone glade
#

it's a nice little UE4 projects to learn how to asset flip tho.

delicate lotus
#

is it possible to create playable units on the fly?

little eagle
#

No.

peak plover
#

no

#

It is infact impossible

#

or is it?

delicate lotus
#

is it possible to create a gamemaster setup on the fly? like making a unit gamemaster using a script. (Zeus = Gamemaster)

little eagle
#

Well, it not being possible implies it being impossible as far as I can tell.

peak plover
#

๐Ÿค”

little eagle
#

Which I guess is in it's testing phase?

peak plover
#

๐Ÿค”

#

How bad would fucking with ui_f break the game

austere granite
#

fucking as in changing base classes for UI overrides?

peak plover
#

CHANGE FONT SIZE

little eagle
#

Just delete it, it's not needed.

lone glade
#

my sides are in orbit

#

people comparing this shit to star citizen

austere granite
#

star shitizen*

lone glade
#

you don't want to be put on the naughty list, do you ?

delicate lotus
#

star citizen is a great game

subtle ore
#

Further you smug, santa hat wearing, cat. Many will disagree with you

stable wave
#

If I do player setVarialbe ["someVariable", true, ture] on a client and then he quits to the lobby and join another side, what will the value of someVariable be?

subtle ore
#

However, i did have fun flying in there once

#

@stable wave nil

lone glade
#

unit doesn't exist anymore, nil

stable wave
#

OK

delicate lotus
#

@subtle ore And? just because many disagree about it shouldnt change your own opinion

subtle ore
#

That's not what i was implying

#

In fact, the exact opposite.

tough abyss
#

There isn't a lot of game to be calling great really. When it becomes an actual complete thing to review then it might very well end up great, but right now the ingredients aren't even gathered let alone cooked into a great chilli

delicate lotus
#

I havent even played it lul

#

but apparenlty it should be good when its finished

lone glade
#

now, now, this isn't the place to discuss this

delicate lotus
errant jasper
#

Is there a way to set the number of rounds of a magazine inside a container?

#

Basically, I need to drop a players weapon, with its loaded magazine and items, and have him able to pick it up again.

little eagle
#

There is an ugly work around.

#

It uses waitUntilAndExecute, but it could be rewritten to use spawn/waitUntil if needed.

errant jasper
#

Are those in cba at the moment?

#

And when the dummy performs the action, does it take time equivalent to the animation? (I gues thats what the repeated delayed runs of _fnc_drop is for?)

peak plover
#

oohh

#

nvm

stable wave
#

how to check a variable is not set on an object?

austere granite
#

private _var = _object getVariable "varname"; isNil "_var";

stable wave
#

thanks

peak plover
#
if (isNil {_object getVariable 'gang'}) then {
    // no gang set
};
subtle ore
#

@peak plover Christ man, you really do have lifer code don't you?

peak plover
#

ummm... no i don't ๐Ÿ˜ณ

subtle ore
#

Explain to me what that shit is then huh?

peak plover
#

umm... just a random example ๐Ÿ˜ฐ

delicate lotus
#

how can I write "" inside of a string?

subtle ore
#

Noooo....this goes far more than example

still forum
#

@delicate lotus

_string = '""';
_string = """""";
peak plover
#

d-d-d-dude ๐Ÿ˜จ I'm not life lol ๐Ÿ˜ฐ

austere granite
#

nigel is not life

subtle ore
#

Yes you are!

austere granite
#

he's okay

#

no bulli

subtle ore
#

Nigel is a lifer#

peak plover
#

๐Ÿ˜ญ not life

subtle ore
#

Yes you are nigel, i will crack you open like a peanut until we find out the truth

peak plover
#

๐Ÿ˜ง

delicate lotus
#

Midnight is bullying again

subtle ore
#

Like a cheesy 80's spy movie Nigel, we'll find your stash of lifer code

peak plover
#

๐Ÿค–

lone glade
#

"what the..... ARE THOSE DONATION SCREENS ?"

peak plover
#

no don't do it

#

pls no

lone glade
#

"CALL THE SQSTAPO"

subtle ore
#

DO IT

#

Your lifer crimes are over pal

lone glade
#

"bake him away boys"

peak plover
#

๐Ÿ˜ต

delicate lotus
#

life is a great gamemode and should be the original arma.

#

okay yeah thats a bit too much of sarcasmn

lone glade
#

life is what brought in the most money in recent years and should be a bigger focus for BI

peak plover
#

DLC always had stuff that wroks good for life

#

Jetskies

#

are not military

lone glade
#

a perfect mix between devil's advocate and sarcasm

peak plover
#

IDAP is not military

#

They know

lone glade
#

I REFUSE TO BELIEVE

peak plover
#

they know, it's not bad

lone glade
#

FAKE NEWS

peak plover
#

Many would do a lot worse in that situation

#

New dlc for our mil game? let's add ambulances ๐Ÿ˜‰

#

All life players buy dlc because pop up message and wanna drive ambulance

#

ez $$$

delicate lotus
#

we need lootboxes in arma

peak plover
#

Wrong

#

We need a life mod with lootboxes

full kindle
#

life boxes

peak plover
#

not monetized

#

๐Ÿ˜„

#

Rare item "life" (bans you from all life servers permenantly)

#

I wonder if lootboxes go against BI monetization rules

lone glade
#

wait, wait, wait, randomized arsenal items gotten through a "roll" wheneve you open it

#

drop crates from the sky and pick one ๐Ÿ˜„

subtle ore
#

@lone glade Hahah

peak plover
#

Hold down CTRL+R in arsenal

#

And hear people withoiuth ssd cry lag

#

anyway yeah

#

lootboxes

delicate lotus
#

XD

#

Wait does arma really run that much better on a SSD?

peak plover
#

yup

delicate lotus
#

like 300% improvement?

peak plover
#

unit spawning has no stuttering

subtle ore
#

I run it on a hdd just fine

lone glade
#

ctrl + R doesn't do anything in ace arsenal

peak plover
#

Loading times are very fast compared to normal (with mods)

lone glade
#

yeah, about 20s faster

#

about, wait for it, 13 000%

#

or around 800x faster

subtle ore
#

Eggsellent

delicate lotus
#

Somehow scripting is more fun than thinking of pictures and story for a mission

peak plover
#

Some say drinking bleach can be more enjoyable thansqf

delicate lotus
#

they lie

#

nothing is more enjoyable than sqf

#

except C# and java

peak plover
#

Ugh

#

Agh

#

Egh

#

I got a cool story for a mission, roleplay as civilians

#

@delicate lotus link a script you made

still forum
#

Java? ๐Ÿคข

delicate lotus
#

a script?

peak plover
#

1 sqf

delicate lotus
#

well

#

I mostly have functions right now

still forum
#

Functions are scripts

delicate lotus
#

and some loadout scripts exportet from the arsenal

#
/*
    author: Alexander
    description: Equips vehicle with basic NATO supplies.
    returns: nothing
*/

if(isServer) then {
    params [["_car", objNull,[objNull]]];

    if(!(isNull _car)) then {
        //Clearing
        clearItemCargoGlobal _car;
        clearMagazineCargoGlobal _car;
        clearWeaponCargoGlobal _car;
        clearBackpackCargoGlobal _car;

        //Adding
        _items = [["arifle_MX_ACO_pointer_F",2],["30Rnd_65x39_caseless_mag_Tracer",10],["100Rnd_65x39_caseless_mag_Tracer",10],["FirstAidKit",5]
        ,["ToolKit",1],["HandGrenade",5]];
        {
            _class = _x select 0;
            _amount = _x select 1;
            _car addItemCargoGlobal [_class, _amount];
        } forEach _items;
    };
}
peak plover
#

arsenal for loaduts

#

BUt how to interchangable between car and man

#

why sleep

delicate lotus
#

wat

#

oh yeah totally forgot that

#

well that for example is the function I use to equip vehicles with nato supplies

#

nothing too shiny

peak plover
#

But what if you need csat supplies?

delicate lotus
#

then I will adjust the script to my needs

peak plover
#

You need to make a function that will work with a car and cargo

#

Then you don't have to rewrite function

delicate lotus
#

thats true

peak plover
#

But only change car and cargo (params)

#

soo tru

#
Function: loadout_fnc_cargo

Description:
    Adds loadout to vehicle/box/cargo
    role/faction can be forced

Parameters:
0:    _target            - Unit or container
1:    _faction        - Faction string or side (defaults to west)
2:    _cargoType        - Cargo type array, default "generic"
Returns:
    nothing
Examples:
    [car] call loadout_fnc_cargo;
    [car,"nato",["ammo","medical"]] call loadout_fnc_cargo;
delicate lotus
#

nvmd.

peak plover
#

I also had a autocargo function that determines automatically cargo based on what's in there. Like for ex. car has 1 personal aid kits. it will get medical only, but if it has a rifle it will get a rifle with the correct faction

#

so if first example, it would just do that

delicate lotus
#

wow thats actually quite nice

peak plover
#

at first it takes a lot longer, but later on it speeds it up a lot, because I only edit 1 file to change vehicle,unit loadouts and cars and units will have same maagazines

subtle ore
#

Dynamic functions? [west] call nig_lifer_cafgo;

#

[West,rifles]

peak plover
#

๐Ÿค”

subtle ore
#

West,trapped_civies

delicate lotus
#

@peak plover How do you check if its a Unit or a Container / Vehicle? My idea would to use isKindOf "Man" and if not then cargo, right?

peak plover
#

    if (_target isKindOf "CAManBase") exitWith {
#

container and vehicle are identical

#

so they don't need to be checked

#

    if (_target isKindOf "AllVehicles" || _target isKindOf "ReammoBox_F") then {
delicate lotus
#

LOL I didnt know something like CAManBase exists

#

or ReammoBox

#

is that all listed in the config Browser?

peak plover
#

I guess. Not sure

#

I just google arma 3 config ru

delicate lotus
#

why ru?

peak plover
#

website has ru in name

delicate lotus
#

oh LOL thats a nice side

#

its certainly going to get a bookmark

peak plover
#

mhm

#

very usefuls

delicate lotus
#

what program do you use to make your scripts?

peak plover
#

poseidon

delicate lotus
#

Looks nice

peak plover
#

with this if you have your blinking | on a scripting command or function and press f1 it opens the bohemia wiki

delicate lotus
#

holy

peak plover
#

also autocomplete and stufffs

delicate lotus
#

Im going to take a look at it and check if it is better then the Arma 3 Plugin for IntelliJ

peak plover
#

its gucci

delicate lotus
#

can you make custom snippets in it too?

peak plover
#

what u men

delicate lotus
#

You know what a snippet is right?

peak plover
#

no clue

delicate lotus
#

its like the header you posted

peak plover
#

manually write it lol ๐Ÿ˜„

delicate lotus
#

but automatically added at creation

austere granite
#

Use atom, it's @lone glade 's favorite program!

delicate lotus
#

soo many editors

still forum
#

Soon everyone will switch to VSCode once the SQF debugger works with it ^^

austere granite
#

probably tbh

peak plover
#

wats vscode

austere granite
#

Microsoft's go at electron script editor

loud python
#

Is there any good tutorial on how to use diary entries with JIP?

#

anything I can think of seems way too convoluted to be the only way to do it

peak plover
#

๐Ÿค”

delicate lotus
#

Is there any good tutorial on how to think of a story?

lone glade
#

school?

#

books ?

peak plover
#

๐Ÿ’ฏ

#

๐Ÿ˜‚

#

Psychodellic drdrugs

errant jasper
still forum
delicate lotus
#

sry @still forum

loud python
#

If it's about a real story, then there are better places to ask than an arma3 server xD

peak plover
#

Just go on any life server forum, there are great stories there

loud python
#

if it's about a story for an arma 3 campaign, then I don't know, maybe #arma3_scenario, maybe some game development community

#

also, in arma the best stories aren't scripted

#

they just happen

#

and are unique to the players that played them

peak plover
#

๐Ÿ‘Œ ๐Ÿ‘Œ ๐Ÿ‘†

loud python
#

a good mission simply leads the players to allow for great stories

peak plover
#

But he wants abackstory/brief

loud python
#

try /r/worldbuilding then

delicate lotus
#

It is certainly hard to implement a story / a good briefing in a mission which is just casual hostage rescue

little eagle
#

Animated avatars should be banned.

peak plover
#

discord gold feature

little eagle
#

Just like those non ASCII char names.

peak plover
#

non name names banned

little eagle
#

I like Slack, they don't even allow capital letters.

#

But numbers.

#

Perfect.

peak plover
#

faces, icons, heats and numbers ban

little eagle
#

As it should be.

peak plover
#

only normal names pls

little eagle
#

Weird names only attract weird people.

#

Like Dedmen and his Kirby name.

still forum
#

You mean I attract myself?

delicate lotus
#

@little eagle Not nice

#

You textfacephobe!

little eagle
#

You seemed like a reasonable guy, Dedmen, until you started with those animal costume shit.

still forum
#

costume?

#

It's a drawing

delicate lotus
still forum
#
push FurtherV
push cookie
callOperator eat
delicate lotus
#

Who is cookie @still forum

edgy dune
#

how can I get the argument from a EH? like for the "fired" EH how can I get the projectile

#

nvm

#

XD I got it

#

okay new question

#

so I got this nice piece of code

#
_this removeAllEventHandlers  "Fired";

_this addEventHandler ["Fired", {


 _ZBullet = _this select 6;
hint format["%1", (( typeOf _ZBullet))];

  
      
}];
#

_this select 6;

#

is the porjectile that is fire,bullet,grenade mines ,whatever

#

my question is,how can I check to see if _zBullet is a bullet and not say a mine or grenade?

tulip cloud
#

if I'm using cutRsc how do I locate the display that I created?

still forum
#

what is the typeof in your example? @edgy dune

edgy dune
#

like wats the output or why I have it?

still forum
#

what example output

#

maybe you can use isKindOf

#

@tulip cloud make your display set a uiNamespace variable in it's onLoad handler

edgy dune
#

the output is like

#

swop_dc15_ammo or something

#

if I do IsKindOf, wat do I compare the bullet to? the bullet superclass?

still forum
#

Maybe just Bullet

edgy dune
#

aye lemme try that thx

#

theres quotes around it yea?

still forum
#

yeah

#

_zBullet isKindOf "Bullet" I think

#

Oh

#

no!

#

I know. I'll look it up quick

edgy dune
#

XD thx ,i tried to find out but idk where to start looking for the superclass of bullets

still forum
#

_ammo isKindOf "BulletBase"

#

ammo is the 4th parameter in _this

edgy dune
#

I thoguht it was the 7th parameter?

#

in the "fired" EH

#

ohh

#

shit

#

there is ammo

#

thx tho

wispy lynx
#

Hoping for some noob scripting help.

How can I get the addAction to reference/link-to the _rooftopDoor/_streetDoor created in it's iteration only? When I run this as is, upon selecting the action, I get transported to the last building position that was created in the initialization process.

#

_thisMapCenter = getArray (configFile >> "CfgWorlds" >> worldName >> "centerPosition"); //Using map centerPosition so script can be used for multiple maps in future.

_searchArea = 30000; //_searchArea is large to accomodate multiple maps useage.

{if (_x isKindOf "Land_MultistoryBuilding_03_F") then {

_buildingFoundation = "Land_HelipadCivil_F" createVehicle [0,0,0];    //Using Helipad for future helo placement/use and it's ability to attachTo objects.
_buildingFoundation setpos((_x)buildingPos 14);    //Using buildingPos to get standardized height placement, using setPos on ground was returning varying heights based off each buildings terrain placement.
_buildingFoundation setDir (getDir _x);
_buildingFoundation setVectorUp [0,0,1];

_rooftopDoor = "VR_Area_01_square_1x1_grey_F" createVehicle [0,0,0];    //addAction roof placement position.
_rooftopDoor attachTo [_buildingFoundation,[.45,11.9,-.6]];
_rooftopDoor setDir 270;

_streetDoor = "VR_Area_01_square_1x1_yellow_F" createVehicle [0,0,0];    //addAction street placement position.
_streetDoor attachTo [_buildingFoundation,[-.5,6,-52.41]];
_streetDoor setDir 270;

_rooftopKeypad = "Land_InvisibleBarrier_F" createVehicle [0,0,0];    //Placed over keypads next to doors, runs the addAction.
_rooftopKeypad attachTo [_buildingFoundation,[2.92,11.17,.55]];
_rooftopKeypad addAction ["Street Access","
_operatorUnit = _this select 1;
_operatorUnit setPos [getPos _streetDoor select 0,getPos _streetDoor select 1,getPos _streetDoor select 2];
_operatorUnit setDir (getDir _streetDoor);
",[],6,true,true,"","_this distance _target < 4"];
#

_streetKeypad = "Land_InvisibleBarrier_F" createVehicle [0,0,0]; //Placed over keypads next to doors, runs the addAction.
_streetKeypad attachTo [_buildingFoundation,[2.05,5.26,-51.31]];
_streetKeypad addAction ["Roof Access","
_operatorUnit = _this select 1;
_operatorUnit setPosATL [getPosATL _rooftopDoor select 0,getPosATL _rooftopDoor select 1,getPosATL _rooftopDoor select 2];
_operatorUnit setDir (getDir _rooftopDoor);
",[],6,true,true,"","_this distance _target < 4"];

}

} forEach (_thisMapCenter nearObjects _searchArea);

subtle ore
still forum
#

_rooftopDoor and _streetDoor are not defined in the addAction code

#

I have no Idea how you get it to use the last created buildings thingy

#

use _keypad setVariable ["rooftopdor", _rooftopDoor] and then in your code _keypad = _this select 0; _rooftopDoor = _keypad getVariable... and the same for streetDoor

wispy lynx
#

@still forum Thanks, I'll give that a try. I had a feeling it was going to involve setVariable, but I don't yet understand how setVariable really works.

drifting sierra
#

Is there a way to override settings for vehicle cargo capacity without modifying actual mod files?

tulip cloud
#
_myDisplayIDC ctrlSetPosition [(_startLocation)-((0.092500*_percent)* safezoneW + safezoneX),_ctrlPos select 1];

This is my failed attempt to shift a display control on the screen.

I want to shift it to the left by 0-9.25% of player's screensize depending on a percentage. (For a status bar showing the value of 0-100%)

#

When I do ctrlPosition it shows the x position changing by .3-.7 with this script.

#

nvm..I see my mistake :/

rotund cypress
#

No @drifting sierra

drifting sierra
#

Ok thank you

#

That would be sweet tho

rotund cypress
#

If you like ugly solutions and a lot of code to do a simple thing like changing the inventory space, it is possible.

#

However, if you are new to SQF, no you cannot do it.

drifting sierra
#

Yea, i am new to scripts

rotund cypress
#

If you want to attempt it, have a look at the eventhandlers; onContainerOpened, onContainerClosed, onPut, onTake.

drifting sierra
#

Ok, thats a good pointer

#

Ty

rancid ruin
#

has anyone messed with the civilian presence thing much yet?

#

i'm trying to figure out how to control the civs a bit more

drowsy axle
#

The spawner module? @rancid ruin

rancid ruin
#

yes

drowsy axle
#

I tested it out when it was released. Quite nice feature, however it was limited for me. (The AI seemed to go to the point of the module and stand there.)

#

Then others after the first AI, would move around...

rancid ruin
#

not really cos i'll be controlling them with scripting

#

i can moveto the civ agents to make them go to non-module waypoints, but then afterwards i'm not sure how to reset their behaviour

gray thistle
#

Hm is there something where you can put an addaction on all assets even if they will be spawned

tough abyss
#

@gray thistle What do you mean? Do you want to add it to like terrain buildings as well?

#

If so (there might be a better way) you can use nearestObjects and add it to a certain class on all objects

#

But it might be better to addAction when the cursorObject is the right type even at a certain distance this is more optimized

gray thistle
#

i just want to have an action on default on an asset like B_UAV_06_F for the leafelets

#

instead of this (the object) i want to add it on the asset (all object created and uncreated to be created later on)

twilit scarab
#

I need help scripting an evac heko to take off on eden editor i got it to land but cant figure out how to get it to take off after i get inside

nocturne iron
#

'''If ((vehicle player) == helo) then {(group helo) addWaypoint [[0,0,0],0]};''' may help

#

Put it in the get in waypoint of the player

eager prawn
#

there's quite a few premade scripts that you could look into for evac choppers and piece together, check armaholic & biforums @twilit scarab

stable wave
#

what would side player return for Independent players?

eager prawn
#

in OFP it was GUER, I doubt it's changed

subtle ore
#

GEUR

#

Or Independent

stable wave
#

what would playerSide return then?

subtle ore
#

Same thing, only if the player were to switch sides playerSide would return the first selected side

#

side player would return the current side regardless of what was picked first

stable wave
#

OK

#

if (side player == GUER) then {ctrlDelete (_Dialog displayCtrl 8811)}; gives me Error Undefined variable in expression: guer

subtle ore
#

@stable wave use Independent

eager prawn
subtle ore
#

Guer is obselete iirc

eager prawn
#

but you can test it yourself by just writing a quick script to output "side player" as a string to a hint\

subtle ore
#

Or input in the watch field via debug console

#

Watch: playerSide

#

Watch side playr

eager prawn
#

^ or that, probably easier

subtle ore
#

Damn phones

stable wave
#

I did that last night and it did return GUER

eager prawn
#

then it's your script

subtle ore
#

Why the hell would it return guer?

eager prawn
#

I've never seen "independent" used in a script, that said I typically don't use indy

subtle ore
#

I have always seen returns as "Independent" in a3

meager granite
#

GUER is string representation of independent side

stable wave
#

so I should use INDEPENDENT?

meager granite
jade abyss
#

tbh, i did the same ๐Ÿ˜„

winter dune
#

"GUER"

jade abyss
#

*Gorilla

meager heart
#

resistance ftw

meager granite
#

call compile str side group player == "GUER" ๐Ÿ‘Œ

winter dune
#

if i'm not wrong, side player == "GUER" will work too

#

because the output from side obj is a string

#

@stable wave

jade abyss
#

side group player this even works, when the player is dead (dead = Civ)

little eagle
#

Siri, remind me to change the debug console representation of the SIDE types.

jade abyss
#

I am sorry @little eagle , but i didn't understand. Please use more Macros.

little eagle
#

#define GUER resistance

jade abyss
#

GUER defined.

little eagle
#

I baffles me that people have such difficulty understanding that resistance and independent are exactly the same thing, but GUER is just the stringified representation of it (not even "both").

jade abyss
#

iirc, resistance is an old fragment from OFP

little eagle
#

It's only if you also say that west and east are too.

jade abyss
#

while independent just came in with... ... wait... Arma 3

#

So every old scripter used Resi (incl. me), instead of the new one ๐Ÿ˜„

little eagle
#

Yes and A3 added blufor and opfor as aliases for west and east.

jade abyss
#

Yep

#

But as long as it works -> ยฏ_(ใƒ„)_/ยฏ

little eagle
#

I'm still using the old commands, because idk, I see no point in the new ones.

jade abyss
#

Makes it "easier", since not many know that West = Blue and East = Red

#

P.s.: /s

little eagle
#

Yeah, we need a third alias for the sides.

jade abyss
#

SideBlue
SideRed
SideGreen
SideYellow

little eagle
#

good, bad, neutral.

#

And for consistency, we name one of them goood with 3 o and the third one sideNeutral just because.

meager heart
#

Btw anyone know how long time that default side west bug happens for jips ?

little eagle
#

Probably as long as the player / group player is null.

#

Are you worried about this, because you read it on the wiki?

meager heart
#

not because wiki, was some issues with that thing

#

it was mission with opfor and greenfor and welcome message with part that was showing player side

#

and was west sometimes

meager granite
#

The bigger question is, why east has index of 0 and west has index of 1? (in configs, internally, etc.)

winter dune
#

because Arma

little eagle
#

Because the Reds were the good guys after all.

peak plover
#

>Yes and A3 added blufor and opfor as aliases for west and east.

missionNamespace setVariable ["GUER",resistance,true];
missionNamespace setVariable ["CIV",civilian,true];

^ Still forgot to do these

winter dune
#

@still forum last day a read a topic where you said that some servers have set up a default 50 CPS value, is it still going on this kind of thing, or the amount of CPS the server can get is unlimited?

peak plover
#

50 fps

#

Server does not draw frames,because it does not disply anything

winter dune
#

cps*

peak plover
#

All servers are fixed to max 50 cps

#

Dedmen haxx3d executable will let you have more

winter dune
#

excuse my ignorance, why is there a 50 cps limit?

peak plover
#

Something like this

The arma does not need more than 50 cps
#

WE should be happy they don't lock clients to 23 FPS

#

In thory having 100 cps would actually be good.
Maybe it works similar to having 100 tick servers in cs/bf4

#

It should

#

Small scale 5v5 TvT would be a lot more responsive

#

As long as clients and server keeps ~100 fps

little eagle
#

There are no cps in Arma.

#

It's called FPS.

#

If I google "CPS Arma", I find the Exile forums. Figures.

peak plover
#

๐Ÿ˜‚

little eagle
#

until last week we had a awesome proportion between the CPS to FPS with a factor from almost 1:1

Wow, I wonder why...

#

The answer for the worse performance was a bad asset mod. Figures.

nocturne iron
#

Classic

peak plover
#

cps master race

#

๐Ÿ‘Œ

tough abyss
#

cps is just another metric for measuring arma performance, its been around alot longer than exile

little eagle
#

One condition per frame, or what is this about.

tough abyss
little eagle
#

CPS is expressed by condition evalations per second and measured from an reference condition in ASM.fsm.

Ah, so it's about the >scheduler.

#

It's something The Old cooked up, even worse then.

tough abyss
#

There is nothing wrong with it.
Its a good measurement of how the unscheduled enviroment is behaving, something diag fps won't always show

little eagle
#

Nah, it's not.

tough abyss
#

Ok then whatever commy ;)
But you really should have heard of CPS / ASM before if you been using arma for so long.

little eagle
#

No, I haven't because CPS does not exist in Arma. Someone thought about a flawed alternative way to measure performance and named it CPS, but it doesn't represent anything useful.

peak plover
#

blue name removed

little eagle
#

I'd miss attaching poops.

#

Seriously. Get off the phone if you want to chat. I'm falling asleep here.

#

Posting with phone is rude. It's very inconsiderate to make others wait for your responses.

tough abyss
#

It is useful
Its not ideal, but the author tried to get BI to implement some API to get engine measurements in the end he gave up.
He also did some work with memory allocators back in the day aswell, until arma implemented random memory addressing i believe

Is been around for over 4 years now in arma community
Lastly arguing it doesnt exist in Arma, is kinda of elitiest attitude

little eagle
#

May it be "elitist". As long as it's true, and it is, I'm fine with that.

#

CPS don't exist.

peak plover
#

Some of us don't have to measure performance because their code is so good it makes the game run better

jade abyss
#

Optimize the Engine by SQF ๐Ÿ˜‚

tough abyss
#

For example i know Linux armaserver unschuduled enviroment behaves alot different to windows unscheduled enviroment.

little eagle
#

Let's see how long you can come up with new names, Dscha.

errant jasper
#

Be sure to leave air gaps - empty lines - in your sqf code. It will reduce resistance and make your code faster.

little eagle
#

Avoid too many indents for low cw values.

jade abyss
#
Let's see how long you can come up with new names, Dscha.```
Preview: Next 30 days are secured.
<https://i.gyazo.com/df7aa13caf5a6632f7ec66f47d064e47.png>
peak plover
#

You animal

little eagle
#

I don't want to spoil it, can't wait to check every day.

jade abyss
#

๐Ÿ‘

little eagle
#

You should've done this as advents calendar.

tough abyss
#

Funny part you are giving BE more to parse / log with extra whitespace, so adding more is giving it more work todo ๐Ÿ˜›

winter dune
#

And I'm here, sitting on my chair and reading things that I don't understand

#

nais

jade abyss
#

all good

little eagle
#

Default value is 1 (enabled). Debriefing cannot be disabled in multiplayer.

Seriously ๐Ÿ˜ฆ

meager heart
#

getClientState "DEBRIEFING READ" ?

peak plover
#

do server command #missions

#

skips debriefing

meager heart
#

No you will need press continue with #missions

little eagle
#

Nah, I need it to work every time.

#

addMissionEventHandler ["EachFrame", {
    private _display = uiNamespace getVariable ["RscDisplayDebriefing", displayNull];

    if (!isNull _display) then {
        _display closeDisplay 2;
        removeMissionEventHandler ["EachFrame", _thisEventHandler];
    };
}];

^ this to my exit mission script. lol

peak plover
#

#missions needs continue?

#

It should put you in the mission selection screen instantly

little eagle
#

Wait, missions can edit CfgFunctions, right?

peak plover
#

n-n-no?

little eagle
#

Eh, BIS_fnc_initDisplay would be difficult anyway.

jade abyss
#

Wait, missions can edit CfgFunctions, right?
Yes and No. They can Add new, but predefined CfgFunctions via Addon won't get overwritten.

errant jasper
#

Hate that. Eliminates hotfixing BIS functions

peak plover
#

yeah, need a mod to edit bis fnc

jade abyss
#

Not rly

#

Just don't use the bis_fnc ๐Ÿ˜‚

peak plover
#

yeah

lone glade
#

don't abuse BI funcs....

errant jasper
#

I don't, but other stuff might call it. From an addon or module.

little eagle
#

Some aren't optional, like effectFired and initDisplay.

peak plover
#

copy pasta the bis fnc and fx it

lone glade
#

there's a reason that "limitation" was put in place

peak plover
#

haha

errant jasper
#

Example: a friend was using the vehicle respawn module. It calls a bugged function.

jade abyss
#

ยฏ_(ใƒ„)_/ยฏ

#

Bad addon

peak plover
#

Bad friend

jade abyss
#

bad commy

little eagle
#

^ this tbh

errant jasper
#

Yeah, but not all my friends are l33t scr1pt3rs

little eagle
#

scr1pt0rs, please.

jade abyss
#

l33t is so 1999

#

(I meant the year 1999, just to make that clear)

little eagle
#

1337 == 1999

  • Dscha
lone glade
#

so 2038

peak plover
#

friends
Not writing scripts that replace friends
๐Ÿ‡จ ๐Ÿ‡บ ๐Ÿ‡ท ๐Ÿ‡ท ๐Ÿ‡ช ๐Ÿ‡ณ ๐Ÿ‡น ๐Ÿ‡พ ๐Ÿ‡ช ๐Ÿ‡ฆ ๐Ÿ‡ท

errant jasper
#

31 Oct = 25 Dec

#

Sure nigel, but where does it end? You make a script that replaces friends, a friend-replacer-script. Next thing you are writing better friend-replacer-script-script scripts

peak plover
#

I have a script on the script that adds scripts to the script

austere granite
#

2xzibit4me

meager heart
#

@peak plover On dedicated server, if you login as admin mission is started, when you type #missions will be debriefing screen and you have to press continue... and then you will be in missions selection screen... that how it works sorry

peak plover
#

๐Ÿค”

little eagle
#
class Extended_DisplayLoad_EventHandlers {
    class RscDisplayDebriefing {
        commy_noDebriefing = "_this spawn {(_this select 0) closedisplay 2;}";
    };
};

This kills it.

peak plover
#

serverCommand does not work on server?

#

needs a password

#

lol

little eagle
#

The binary syntax does, the unary snytax only works on the admin in ui scripts.

#

I think the idea is that you put the function with serverCommand and the password into a -serverMod addon and remoteExec that or smth like that.

peak plover
#

It should work on the server auto 'tho

#

๐Ÿ˜ฆ

#

Why does the server need to know the pw

little eagle
#

Some security voodoo that obviously doesn't work in practice.

#

If at least one client loads faster than the (local host only?) server, then all connected players become seagulls and HandleDisconnect doesn't fire with the right objects. ๐Ÿค”

peak plover
#

wait what

little eagle
#

The seagull does not appear in the entities list, but in the allMissionObjects list.

#

And I think the seagull is passed as player object to HandleDisconnect, needs testing.

#

I have a nice 100% repro abusing some minor dialog / 3den MP glitches / weirdness.

#

The issue with this is obvious. Annoying seagulls and players not getting deleted when they disconnect.

peak plover
#

So what happens if 1 client loads faster than the server_

#

I haven't had that in a while

little eagle
#

handleDisconnect doesn't seem to fire at all, unless there's a typo in here:

addMissionEventHandler ["handleDisconnect", {systemChat str _this}];
#

Doesn't fire once the mission loaded bugged.

#

PlayerDisconnected still fires just fine.

#

But obviously doesn't pass the last player object.

#

Retesting with mission that loaded properly...

lone glade
#

because it's server only ^

little eagle
#

Both are, and I am the server, alganthe.

lone glade
#

๐Ÿ˜ฑ

little eagle
#

Arma's just bugging out, and now it's time to find out the primary source, and then to create a work around.

#

Yep, if I try it in a properly loaded mission (no seagull symptom), HandleDisconnect fires along with PlayerDisconnected.

jade abyss
#

You test it with Dedi?

little eagle
#

Local host.

jade abyss
#

Yeah, screw that

lone glade
#

should still fire

jade abyss
#

It's borked af

lone glade
#

no it isn't

little eagle
#

Well, evidently it is.

jade abyss
#

It is

lone glade
#

you... YOU KNOW NOTHING DSCHAN SNOW

little eagle
#

Doesn't mean finding out why wouldn't help for proper servers ๐Ÿ˜‰

lone glade
#

is the issue reproductible on dedi ?

jade abyss
#

My bet: Works on DediServer

little eagle
#

I don't have a dedi, and not with my repro. Though I've heard of seagull bugs etc. on dedicated servers too, and this may or may not be a hint of what happens.

jade abyss
#

Because: Client != rdy before server

#

One reason, why i bought a 2nd Machine and tested in "real enviroment".

little eagle
#

Another thing is that I can't get Ended mission eh to fire. At this point I've never seen that one work properly even once. It's probably a lie.

jade abyss
#

^^

little eagle
#

Anyway, it's not a bug with my scripted lobby mission, so I am happy.