#arma3_scripting

1 messages ยท Page 302 of 1

little eagle
#

The problem here is that the selection can have all kind of names, but the effect is determined by the hitpoint name

jade abyss
#

@tough abyss again: We gave you the Examples above, how to do it.

little eagle
#

We haven't even started with wheel hitpoints yet and their physx integration with the wheels class.

#

You should know that every vehicle, even cars have technically 8 wheel hitoints...

#

bla bla bla

jade abyss
#

Or more

little eagle
#

It's overcomplicated and broken.

tough abyss
#

For each wheel?

little eagle
#

No, 8 per vehicle

tough abyss
#

What about tracked vehicles?

#

They have multipule wheels.

little eagle
#

Oh and the depends entry! For helicopters with multiple engine hitpoints...

jade abyss
#

wait wait wait, 8 per Vehicle? erm, not rly

#

1 per Wheel

little eagle
#

Tracked vehicles use HitLTrack and HitRTrack

#

here is what should happen in Arma 4:

#
  1. scrap old system
  2. make a better one
jade abyss
#

Thats it (taken from one of my Cars)
class HitLFWheel;
class HitLF2Wheel;
class HitRFWheel;
class HitRF2Wheel;

#

So 8 is simply not true

#

There might be some Emptry Entrys from the baseClass, not nothing more.

little eagle
#

The other four are inherited from class Car

jade abyss
#

1 Wheel = 1 Hitpoint

#

Yeah, but they don't come in count.

little eagle
#

They would

jade abyss
#

You can have 20-30-40 HitPoints

little eagle
#

They're only inactive, because they have no valid selection in the model

jade abyss
#

No, since there don't get dmg assigned, if there hitPoint won't be addressed

#

Exactly.

#

So they might be in the Cfg, but are not in use

little eagle
#

But I said technically they have 8.

jade abyss
#

technically can there be 1000 ๐Ÿ˜„

tough abyss
#

God no why.

little eagle
#

Sure, and without getAllHitPointsDamages it would be difficult to tell which ones do stuff and which ones don't.

#

That's all I said. : )

jade abyss
#

If you got ppl, who don't follow the "Standard"-Naming its even worse!

#

like:
Wheel_1_1 = Reifen_VL
-.-

little eagle
#

I like how your car technically has four front wheels and no rear wheels

jade abyss
#

Or any other custom name for Standard Stuff ....

#

Have you checked the Vanilla Cars? ๐Ÿ˜„

#

I think the Kamaz was it

tough abyss
#

Or like ActsPercMstpSnonWunaDnon_sceneNikitinDisloyalty_Bardak.

#

WHY amovpercmstpsnonwnondnon_acrgpknlmstpsnonwnondnon_getinhigh?

little eagle
#

One pair of the rear wheels is named front wheel or something like that.

jade abyss
#

I think 2_3 was in the middle, and 2_4 was the last one. Something was strange there

#

Yeah, or something like that.

tough abyss
#

Lol.

jade abyss
#

amov perc mstp snon wnon dnon

little eagle
#

Gesundheit.

jade abyss
#

Danke.

#

Wnon = Weapon none?

little eagle
#

iirc yes

tough abyss
jade abyss
#

There you got it, why you ask then ๐Ÿ˜„

little eagle
#

Cwmn - civil woman

#

fake news

jade abyss
#

FAKE!

tough abyss
#

๐ŸŠ

jade abyss
#

Sometimes... only sometimes... i wanna move to czech and steal a tank. Not giving it back, unless Females are in and all bugs are fixed ๐Ÿ˜‚

tough abyss
#

The tank?

little eagle
#

This was my rant of today. Tomorrow: PhysX. Don't miss it.

tough abyss
#

๐Ÿฟ

#

Scheduled time?

jade abyss
#

PhysX, gimme a call, coming in also.

#

Also got something to say

tough abyss
#

Looks for trash emote.

little eagle
#

๐Ÿ’ฉ

jade abyss
#

You @tough abyss ! You go and write your script! Nao!

#

Stop writing here

tough abyss
#

Close enough ๐Ÿ˜„

jade abyss
#

We come back in 15min. If you don't have a working script... erm... idk.....

#

i send you a pic of Commy, in the bathtub.

little eagle
tough abyss
#

Boy if I could write working scripts in 15 minutes.

jade abyss
#

14min left.

little eagle
#
                                    };
                                };
                            };
                        };
                    };
                };
            };
        };
    };

    [_pos, _data, _error]; // Return.
};
jade abyss
#

๐Ÿคฆ

tough abyss
#

๐Ÿคท

still forum
#

A script in 15 minutes? sleep 900; done!

jade abyss
#

๐Ÿคฆ ๐Ÿคฆ ๐Ÿคฆ ๐Ÿคฆ

#

One wasn't enough ๐Ÿ˜‚

native hemlock
#

Well that's dangerous, what if simulation is slowed? Then it'll be longer than 15 minutes

#

uiSleep 900; FTFY

jade abyss
#

but...

#

Looks more complicated ( == better, for most of the peeps)

_start = diag_TickTime;
waitUntil{ ((diag_TickTime - _start) >= (15 * 60))};```
little eagle
#

I don't think uiSleep does what you think it does, Penny.

jade abyss
#

It does

little eagle
#

wow. I'm pretty sure this is wrong.

jade abyss
#

uhm

#

Why should it?

little eagle
#

I don't think uiSleep is using the machines clock like diag_tickTime does.

jade abyss
#

uiSleep is basically using the system time (uiTime more specifically)

queen cargo
#

could be compared to:

#

for you in german: kรถnnte verglichen werden mit

jade abyss
#

vergleichbar mit, aber nicht das selbe:

little eagle
#

It just uses the simulation time without respecting time acceleration and simulation suspension (esc in SP, setAccTime)

jade abyss
#

Like diag_TickTime, iirc

little eagle
#

The machine clock will still tick faster under heavy load.

#

When the game is slowed.

jade abyss
#

for Sleep

#

but not uisleep

little eagle
#

I'm not so sure about that. Dedmen should take a look at the internals.

jade abyss
#

yepyep

still forum
#

I think to remember it uses systemTime. Will check when WoW instance is done

#

instance? Dungeon? what's it called in english

jade abyss
#
Dscha - Today at 4:58 PM
uiSleep is basically using the system time (uiTime more specifically)
(edited)```
native hemlock
#

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

still forum
#

uiTime is indeed not related to systemTime. It get's updated every frame by the time that was spent inside the frame. ignoring acceleration

tough abyss
#

@jade abyss I don't have a working script. Send @little eagle's photos.

jade abyss
#

I can't. Geneva Conventions

queen cargo
#

^can confirm

still forum
#

Meaning UITime stops when game doesn't render. Like.. not having -noPause set in singelplayer and being tabbed out. But the whole engine stops at that point so.... yeah

#

diag_ticktime still works with the game paused. Essentially using elapsed systemTime since first time someone called getTickTime in the engine

native hemlock
#

Nice info, thanks

little eagle
#

simuation time (sleep) != ui time (uiSleep) != clock / tick time (diag_tickTime)

#

Obviously uiSleep is also serialized in savegames, which wouldn't work if it were the same as diag_tickTime

#

wiki wrong again

native hemlock
#

KK made that page in 2015, so maybe he has learned since then, or you can educate him ๐Ÿ˜›

turbid thunder
#

I'd like to be educated in a good method of silencing footsteps via scripts as opposed to my switchmove spam and animcoef at 0.2

little eagle
#

It's so easy and rational to see the dichotomy: sleep + time vs. uiSleep. Clearly diag_tickTime is for uiSleep what time is for sleep. Problem is that it isn 't true.

#

You cannot silence footsteps with scripts.

turbid thunder
#

SwitchMove spam it is

peak plover
#

Is using spawn for a building search a good idea?

#

Is the cost worth it?

queen cargo
#

the "cost" is not existing

#

there is no cost when spawning

#

you just add something to the scheduler

#

and it will be executed

peak plover
#

spawn and a loop

queen cargo
#

cool ... so what?

#

wanna know how many threads in your system are running?

peak plover
#

a thousand?

queen cargo
#

spawning that however will take a noticable ammount of time longer

peak plover
#

But I have to spawn it, it's a loop with sleep

queen cargo
#

