#arma3_scripting

1 messages ยท Page 425 of 1

unborn ether
#

Ok

austere granite
#

that doesn't trigger mouseButtonDown though

#

yea

#

what alganthe is saying, he might be wrong about Atom, but he's righat about this :3

#

mousedown is 0, 1, 2 only i think

little eagle
#

M5 does trigger MBD. That is how CBA keybinding handles the mouse.

austere granite
#

UNLESS THEY CHANGED (disclaimer)

unborn ether
#

๐Ÿ˜‘ at least

little eagle
#

LMB, RMB, MMB, Mouse 3 - Mouse 8 are all supported.

#

Scroll wheel can be handled using MouseZChanged or something like that.

lone glade
#

da ^

unborn ether
#

Thanks for inputKeys info, comrades

cosmic kettle
#

Next lecture on this topic will be in +/- 3 weeks. ๐Ÿค

unborn ether
#

Maybe put a wiki note ?

lone glade
#

it's already there

#

people just ignore it anyways

#

afaik it's commy that added the note too, lemme check

little eagle
#

:~)

lone glade
#

yep, commy

#

2 years ago

#

damn we ain't in 2017 anymore ๐Ÿ˜ญ

meager heart
#

was year of enum

unborn ether
#

Just mentioned the note ๐Ÿ˜• for the first time

#

Maybe a warning message in command description like on broken commands ?

cosmic kettle
#

compiles list of paragraphs to add

little eagle
#

Ha! In my opinion it is broken. But I still can't log into the wiki.

lone glade
#

can't use your BI net thingy account?

cosmic kettle
#

yeah, works here using g+ login.

unborn ether
#

My acc still says it's not registered for some reason since update, can't watch my own contribs

#

Tonic framework ?

lone glade
#

it's just a wrapper for param now afaik

little eagle
#

Still a pointless function call. But that is just what happens to unmaintained code.

lone glade
#

no it isn't

#

oh god

#

what have I stumbled upon

cosmic kettle
#

could also easily be fixed using some regex

lone glade
#

what the... fuck

little eagle
#

That is what we did when local / private keyword was made.

#

Or when we switched from EXPLODE_PVT_N to params.

lone glade
#

bis fnc param ^

unborn ether
#

params is yet the best what BIS made without breaking something

little eagle
#

That's a lot of overhead.

unborn ether
#

๐Ÿ˜

little eagle
#

param used to be broken with index -1. It wouldn't report the default (like it would with -2), but the same as index 0.

#

Also, params used to not trigger an error message when the type didn't match. That was even more powerful imo.

lone glade
#

.... i've seen MCC

cosmic kettle
#
... optimised by Killzone_Kid

now imagine how it looked before

lone glade
#

i'd say better

unborn ether
#

@wraith cloud no worries I've seen a lot of that

little eagle
#

if (isNil "_defaultValue") then {nil} else {_defaultValue};
Hah! RETNIL :~)

unborn ether
#

almost like if true then true else false

little eagle
#

Nah, this is actually useful.

meager heart
#

but without macros

little eagle
#

Eh, it's annoying to write this one out all the time.

#

Redundant information with the variable name listed twice. Just another error source.

lone glade
#

makes your life easier

unborn ether
#

script_macros is almost like a shrapnel in a tony starks chest

lone glade
#

oh right

#

you're that guy who hates macros for no reasons

cosmic kettle
#

what is the deal with macro's anyway? clean code, I like.

#

So don't see why not, keeping in mind a couple of rules.

unborn ether
#

Well I don't get why would you wrap getVariable as GVAR

lone glade
#

:facepalm:

#

ARE YOU FUCKING KIDDING ME

#

NOT THIS AGAIN

little eagle
#

Well that IS a stupid thing.

meager heart
#

๐Ÿฟ

cosmic kettle
#

hahaha

little eagle
#

He's talking about Tonic's GVAR, not GVAR

#

And that IS pointless and stupid.

lone glade
#

last time he wasn't

little eagle
#

But that is bad macro usage.

lone glade
#

or was that another dude...

#

no that was X39 last time

cosmic kettle
#

macro rules:

  • replace atleast 2 commands
  • ehhh
little eagle
#

X39's opinion can be discarded anyway.

lone glade
#

dunno, he seems to have improved in those past few years

unborn ether
#

I don't like where this is going ๐Ÿ˜…

little eagle
#

I spoke to him once on TS. He's a good guy.

#

He's that type of person that is ALWAYS wrong. So consistently wrong, that you just assume the opposite of what they said and then you get it right guaranteed.

unborn ether
#

Who exactly ?

meager heart
#

lul

unborn ether
#

Oh X39 dude?

little eagle
#

I only met like 3 of these people in my life and I became friends with two. The third one is X39.

cosmic kettle
#

not a lot of names with that prefix... Let's not discuss personal opinions of others in here...

little eagle
#

Why not? He's tough enough to deal with it, and it's not like anyone has any scripting related question atm.

lone glade
#

I do, MERGE MUH PR COMMEH

little eagle
#

Bring it on. Say something mean about me.

lone glade
#

wait, that's not a question

cosmic kettle
#

Well I do! looking for some tags I can use to find an explication on the whole call compile thing in this discord.

unborn ether
#

How do I addAction to my mission? ๐Ÿ˜‚

ruby breach
#

Your name makes me think of poo. Is that mean enough?

little eagle
#

I may have 1-2 weeks of nothing to do after tomorrow. Depends on what happens tomorrow.

#

So maybe I merge it. Whatever PR that may be.

ruby breach
#

Can I trade my 60-70 hour workweeks with your nothing?

lone glade
#

" that user alt tabbed during a loading screen, MUST HAVE REMOVED HIS GPU" - Arma 3, 2018

#

wait what

#

60-70h is not even legal here

little eagle
#

Well, Gnashes, you have a job, I'm looking for one. So deal?

ruby breach
#

USA, "Professional" so overtime laws don't apply to me.. Heh

cosmic kettle
#

Don't do it Gnash, It'll take him some days to automate your job and render you obsolete ๐Ÿ‘‹๐Ÿฟ

unborn ether
#

@lone glade arma recently removed my 960 card, physically

ruby breach
#

Hahaha. I'm a CPA (Financial Statement Auditor). There's only so much you can automate sadly.

little eagle
#

So what's that. 60 hours in Excel?

ruby breach
#

More time spent convincing the people who work for my clients that they're doing something the wrong way despite their insistence that their way is the only way that makes sense.

#

Excel time is for the newbies

cosmic kettle
#

sounds like a job commy -can handle- does here

lone glade
#

sounds like the perfect job to lose faith in humanity

little eagle
#

I'd probably get really angry if I had to do that 10 hours a day.

ruby breach
#

The one benefit is that there's typically something in a rule book somewhere that you can just throw at them

#

"You did X, rules say X is specifically not allowed, so change it"

peak plover
#

@little eagle why do you exit with true or false


        //_this allowDamage false;
        true
    } else {
        //_this allowDamage true;
        false
    };
#

Always ends with bool

little eagle
#

Because the true block does something else too.

compact galleon
#

Don't suppose there's a way to block path finding for certain ssides in a certain area? Soldiers keep walking into their own minefields, lol

little eagle
#

Why do they move into the mine field in the first place? SAD, Guard?

compact galleon
#

@little eagle Neither.

#

It's just the fastest way

#

lol

#

Well, actually, it's not, but they still go that way

little eagle
#

More waypoints to get around the minefield.

compact galleon
#

Instead of walking through the entrance to my base, they walk through the live firing range, into the minefield,

#

which is then fenced on the other side

meager heart
#

reveal mines maybe

compact galleon
#

For every friendly, for every mine?

#

lol

#

I guess that'd be the easiest way

#

Without fencing off the mines

#

(on foot)

meager heart
#

huge maybe x2 "invisible walls with disabled collision for players" ๐Ÿ˜€

little eagle
#

west revealMine this

#

into the mines init box.

#

So one for each mine, not for each mine times each soldier.

#

Or maybe:

{
    west revealMine _x;
} forEach allMines;

if all mines belong to one side.

#