best practise: do it in the very begining

#

loop with sleep?

#

why sleep in there?

peak plover
#

otherwise it's checking every frame :S

queen cargo
#

???

#

let me start different

#

what do you want to archive

#

as it looks to me that you did some mistake on the way to it

#

a building search spawned is fine
with sleep it is not as it will suspend the finalization even further

#

best practise for whole map building search: do it in the very begining serverside
best practise for partial map building search: depending on size, do it direct or suspended
the later however will require some "framework" as you usualy want to do somethign with those buildings

peak plover
#

Ohh shit

#

Noo noo no

#

Ai search the inside of a building

loud python
#

Sorry to interrupt a conversation, but wasn't there a nice way to automatically have something executed in an infinite loop with automatic sleep?

peak plover
#

That's actually a really good point for the building search

queen cargo
#

FSM script @peak plover if it is AI behaviour

loud python
#

nevermind, that was waitUntil, and it was a different thing

peak plover
#

Soo fsm is faster than normal checks and loops ? I've had bad experience using ai mods

queen cargo
#

it is a state machine

#

if correctly used, it will be faster

#

it is not simple though ...

#

but it will be easier as soon as you understood how FSM works

#

he wants to implement AI behaviour for building search

still forum
#

@peak plover using spawn is fine.

#

just make sure the script is exiting once the AI group or whatever doesn't need it anymore

peak plover
#

Ok thanks

#

I guess I'll look into FSM later, as it might provide really cool things

#

Have you had any noticable performance drops or issues when running more than 5 instances of a ai building search script at the same time ?

#

Ok, would about 100 cause issues?

#

Actually I'll make this and then I'll change according to the results I gather

#

Not today, but maybe one day

#

My dream is to clear out all buildings by 2020

dusk sage
#

It would depend how long the searching takes

#

If it's going to take a second to run, and you have 100 instances, they'll start to bottleneck

peak plover
#

YES SIR

#

This looks really interesting

#

Immersive AI that patrols around and stops to talk to other patrols etc. would be possible with this. This all looks so amazing

turbid thunder
#

"Bad guy passed" --> "Idiot"

plucky beacon
#

๐Ÿ‘

#

how do these fsm things work anyway

turbid thunder
#

I think its to be understood as a flow of things, where one state can have various things that can happen based on current conditions, which then lead to other states. Atleast thats what those graphs make it seem like

plucky beacon
#

how does it work from a scripting perspective

still forum
#

What do you mean by scripting perspective? ^^

turbid thunder
#

FSM's are just that: States with conditions leading to other actions resulting in being in another state. Every condition has a priority assigned so when multiple conditions are met, the one with the highest priority will be activated, leading to an action (script command like you are used to) which leads to another state with different conditions. Atleast that's how I understood it (Doesnt mean I can explain it). Oh also, FSM's are done in the editor you saw in the screenshot above. Disclaimer: I have never worked with that stuff like, ever so you are free to correct me if I'm wrong

cedar kindle
#

the editor is horrible don't bother

turbid thunder
#

What's wrong with it? Haven't touched it myself so I cant tell ๐Ÿ˜„

cedar kindle
#

the creation of boxes works, but writing any sqf in the small textarea is horrible, and provides no help

#

it's better to just call functions directly from there

turbid thunder
#

Is that the only major issue?

cedar kindle
#

try it yourself and see if you enjoy it :p

turbid thunder
#

I have hardly enough brain power left to do my video compilations of gameplay clips, and then I need to try to master the art of displays and dialogues first but then I may try that FSM stuff for custom AI

subtle ore
#

Ive started to love displays and dialogues.

plucky beacon
#

do you mean call functions from FSM instead of writing code inside of it?

little eagle
#

I'm sorry @subtle ore

#

FSM's are a mess.

queen cargo
#

what has changed @subtle ore

open vigil
#

Quick question for the professional code monkeys. Does anyone use Visual Studio Enterprise?

queen cargo
#

what you need it for @open vigil

#

most of the time the community edition is more then enough

#

there are just a few "edge cases" where that is not true

open vigil
#

I use Eclipse at the moment, but have the opportunity to get VS Enterprise. I'm not worried about it being overkill, I just dont want a reduced feature set that community may have.

queen cargo
#

you get pretty much everything
if the switch is worth it, you have to decide yourself

open vigil
#

yeah, I was having a look at that, but just wanted personal opinions before I get it.

queen cargo
#

reason for eclipse > vs community?

#

because that most likely also applies to that

#

๐Ÿ˜›

still forum
#

@open vigil Yes I do! why

open vigil
#

See above ๐Ÿ˜‰

#

Its alright though. Made my decision. Purchase made.

still forum
#

I'd always take VS over eclipse.I need Enterprise for the Better profiling and testing tools. But I'd say that VS Community is enough for the avg dev

plucky beacon
#

I take visual studio over eclipse too but i only use community edition :/

subtle ore
#

@little eagle huh?

#

@queen cargo huh?

queen cargo
#

Ive started to love displays and dialogues.

little eagle
#

Sounds like: "my child is mentally challenged"

subtle ore
#

Love probably wasnt the right word to use, it works.

little eagle
#

It's fine. Believe me. No one wants these things to happen.

subtle ore
#

Im not following.

little eagle
#

๐Ÿ˜

subtle ore
#

๐Ÿ˜•

queen cargo
#

it is ok @subtle ore
commy2 is weirdo

so ... what did changed that you now enjoy UI stuff?

little eagle
#

He already said it. "It works" now.

subtle ore
#

@queen cargo i just find its easier to use than other ui systems i suppose. For example UMG has a little bit of a learning curve in ue4.

#

@little eagle "it just works" - Todd Howard

queen cargo
#

ahh ok
well ... it is extremly simple ... so ... as soon as that abstract concept is out of the way, things get easier

little eagle
#

It always does. Except when it doesn't.

queen cargo
#

using some UI-Editor makes it even more simple

subtle ore
#

Yep.

little eagle
#

And now explain to me why I can't use ctrlShow for sub controls in controls groups.

queen cargo
#

obvious question, obvious answer: you are stupid
ohh ... and it does not work

little eagle
#

๐Ÿ˜ข

subtle ore
#

๐Ÿ˜ฎ

little eagle
#

๐Ÿ˜‰

subtle ore
#

Oh god, these emoji things are taking over.

plucky beacon
#

๐Ÿ‡ฌ ๐Ÿ‡ฆ ๐Ÿ‡พ

#

nailed it

little eagle
#

๐Ÿ‘

meager granite
#

๐Ÿค”

plucky beacon
#

Sa-Matra, I been meaning to ask you actually

#

Do have any tips for someone trying to make a scoring system since the default scoreboard sucks

tough abyss
#

tag the man!

plucky beacon
#

I don't like tagging people because I don't like bothering them

#

:<

tough abyss
#

well he wont ever notice us plebs

#

@meager granite

plucky beacon
#

AH!

#

Okay well I guess no choice now

little eagle
#

@plucky beacon is too nice.

plucky beacon
#

I'm just extra careful

#

about bothering people

#

:I

#

Tfw you like being tagged but always worry about tagging everyone else.

queen cargo
#

just ignore commy @plucky beacon

plucky beacon
#

Lol

#

But i like Commy

little eagle
#

aww

tough abyss
#

@little eagle first time?

#

intense joke

tough moth
#

Hello, any help appreciated as this is not my specialty.

Trying to create a script that sets variable name of specific object (Land_Cargo10_yellow_F). Needs to name the object box1 or something similar.

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

tough abyss
#

@tough moth just _object setVariable["box1", nil]

#

?

tough moth
#

@tough abyss The trick is, it has to reference the classname of the object, then apply variable name.

tough abyss
#