init.sqf

#

No idea if it actually impacts AI though.

compact galleon
#

I just did blufor revealMine this in their init field

subtle ore
#

blufor is not a side

compact galleon
#

Now the HUD is filled with mine warnings, though xD

#

Yes it is

little eagle
#

Yes, blufor is a side.

#

blufor is alias for west.

subtle ore
#

Hm

little eagle
#

Try it:

west == blufor
subtle ore
#

But why? What's the point?

compact galleon
#

Point of what?

little eagle
#

Dunno, maybe they thought west/east/resistance doesn't fit the A3 scenario.

#

So they made blufor/opfor/independent.

compact galleon
#

Which makes much more sense

lone glade
#

considering how the side system is setup maybe they thought they'd add the ability to add more of em'

#

there's already 7 of them ๐Ÿ˜„

peak plover
#

How about no need for sides completly

#

But it defaults to the sides we have right now

compact galleon
#

That makes no sense

peak plover
#

Btw

#

the addaction

#

does it run constantly?

meager heart
#

not after respawn... if you mean that

peak plover
#
_unit addAction ["", {true}, [], -99, false, true, "DefaultAction", "call commy_safezone_eachFrame"];
#

This

#

It runs the eachFrame on each frame?

lone glade
#

yes it does

peak plover
#

hmm, and removed on death

#

Interdawsting

meager heart
#

maybe just delete projectile with firedman eh...

little eagle
#

Yeah, you may need to readd this on respawn.

peak plover
#

yeah that's no problem

#

Just interesting the way it's done

meager heart
#

oh btw why -99 and not -1 ?

#

in action priority

#

commy ?

peak plover
#

Wouldn't it work the same if it was eachFrame and what are the benefits of addAction anyway ?

little eagle
#

So it's below an action using minus 1.

#

addAction blocks firing the primary weapon.

peak plover
#

ahha okay

little eagle
#

DefaultAction is firing your weapon/handgun/launcher.

peak plover
#

aah

#

neet

little eagle
#

And grenades and put are handled as a bonus essentially.

#

It's written to be as short as possible.

peak plover
#

๐Ÿ‘Œ๐Ÿผ

meager heart
#

hax

little eagle
#

The less commands per loop, the more efficient it is.

peak plover
#

hmmm

#

Well

lone glade
#

proof that UI "size" (small, normal, large) is gargabe:
vanilla HUD doesn't resize properly, the vehicle info control is out of the screen (I restarted the game)

#

same for unit info

#

(no mods) ๐Ÿ˜„

peak plover
#

Did you try with a clean profile, no edited ui placements?

#

Cuz u can drag some things around

lone glade
#

yes, and they're where they should be

#

UI scaling is simply broken

peak plover
#

ye

#

its a mess

meager heart
#

try it with sli... ๐Ÿ˜”

lone glade
#

SLI is dead

peak plover
#

inb4 2 core graphics cards again

lone glade
#

devs didn't implement it properly or even at all most of the time, nvidia thus stopped providing support for it

#

maybe vulcan / dx12 will bring it back but I doubt it.

meager heart
#

afaik atm dx12 do not support sli

#

maybe in a future

#

and not sure about crossfire

peak plover
#

having a game that would support it was great back in the day

#

I think I'll use that to remove the grenades and shooting, but just use a different loop somewhere else to set a simplle variable.
I wanna have mroe than 1 safezones and a few more variables in volved

lone glade
#

only grenades for safezones?

meager heart
#

guys, just tried player addAction ["", {true}, [], -99, false, true, "DefaultAction"]; and i can throw nades, but not shot... did i miss something ?

lone glade
#

yes, commy's code

meager heart
#

i thought it just returns true...

lone glade
#

dunno, haven't checked what's inside it

meager heart
#

yes i missed ....

#

there is setWeaponReloadingTime

subtle ore
#

how does setWeaponReloadingTime work? Just slow down anim + functionality or what?

lone glade
#

nah, there's an internal timer for reloads

subtle ore
#

Ah, okay.

peak plover
#

@meager heart yes

#
 
commy_safezone_muzzles = getArray (configFile >> "CfgWeapons" >> "Throw" >> "muzzles") + getArray (configFile >> "CfgWeapons" >> "Put" >> "muzzles"); 
 
commy_safezone_eachFrame = { 
    if (true) then { 
        { 
            _this setWeaponReloadingTime [_this, _x, 1]; 
        } forEach commy_safezone_muzzles; 
 
        //_this allowDamage false; 
        true 
    } else { 
        //_this allowDamage true; 
        false 
    }; 
}; 
 
player addAction ["", {true}, [], -99, false, true, "DefaultAction", "call commy_safezone_eachFrame"];
meager heart
#

works ๐Ÿ‘Œ

peak plover
#

if (true)

#

He had if inArea safezone

meager heart
#

yes also replaced that with var check

#

and action id added...

fleet wind
#