@tough moth so ```sqf
_object = "Land_Cargo10_yellow_F" createVehicle pos;
_object setVariable["box1", nil];

tough moth
#

The scenario is: box gets spawned, needs to be named

tough abyss
#

other than that, im not sure i understand what you're asking ๐Ÿ˜›

tough moth
#

Thanks! I'll give that a try.

jade abyss
#
MyTag_MyFancyBox = "Land_Cargo10_yellow_F" createVehicle pos;
missionNameSpace setVariable ["MyTag_MyFancyBox",MyTag_MyFancyBox,true];

Box is now known on every Client as "MyTag_MyFancyBox"

tough abyss
#

@jade abyss why not just set the public flag in setVar to true?

#

i thought it transfers the var globally

jade abyss
#

Erm... it is set to true?! oO

tough abyss
#

@jade abyss nvm im drunk or smth

jade abyss
#

k, + No need to highlight me, when we are currently writing oO

tough moth
#

o.O

tough abyss
#

yeah mb

little eagle
#

No

open vigil
#

DriftingNitro, if only everyone was that conscious about not tagging people.

jade abyss
#

Yeah, only Highlighting if important. Right? @deft dock

plucky beacon
#

๐Ÿ‘

frosty yew
#

I am having an issue with this piece of code

#

_markers = allMapMarkers;
_selectedMarker = str(_markers select 0);
hint _selectedMarker;
[getMarkerPos _selectedMarker, WEST, 5] call BIS_fnc_spawnGroup;

#

The units never spawn. Am I doing something wrong?

#

ah gotcha! that works! thanks

jade abyss
#
_selectedMaker = allMapMarkers select 0;
frosty yew
#

perfect thanks!

polar folio
#

@tough abyss hm. you could do a scope filter too but i think the problem is that you want to go against the nature of simpleObject, right? it being just a model, which just can be used by several classes. nothing you can do there i think.

#

only reverse as in defining it when you create the simple object

little eagle
#

typeOf works if you used the classname syntax instead of the model path syntax of createSimpleObject

#

Otherwise there is no way to distinguish between two CfgVehicles classes that use the same model

#

@tough abyss ^

#

All entries in the list you generated are equally valid.

#

If you generate the simple object by using getText on the "model" entry on a classname, you could just store the original classname on the simple object using setVariable public, but you might as well just use createSimpleObject classname at that point. Which is preferred for some reason according to the wiki, because:

Objects created with Syntax 2 can be textured. The default direction should match the direction of the object if it was created with createVehicle.

#

Since Arma 3 v1.67 simple objects support setVariable and getVariable

#

What does not work on simple objects is the type filter of nearestObjects etc. They are always filtered out if the filter wasn't [].

#

select {typeOf _x == "blah"
is the slow work around

peak plover
#

Simple objects, can they be detected somehow?

#

allsimpleobjects

#

(:(

little eagle
#
entities "" select {isSimpleObject _x}
peak plover
#

The biggest thing I've seen not working is simple objects and AI

little eagle
#

That's the point.

#

wait

#

aww, I didn't save my repro

#

oh, there it is

#
_type = "Building";
_pos = [1000, 1000, 0];

_obj = createSimpleObject [_type, AGLToASL _pos];

systemChat str nearestObjects [_pos, [_type], 1];
systemChat str nearestObjects [_pos, [], 1];
systemChat str(nearestObjects [_pos, [], 1] select {typeOf _x == _type});
#

first doesn't show
second shows it
third shows it (and would filter out unwanted objects at that position)

#

creating a simple object with the Building base class

#

This isn't normal usage?

#

Well, name a different classname

#

B_MBT_01_F

#

ok

#

Land_Crane_F

#

Ok, radius 100 and Land_Crane_F

#

same result

#
_type = "Land_Crane_F"; 
_pos = [1000, 1000, 0]; 
 
_obj = createSimpleObject [_type, AGLToASL _pos]; 
 
systemChat str nearestObjects [_pos, [_type], 100]; 
systemChat str nearestObjects [_pos, [], 100]; 
systemChat str(nearestObjects [_pos, [], 100] select {typeOf _x == _type});
#

first one shows nothing

#

second one shows my "Building" + the crane

#

third one shows only the crane

#
systemChat str nearestObjects [[1000, 1000, 0], ["Building"], 100];  
#

Same mission, still empty

#

Doesn't work.

halcyon crypt
#

ah yet another count abuser ๐Ÿ˜›

little eagle
#

QS, that code doesn't show the crane created next to me.

#

To make sure I used it right, I removed the "Building" in the filter and it showed a white ring

#

readded the filter: ring disappeared

#

Conclsion:

#

A type filter removes all simple objects from the array, even if typeOf would be right

#

Now the question is: would isKindOf work?

#
onEachFrame {
    {

        drawIcon3D [
            "\a3\ui_f\data\IGUI\Cfg\Radar\radar_ca.paa",
            [1,1,1,1],
            position _x, 
            1, 
            1, 
            45, 
            "", 
            1, 
            0.05, 
            "TahomaB"
        ];    
    } count (nearestObjects [(position player), [], 100] select {_x isKindOf "Building"});
};
#

testing this ^

#
 select {_x isKindOf "Building"}

works

#

typeOf works, isKindOf works, filter in nearestObjects: broken

#

๐Ÿ˜‰

#

Oh, one diff is, that I'm on the profiling branch of 1.68

#

the one with the weird steam password

#

So it did at one point and they borked it.

#

I made my post and I have a work around good enough for me.

peak plover
#

But will this only work for simple objectomondo?

little eagle
#

works on the crane

#

can confirm

#

Btw, I used the classname syntax and not the model path syntax and the crane automatically was placed on the ground and not inside it.

#

So I guess that syntax respects the SimpleObject class stuff automatically.

#

Yeah and the position I used was z=0 with AGLToASL.

#

Any reason why you use the model syntax and not the classname syntax?

#

p3d in mission pbo?

#

ok

#

I created 50k of the Building (empty model) and it reduced FPS from 80 to 77 only.

jade abyss
#

With simpleObjects? Rly?

#

On Server or Local?

little eagle
#

Local hosted MP

jade abyss
#

Doing a check on my Dedi

#

i am lazy, do you have a command? ๐Ÿ˜„

#

(or at least a Classname)

little eagle
#
_type = "Building";
_pos = [1000, 1000, 0];

_obj = createSimpleObject [_type, AGLToASL _pos];

systemChat str nearestObjects [_pos, [_type], 1];
systemChat str nearestObjects [_pos, [], 1];
systemChat str(nearestObjects [_pos, [], 1] select {typeOf _x == _type});
#

in a for loop with from 1 to 5e4

#

if (!((_model select [((count _model) - 4),4]) isEqualTo '.p3d')) then {

#

What if if someone writes "My_model.P3D" ?

#

checking my Bundeswehr mod configs

#

inb4 the jet DLC will have them all uppercase file extensions

jade abyss
#

Okay, lets give it a try with 100 first.

#

46 FPS on Server (Win2012... -.-)

little eagle
#

Dedi Server FPS is always <= 47 for me.

jade abyss
#

50 on 2008 Server

#

46/47 on 2012

little eagle
#

It's a 2012 then I guess (it's my comms server actually, I just hijack it for my testing)

jade abyss
#

1000 = barely noticable CPU Load / No FPS Change

#

9k added, lets see =}

#

FPS 48 lol

little eagle
#

This simple object stuff is exactly what Arma needed and has great potential for building bases. Now we need mission makers. ๐Ÿ˜ฆ

jade abyss
#

Okay, its done adding:
About 10% more load on CPU0

#

CPU3 and CPU7 went up about 5%

little eagle
#

๐Ÿ˜ฆ

jade abyss
#

another 10k, omnomnom

#

Spikes on all CPUs ^^

#

FPS down to 17 (10 Threads running that:

[] spawn
{
    _Pos = [10,0,0];
    for "_i" from 1 to 1000 do
    {
        _Pos set[0,((_Pos select 0)+4)];
        createSimpleObject ["B_APC_Tracked_01_CRV_F", AGLtoASL _Pos]; 
    };
};
little eagle
#

Yeah, creating the objects is slow still

#

But once they are around.

jade abyss
#

Yeah, currently waiting for them to finish

#

oh, btw....

#

Memory used is at -1880MB again in #monitor XD

#

๐Ÿ˜‚

#

-2007MB

#

\o/

little eagle
#

overflow

jade abyss
#

count allMissionObjects "" -> 20413

#

Slowly moving up

little eagle
#

Build a base at spawn.

#

Maybe some ambient cars or road blocks using simple objects too.

jade abyss
#

"some"

#

all of them

little eagle
#

some*

jade abyss
#

all

vapid frigate
#

AI walks through them according to the wiki though

little eagle
#

So? The road block if for the players, not the AI

#

Civilian cars shouldn't be used by the military anyway.

vapid frigate
#

yeh without AI it seems like it should pretty much always be used

little eagle
#

Also cars standing around tend to be locked.

#

And without key = no driving

jade abyss
#

Unless you are a Gangster from the Bronxxxx

#

or from an ActionMovie

little eagle
#

Sounds more like something for the new dynamic simulation thing

jade abyss
#

Yeah, doesn't make much sense to use simpleObject for that (extra load to replace models)

little eagle
#

they treat them like terrain objects
Well, AI do walk through solid walls if they move in a group, so ...

vapid frigate
#

ah, good to know.. the wiki says otherwise

#

i've never tested it

jade abyss
#

then:

#

You know what to do now.

#

Soo, creating is done:
21007 Obj.

little eagle
#

It's not GTA, a parked car = no key = no moving it around.

jade abyss
#

47 FPS
CPU0 is at 30% now

#

Rest is about 20%

little eagle
#

ai vehicles do bump into everything

jade abyss
#

CPU: I7-6700k (4Ghz - 8 Cores (incl. HT))

little eagle
#

Yeah. Exactly that is what I'd imagine.

#

No more leveling the base with artillery, but whatever.

jade abyss
#

animateSource?!

#

Intersect?

#

constant Check -> Add to button -> Profit

#

??

#

You make no sense again

vapid frigate
#

yeh that's awesome.. i haven't bothered for barriers and stuff because the wiki explicitly says they walk through walls

#

i guess it should say 'but no more than usual'

glass zinc
#

Anyone know how to reduce the Performance/Server drain of multiple mines on a multiplayer server? but still have them function?

peak plover
#

You could write a mine handeler, which deletes the mines and only puts them back when there are players in a 100 meter radius

tough abyss
#

Can activateAddons be used on PBOs which aren't inside the "Addons" folder of a mod?

still forum
#

@tough abyss I don't know of any PBO's that are getting loaded that are not in a Addons folder.. well... besides the dta\ stuff. So not really. activeAddons shows everything that's loaded into the Game.

tough abyss
#

Read my question again.

#

activateAddons, not activeAddons.

jade abyss
#

Introduced_with_Armed_Assault_version_1.00

#
This command will activate addons that are referenced via scripts but not included in a missions required addons section.```
tough abyss
#

I don't understand...

polar folio
#

hm. that's actually neat

jade abyss
#

No, its not what you imagine it is.

tough abyss
#
if (isClass (configFile >> "CfgPatches" >> "some_mod")) then {
    activateAddons ["some_other_mod"]; // some_other_mod.pbo is inside the "optionals" folder
};
``` Not that?
polar folio
#

does it mean that a player that joins a mission that has nothing in the required addons list but has spawned something through script that is from an addon will then get a message and get kicked?

#

as if the addon was required by the sqm

#

?

still forum
#

Spawning something from a script doesn't get you kicked.
Calling activateAddons with an optional PBO just causes people that don't have that PBO to be unable to play the mission

I found something about that you cannot use createVehicle for stuff from Addons that are not activated. But.. Everything is loaded at gamestart anyway...

#

What are you trying to do with activateAddons?

#

You can't load PBO's with it if that's what you are trying to do

polar folio
#

who? me?

still forum
#

no @tough abyss

jade abyss
#
Dscha - Today at 3:39 PM
No, its not what you imagine it is.```
#

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

plucky beacon
#

:P still hoping DLC makes this view an option without the stuttering

polar folio
#

is that a scripted camera?

plucky beacon
#

ya

#

just attatched to the plane basically

polar folio
#

oh wait. is the fact it rotates with the plane not a feature of the default camera?

plucky beacon
#

nope

#

camera is always at horizon

polar folio
#

i see. that would be nice then

plucky beacon
#

is what I want

polar folio
#

hm. i wonder what in the config determines camera behavior. if anything. probably can only change position

plucky beacon
#

you can change the position for infantry third person, but vehicles are programmed to always be level like a gyroscope

polar folio
#

sure, don't see why not

rotund cypress
#

Hey guys, what is the difference between x = "safezoneX + 60 * (pixelW * pixelGrid * 0.50)"; y = "safezoneY + (13 + (5 + 2)) * (pixelH * pixelGrid * 0.50)"; w = "safezoneW - 1 * 60 * (pixelW * pixelGrid * 0.50)"; h = 0; and ```` x = 0.811438 * safezoneW + safezoneX;
y = 0.0974 * safezoneH + safezoneY;
w = 0.175313 * safezoneW;
h = 0.352 * safezoneH;```?

#

I take it using the above would be better for relation between different resolutions?

jade abyss
#

Change your InterfaceSize ingame

#

I only use Safezone:

x = 0.811438 * safezoneW + safezoneX;
            y = 0.0974 * safezoneH + safezoneY;
            w = 0.175313 * safezoneW;
          h = 0.352 * safezoneH;```
little eagle
#

different grids

#

The first one looks weird tho. h = 0 ???

#

That means the control is invisible.

tough abyss
#

Is it possible to over ride an entire function in the scripting commands? I want to reroute the functions logic

still forum
#

Yes. You can overwrite the CfgFunctions entry to redirect it to your file

plucky beacon
#

What's the best place to request this an official option anywy?

polar folio
#

i think you can make a ticket. there should be feature request ones aside from normal bug reports. also make a nice video of the one without stutter and mention it in the dev branch discussion thread

subtle ore
#

Cool

plucky beacon
#

Someone on the subreddit told me the dev branch already had this

polar folio
#

hm. we need someone to confirm. sounds promising

split coral
#

It's just a a bit smoother on dev. Not like your script

plucky beacon
#

Ah I see

split coral
#

camera roll still stays fixed

plucky beacon
#

damn

#

I want mah roll with aircraft tick

#

LOL someone replied to my reddit post with an account called downvote3rdperson

#

Someone doesn't like third person I guess

opaque jungle
#

I can see that. Makes ARMA feel less Simulation. I don't mind it for driving though if only due to the fact that you don't have peripheral vision

plucky beacon
#

But that's what I love about Arma, you can be playing an arcadey score attack one minute, and then in the trenches using TFAR coordinating an airstrike with a 9-line the next.

#

There's a toggle for 3rd person, and even script solutions if you don't want it on certain vehicles

opaque jungle
#

The only one I really have had issues with is in RHS Liberation the mobile respawn vehicle. The driver position is squished into the side of the cabin and even with trackIR and leaning to the side your entire left field of view is non-existent

#

You have to constantly schwiggle the vehicle to make certain you aren't going to lose your tires to a low wall or rock

plucky beacon
#

Mods and stuff, RHS has some great interiors and a bunch of finniky ones

#

So for a scripted solution you could even check that if you're in that specific classname of a vehicle to allow 3rd person

opaque jungle
#

While I am at it. Might as well add that post to here just in case...

#

Posted this earlier but my group is wondering if anyone knows a way to set up Liberation with RHS to provide weapon and equipment unlocks for capturing towns instead of just vehicles @ mention me if you have any input on the matter.

We are hoping to start a round of liberation with nothing but bolt actions and have town captures unlock newer and better gear along with vehicles.

nocturne bluff
#

It is.

thick ridge
#

Anyone know if it's possible to change the volume of a sound (played with playSound) outside of the sound's config? (e.g. in scripting)

plucky beacon
#

fadeSound?

#

๐Ÿคท

#

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

thick ridge
#

what if I wanted to change the volume of an individual sound?

plucky beacon
#

commands like playSound3d have that built in

#

but that's more for global sounds not local

thick ridge
#

it seems like there might be some variables that could be used in the sound confg. e.g I see examples where the cfg volumn is setup to be "db+0". Wonder if there are other variables.

plucky beacon
#

or Say3d

thick ridge
#

I've used say3d before, but it seems like the volume stays the same regardless of how far away you are.

plucky beacon
#

it is kinda finniky i know

thick ridge
#

and then just cuts out if you're beyond the specified distance

#

just thinking of ways to make some simple sounds for the trains

#

was thinking of just having the general track sound get louder/softer based on the speed and distance to train

polar folio
#

great idea

plucky beacon
#

playsound3d then

polar folio
#

say3d should get quieter with distance. maybe your sound config settings where wrong