How can you create several markers on (position) objects in a array? have tried this ```{_testmakr = createMarker ["Helicopter", (getpos _x)];
_testmakr setMarkerShape "ICON";
_testmakr setMarkerType "hd_dot";
} forEach _helis;

little eagle
#

Markers need unique names.

#

Replace the name with:

format ["Helicopter%1", _forEachIndex]

for example to dynamically create marker names.

fleet wind
#

Thanks works great @little eagle

wooden tinsel
#

I'm looking for a way to use getMissionConfigValue with BIS_fnc_typeText. Specifically, IntelBriefingName isn't passing to typetext. I get this error:
https://i.imgur.com/11FRiVy.png

The work around I'm currently using is including the mission.sqm into description.ext and calling the value with missionConfigFile.

Full block:

_title = getText (missionConfigFile >> "MissionSQM" >> "Mission" >> "Intel" >> "briefingName");
_author = getMissionConfigValue ["Author",0];
_cmfvers = getText (missionConfigFile >> "cmfVers");

[
    [
        [_title, "<t align = 'center' shadow = '1' size = '0.9'>%1</t><br/>",5],
        ["By: " + _author,"<t align = 'center' shadow = '1' size = '0.6'>%1</t><br/>",5],
        [_cmfvers,"<t align = 'center' shadow = '1' size = '0.4'>%1</t><br/>",5],
         [format ["%3/%2/%1 %4:%5",date select 0, date select 1, date select 2,date select 3, date select 4],"<t align = 'center' shadow = '1' size = '0.4'>%1</t>",10]
    ] , 1, 1.05
] spawn BIS_fnc_typeText;
#

As listed above, getMissionConfigValue ["Author",0]; works fine, but getMissionConfigValue ["IntelBriefingName",0]; does not.

little eagle
#

You can't just combine the two strings. getMissionConfigValue only works for root level mission config entries.

#

Also, the default value seems wrong. Should be "" or something like that, not 0.

wooden tinsel
#

Ahhh, gotcha. Thanks a bunch.

little eagle
#

Why would you want to change this anyway?

wooden tinsel
#

I mean, as the block above is now, it works fine. I was just curious as to why getMissionConfigValue ["IntelBriefingName",0]; didnt work the same way as getMissionConfigValue ["Author",0]; did.

little eagle
#
getMissionConfigValue ["BriefingName", "no name"]
#
                            class BriefingName //sources - ["A3_3DEN"]
                            {
                                data = "IntelBriefingName";
wooden tinsel
#

Welp. Rookie mistake haha.

fleet wind
#

How can i use getpos to just get the z (Altitude) or is there a Altitude command ?

#

getPosASL should work

#

sorry to waste time

meager heart
#
_position = getPosASL player;
_z = _position select 2;
peak plover
#

Man

#

filtering different inAreas for triggers and markers and array

#
_zones select {
    !(isNil '_x') && {
        (_x isEqualType "" && {!((getMarkerColor _x) isEqualTo "")}) ||
        (_x isEqualType objNull && {!(isNull _x)}) ||
        (_x isEqualType [] && {!(_x isEqualTo [])})
    }
};
#

Look so bad ๐Ÿ˜ƒ

#

disgusting

meager heart
#

๐Ÿค”

peak plover
#

It makes sure that if it's a string, it's got a marker color, which means it's a real marker.
If it's a obj, it makes sure it's not NULL
and if it's an array, it makes sure it's not empty

#

But it looks... disgusting

unborn ether
#

As usual you just gonna figure something less "ugly" laters

compact galleon
#

@peak plover Well, I can see at least one thing you can shorten

#

(_x isEqualType [] && {!(_x isEqualTo [])}) to ({!(_x isEqualTo [])})

subtle ore
#

isEqualTo would already imply checking array?

peak plover
#

nah

#

If it's something else like a boolean it will error

lone glade
#

^ what he said

compact galleon
#

No

#

isEqualTo won't error

#

true isEqualTo [] returns false

lone glade
#

it will

peak plover
#

@compact galleon is right

compact galleon
#

No. == will. isEqualTo will not

lone glade
#

oh right, ๐Ÿคฆ

#

derp ๐Ÿ˜›

peak plover
#

isEqualTo checks type?

lone glade
#

it can compare any type

#

unlike ==

compact galleon
#

@peak plover Performs strict comparison between var1 and var2 and returns true if equal, otherwise false. Strict means that it would check that both arguments are of the same data type and then compare the values.

lone glade
#

well, "most" types not all of them

peak plover
#

Ooh

#

That's good thanks

#

isEqualTo = === apparently

#

That's good to know

#

so basically

#

_var = true;
_var isEqualTo true

compact galleon
#

But not so strict that arrays have to be the same instance

meager heart
#

well you can even

#
_fnc_isEqualTo = {
    switch (_this select 0) do 
    {
        case (_this select 1) : {true};
        default {false};
    };
};
#

no ?

lone glade
#

.....

#

......

compact galleon
#

Yes, but whether it'll accept all types, I don't know

#

[[], []] call _fnc_isEqualTo will return true

lone glade
#

how many times are you going to write if (bool) then {true} else {false}

meager heart
#

did i wrote it already ? ๐Ÿ˜€

lone glade
#

yes, about 5-6 hours ago

meager heart
#

me ?

lone glade
#

da

meager heart
#

wut

compact galleon
#

eh

peak plover
#
[0,1] select (_var isEqualTo true)
meager heart
#

oh...

lone glade
#
0 spawn
{
    disableSerialization;
    waitUntil {!isNull (findDisplay 46)};
    var_ehBlockNades = (findDisplay 46) displayAddEventHandler ["KeyDown", "if ((_this select 1) in actionKeys 'Throw') then {true} else {false};"];
};
meager heart
#

with inputAction

#

yes

peak plover
#

((_this select 1) in actionKeys 'Throw') already returns a boolean

#

Why do you then true

lone glade
#

....

#

those condition blocks NEED to return a bool

#

otherwise you get an error

peak plover
#

((_this param [1,0]) in actionKeys 'Throw') isEqualTo true

#

biki down

#

dev blog /website down

lone glade
#

da tonk took it

compact galleon
#

It was seized by the FBI

meager heart
#

^ btw it will works with { }... that thing is 2 years old

meager heart
#

biki is up

#

oh sorry, nigel... discord trolling me...

#

Why do you then true
that thing will not work without it....

#

and back then was some troubles also with inputActions/actionKeys... cant tell what exactly

lone glade
#

Then please don't spam the channels for those who do

austere hawk
#

@lavish ocean @smoky raptor ๐Ÿ”จ plz

worn hatch
#

Hey sorry if this seems like a bit of a vague question but can anyone give me any suggestions for good scripts / features to try and make (relatively basic but with experience of programming beforehand) in sqf.

lone glade
#

that's fairly vague, you want to learn sqf?

worn hatch
#

yer pretty much and im just looking for small project ideas to try and make

#

so like how in say when learning c# I first made a login system and then a 'atm' style system so something like taht but in sqf

lone glade
#

i'm trying to think of something but nothing comes up :/

austere hawk
#

hello world script using the various message possibilities...

lone glade
#

but that doesn't really help learning sqf

#

i'd say finding something you want to do and then ask for pointers here would be faster

#

but finding "simple" tasks to learn sqf isn't a bad idea in itself.

austere hawk
#

what is so special about sqf compared to c#? thats the question then. Propably the scheduled/unscheduled thing?

lone glade
#

the syntax

#

and all of sqf's quirks ๐Ÿ˜„

austere hawk
#

but thats a trivial thing isnt it?

#

yeah i mean quirks and "meh this is awefull" but thats something you adjust as you go i would recon?

lone glade
#

I guess

worn hatch
#

yer see I mainly do 3d modelling and have been for a while now but ive got a project idea I really wanted to start on but alot of the mechanics are whatI would assume to be relatively complicated to implement so I wanted to try and make some smaller things first and then try and work on the ones for my project

austere hawk
#

i wrote an extended vehicle damage script... and then started on 3d radar stuff (before jet dlc came) and 3D artillery computer as first stuff.

#

and i'm not really familiar with any programming language, just the basic structure, some syntax and stuff

#

its not that hard

lone glade
#

knowing versionning (git) is also very useful

worn hatch
#

extended vehicle damage? so like each part such as the wheels doors etc gets its own damage value or? also yer im not too farmiliar with git but ive used it in a few projects before (assuming you mean github if not then I probably look like an idiot lol) but yer Ive got experience with Python, and C# primarily so im hoping ill be able to figure it out pretty quickly

austere hawk
#

no, ammo exploding from penetrations to ammo, based on projectile parameters and so on, fuel burning, crew getting injured based on hitlocations blabla jadda jadda. Propably obsolete once tank dlc comes around

little eagle
#

Let's hope!

meager heart
#

amen

lone glade
#

cough ACE_cookoff cough

worn hatch
#

oh fair enough. That sounds pretty cool

lone glade
#

and no commy

austere hawk
#

mine is better - in terms of potential, because ace needs to work with all vanilla stuff and pre-existing sections. I have custom models where much more is possible

lone glade
#

currently it's worse on dev branch damage wise

meager heart
#

X3KJ, did you made any demo videos of your damage system ? i saw something like that... but it was so long time ago, afaik beta times

austere hawk
#

@meager heart then it must be something else you think of, mine is more recent (but unreleased).
Haven't made detailed presentation of it. You can see the results of it here https://youtu.be/dcH4bzH6Ydk?t=6m16s and at 18:00 and 20:30, but its just the end results for explosion. The more interesting bits, like leaking, fire damage over time of compartments and crew stuff are not shown.

meager heart
#

Oh nice models there also is it Warhammer like conversion ? ๐Ÿ˜€

austere hawk
#

it is indeed

meager heart
#

Nice ๐Ÿ˜€

#

That system looks interesting...

#
Other volatile components inside a burning compartment may ignite and burn or explode as well -depending on vehicle setup it is possible to cause chain reactions within multiple compartments
austere hawk
#

i'm hoping the dlc does the same and more... but i somehow have a feeling that many interesting bits are not implemented, and that its all totally inaccessible and hardcoded ... as with radar in jet dlc...

#

^yeah that part is crucial for large objects like battleships, or "land battleships"

meager heart
#

are you sure that is you first project ? lol

austere hawk
#

When you start with one layer first (explosion) and then gradually add on top it's not difficult. Only thing i was not feeling capable of was to making it compatible with the MP side of things - which is where the guys from IF mod (kju and co) offered help

#

but currently all on hold waiting for what tank dlc brings

meager heart
#
commy2 ๐Ÿ’ฉ - Today at 02:18
Let's hope!
plucky pewter
#

I've a question about Draw Distance in MP, if anyone wouldn't mind helping

#

I have setViewDistance 6000; in my initServer.sqf, but my players don't seem to have longer draw distances. I watched one of their screens and it looked like he had less than 1k Draw

#

In addition, I have player enableFatigue false; set in init.sqf

#

This works for me (the host) but not hotjoin players

#

some looking around suggests that I want to use either initPlayerLocal.sqf or initPlayerServer.sqf, but I am not sure which is the more correct place to put that line

compact galleon
#

@plucky pewter initPlayerLocal.sqf

peak plover
#

Is there a way to spawn a unit completly naked?

#

I meean

#

As soon as he is created he is naked

#

So he never gets a uniform not even for a frame

#

Even B_Soldier_base_F spawwns with gear

edgy dune
#

is it possible to spawn in like ,the combat goggles on a floor?

peak plover
#

yes

#
Waffe1 = "WeaponHolder" createVehicle getpos this;
Waffe1 addWeaponCargo ["arifle_Khaybar_C_ACO_F",1];
Waffe1 setPos [getPos this select 0,getPos this select 1,0.5];Waffe1 setdir 75;

You might be able to figure it out from here

still forum
#

@peak plover make your own config class of that unit that is naked.

#

Then it will spawn naked ^^

#

That script you posted was written by a german

peak plover
#

That needs a mod

#

waffe == gun/

#

?

still forum
#

ye

plucky pewter
#

@compact galleon Thanks much for the help

peak plover
#

Man , empty units with nothing at all would be great for everyone who uses custom loadouts.

barren magnet
#

@peak plover use an unarmed soldier and strip his uniform and GPS etc then he is naked. Though yes it would have been nice to have an unit called B_unit_naked

knotty mantle
#

The survivors of Nato and Csat have ONLY the uniform afaik. That is probably the closest you will get...

lone glade
#

csat uniforms have increased protection

knotty mantle
#

yeah i know. Due to the fact they lack the heavy vests for BluFor.

#

At least that is the reason i read somewhere

lone glade
#

nah, most of their vests don't provide any protection, only those "basic" kevlar ones without plates

knotty mantle
#

their = BluFor/OpFor/both?

peak plover
#

I can remove uniforms

#

It's just the stutter from creating units and then giving them loadouts via script is bigger than it would be on a naked guy

meager heart
#

hide it maybe somehow

little eagle
#

I hate having to debug Steam exclusive mods.

#

Downloading them is so annoying. So many search bars, menues and launchers compared to google.

#

And SW is so fucking slow compared to what I get with my browser.

#

And then finding that god damn folder.

#

Why so many subfolders wtf.

peak plover
#

@little eagle what?

#

C:\games\steamapps\common\Arma 3\!Workshop

#

THe invisible folder

#

They are all there

#

I like downloading, just type in search. and hit +

little eagle
#

"C:\Steam\steamapps\workshop\content\107410\930738103\Addons"

#

C:\Arma 3
is my usual path

#

Haha, open the first file:

// by commy2, edited by ...

peak plover
#

There's shorctuts with mod names in !workshop

#

I actually must be one of the only people that likes SW

still forum
#

Shortcuts are created by Arma launcher afaik. So if you don't use that you might not have them

lone glade
#

@still forum backpack entities remaining the scene seems fixed

#

at least locally

#

they may still not get deleted properly on other clients

still forum
#

So atleast on the host they are properly deleted. That should solve most of the problem I guess

lone glade
#

yup

peak plover
#

is that in stable?

lone glade
#

No, dev

unborn ether
#

Is any container like vest is the same object when it's moved from vehicle to unit etc?

peak plover
#

if unit respawns

#

Does it get it's group back?

#

base on mission.sqm?

lone glade
#

@unborn ether depends what you call "same object"

unborn ether
#

@lone glade You can return container object with vestContainer for example, just curious if it stays the same object when you put it, or take it, in order to do some setVariable stuff. I just can't check that from phone ๐Ÿ˜ฌ

lone glade
#

you can't setvar objects

#

nor containers for that matter

unborn ether
#

I can't setVar on objects? Wut

lone glade
#

only:
vehicles (such as ground holders the containers are in)
locations
controls
displays
dialogs

#

and ofc mission / ui / profile/ parsingNamespace

unborn ether
#

But isn't that an actual vehicle? Can somebody please check ?

lone glade
#

it's not a vehicle

#

the ground holder it's in is

unborn ether
#

No no

lone glade
#

yes yes

unborn ether
#

When it is on your unit

lone glade
#

and how it is? via a special ground holder

unborn ether
#

I think it returns the actual backpack object

#

vestContainer player setVariable ["foo","bar"];

#

Just to see if keeps existing after put/take actions

still forum
#

@lone glade You can set variables on backpacks/vests. TFAR does that

#

yes it keeps the vars when you drop it

unborn ether
#

@still forum So basically they are persistent until deleted scripted ways?

still forum
#

yeah

unborn ether
#

Thanks

peak plover
#

So

#

I've got player variable from missionconfig

#
_unitVar = call compile (getText(_unitCfg >> "Attributes" >> "name"));
#

It always says undefined variable in expression if the unit is not there

#

How do I check that it's not nil before call compile

#

Aahh

#
isNil (compile (getText(_unitCfg >> "Attributes" >> "name")))```
#

Duuh

#

lol

still forum
#

or.. you could check the output of getText

peak plover
#

That does not help

still forum
#

Ah.. I see.

peak plover
#

because if player is not slotted... variable nil

still forum
#

You seriously call compile to get a variable?

peak plover
#

oh my god

still forum
#

get a variable.. get variable.. getVariable

peak plover
#

You are fucking right

#

LOL

#

hahah

still forum
#

use together with default value

peak plover
#

Thanks

#

โค

peak plover
#

Now it shows non-slotted in my roster

meager heart
#

๐Ÿค”

compact galleon
#

I love Discord. But then there are servers like this one, that strips it back down to IRC

subtle ore
#

Rough.

inner swallow
#

surely there are other places that don't strip it back to IRC

#

surely every place doesn't need to be the same

#

surely

peak plover
#

How is that a bad thing

lone glade
#

I just want blob emojis everywhere

#

all the other emoji packs SUCK

peak plover
#

:D:D ๐Ÿ˜„ It's all the same in the end of the day

austere granite
#

Is there any way to figure out the current topmost display?

winter rose
austere granite
#

Yeah aware of that command, just not sure how you'd get the current one

winter rose
#

do you happen to mean a dialog ?

#

or display display

austere granite
#

both, i have custom displays and dialogs

#

it's for a notification that i wanna make sure is overlayed no matter what, but because we have no decent z-order i wanted to see if i could get the current display when calling the notification function and then recreate the rsc when needed (Or add it to said display)

winter rose
#

there is a BIS fnc something that creates a display, maybe just creating one is enough (and it will add on top of all the others existing at this time)

#

why not a simple BIS_fnc_showNotification, would it be hidden?

austere granite
#

mine does some additional stuff, plus there's a couple other systems i got too

winter rose
austere granite
#

Hm thanks, i'll mess around a little to see if i can get something workable out of that

winter rose
#

wish you the best! it seems to be a recurrent question indeed

austere granite
#

Yeah although A3 UI scripting has improved a lot, zorder of items is still an issue

#

The same applies to having interactive elements on top of eachother

manic sigil
#

I must be blind, is there a way to tell the player's view elevation? I know getdir is heading.

young current
#

it starts with the orbs you see it and ends with backwards sop

meager heart
#

screenToWorld and get z ?

#

what is " view elevation" ?

#

eyePos ? ๐Ÿค”

young current
#

dingdingding

#

what is eyepos

meager heart
#

lol

young current
#

is correct answer

#

or wait eleveation as in not how hight the eyes are but how high its looking

#

yeah eye direction probably is good for that

meager heart
#

he is probably offline already, anyway

#

yep

#

we will never know, what is view elevation ๐Ÿ˜”

cloud thunder
#

Does anyone know what the in game Key ID is for Arsenal or if there is one. I've been through many of the xmls contained in the game pbos and cannot find it.

wary vine
#

Hey, anyone know anything about DrawIcon3D

#

trying to put a custom image as the icon, couldnt think for the death of my why it wasnt working, but then someone said try a complete file path , C:// etc.

#

and it worked.

#

but imagefolder/image.paa didnt

cloud thunder
#

is it for mission or od?

#

mod

young current
#

never ever use paths with drive letters ingame

wary vine
#

i have tried in altis life, and editor

#

both give the same issues.

#

@young current thats what im trying to avoid

lone glade
#

@cloud thunder the hell are you calling a key ID

cloud thunder
#