thick ridge
#

hmm

#

I'll have to try it out again later

tough abyss
#

hy guys!! who can help me ?

still forum
#

No one if no one knows what the problem is

thick ridge
#

lol

tender fossil
#

Does allUnits return only persons or also eg. empty vehicles?

cedar kindle
#

only units

plucky beacon
#

Well Dedmen looks like you scared him off

#

LOL

tough abyss
#

Lol. Internet mind reading should be a thing... oh wait it is :D

plucky beacon
#

all we do here is type our stream of concious anyway

opaque jungle
#

cue Dream Theater

peak plover
#

Anyone still scripting ?

tough abyss
#

yes?

dusk sage
#

No one ๐Ÿ™ƒ

plucky beacon
#

no one is scripting ever again, it's illegal now

#

this is a legacy channel, if you leave it, it will dissapear

#

we're part of a secret undeground scripting league fighting the system from under their nose as freedom figters of community content

subtle ore
#

Lol, quick question here. Does the unit audbility coefficient only affecf the ability for ai to hear you, or does it actually effect the volume of the unit's footsteps?

tough abyss
#

Rule one of scripting club: No talking about scripting club. Rule two of scripting club: the blues have invaded

subtle ore
#

@tough abyss question is, how do we know about scripting club? Rule one must have been broken somewhere along the line.

#

Secondarily, who affiliates themselves with this so called. Scripting Club.

tough abyss
#

@subtle ore "no one is scripting ever again, it's illegal now
this is a legacy channel, if you leave it, it will dissapear"

plucky beacon
#

@subtle ore only to AI and makes them unable to track you if not by sight when set to 0

subtle ore
#

@plucky beacon damn it.

plucky beacon
#

So ya it doesn't make you go ghost

subtle ore
#

@tough abyss 0_o . If its illegal, why havent the enforcers of the law annexed this channel?

plucky beacon
#

They can't find it

subtle ore
#

@plucky beacon well, i was hoping for things like stealth, itd make it somewhat useful

plucky beacon
#

Anyone not in it can't see or join it

subtle ore
#

Woah.

plucky beacon
subtle ore
#

Lol, he said woah too many times to count throughout the three movies.

subtle ore
#

Igiload? @tough abyss

#

Ohh..i have no idea. Are you using attachTo? Last i knew of, it didnt have any collision with anything when attached.

vapid frigate
#

don't think they do, but he means after detaching, not while attached

jade abyss
#

Anyone knows, how the new hitPoint "Incapacitated" is calculated, on Infantry Units?

subtle ore
#

@vapid frigate ahhh... Duh

rancid ruin
#

other than expectedDestination, it's not really possible to predict the path a unit will take from A to B is it?

little eagle
#

Anyone still scripting ?
No, writing documentation :/

turbid thunder
#

Unless its documentation about possibilities to use functions from a mod

#

Yes

#

I didnt learn how to add custom ace actions by reverse engineering ace

#

Or to check and set radio frequencies via scripts in TFAR

#

No learning = no knowing

#

The process of gaining knowledge is called learning

#

Patch notes arent a waste of time though

#

Also the patch notes do not include the keybind

#

You can also tell people 1000x to not throw grenades at base

#

Yes, people still do the "G is not freaking gear" mistake

#

Its an unsubtle attempt at killing everyone

#

Literally

#

When everyone is at one arsenal box and someone throws a nade cuz they are too lazy to rebind

#

I did it much simpler

digital pulsar
#

have you tried tutorials, quik

#

exactly; show, dont say

#

its an interactive medium

turbid thunder
#

If you throw a nade inside the "Dont throw grenades" zone, it would just delete the grenade and it would show a hint message with the player who messed up

digital pulsar
#

create a pop up dialog "are you sure you want to throw it" every time they press G ๐Ÿ˜„

turbid thunder
#

The danger is instantly removed and the person messing up gets instant karma'd

#

@digital pulsar they'd mistake yes for no

#

Though the hint message is already the nerfed version of the script

digital pulsar
#

do a quiz when they join the game

#

if they get 90% of binds right, they can play

turbid thunder
#

Previously I'd just put them at setpos [0,0,9999999]

digital pulsar
#

but write the correct answer next to the question

turbid thunder
#

I liked it but they didnt

digital pulsar
#

so they have to read it and type it in, thus learn it

turbid thunder
#

The best way to learn is by activly using it

#

Getting a sense that when scenario X then Y

#

You dont want everyone to remember the text box as scenario X

#

Action menu is only cursed because the LOS check on building doors is non existant

digital pulsar
#

yeah good point mason but you gotta start somewhere

turbid thunder
#

And when you have the tripple warehouse door, which "Open door" opens the small door inside the bkg door?

digital pulsar
#

i managed to throw a grenade through a closed door lately

turbid thunder
#

Wow

digital pulsar
#

AI can see through it too

turbid thunder
#

Thats a weird door

#

Glass door mayby?

digital pulsar
#

actually AI managed to do it, not me

#

no, a normal door in the Barracks building

turbid thunder
#

@tough abyss having doors on interact is so much better

digital pulsar
#

but i scripted AI so i take the credit ๐Ÿ˜„

turbid thunder
#

You know EXACTLY what you'll open

#

2017

digital pulsar
#

how so

turbid thunder
#

Its about time

#

Hmmm

digital pulsar
#

myeah, but that doesnt really solve the problem does it

turbid thunder
#

How can one figure out the geo LOD's?

digital pulsar
#

its no use if the engine cant figure out which selection you're looking at

nocturne bluff
#

very nice

#

much nice

turbid thunder
#

Huh, well too bad im not at home to test that

nocturne bluff
#

Its on dev tho

#

wololo

digital pulsar
#

same as this pretty much

#

except it handles the vectors for you