ingame localizations Ex. <Key ID="str_a3_radio_b"> <Original>Bravo</Original>

lone glade
#

those are strings

cloud thunder
#

yes

lone glade
#

sooo, you want the string for "Arsenal" ?

cloud thunder
#

yep

wary vine
#

ok, found a workaround.

lone glade
#

afaik, just "Arsenal" doesn't exist, it's either Virtual Arsenal or any other combination of words

wary vine
#

_image = format ["%1imagefolder\image.paa",[(str missionConfigFile), 0, -15] call BIS_fnc_trimString];

cloud thunder
#

yes Arsenal is what is listed in player actions when Arsenal contents are modified in English game versions.

lone glade
#

STR_A3_Arsenal

cloud thunder
#

When using one of the several Arsenal modifiers such as BIS_fnc_addVirtualWeaponCargo

lone glade
#

that's the string used for the addAction in bis_fnc_arsenal

cloud thunder
#

Ah, cool Thank You. In wich pbo is the string located?

lone glade
#

no idea

cloud thunder
#

Ok I'll try that one. Thanks again.

#

Yep. Thats it. Nice.

peak plover
#

Hmm

#

When adding dialogs /displays to description.ext

#

rsc go into


// Rsc titles
class RscTitles {
};
#

But why do displays / normal dialogs

#

Just go there without a class?

lone glade
#

@cloud thunder languagemissions_f_bootcamp

#

even with an nvme ssd win search sucks

#

took about 3-5 minutes to find in my unbinned data

meager heart
#

fn_arsenal.sqf ?

lone glade
#

the string isn't from a func ofc

#

I meant the stringtable where it's defined

cloud thunder
#

Ok, nice. What would you reccomend to unbin multiple pbos at once? @lone glade

lone glade
#

BIS tools has something to unbin all pbos from root to the P drive

#

for exactly what I just used it for.

#

it doesn't work for EBOs and doesn't unbin .p3d files for very obvious reasons

meager heart
#

arsenal function Description:Splendid arsenal viewer

cloud thunder
#

Oh right, forgot about that, I had already used it and have and unbined game on my machine somewhere for the terrain I was building and abandoned..

meager heart
#

default tool is BankRev

wary vine
#

Quick question, anyone here a pro with animated dialogs ?

little eagle
#

ctrlSetFade
ctrlSetPosition
ctrlCommit

#

Check out these 3. It's not that difficult to make.

wary vine
#

that is what ive done xD

#

but if you look at the distances.. its kinda not working, I have put in 4-5 hours trying different things before coming here

little eagle
#

"distances"

#

?

still forum
#

Every second one has a gap

#

Just look for 2 in your math stuff

wary vine
#

.. some of them are overlapping, but some have a bigger gap then it should be.

little eagle
#

Oh, that screenshot is yours, not the one from Exile.

wary vine
#

it seems to be the bigger messages that are breaking it

little eagle
#

Did you write it on your own? Because if so, you should be able to figure it out yourself. Seems like a simple math problem.

wary vine
#

i have it a little better.

#

but still not quite right.

little eagle
wary vine
#

yup

#

HOLY SIHT

#

Im a fucking idiot

#

Notifation_Array = ([_ctrl] + Notifation_Array) select {!isNull _x}; was after the movement loop, so it wasnt counting the last one sent...

#

now time to test.

#

thanks for the kick up teh arse xD

little eagle
#

Looks nice.

still forum
#

Both normal config and description.ext
Combines both arrays.
Would be also nice to use this to allow non-logged users have access to server settings. Should be a seperate array though

little eagle
#

What should they be named?

still forum
#

What is the debug console list thingy called?

peak plover
#

watch?

still forum
#

Maybe you could just reuse the debug console access array for that

#

and then call the other one CBA_settings_EditWhitelist/AccessWhitelist

#

I'm sure chris can think of a better name

fossil yew
#

How would you make barrels of certain type go BOOM when hit by a bullet with CBA events?

#

I'm trying to make a funny mission.

little eagle
#

Idea:

if mission list exists
    user can edit if he appears in combined mission + addons list
else
    if addon list exists
        user can edit if he appears in combined addons list
    else
        user can edit if he's logged in admin
#

This way logged in admins are locked out should either addon or mission have a list.

#

@fossil yew

// init.sqf
["barrel-classname", "Hit", {
    // createVehicle a bomb
}] call CBA_fnc_addClassEventHandler;

Like this?

fossil yew
#

yes. let me find the bomb class... something that's not really big, no jet bombs

little eagle
#

I think you need to delete the barrel, otherwise it could spawn multiple explosions killing the server due to hitting itself with the explosion.

#

Hit is a shitty eventhandler for this, because it could appear on any machine (shooter), not the one that owns the barrel.

#

But idk if HandleDamage works for that object.

fossil yew
#

makes sense

little eagle
#

Nvm, I was thinking of HitPart. Hit is fine.

still forum
#

additionally some thing to allow users in the list AND logged in admin. like just adding the string "loggedInAdmin" into the list together with other playerUID's

#

That way you have Chris' and my Idea combined in one list

little eagle
#

Maybe a wildcard entry for the list?

#

{"572937502", "857937459", "admin"}

#

?

still forum
#

you can either limit that only some admins can edit. Or can specify users that can edit in addition to the admin

#

yes. Exactly that

little eagle
#

Sounds simple enough.

#

Simple and powerfull enough.

little eagle
#

He, now that I know the difference between >> and / to navigate configs is the priority of them, I can get rid of even more parenthesis:

//new:
getArray configFile/QGVAR(whitelist)

//old:
getArray (configFile >> QGVAR(whitelist))
still forum
#

:U

#

new is slower tho

#

๐Ÿ—ž

lone glade
#

just forget / exists

#

just like you need to forget comment

still forum
#

eats ๐Ÿช

little eagle
#

new is slower tho
And? It looks nicer though. Benefit outweights the cost, because the speed difference is probably minor.

lone glade
#

it's subjective

#

I prefer >> looks

little eagle
#

kill all ()

halcyon crypt
#

I prefer to be very explicit with my parenthesis to be honest... It's way more clear and you don't have to know whether a command is nular, unary or binary while reading some code ^^

#

same thing with math

little eagle
#

Are you saying it's not obvious from context, because you can assume code you look at works (if it causes no problems)?

halcyon crypt
#

not entirely sure what you mean but yeah I guess so

little eagle
#
getArray configFile/QGVAR(whitelist)
#

You say it could be read as:

getArray (configFile/QGVAR(whitelist))

or

(getArray configFile)/QGVAR(whitelist)
#

I say only one of them makes sense.

halcyon crypt
#

for example I prefer

mapGridPosition (getPos player)

over

mapGridPosition getPos player
little eagle
#

Well, you end up with a lot of parenthesis if you go by this.

halcyon crypt
#

so with your example I'd go with the getArray (stuff) version

little eagle
#
floor (random (count (_blah)))
#

And that just looks dumb.

halcyon crypt
#

I disagree ๐Ÿ˜›

little eagle
#

Way harder on the eyes with this much redundant information.

halcyon crypt
#

well _blah doesn't have to be parenthesized though

little eagle
#

True.

#

But you can get long stacks of unary commands.

halcyon crypt
#

I guess but then you could just split it over multiple variables

little eagle
#

You're making this worse and worse.

halcyon crypt
#

hehe

little eagle
#

If you use it only once, you probably don't need a variable.

halcyon crypt
#

if it helps readability I don't care

little eagle
#

Well it hurts it.

#

I saw that, Dedmen.

still forum
#

โ”ฌโ”€โ”ฌ ใƒŽ( ใ‚œ-ใ‚œใƒŽ)

halcyon crypt
#

it hurts it because you probably know SQF like your back pocket for the most part, others don't ^^

still forum
#

others should tho

halcyon crypt
#

(no clue if that saying translates well to other languages)

still forum
#

gives reason to work harder on getting to know everything

halcyon crypt
#

elitism and programming don't go well together in the grand scheme of things ๐Ÿ˜›

still forum
#

Your message was better before the edit

halcyon crypt
#

lol

#

well readability and debuggablity typically go hand in hand

#

doesn't really apply to SQF since there's no real debugging

#

but still

little eagle
#

Yes, and superfluous parenthesis hurt readability and debuggability, because they obfuscate what's actually going on with redundant information.

halcyon crypt
#

and our opinions differ on readability so that point is kinda moot ๐Ÿ˜ฆ

lone glade
#

but but but

#

RPT entrieees

still forum
#

debuggability? My debugger doesn't care about parens

little eagle
#

More displayed information = eyes don't know what to focus on = more brainpower needed to read code = more easily to miss or make errors

halcyon crypt
#

@little eagle that's why I said that if it gets too much you'd extract stuff to variables

still forum
#

useless comment

lone glade
#

that's why you drink a mix of monster and G-fuel before reading sqf commy

#

to make your brain power rise up

halcyon crypt
#

@still forum your debugger probably does something similar to VS where you can evaluate the selected bit right?

#

and/or it knows which *nary type a command is

little eagle
#

A.)

private _groupMembers = units group effectiveCommander cursorTarget;

B.)

private _groupMembers = units (group (leader (effectiveCommander cursorTarget)));

C.)

private _commanderTarget = effectiveCommander cursorTarget;
private _leader = leader _commanderTarget;
private _group = group _leader;
private _groupMembers = units _group;
#

A is good, the rest is bad.

still forum
#

@halcyon crypt yeah. I guess

#

My debugger works on SQF assembly level

halcyon crypt
#

I prefer B but C is the "best" IMO ^^

little eagle
#

If you're an absolute beginner. Like a pig looking into a clockwork, then maybe B and C are a starting point, but anyone that has at least written one script should understand A.

still forum
#

definetly c. But also depends on how often that is used

#

But I would decide based on what perf I need

lone glade
#

you can even skip effectiveCommander

#

and group

little eagle
#

Or group. Come up with a better example then.

lone glade
#

leaving you with

private _groupMembers = units cursorTarget;
halcyon crypt
#

the example served it's purpose though ๐Ÿ˜ƒ

lone glade
#

aka don't put shit in vars when it's not needed?

little eagle
#

Alganthe missed it completely.

lone glade
#

my brain power is too low commy

inner swallow
#

Commy2, that said, I've had cases where not using brackets causes an error

lone glade
#

I didn't drink G-fuel or coffee today

halcyon crypt
#

๐Ÿ˜†

#

oh well, it would be a first in software land if we'd all agree on a style and it won't happen here either

inner swallow
#

Like it complains about expecting an array but finding something else, etc

lone glade
#

because an other command has priority ^

inner swallow
#

mhm. in that case using brackets fixes the issue

little eagle
#

Parenthesis. And of course it errors when you miss obligatory parenthesis. We talk about superfluous or optional parenthesis.

#

"I missed some parenthesis before, so better wrap everything in it" is not acceptable.

inner swallow
#

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

still forum
#

"I forgot my pants yesterday, so now I put pants on everything"

inner swallow
#

I don't enjoy wading through errors all the time

#

If a precautionary pair of brackets prevents that then w/e

little eagle
#

It's not even ambigious code that we talk about. It's parenthesis for the sake of parenthesis. Which is dumb.

lone glade
#

what do you think about:

(_x select 2) set [(_x select 3), (_x select 0) arrayIntersect (_x select 0)];
#

(from dedmen)

still forum
#

from me? wut

lone glade
#

yes, from you

still forum
#

neat

lone glade
#

wait, i'll find the commit ๐Ÿ—ž

inner swallow
#