#
    Array - array of intersections in format: [[selection, distance],...], where

        selection - name of intersected selection
        distance - distance from begPos

    The results are also sorted, closest selection first ```
#

the main issue with doors is that it allows you to open one that you are not looking at

#

based on distance i guess

turbid thunder
#

You know the tripple warehouse doors?

digital pulsar
#

ye, hellish

turbid thunder
#

3x "Open door"

digital pulsar
#

that blue warehouse on tanoa

#

ground floor

peak plover
#

I rememember some houses in lingor had it when you would open dorr, it would open the one a floor below you

polar folio
#

guys pls stop. you're giving me scroll menu PTSD

plucky beacon
#

it's like a riddle

digital pulsar
#

a minigame

plucky beacon
#

three doors that are the same but diffrent, which one is the one open to escape an Ifrit

polar folio
#

yea the type of riddle from a SAW movie. solve it or you get shot in the ass

jade abyss
polar folio
#

oh. that second part sounds nice

#

oh i thought you removed it via script ๐Ÿ˜ฆ

jade abyss
#

Look at the Description of Animate and AnimateSource

vague hull
jade abyss
#

Way to complicated

vague hull
#

works fine for me yet is abit unmodular

jade abyss
#

_ObjData = ([_CTarget,'GEOM'] intersect [(asltoagl (eyepos player)),(screenToWorld [0.5,0.5])]) select 0;
_Target = _ObjData select 0;

_Target = "Door_1" for example

#

If the Model has standard Naming (wich it SHOULD HAVE) -> You just need to add the _Blabla_Source to it

#

systemchat the _Target data

#

and then might check in the Config, what the source name of the Animation is,

#

It CAN be door_1, it also can be something else

#

"small cargo post" <- Pic

#

And you wanna know the Hatches? (doors are working, i just did that yesterday)

polar folio
#

it can also be good to look for intersection in the fire geometry lod additionally. sadly even BI models are pretty inconsistent. so some glass doors work some don't. since different modellers seem to have followed different standards

jade abyss
#

stupid hatches, when they are open, you can't properly aim for them... hm.... i got an idea.

polar folio
#

btw, about those hatches. i noticed when i had to update my door code that they now insta open. that's the animation range isn't it? there's probably a way to get that part too i'm guessing

#

might be because screentoworld is used. positionCameraToWorld is better for these things

jade abyss
#

Got an idea, how to fix that Quik

polar folio
#

i use this

_range = 1.55;

if (cameraView == "External") then
{
    _range = _range + ((positioncameratoworld [0,0,0]) distance (player modeltoworld(player selectionposition "head")));
};

_posa = positionCameraToWorld [0,0,0];
_posb = positionCameraToWorld [0,0,_range];

_int = ([_obj, "GEOM"] intersect [_posa, _posb]) select 0 select 0;

pretty old code. might be some dumb stuff. but works great in 1st and 3rd person

#

this has been done for ages. i wish BIS would jump on the hype train. no idea why they are stubborn about doors being done with a scroll list. it's mind boggling

#

i'd sign that. you also got the order of priority right imho

#

although some might care more about repack than blockign out annoyingly loud choppers ๐Ÿ˜„

jade abyss
#

Those Hatches are some nasty motherhuggers

polar folio
#

lol

vague hull
#

lets just request a global repo like pull requst system combined with voting

jade abyss
#

This... is not a bad idea, tbh^^

vague hull
#

they can have a look at the pull requests, modify if needed, then just implement

jade abyss
#

But wait... the old Feedbacktracker had something like that ๐Ÿ˜‰ Now... with Phabricator (i hate it, tbh)... nah

vague hull
#

like a community library

jade abyss
#

+What the hell is wrong with the stupid Hatches?? -.-

#

Why don't you take your oppinion and shove it up to a place, where even you mother didn't want to look at.

#

(your face)

#

๐Ÿ˜„

#

read what i wrote before, about animate

#

currently playing around with a mix of Intersect and if he doesn't find any model -> lineIntersectObjs

#

hmm.. or Surface... hmm...

#

"nice hatch"... my ass

#

iirc one was for the Door one was the handle

#

IIRC!

#

Just test it out

#

stupid Hatches

vague hull
#

atleast they had enough time for stupid joke backdoors

#

(see initFunction.sqf)

jade abyss
#

line?

#

@tough abyss Your converter is broken!!111oneoneone

#

btw. did you noticed, that the hatches move a bit "hacky"?

#

@tough abyss

#

They also move a bit strange

#

Not in a fluid Animation

thick oar
#

Is this for tank hatches?

jade abyss
#

Cargo Tower

#

the green big ones

thick oar
#

Ahh.

polar folio
#

@jade abyss yea i could swear though this didn't happen with my old code so i think their range is smaller than 1 or something, which both our current codes don't consider

jade abyss
#

Okay...

#

Elitness tells me -> Not even a Hatch Source in the cfg oO

#

mom, i hope i selected the right one^^

#

Of course, i did not

#

something is odd with the Hatchet

#

I ignore the hatchets, pff... something too strange in them

vague hull
#

sec

jade abyss
#

@polar folio
Thats why:


            class Hatch_1_source
            {
                source = "user";
                initPhase = 1;
                animPeriod = 0.001;
            };```
#

animPeriod = 0.001; <-- ???

polar folio
#

lol. makes sense then

#

btw. when you said "hacky" did you mean like low frame rate or insta animated?

vague hull
#
        private ["_test", "_test2"];
        _test = bis_functions_mainscope setPos (position bis_functions_mainscope); if (isnil "_test") then {_test = false};
        _test2 = bis_functions_mainscope playMove ""; if (isnil "_test2") then {_test2 = false};
        if (_test || _test2) then {0 call (compile (preprocessFileLineNumbers "a3\functions_f\misc\fn_initCounter.sqf"))};
    };
#

line 530

#

i mean its just for shits and giggles but well..

jade abyss
#

Open/Close hatch -> Look at the ANimation of the Hatch. Its not even close to fluid

#

Its like... erm... a 10FPS Movie on a 144Hz TV

plucky beacon
#

you mean the cargo tower hatches?

polar folio
#

hm yea. because i always had it look choppy. even when my door code was just checkign the condition and then executing the statement from class useractions. i wonder if choppiness is a side effect of that super low animperiod

#

like some engine bullshit

jade abyss
#

Yes Nitro.

plucky beacon
#

I just think they didn't use many animation frames

jade abyss
#

it just not looks nice and "fluid"

#

Nitro

#

Go back in the Corner, do your homework.

#

*slap*

plucky beacon
#

I am doing my homewo- ow!

jade abyss
#

stop trying to talk back!

#

*slap*

plucky beacon
#

Wanna help me with Java?

#

ow

#

it doesn't even hurt that much anymore

jade abyss
#

*is searching his leather belt*

plucky beacon
#

domestic violence

jade abyss
#

But: Would be nice to know, why the AnimPeriodis 0.001 in the first place. That makes no sense to me, tbh.

#

statement = "([this, 'Hatch_1_rot'] call BIS_fnc_HatchOpen)";
statement = "([this, 'Hatch_1_rot'] call BIS_fnc_HatchClose)";
Lets see.

#

HatchOpen.sqf

_null = _this spawn
{
    _count = (_this select 0) animationPhase (_this select 1);
    _stepDif = 0.08;

    // open the hatch with decreasing speed
    while {_count < 1} do
    {
        (_this select 0) animate [(_this select 1), _count];
        sleep 0.04;
        _count = _count + _stepDif;
        _stepDif = _stepDif - 0.0016;

        // Prevent _stepDif from becoming too small so the hatch would never fully open
        if (_stepDif < 0.01) then
        {
            _stepDif = 0.01;
        };
    };
    (_this select 0) animate [(_this select 1), 1];
};```
#

wow

#

Who's idea was that?!

#
sleep 0.04;```
why? *cry*
rancid ruin
#

that's like, what, 20FPS or something

jade abyss
#

So, long story short -> No chance for animate the hatches, without beeing extremely hacky

vague hull
#

who needs hatches anways? ยฏ_(ใƒ„)_/ยฏ

jade abyss
#

that also

rancid ruin
#

didn't someone make a mod where you can manipulate hatches?

jade abyss
#

+Also no need to rework the Button Solution again ๐Ÿ˜„

vague hull
#

in the end, lets just make a upgrade addon which replaces all hatch handles with door handles, which can be animated

tough abyss
#

Explains why the game seems to run along aty 20 fps all the time, its literally written into the game /joke

jade abyss
#

@rancid ruin

cursorObject animateSource ["Hatch_1_source",0.5]; //50% opened
rancid ruin
#

if (fps == good) then {sleep _enoughToMakeFPSBadAgain}

jade abyss
#

boah.. who said that... erm... someone mentioned, that the targeted FPS was ~30

rancid ruin
#

16ms is frame time for 60fps if i remember correctly

vague hull
#

well, I dont think sleep will help so much

tough abyss
#

Yeah it was a dev talking about dev on one of their tech talk things

jade abyss
#

No clue who said it.

#

I just know -> I ignore the Hatchets for now and don't need to update the OpenDoor thingy ๐Ÿ˜„

tough abyss
#

I recall it was in one of the pre Tanoa talks they were doing showing off the new stuff coming. Which one and when I just don't remember.

#

Although if the target is 30 why animate at 20 fps the hatches?! I think its possible to get that fixed.

jade abyss
#

Of course, just add set the animPeriod time higher. Done.

rancid ruin
#

legacy code i imagine

#

half of this game is a left over from OFP remember

plucky beacon
#

proably because they felt the hatches opened too fast

jade abyss
#

The whole Engine is an LeftOver from OFP.

tough abyss
#

90% is what it feels like

jade abyss
#

Imagine RV as ... erm...

plucky beacon
#

nerfed hatch speed by 33%

jade abyss
#

an Porsche

#

a Porsche, based on a Tricycle.

#

Thats how everything started ๐Ÿ˜„

plucky beacon
#

that weight to power ratio though

rancid ruin
#

wasn't mr. porsche a nazi?

plucky beacon
#

bah that's in the past

#

so was volkswagon

jade abyss
#

No Politics here @rancid ruin

rancid ruin
#

it's history not politics ^_^

plucky beacon
#

I didn't really think that was a political statement

#

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

jade abyss
#

and this is scripting Chan

rancid ruin
#

you started it

plucky beacon
#

you brought up the porches on a tricycle!

jade abyss
#

oO

tough abyss
#

All my fault I offtopiced.

jade abyss
#

anyway... silly arma^^

plucky beacon
#

porsche DLC when

#

so what's the deal with these animations

jade abyss
#

You rly have to love it or be an extreme Masochist, to continue doing something in it. I am still not sure, to wich side i belong.