Which is dumb.
maybe, but does it negatively affect anything? (if it doesn't, then "is dumb" is rather subjective here)

lone glade
#

good thing I kept the old branch around for blaming ๐Ÿ˜„

peak plover
#

vicious

still forum
#

Ah yeah. my magic stuff

little eagle
#

(_x select 2) set [(_x select 3), (_x select 0) arrayIntersect (_x select 0)];
One params would get rid of all parenthesis. I guess this time I agree that creating variables is prefered, because it's about arguments in a function.

still forum
#

It wouldn't really make it better I guess

little eagle
#

but does it negatively affect anything?
Yes, readability and maintainability as we said. And it makes the code more error prone due to obfuscating the relevant information with superfluous information.

little eagle
#

Is that why you use (_x select 0) thrice?

still forum
#

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

little eagle
#

:~P

still forum
#

apparently lazyness

lone glade
#

oh shit what have I started

little eagle
#

~ is great. It lets me use emoticons without getting replaced by non-blob abominations.

lone glade
#

yes

#

GIB BLOB EMOJIS BACK

#

.<

#

\ :/ /

little eagle
#

The plural is "emoji", not "emojis".

lone glade
#

LIES

still forum
#

params wouldn't make that better.
params ["_array1","_array2","_array3","_array3offset"]

lone glade
#

it's because you're a japanese spy commy

#

but you're also a double agent working for the USSR

little eagle
#

What's the latest season of Archer? I've seen 7 last iirc.

lone glade
#

I stopped at 6

little eagle
#

May've been 6, yeah.

lone glade
#

8 seasons

#

I watched 1 to 6

#

last one aired from april 5 2017 to may 24 2017

little eagle
still forum
#

I would yeah

#

Honestly... init func is getting a bit overloaded

#

a alternative config way would be better

little eagle
#

What do you mean by letting people not edit them mid mission. When else would you edit them?

still forum
#

you can edit them in server settings. But they won't take effect.

#

One sec gonna read up what I wrote

little eagle
#

Yeah, init has 7 args, and one of them is an array with up to 3 sub array potentially depending on the settings type.

still forum
#

I didn't write that in there :u

#

config makes it a bit crusty for very small settings though. You'd need a function for every small thing instead of having it inlined

little eagle
#

Wouldn't it just be enough to put a disclaimer that you need to restart the mission for some setting changes to apply?

#

Couldn't this , if we want it on a per setting basis, be enough to just put inside the settings tooltip?

still forum
#

Just like the exclamation mark that the setting is being overwritten

little eagle
#

So not the tooltip.

still forum
#

people don't really look into the tooltip if they already know what the setting is doing

lone glade
#

didn't stop me @still forum ๐Ÿ˜„

little eagle
#

Well, another exclamation mark may be confusing too.

#

And using the already existing one for this also, may even be more confusing.

still forum
#

A blue one?

little eagle
#

I always had this idea for making a green checkmark for when the setting does apply. Basically the oppsite of the exclamation mark. And maybe that could be yellow for those need-restart-type settings.

still forum
#

Maybe outside the dialog as soon as you changed a setting that doesn't take life effect. And when you hover over it it says
"you changed settings which will require a mission restart to take effect. <list of settings>"

#

I don't want the dialog to be filled with useless empty space on every entry for when the warning is not there.

little eagle
#

The space is there whether or not the exclamation mark is shown.

#

So could easily also make a checkmark there.

still forum
#

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

little eagle
#

Maybe positive feedback is reassuring that the setting does take effect. And that would be the ideal place for this disclaimer for need-restart type settings.

still forum
#

I'm not a designer guy. I don't know

little eagle
#

I'm not either and I'm probably the worst person to decide this.

still forum
#

Make some examples. Post somewhere. Let vote ๐Ÿ˜„

little eagle
#

Because strange things make sense to me, and really popular things don't at all.

still forum
#

Like alganthu does

little eagle
#

Make some examples. Post somewhere. Let vote
Sounds like work. Guess I make a PR with screenshots.

still forum
#

Well you said you have free time. Use it

little eagle
#

Could use it to procrastinate or play video games.

peak plover
#

That new medievel game came out

lone glade
#

kingdom come deliverance?

still forum
little eagle
#

Well, I don't play recent games, but thanks for the suggestions anyway.

lone glade
#

play video games.... like arma

#

and what can you do while "playing" arma? SCRIPTING

#

taps forehead

little eagle
#

You're a genius, alganthe.

lone glade
#

thank you

#

that's because I took coffee, now my brain power is surging

still forum
#

throws ๐Ÿฅ™ at @lone glade No sleep!

inner swallow
#

Yes, readability and maintainability as we said. And it makes the code more error prone due to obfuscating the relevant information with superfluous information.
So it's subjective ๐Ÿ˜„

little eagle
#

How is it subjective when I gave an objective and measureable reasoning?

lone glade
#

"obfuscation" doesn't really exist in sqf

#

it's just bad code

little eagle
#

I can't believe nobody has made a PAA plugin for Gimp yet.

lone glade
#

true, it gets old converting shit through texViewer

little eagle
#

Is it enough to convert to PNG, or does it have to be TGA?

lone glade
#

PNG is enough

peak plover
#

ImageToPAA

inner swallow
#

readability is subjective, as is maintainability. The latter part is linked to these two

lone glade
#

which doesn't work 90% of the time

inner swallow
#

I find it easier to read B and C (from the earlier examples), for example

little eagle
#

I gave an objective measurement for readability. The more information you display, the less readable it becomes.

inner swallow
#

that's not...

little eagle
#

Displaying redundant information, e.g. implicit information, hurts readability.

inner swallow
#

for you

#

๐Ÿ˜›

lone glade
#

No, for everyone

inner swallow
#

Not for me

#

so that's not true

lone glade
#

I've seen people comment each fucking lines of the functions even tho they were simple AF

inner swallow
#

I find it harder to read a lot of stuff packed into one line for example

#

brackets/new lines break that up

#

and yeah ofc commenting on each line makes it noisy

tame portal
#
// Pushing the item into the array
_array pushBack _item;
#

The world is full of things to explain.

inner swallow
#

^but compare that with

[actual array and stuff here] pushBack [another array] select 1```
(comments weren't part of the original discussion btw)
tame portal
#

This isn't one of them

lone glade
#

THE WIKI IS THERE FOR THAT

#

comment large blocks for maintainability or workarounds you had to use

#

tfw you use and and talk about readability

little eagle
#

You're not talking about the same thing as OPTiX.

#

But I think I know what you mean. And it's not fair, because you left out the implicit information in your example too by skipping right to the variables.

#

But how do those become defined?

inner swallow
#

Yeah I was too lazy to come up with a proper example

little eagle
#

Also, in your example, the parenthesis that you missed are obligatory.

#

So your code is broken and not suited as example.

inner swallow
#

Aye, which is why i use them by default ๐Ÿ˜›

little eagle
#

Yes, everyone should use obligatory parenthesis. That was not my argument.

#

The example is clearly ambigious. Unary command stacks are not ambigious.

inner swallow
#

My point was basically that, unless one is completely familiar with how the command precedence/stack works, it's probably safer to use parenthesis than to not, even if not required

little eagle
#

I discarded the "I missed them once, so put them everywhere" reasoning already.

#

Maybe you should study basic command precedence. That could help you debug code of others...

inner swallow
#

From a mission making standpoint, it's a lot of lost time and frustration because you thought "oh hey maybe it's okay to not use them here"

little eagle
#

Like really basic things, like read from left to right. It's not too much to expect people to know that.

inner swallow
#

But there's the tradeoff. I have finite time for a hobby. It's not my job, and I don't make mods and stuff. So this is way easier and convenient to just do this ๐Ÿคท๐Ÿฝ

little eagle
#

Read from left to right was so much of a time investment? It helps saving time later tenfold.

peak plover
#

After respawning

``` does not work... until ~15 seconds after death
Then it magically works
little eagle
#

Doesn't assignCurator have to run on the server?

tame portal
#

I usually place more more parenthesis than necessary, especially in larger if statements

peak plover
#

It works 15 second later and it's in local m

little eagle
#

SP?

#

assignCurator has to run on the server and on a dedicated server, player is null.

peak plover
#

local mp

#

It works

#

But it does not work if I respawn and do it in the next ~15 seconds

#

If 15 seconds have passed from respawning

#

it works again

little eagle
#

Who knows.

peak plover
#

t-t-thanks bohemia

still forum
#

tonks

peak plover
#

ooh, yes excited for tonks dlc 'tho

unborn ether
#

Can I have "Make Arma Not Bug" dlc?

tough abyss
#

A "The players decide the bugs to fix" would be a nice DLC, one I might consider worth paying for too

peak plover
#

Having played other games, especially open world ones... I'd say arma still is quite moddest in bug production

#

Just the sandbox nature and moddability let's us see deeper behind the veil and notice bugs that we would not know about on other games

#

Well, atleast I got rid of stutter when admin wanna become zeus or sth

tough abyss
#

The ones I have most issue with are the ones where they did it intentionally to make their DLC work properly and broke the balance of the game otherwise

peak plover
#

๐Ÿคท๐Ÿผ

tough abyss
#

Because they refuse to fix them until enough time has passed. They just can't focus on do things properly instead of hacking it together

little eagle
#

Example?

lone glade
#

don't let "the community" chose bug fixes

#

because we are the minority guys

tough abyss
#

Introduction of armour broke SP completely. Range of spotting reduced for Apex and again for tactical ops

peak plover
#

Spotting nerf is weird... shulda made it so setting skill to 1 is mroe than it's now

#

I like how skyrim / fallout games always have unofficial patches 'tho

tough abyss
#

It was first reduced dramatically with Apex, and the reason was downright obvious because the AI was spotting players through the undergrowth quite easily and a lot better than a player could do. So they decided to cap the range or it would have broken all their missions.

lone glade
#

FOR THE LAST GODDAMN TIME

#

AI CAN'T SEE THROUGH FOLIAGE

tough abyss
#

No they can't see through the leaves, but what they can do is see through genuine gaps and see the magic spot on a human when camo would make that impossible for a human

peak plover
#

@little eagle write a new life completly from scratch and make millions

#

Make it >100 fps

lone glade
#

Make a simple script drawing a line from the AI to the position they "think" you're at

tough abyss
#

In open ground humans have an advantage, in forests the AI has an advantage just based on the way our eyes work. You can't have similar capabilities for the AI in forests

lone glade
#

you'll notice very fast they:

  • don't see through foliage
  • blind fire a lot
  • you can break LOS fucking easily
tough abyss
#

I don't disagree and its not what I said or meant.

lone glade
#

even through gaps AI can barely spot your ass

tough abyss
#

But I do think to get an even playing skill the best thing to do is reduce the AI spotting skill and aim in forests due to the closer nature of it.

lone glade
#

chernarus is the most noticeable for that, you can lay down in some parts of the forest and be practically invisible

tough abyss
#

BI clearly did exactly that and for the same reason both for Apex and Tactical ops so that now if you aren't playing either their spotting distance is hard capped at a ridiculously low number.

#

I am sure they will undo a bit of it in a patch or two, probably for tanks because the low value wont work for that DLC ironically!

#

I just wish they didn't do that, change the balance of the game overall for the purpose of making their DLC work. Its frustrating to say the least.

peak plover
#

Yeah. The issue is @lone glade if you don't run a script that reveals spotted enemies to other groups around. They can't see past a certain distance anymore. And players can easily see. But @tough abyss uses right mouse button zoom. So he has a huge advantage in long range, cuz right mouse button zoom is 3 (according to call CBA_fnc_getFov)

#

3x zoom, for free... I hate right mouse button zoom

#

I play without zooming ... so having a scope is a huge difference

#

THere's a mod VTN, that disables it and there's config edits people have done to disable it as well

tough abyss
#

I fully expect the range to be massively extended for tanks DLC because you can't have tanks being limited to 300m spotting each other it will be ridiculous.

peak plover
#

I just don't do it. Makes game more comfy

#

That's true

tough abyss
#

I quite like the idea of no zoom, we play mostly without scopes to bring ranges down to realistic levels with appropriate accuracy too

peak plover
#

Look at SQUAD

#

If that game had zoom like arma

#

It'd not be half as intence

tough abyss
peak plover
#

Yeah

#

Last I checked they disable rmb zoom for all things they do

tough abyss
#

Is there one without pistol accuracy changes? (What does it change about pistols?)

peak plover
#

@wraith cloud It's stupid. If Squad can do it arma can as well. And people who defend it saying u can see better IRL. No you can't... try spotting someone from 300 m away... then try in arma with rmb zoom...

little eagle
#

I think the FOV for RMB zoom is 0.25 and default is 0.75 on foot.

#

So yeah, 3 times magnification.

peak plover
#

Almost a sodden ACOG

#

BUT

#

To make thigns worse RCO is actually 6x

lone glade
#

weapon accuracy is their dispersion cone in milirads

little eagle
#

Yep. They used the zoomed in FOV as 1x.

peak plover
#

In description RCO says magnification 2x... I guess it means 2x max rmb zoom

little eagle
#

So all 2x weapons should be 0.125

#

I really hope I remember those values correctly -_-'

peak plover
#

Maaaan

#

Is there a way to script remove the zooming?

little eagle
#

No, you have to edit the configs, including all vehicles.

peak plover
#

Going through all classes takes too long

lone glade
#

make a macro

little eagle
#

Still need to edit all configs.

peak plover
#

^

lone glade
#

you haven't seen me using the ace clipboard for that ๐Ÿ˜„

tough abyss
#

Find all of them, and maintain the list of them. It is a fair bit of work but I certainly will see about trying it out and see how the game feels like that

peak plover
#

ACEX disable zoom when ๐Ÿ˜„

tough abyss
#

Certainly fits with our ethos

little eagle
#

I'm fine with RMB zoom, but it kinda forces the optics to be based on 0.25.

peak plover
#

Yeah

#

I feel like optics don't matter

#

I could play with ironsights

lone glade
#
call {
    private _headgearArray = ("((configName _x) find 'milgp_h_cap_backwards_03') > -1" configClasses (configFile >> "CfgWeapons")) apply {configName _x};
    private _listLength = count _headgearArray;
    for "_index" from 0 to _listLength - 1 do {
        "ace_clipboard" callExtension (["    HEARING(", (_headgearArray select _index),");",endl] joinString "");
    };
    "ace_clipboard" callExtension "--COMPLETE--";
};

Because a certain mod maker couldn't inherit properly.

tough abyss
#

I think its too strong currently, but at the same time we can still spot further than the AI without it.

little eagle
#

And 0.25 already is quite zoomed in, so they had to choose to make their optics only be 2x technically.

peak plover
#

and I can kill shit up to ~300 ez... That means with an rifle, in a3. you'd never need a scope

little eagle
#

If you now make e.g. Bundeswehr optics with 4x zoom, they feel akward.

#

That's why I just based everything on 0.5 :~P

peak plover
#

Make scopes great again. By removing or reducing rmb zoom

lone glade
#

holy fuck

peak plover
#

rmb should be like 1.5x max

lone glade
#

the backlash

peak plover
#

...

lone glade
#

I should do it and be crowned "most hated person by the steam workshop"

peak plover
#

Do it for ACE3 and put it in common

little eagle
#

Too many assets to handle. Especially CUP. Not even thinking about RHS.

lone glade
#

no, better

#

put it in CBA JR

peak plover
#

CBA common

#

no way around it

#

everyone can't zoom

little eagle
#

If you want to kill CBA, then that's the right idea.

peak plover
#

:^)

lone glade
#

"FIRST TEH BORKED OUR SERVER, THEN DEY TOOK UR ZUM"

peak plover
#

XD

#

You killing me

#

Aite

#

enough of ranting

little eagle
#

What was the quote, alganthe?

lone glade
#

THESE SH1THOLES BROKE MY SERVER , BUNCH OF FILES I DON'T EVEN WANT , NOOBS , I'M TELLING TRUMP !

#

also:

Where is the ace_server.pbo located?

I can't find it, and the instructions on the website for the framework are wrong. It's not in the optionals folder. I need to set up default settings for the ace mod on my server but I can't cause your tutorial is outdated and the file isn't there (I searched my entire SSD for it even!)
#

look at the header

still forum
#

Oh.. you searched your entire SSD?

#

Well ofcause you don't find it if your mods are on your HDD.. Duh.

lone glade
#

"the tutorial is outdated" it's so outdated it even says it is and points to the correct one

little eagle
#

ARCO is 2x zoom by description, but actually it's 0.125 FOV and default is 0.75 FOV. So actually it's 6x zoom from the default.

lone glade
#

wow

#

thanks marksman DLC

little eagle
#

I always skip the brightly colored parts of the doc.

lone glade
#

but wait commy

#

there's more!

#
@censored , After a few hours of testing, googling , finally I found the solution, It looks like ace_server.pbo is not needed anymore and ace server side settings are integarted into cba settings. Why it is not clearly written in readme text IDK. What you need is just "cba_settings.sqf" file in the "ARMA3\userconfig" folder. Just copy your ace settings from serverconfig.hpp file and paste it to newly created "cba_settings.sqf" file. It wokrs for me and I hope it will work for you. Just check your server rpt file, you should have line like this:

[CBA] (settings) INFO: Userconfig: File [userconfig\cba_settings.sqf] loaded successfully.

regards
censored
little eagle
#

It's also not just me:

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

When using the event names listed below with the ctrlAddEventHandler, ctrlSetEventHandler, displayAddEventHandler or displaySetEventHandler commands, the prefix "on" in the name must be removed. (e.g. 'ButtonDown' instead of 'onButtonDown')
#

So many people miss that.

lone glade
#

not using config EHs, TOTALLY HARAM

little eagle
#

Eh.

peak plover
#

Im colorblind so I don't see the text that they makecolored on the ace 3 wiki

#

it's all invisible for me

lone glade
#

i'm html / css blind, I can't see html / css elements

peak plover
#

๐Ÿ˜‚

lone glade
#

I only see plain markdown

peak plover
#

I can't see indendation

little eagle
#
                    class MRCOcq //sources - ["A3_Weapons_F_Acc"]
                    {;
                        opticsZoomMin = 0.25;
                        opticsZoomMax = 1.25;
                        opticsZoomInit = 0.75;
                    };
                    class MRCOscope //sources - ["A3_Weapons_F_Acc"]
                    {
                        opticsZoomMin = 0.125;
                        opticsZoomMax = 0.125;
                        opticsZoomInit = 0.125;
                    };
peak plover
#

I can't see new lines either

#

It's all jsut 1 line for me

little eagle
#

Yes, MRCO is the same. 6x zoom from the default.

peak plover
#

make rco 4x

lone glade
#

ARCO, MRCO, RCO, ERCO are all the same

peak plover
#

make rmb 1.25

lone glade
#

how to piss thousands of people at once 101 - starter edition

peak plover
#

s๐Ÿคท๐Ÿผ

little eagle
#

They'd get used to it.

#

Hahah.

peak plover
#

^

little eagle
#

It would make the game better imo.

peak plover
#

I got used to it within like 2 sessions

lone glade
#

true

tough abyss
#

Unrealistic long ranges for everything is one of Arma's bigger problems

peak plover
#

pvp would be more intense and make scopes more meaningful

#

idno

lone glade
#

but then you'll still have people fucking scream on top of their lungs

peak plover
#

I feel like arma 3 ranges are one of the best in gaming

#

You should play sniper ghost warrior 3

#

How to lose sense of distance and depth

#

the game

little eagle
#

If they are the best, why change them?

peak plover
#

No

#

Zooming is bad

#

Distances scale well

#

Mountains and hills feel realistic compared to Ghost Recon Wildlands

#

Which feels like it's comprassed the size of the map, but kept the height of the map

tough abyss
#

The odd thing about Arma is the terrain feels good but actually its pretty compressed as well compared to real life

peak plover
#

@still forum can intrecept remove RMB zoom in a easier way than editing 1000s config entries?

little eagle
#

Yes, let's offload all the shitty tasks to Dedmen. I approve.

peak plover
#

I actually think that's got the potential to be the easiest fix

tough abyss
#

Changing all the zoom all at once in a simple script so we can rebalance everything would be great. Probably not possible though

little eagle
#

Not with SQF.

#

A script to generate the needed config would be good enough for now though.

still forum
#

@peak plover it can edit the config entries for you

peak plover
#
if (_zoom > 1) then {_zoom = ((_zoom / 1.5) max 1)};```
There did it