tough abyss
#

Anyone who scripts this game knows how much they hate it. Its a bad habit we all know we should quit

rancid ruin
#

i dunno, i quite enjoy SQF and dicking around with scripts for arma

#

i think the frustration comes when you try to get something PERFECT

jade abyss
#

Or when you find some basics missing

#

Like: ( i love that example) Remove a single Item/Magazine from a Vehicle!

rancid ruin
#

yeah, a lot of compromise is needed to save your mental state

tough abyss
#

I have been working on a dynamic skill system but I falling into a lot of compatibility issues with other mods, as they all do their own way of setting the real base skill of the unit. Anyone know of a skill pipeline system that I ought to be using so they can be compounded properly? Its a hard concept to explain potentially but setting subskills directly looses information.

jade abyss
#

Skill = AI?

tough abyss
#

Yep AI sub skills

jade abyss
#

#arma3_ai <- Wouldn't that fit better in there?

still forum
#

@jade abyss I said targeted FPS is 30 ^^ The engine is automatically cutting down on some tasks when fps is lower. Atleast it was like that a couple years ago. I didn't check if the values are still the same

jade abyss
#

No clue, but i am pretty sure, it came from on of the Devs.

#

anyway, no clue anymore. Too long ago.

still forum
#

I sometimes sound like a dev. I think...

tough abyss
#

I heard it in an official BI presentation early last year from a BI dev

#

I seem to recall right after talking with others about it on reddit. I don't think its BI's official position, their position seems to be "performance is what it is", but a target of 30 fps explains a lot.

jade abyss
#

Sounds familiar Candle.

still forum
#

But on most systems 30 fps Arma is just realistic. Even if they moved that limit to 60fps it would probably just cause systems to not get enough processing time because the engine is trying to reach an unreachable fps target

rancid ruin
#

have faith in enfusion engine

#

i was amazed when i was getting 60FPS in chernogorsk on dayz last time i played it a few months ago

#

prior to that, the last time i played it was months before, when i ragequit cos i was getting 17FPS in chernogorsk

jade abyss
#

Yep

rancid ruin
#

truth be told, i will miss SQF in some ways when engines switch though

#

their new scripting language isn't as n00b friendly as sqf, even if it will probably make more sense and be less retarded

vapid frigate
#

they're making a new scripting language?

#

or using an existing one?

jade abyss
#

I must agree @rancid ruin
I rly like sqf, to be fair.

#

BUT: Lets see how Enfusion scripting will be =}

#

Can't be harder than c#

vapid frigate
#

looks quite good based on a screenshot of it

tough abyss
#

what is hard about C#?

vapid frigate
#

like a C#/C++ type thing

jade abyss
#

Thats why i mentioned it @tough abyss ๐Ÿ˜‰ Its pretty easy

tough abyss
#

ah k

rancid ruin
#

being object oriented will be a huge plus, but the syntax will definitely not be as easy to pick up for noobs

tough abyss
#

my converter should be running again. I hope ^^

jade abyss
#

Gimme a call, i can test it out if you want to

vapid frigate
#

much easier to pick up for programmers though by the looks of it

rancid ruin
#

yeah, pros and cons

vapid frigate
tough abyss
#

@jade abyss just test it if you want. it's online ๐Ÿ˜‰

modern sand
#

Hey guys, any reason why my script doesn't work when I use '<=', This is the concept of my script ```SQF
_time = "0";
if (_time <= "0") then {hint "test";};

rancid ruin
#

that's a string not a number

vapid frigate
#

because "0" is a string, not a number

modern sand
#

Oh

#

okay

#

I'm an idiot

#

thanks ๐Ÿ˜ƒ

rancid ruin
#

remove the " around 0

modern sand
#

Yes

#

๐Ÿ˜ƒ

tough abyss
#

isnt _time reserved?

rancid ruin
#

you know what, reserved variable names can fuck off

#

it doesn't even tell you they're reserved in the error message

#

it says some stupid shit which is totally unrelated

modern sand
#

I'm not actually using _time in my script, just used that as an example to show you the concept of my script

jade abyss
#

@tough abyss wรถrks

#
  • time is reserved, _time is not (local var, duh)
tough abyss
#

it was reserved in sqs times

jade abyss
#

SQS

#

๐Ÿ˜„

tough abyss
#

yeah, I am old ๐Ÿ˜ฆ

jade abyss
#

That reminds me: I opened old scripts from AEF back in 2004 ๐Ÿ˜„ ooohhh myyy

#

Don't tell me -.-

tough abyss
#

ok. biki says _time is sqs only

jade abyss
#

btw.:
Do you remember Lester and Dschulle?

tough abyss
#

yes

jade abyss
#

WRPEdit / ODOL Explorer oh myy

#

Yeah, i was working with them in the AEF-Mod, back in 2003-4.
So... you are not old alone ๐Ÿ˜„

tough abyss
#

great ๐Ÿ˜„

jade abyss
#

Not great, we are old ๐Ÿ˜ฆ

#

Uh! But think about this: We are old. Most of the Bohemia Guys are "very old" oh myy

dusk sage
#

It looks like C++ CLI

jade abyss
#

It looks to small, imho

#

can barely read it

#

Files are .pbo, or?

#

@vapid frigate

#

(wanna know, before i dl dayz)

vapid frigate
still forum
#

afaik DayZ standalone is completly ebo

vapid frigate
#

dayz appears to be pbos

jade abyss
#

kk, loading

rancid ruin
#

it was pbo last time i checked

#

you were able to un-pbo the terrain, remove a few things, then load it up in arma 3 not long ago

vapid frigate
#

yeah looks like all PBOs, recently updated

#

i only see SQF scripts though

still forum
#

Last time I checked was before they switched to that new graphics engine. How long ago was that?

rancid ruin
#

6 months or so

vapid frigate
#

no idea.. i haven't played since before there were any vehicles or anything

rancid ruin
#

it's still a bad game, but the tech is getting more impressive

#

paves the way for dense urban terrains in future

#

will be able to do fallujah in arma 4 without it looking and playing shitty

tough abyss
#

This crashes the game claiming that "\userconfig\nev_debug_menu\settings.hpp" can't be found: ```SQF
KK_fnc_fileExists = {
private ["_ctrl", "_fileExists"];

disableSerialization;

_ctrl = findDisplay 0 ctrlCreate ["RscHTML", -1];
_ctrl htmlLoad _this;
_fileExists = ctrlHTMLLoaded _ctrl;

ctrlDelete _ctrl;

_fileExists

};

// FilePatching was enabled when testing, and "\userconfig\nev_debug_menu\settings.hpp" wasn't present
if (isFilePatchingEnabled) then {
_fileCheck = "\userconfig\nev_debug_menu\settings.hpp" call KK_fnc_fileExists;

if (_FileCheck) then {
    #include "\userconfig\nev_debug_menu\settings.hpp" // User defined settings
} else {
    #include "\@NEV_Addons\settings.hpp" // Default settings
};

} else {
#include "@NEV_Addons\settings.hpp" // Default settings
};

barren magnet
#

Sure, #include etc are preprocessor commands which are executed when reading in the scripts. So he will try to include all files, and he does not care about the sqf code

tough abyss
#

Any way to avoid that?

barren magnet
#

What you want to do is to include different files based on if they exist or not. But that needs to be done in another way

tough abyss
#

How?

#

#ifdef?

barren magnet
#

I have no idea, i never had the need to inlude a file only if it exist. Make it easy and make sure that is exist anyway. You are using a mod called NEV_Addons? then make sure its packed inside

dusk sage
#

"\userconfig\nev_debug_menu\settings.hpp" Did you intend for the leading \?

tough abyss
#

Yes, @dusk sage. Otherwise it doesn't work.

dusk sage
#

Well it doesn't work now does it ๐Ÿ™ƒ

#

There is the userconfig folder?

tough abyss
#

There is.

dusk sage
#

Where*

tough abyss
#

...

#

It works.

dusk sage
#

...?

barren magnet
#

?

tough abyss
#

I don't need to have the whole path there.

dusk sage
#

Looks like you were attempting to make a relative path but didn't

tough abyss
#

Thing is, @barren magnet. You can have people downloading your mod's userconfig stuff through the workshop.

tough abyss
#

It works if "\userconfig\nev_debug_menu\settings.hpp" is present.

barren magnet
#

if people download you addon through workshop i dont see a reason not to pack it into the addon

tough abyss
#

Would the userconfig folder be placed in the correct location?

dusk sage
#

Well obviously ๐Ÿ˜›

#

Like I said, what's the leading \ for?

tough abyss
#

๐Ÿคฆ

dusk sage
#

Where is your dir located

tough abyss
#

Inside the A3 root.

dusk sage
#

See that was easy

tough abyss
#

#include "\userconfig\nev_debug_menu\settings.hpp" by itself works.

peak plover
tough abyss
#

I thought that was obvious ๐Ÿคฆ

dusk sage
#

Obviously not

#

You're posting random stuff with random questions

tough abyss
#

I doubt people would go out of their way to work on an addon with me. Therefore, I only ask what needs to be asked.

#

I can post all 33 files here, but I don't see how that would help.

dusk sage
#

So you've said it works if you place the file in the correct place :/ ?

still forum
#

If the settings.hpp file is just setting variables then you may be able to just do call compile preprocessfile @tough abyss

#

But generally the way you are doing it is a security risk. People could put any script they want in there and could execute that on a server that requires bisigns

tough abyss
#

Basically: When a user downloads a mod which uses some sort of userconfig for settings from the workshop, there no way for the mod auther to have their userconfig setting placed in the right place automatically. Therefore, I try to check if the user has the needed settings file in their userconfig, if he does - great, let the mod use it. If he doesn't have the settings file, I fallback to the default one, located within the download workshopp mod.

still forum
#

Give me example content of the settings.hpp file please. Just a few lines

tough abyss
#
// Side of spawned units (west, east, independent, civ)
NEV_groupSide = west;

// Array of units to spawn as a group
NEV_group = ["rhsusf_usmc_marpat_wd_riflemanat", "rhsusf_usmc_marpat_wd_autorifleman_m249", "rhsusf_usmc_marpat_wd_rifleman", "rhsusf_usmc_marpat_wd_grenadier", "rhsusf_usmc_marpat_wd_squadleader"];

// The max distance from the player groups will be spawned at
NEV_maxDistance = 250; // Default is 325

// Note, the max distance must be higher than the min distance
// The min distance from the player groups will be spawn at
NEV_minDistance = 200; // Default is 250
still forum
#

Yeah

tough abyss
#

That's the whole thing.

still forum
#

just use call compile preprocessfile

#

But be aware that any user could put any script they want into your userconfig file and get it executed

tough abyss
#

I understand, thank you all.

#

Is more secure if the the contents of settings.hpp are used in a script, which is executed by a dialog button, and the dialog is opened by an addAction which is only added to an admin or an SP player?

rancid ruin
#

who was the guy in here who wanted to make a company of heroes style RTS in arma?

#

he mentioned it like a month ago

still forum
#

It is kinda more secure but not really.
Most secure and easy way would probably be to store the variables as an array and parse it using parseSimpleArray instead of the whole file just being executed.

little eagle
#

There is no secure way if you #include them or call compile them.

#

Always a way to abuse the system.

subtle ore
#

What about compileFinal?

little eagle
#

same as compile

subtle ore
#

Ah.

little eagle
#

compileFinal is pretty useless outside of caching functions in ui namespace

#

I think a lot of people are missing the point and think it's a magic security command or something

subtle ore
#

Meh, there is always someway to abuse it like you said.

little eagle
#

Well, except if you parseSimpleArray it

#

There is no real way to have settings for addons in A3, which is why I made that CBA thing.

subtle ore
#

@little eagle which is always useful (cba)

little eagle
#

Update soon. Then it will be useful!

jade abyss
#

didn't handleDamage EH ADD the amount to the existing Dmg, that it is passed?

little eagle
#

no, set

jade abyss
#

hm

#

stupid

subtle ore
#

Yeah i saw the stuff you had been changing on the cba github @little eagle

turbid thunder
#

Is it possible that you can "remove" or hide the action to enter a certain vehicle for certain units / players only?

digital pulsar
#

I think best you can do is kick them out every time they use the action

#

cause lock has global effects

turbid thunder
#

Cuz someone was just telling me that he was NOT able to mount the F-22 was a russian the regular way

#

Hmmm, I guess thats basically it

#

Preventing entering vehicles without waiting for them to get in and then kick them out again

#

I would've probably just placed a == there for readibility and I've never really got what exitWith does. Yeah ik it does smth with exiting the current scope but that basically still doesnt help me understand it >_>

#

Please stay patient while my Arma 3 boots up

#

hmmm, interesting

#

Me trying to think code while being like super tired

little eagle
#

exitWith ends the current scope and executes the codeblock instead if the condition is true. It's used with if instead of then.

jade abyss
#

unless:

little eagle
#

waitUntil

jade abyss
#

No

#

or

#

wait

#

fml, i forgot

#

too late for me -.- i give up today.. silly HandleDamage.

little eagle
#

In waitUntil it doesn't leave the scope, but still ends the iteration and the return value of the code block can be used as substitude of the one of waitUntil. Because fuck consistency.

#

Oh yeah, eventhandlers are broken with exitWith when used in the main scope.

jade abyss
#

that also, yeah (exitWith not usable to exit/leave current EH).

little eagle
#

I think you can on the one hand go overboard using exitWith, especially when you introduce more exit points in your functions (complicated code), but on the other hand, you can save some indentations with it.

jade abyss
#

Oh yeah, Bananas. I do like Bananas.

little eagle
#

๐ŸŒ

turbid thunder
#

Orange is a hard colour to see sometimes

jade abyss
#

There, get an ๐ŸŽ

little eagle
#

๐ŸŠ

turbid thunder
#

๐Ÿ

jade abyss
#

btw. any news to ๐ŸŠ DLC?

little eagle
#

What's the use case of getCursorObjectParams ? Outside of debugging.

turbid thunder
#

Getting the geometry LOD for the new addAction optional selection thingy

little eagle
#

So debugging.

jade abyss
#

wth? "endl"

little eagle
#

C++

jade abyss
#

posngposfngaswdg

little eagle
#

I would've called it newline, but no one asked me.

jade abyss
#

Wich is good

little eagle
#

prolly

turbid thunder
#

"Wich"

jade abyss
#

otherwise 90% of Arma would consist of Macros who lead to other Macros, within a Macro

turbid thunder
#

Macroception basically?

rancid ruin
#

just the other day in this channel i was saying how stupid a name endl is for a function

little eagle
#
#define ASCII_NEWLINE 10
#define NEWLINE toString [ASCII_NEWLINE]
jade abyss
#

Worse, Mason

little eagle
#

๐Ÿ˜„

rancid ruin
#

BIS function naming conventions are totally fkn random

jade abyss
#

๐Ÿ‡ซ ๐Ÿ‡บ

turbid thunder
#

Ultimate macroception of doom?

#

From hell?

little eagle
#

inb4
count endl // 2 - Windows, 1 - Linux

jade abyss
turbid thunder
#

ikr

#

Makes velocity setting so much easier

little eagle
#

use math you lazy bum

jade abyss
#

Yeah

turbid thunder
#

Or, code the game so it does the math for ya on its own for simplicity

#

๐Ÿ˜„

little eagle
#

Arma open source when ๐Ÿ˜ฆ

jade abyss
#

nah, lemme be da lazy bum, pfahh

#

never

#

ever

turbid thunder
#

Dream = Shattered

#

Open source arma would be pretty neat though

#

Am I the only one thinking it's weird that so far, there is no scripting possibility to change the height of a waypoint?

#

Every waypoint related command places it on the ground, pos 2D. EVERY SINGLE ONE OF THEM, except "move"

little eagle
#

setWaypointPosition ignores z ?

turbid thunder
#

yes ๐Ÿ˜ฆ

little eagle
#

idk if waypoints even work in 3d. That would only make sense for helis, no?

turbid thunder
#

You can make the AI go to the upper floors

#

It can also define the diving depth

#

Helis and jets don't care about the WP height (they only care for distance2D) but they also have flyInHeight commands

#

So far only the "move" command placed the waypoint in the correct Z value resulting in the AI being able to go upstairs on the exact level and pos I was on

jade abyss
#

Waypoints are only 2D