#arma3_scripting

1 messages ยท Page 380 of 1

little eagle
#

lol

#

@peak plover You can't transfer LOCATION over the net. They only exist on one machine.

peak plover
#

gameLogic perhaps?

little eagle
#

createSimpleObject with "Building" class.

#

For global namespaces.

peak plover
#

just array the task and condition > add to a global array of all tha task arrays > loop trhough those constantly > if conditon true task complete

little eagle
#

Quiksilver, a LOCATION takes less computation time per frame than a single task already does.

peak plover
#

Just delete 2 ai from every mission and do the task thing. FPS problem solved

lone glade
#

even if you don't want to just retrieve the actual task using the var saved in unit varspace dude,
_unit setVariable [_taskVar,_task];

#

the task still exist

little eagle
#

my OCD kicks in when i see entities spawned in the gameworld to hold variables
There's no better way though and it's very efficient if you stick to "Name" LOCATION and "Building" simple object.

peak plover
#

Even better, save the tasks to player profilenamespace so every time he logs on he can see all the tasks he has failed, even after mission restarts. He should remeber when he fucked up every time he goes to look at the tasks!

little eagle
#

You can create millions of them and it doesn't do much to performance.

#

Pretty sure TASK become null after the mission ended, just like OBJECT, GROUP etc.

peak plover
#

Yes, but you save the data and recreated the tasks local to player

little eagle
#

true

lone glade
#

doesn't MP save do that already?

little eagle
#

No?

peak plover
#

Not over play sessions...

#

Probably should make a global database that all servers share and keep it there. So even if he stops palying and reinstalls years later... no mater which server he logs on, he will remember that time the failed the task

lone glade
#

make an extension that just set his wallpaper to the mission fail image

peak plover
#

Change windows startup to the fail sound

indigo snow
#

Send a letter to his house

peak plover
#

mail him a bullet

little eagle
peak plover
#

hahaah

#

i need to do tht

lone glade
#

yeeeeah, no you can't modify setTask

peak plover
#

Use a function or a macro in the future so you don't have to rewrite it 26 times

#

Or CBA or Interceptionโ„ข

still forum
#

@peak plover Intercept*

cloud thunder
#

that fail sound is one of my custom Von sounds. It gets used regular.

still forum
#

@lone glade you . can't . setVar . a . STRING Remember my talk about Intercept pseudo namespaces? ๐Ÿ˜‰

#

No! Let it happen!

#

UGHH

#
params ["_ids"];
private _id  =  if (_ids isEqualType "") then { _ids} else {_ids param [0,"",[""]];};
if (_id isEqualTo "") exitWith {["[x] Task ID cannot be an empty string!"] call bis_fnc_error;""};
private _taskVar = _id call bis_fnc_taskVar;
little eagle
#

๐Ÿ‡ต ๐Ÿ‡ฆ ๐Ÿ‡ท ๐Ÿ‡ฆ ๐Ÿ‡ฒ ๐Ÿ‡ธ

#

It's for the eyes, not the game.

still forum
#

Just rewrite it in Intercept and tell Arma engine to bugger off

still forum
#

Intercept is now getting the feature to redirect vanilla SQF commands :3

little eagle
#

So every command can be made to trigger an eventhandler?

still forum
#

every script command.. yeah.. Didn't even think of that

#

but it can only be overwritten once. And only by Plugins authorized by the core developers.
So that's something that Intercept CBA could do.. Didn't even think of that.
I only wanted it to hook compile for my profiler

little eagle
#

Asking because this could make the loadoutChanged polling obsolete by hooking into addWeapon etc.

#

Take/Put could handle the rest.

still forum
#

I'm not sure if picking up a weapon from......

#

๐Ÿ˜„

little eagle
#

Take/Put was always the go to recommended by the short sighted, but addWeapon and friends were the problem.

#

If I made this game, this would be a feature from the start...

still forum
#

easy to do now ^^

#

Is actually exactly what i am doing

#

But with the added feature of being able to modify the script before it is compiled

#

regex replace would be neat wouldn't it? ๐Ÿ˜„

#

How lucky that Intercept CBA can already do that ๐Ÿ˜„

#

You can even dynamically redirect them at runtime. So you can enable/disable your hooks.
Previously any interaction with that system was preStart eventhandler only.

lone glade
#

which isn't a vanilla EH anyways :p

still forum
#

well yeah.. prePreStart* ofcause.
Doesn't CfgFunctions have preStart?

lone glade
#

oh, maybe it does

little eagle
#

Yes it does precompile all functions at preStart. Before the preStart functions are called.

still forum
#

so all preStart functions actually run post preStart.. are they Start functions? or postStart functions?

#

prePostPreStart functions?

little eagle
#

That's where I got the stupid name from. I didn't come up with it myself.

#

I'd argue that they are executed exactly at preStart... after all functions are compiled.

still forum
#

so functions are compiled at prePreStart then?

little eagle
#

"preStart" etc is not a dot on the time axis, but a section, and many thing can happen there. Think of it this way.

still forum
#

Yes... But.. How do you name things then that happen at the start of preStart vs the middle and the end?

little eagle
#

Ivan, Stanislav and Igor

#

Idk.

compact maple
#

Hello guys, someone can help me with ppEffects ?

still forum
#

I can try atleast

compact maple
still forum
#

Could be another script also creating ppEffects and overwriting yours

compact maple
#

Oh right thanks i'll have a look on this

#

@still forum hey you were so right, i just changed the priority of my effects, this is perfect now thanks you

still forum
#

Didn't even know you can change priorities ๐Ÿ˜„

compact maple
#

_ppGrain = ppEffectCreate ["filmGrain", 2005];

#

so if the 2005 is used twice on the mission, effects are gone

little eagle
#

Those "priorities" need to be unique numbers. They are basically ids.

still forum
#

And reported by Crowe XD

#

It's a stopwatch!

#

is that vanilla?

#

But the texture is not included in vanillin?

#

๐Ÿ˜ฎ

#

Basically jsut what you did.

#

That's some splendid HUD right there

cedar kindle
#

@tough abyss if you got CBA thereโ€™s CBA_missionTime that you can use

still forum
#

No CBA for Quiksilver tho

cedar kindle
#

pure vanilla man

still forum
#

Could try to replicate how CBA does CBA_missionTime though

hidden field
#

the last time i created a counter i used a custome RscTitle and a function running in the back updating it, not sure if that was a good concept or not

still forum
#

It should be better than redrawing it completly every frame

hidden field
#

it looked like the best way for me, only needed a small background, 2 pics and 2 static text areas ( had 2 different times) and some code running "onload" to updating the text, in the end it was rather simple todo, okay somebody at war with the ui system may have a different opinion on that ๐Ÿ˜‰

little eagle
hidden field
#

well looks like someday i have to spend some time with cba ๐Ÿ˜‰

little eagle
#

I'd port this to vanilla in a heartbeat if they'd let me.

hidden field
#

@tough abyss you could do the timing stuff serverside and only have a small script on client side updating the text

little eagle
#

It's just a green text robot condensed in the top right corner below the ammo thing.

hidden field
#

if have the strange feeling this coule be one of the cases where switch true docould be helpfull

still forum
#

a command that chooses action based on value of thingy
[60,20,0] chooseActionBiggerThan [{hint ">=60"},{hint ">=20"},{hint ">=0"}]

hidden field
#

i know, switch has some issues

still forum
#

if only switch had a binary command for checking instead of a unary and a binary one...

#

It could be better... But BI choose not to make it better

little eagle
#

PARAMS

still forum
#

:puke: ๐Ÿ‘€

little eagle
#

It's BIS_fnc_param, not BIS_fnc_params. This is how I know you're lying.

#

Copy paste.

still forum
#

.paste copy

#

OUHHH I know how to solve this!!!

little eagle
#

Everything I don't like should be illegal tbqhfamalam.

still forum
#

Intercept can now hook compile and rewrite the string passed to it..
And Intercept can regex replace!

#

just make every script better whether the author likes it or not!

little eagle
#

Next goal: custom SQF compiler with optimization features.

#

Feet stuck below pathway LOD, QS.

still forum
#

start using getPosASL for everything ๐Ÿ˜‰

remote monolith
#

and watch it moving with the waves ๐Ÿ˜ƒ

#

this ASL is bad AF

still forum
#

ASL is not ASLW

little eagle
#

ASL ignores waves, but nice try.

still forum
#

That's bad AF

little eagle
#

Doesn't exist.

#

ASL is the best. Everything else is bad AF.

still forum
#

Let's make it exist!

#

returns a random mix out of ASL and ATL and AGL and AGLS

little eagle
#

ASL EVERYWHERE

remote monolith
#

ASL 4 life bro ^^

still forum
#

_position = selectRandom [getPos _unit, getPosASL _unit, getPosASLW _unit, getPosWorld _unit, getPosASLVisual _unit, ASLtoATL getposASL _unit]

#

you know you can use && right?

little eagle
#

Missing ASLToAGL getPosASL for AGL.

still forum
#

isn't getPos AGL?

little eagle
#

No.

still forum
#

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

#

draw4d? Would that be a good idea?

little eagle
#

_position = getPosASL _unit vectorAdd [0,0,random 10000];

still forum
#

don't forget
[0,0,0] modelToWorldWorldWorldVisualWorldWorldVisualWorldVisualASL _unit

little eagle
#

๐Ÿ˜ง

#

You need another hobby.

still forum
#

I planned to make it really precise.. I could've made it extremly precise.. But.. I didn't because I was too lazy to implement it completly

little eagle
#

You could also...

still forum
#

no.

#

working on it.

#

soonโ„ข ๐Ÿค˜

little eagle
#

I think the variable is old, but now not overwritten after init. I also like how many globals use "fnc", because it shows that the one who made them had no idea what it means.

still forum
#

why is a variable that someone uses considered "magic" ?

hidden field
#

if someone could just make a list of all these variables with a small description that could be so usefull -.-

compact maple
#

Hey, is there any way to put a sleep in a function without getting this error ? 14:53:01 Suspending not allowed in this context

cold pebble
#

Spawn the script instead of calling it

#

or whatever it is

compact maple
#

thanks i'll try

#

This is working well. Thanks.

cold pebble
#

It's because when you spawn the script it's put in the scheduler which allows suspension, so I'd look at the BIwiki about the scheduler if you wanna learn more

lone glade
#

holy fuck, I just realized how insanely faster my arsenal rewrite is compared to vanilla:
140ms (0.143s) vs 20s

compact maple
#

yes sure

still forum
#

not fast nuff

lone glade
#

thanks dedmen

#

that's what, 13 000% faster?

compact maple
#

iy you dont mind

still forum
#

Don't you know that I always forget how to calculate that? ๐Ÿ˜„

#

I think it's bigger number/smaller number

#

142.8x?

lone glade
#

you're missing the percentage multiplier

#

so x100

still forum
#

so eh 142800%?

lone glade
#

I get around 14 000%

cold pebble
#

One too many 0's

still forum
#

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

#

Not fast nuff. Has to be infinite%

lone glade
#

well, searchbar speed is infinite%, vanilla doesn't have one ๐Ÿ˜„

still forum
#

splendid

little eagle
#

Yes, but think of the performance. The 20 sec loading bar had 30+ fps...

lone glade
#

what loading bar

little eagle
#

Arsenal

lone glade
#

doesn't have one

#

plants flag
Arsenal is now mine

#

yiss, got 3DEN support working

still forum
#

The only arsenal I know doesn't have any loading screens and has integrated search

lone glade
#

only issue right now with 3DEN support is that CBA settings aren't init

#

so you can't disable mod icons, but I'm sure I can find this in profileNamespace :p

little eagle
#

In 3den?

lone glade
#

yes

little eagle
#

True.

compact maple
#

anyone using ACE3 here ?

still forum
#

Yes. Everyone that's currently visible in the chatlog.. Besides you maybe.
So you choose the perfectestest time to ask about ACE.

compact maple
#

I was wondering how can i manage custom injuries with medical ace functions. do you have an exemple ? i got some but they're seems to be outdated.
like [myUnit, "leg_l", 0, objNull, "bullet", 0, 0.15] call ace_medical_fnc_handleDamage_advanced;

still forum
#

they seem to be outdated* example*

compact maple
#

Thanks you ! ๐Ÿ˜ƒ

still forum
#

I'd guess that "bullet" is not the classname of a projectile

#

But I also guess that doesn't matter

compact maple
#

pretty sure you're right, like bob and kevin

still forum
#

Well.. Even if kevin was right he is still a bad guy for hitting bob in the leg with a bullet

compact maple
#

lol !

#

for sure he is

peak plover
#

Umm

#

Github gods

#

I want to update my fork from ace with the latest additions to the master branch

#

Do I use my fork as the base and then head fork is the acemod master branch?

still forum
#

you checkout master branch and just pull from remote..

#

Easy if you use GitKraken or I guess SourceTree and Github Desktop might also make it easy

lone glade
#

:puke: GUIs

still forum
#

sits on puke

lone glade
#

if you want to use a GUI do not use gitKraken or github desktop they're incredibly bad ad handling forks and remotes

#

use the one that comes with git

subtle ore
#

๐Ÿค”

still forum
#

Didn't have any problems with GitKraken besides some crashes and freezes and slowness

lone glade
#

my weirdest issue with git so far was my outdated intel drivers destroying file permissions when I changed HEAD

austere granite
#

i have issues with git submodules in gitkraken sometimes

#

but other then that all good

tame portal
#

@lone glade Had no issues with GitKraken so far

lone glade
#

it's terrible if you do anything more than push / pull, plus you can't use CLI in parallel

still forum
#

Which GitKraken tool are you talking about? To create a branch just one click and enter name.
Merge/rebase/pull-request one drag&drop.
What specifically is terrible? Besides that you can't sign your commits... Which is what I hate on Gitkraken. But other people don't care about that.

lone glade
#

it's slow, it's unstable as shit unlike the first version they made which ran like a dream, I hate the UI

#

oh, let's not mention the tree view with ACE3, my fucking god

still forum
#

Have to agree with all of the first line. Though I like the UI ^^
I don't have any problems on ACE.. Not even the slowness is bad enough that I would complain
https://dedmen.de/sharex/d0NqcmOX.png Looks fine and no noticeable slowness. Even with my perf OCD

tough abyss
#

@still forum do you've your own image hosting service?

lone glade
#

it's shareX

still forum
#

yeah

#

take a look at shareX. It's awesome. One click share images/text/files to custom share or imgur or pastebin or dropbox or whatever

tough abyss
#

not takings pictures of your screen with your phone.

still forum
#

๐Ÿ˜„

candid jay
#

dear scripters, iโ€™d like to make a self driving car that follows an EXACT path (like a train on tracks) and that works in multiplayer

#

I was originally thinking to use setVelocity and setPos regularly but that would desync in MP

#

Then I thought about using the BIS_fnc_UnitCapture format to play back a specific path with BIS_fnc_UnitPlay

#

any inputs on this approach...?

little eagle
#

As in no driver?

candid jay
#

yes

#

vehicle with seats but no driver.

#

think of it like a train going round on tracks

little eagle
#

You can't.

candid jay
#

itโ€™s done in ATS

#

driver could be there and hidden

little eagle
#

Best thing you can do is to place a drone logic as driver.

candid jay
#

or use other techniques thatโ€™s what iโ€™m fishing for ๐Ÿ˜ƒ

little eagle
#

But you need a driver, otherwise it just stands.

lone glade
#

UAVs are normal vehicles with the driver seat being hidden

little eagle
#

Aren't the UAV driver logics invisible even when placed in other vehicles?

#

A unit like this could play the driver if so.

candid jay
#

so would that be inheriting from Car, having a proxy to a drone driver?

#

would that follow tracks exactly?

little eagle
#
        class B_UAV_AI: B_Helipilot_F //inherits 21 parameters from bin\config.bin/CfgVehicles/B_Helipilot_F, sources - ["A3_Characters_F_Common"]
        {
            author = "Bohemia Interactive";
            _generalMacro = "B_UAV_AI";
            displayName = "AI";
            scope = 1;
            scopeCurator = 0;
            simulation = "UAVPilot";
            model = "\A3\characters_F\Common\invisibleMan.p3d";
            weapons[] = {};
            magazines[] = {};
        };
#

This unit could be the driver.

#

invisibleMan

candid jay
#

yes

#

just wandering if setDriveOnPath makes the driver follow exactly the lines between points or not

#

otherwise youโ€™d have a train leaving tracks which doesnโ€™t make much sense

little eagle
#

I'm not sure.

candid jay
#

iโ€™ve looked at ATS code but am not sure how it manages MP sync

tough abyss
#

Can I have a script kill the server?

#

I don't know the command for this

lone glade
#

well, you can crash it by looping a func in unscheduled

tough abyss
#

Basically I have a modpack, and people steal modpacks (big whoop), so I added in something that checks whether the server is authorized, but I got no idea how to make the script cease the server from working in the event it's not

lone glade
#

wait what

#

you do realize anyone with 2 brain cells can just change the call, rebuild and be done with it?.

tough abyss
#

Yeah, but most people don't have 2 braincells

lone glade
#

also what do you mean "steal modpacks"

tough abyss
#

People take one communities mods, and copy it onto their own. Simple.

#

Copyright is not something everyone cares about.

lone glade
#

are those mods under any license ?

#

it's not copyright, it's licensing rights

#

which entirely different

tough abyss
#

I made them myself, however, I can't sit around all day and chase down any community that might or might not have taken them.

lone glade
#

put them under a non commercial license, if anyone uses your mod for monetization those people would lose the right to monetize

tough abyss
#

Yeah, I appreciate that feedback, and I will do that, but I'm also thinking more proactivly with this whole "server authorized" thing.

#

As we both know, most people who just string together their own things, got no idea how to change a call.

lone glade
#

it's simple, you can't unless you have a key system requiring the same on the server and generated by you

#

all other solution are stupidly easy to bypass

tough abyss
#

Look, I've got a file that's a part of a mod that is on a server I play on. In the event that file remains in my modpack, and I load up A3, I go into the editor of any sort, as soon as I hit "play scenario", the screen goes black, and I need to kill arma3 to get out of it.

#

I want the same ordeal.

lone glade
#

it probably modifies the 3DEN display

#

again, easy fix

tough abyss
#

Not for everyone.

lone glade
#

other topic, was a new typeName added? I somehow managed to get "NOTHING" returned

lone glade
#

just to be sure, there's no 3DEN array validation for attributes right?

obtuse cosmos
#

Hi, anyone know how to correctly auto-align columns for RscListNBox? Auto adjust to width as well. I don't like manually doing it ha... OCD, I like stuff perfect! ๐Ÿ˜›

lone glade
#

by auto align, what do you mean?

obtuse cosmos
lone glade
#

the control should be aligned by default, you mean avoid overflowing?

obtuse cosmos
lone glade
#

oh wow

obtuse cosmos
#

Say, I have three columns

lone glade
#

lemme explain a bit, I know what's wrong

obtuse cosmos
#

I want it to auto fill the width, so like / 3

#

Okay

lone glade
#

columns pos are in percentages, they start at the number that correspond to their index in the setColumnPos array

#

so in your case it would be [0, 0.30, 0.60] or at least values close to those

#

you may need to tweak it a bit to avoid overflow / what you see above

obtuse cosmos
#

why those values for example?

lone glade
#

0 is the leftmost part of the control, 1 is the rightmost part of it

obtuse cosmos
#

but would those values have the same gap (spacing) between?

#

Like padding

lone glade
#

so,
first column: start at 0 finish at 0.30
second: start at 0.30 finish at 0.60
third: start at 0.60 finish at 1

obtuse cosmos
#

ooh

#

but shouldn't it finish at 0.90?

#

or am I getting confused again?

lone glade
#

no, it start from the last value and finish at the next one, since there's no next value it defaults to 1

obtuse cosmos
#

the last one would have more paddng?

lone glade
#

yes

obtuse cosmos
#

can that be avoided whilst still using these commands?

#

If not, I'll just make my own in RscControlsGroup

lone glade
#

yes ofc

obtuse cosmos
#

okay

lone glade
#

and no, making a control group won't fix that

obtuse cosmos
#

no, I mean

#

I wouldn't use RscListNBox

#

I'd manually add the elements myself

lone glade
#

but even then your listnbox seems awfully small width wise

obtuse cosmos
#

Like: [PICTURE] WEAPON NAME (WEAPON COUNT)

#

yeah

#

hm

#

I took it off Wiki but I messed it up a bit too much lol

lone glade
#

damn, i'm self plugging a lot these days, gimme 5s

obtuse cosmos
#

or did you mean the width of the RscListNBox element?

lone glade
#

yes, the width of the element

obtuse cosmos
#

that

#

it's the same as the map

#

just instead of a map, RscListNBox

lone glade
#

got a github / pastebin I can check to verify you're inheriting the classes properly?

obtuse cosmos
#

you mean base defines?

obtuse cosmos
#

I exported using the BIS function

lone glade
#

ha, knew it

obtuse cosmos
#

is that bad?

lone glade
#

you broke all the controls for 3DEN then ๐Ÿ˜„

#

had the same issue

obtuse cosmos
#

well

#

actually

#

when I export

#

you get errors BUT

lone glade
#

try to use a drop down menu in 3DEN ๐Ÿ˜„

obtuse cosmos
#

Larrow's version doesn't

#

:S

lone glade
#

you can just copy what I linked above, it's basically what you want

lone glade
#

you don't replace the base classes for everything

obtuse cosmos
#

isn't what I have now what BIS use ?

lone glade
#

yes, but you're breaking all of them

obtuse cosmos
#

I used to make my own, and tweak Haz_Rsc---

#

but it was too much effort lol, for all of those

lone glade
obtuse cosmos
#

uh

#

it's broken now

#

coimpletely

#

lol

#

huh hold on

lone glade
#

can't really help you if I can't see what you're changing :p

obtuse cosmos
#

what was that you sent in GitHub?

lone glade
#

first one is rscCommon, it's the base classes for nearly all controls

obtuse cosmos
#

but it doesn't contan anything ?

#

Confused :S

lone glade
#

it's inheriting them

#

you're redefining them otherwise, which is super bad

obtuse cosmos
#

am I using what you sent with the ones I had ?

lone glade
#

no

#

you replace those

obtuse cosmos
#

then it doesn't work

#

yes

#

I did

#

the whole UI doesn't show, invisible + mouse cursor lol

lone glade
#

are all the base classes you used there?

#

check RPT just in case to check for errors

obtuse cosmos
#

well, I copied them all from your GitHub ?

#

wait

#

when you say base defines

#

same thing as defines, yes ?

lone glade
#

all the something_something;

obtuse cosmos
#

like the one I had before had class RscPicture {lots of stuff here};

#

example ^

#

I replaced all those with the ones you sent from GitHub

lone glade
#

yes

#

if you don't you break 3DEN dropdowns and controls all around the place because you're redefining them

obtuse cosmos
#

okay... I did that but dialog isn't showing, invisible

#

all elements

lone glade
#

anything in RPT?

obtuse cosmos
#

nope

#

ah

#

yes

#

1 sec

#
 2:05:29 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/title 
 2:05:29 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/background 
 2:05:29 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/loadouts 
 2:05:29 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/slider 
 2:05:29 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/suspend 
 2:05:29 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/respawn 
 2:05:29 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/inventory 
 2:05:29 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controlsBackground/TileGroup 
#

noo! I forgot how to do it!

ionic orchid
#

3 of them

obtuse cosmos
#

ty

#

lol

lone glade
#

yeah, you're missing base stuff in your control

#

type should be inherited from the base class, what the hell are you doing O.o

obtuse cosmos
#

well, remember

#

before

obtuse cosmos
#
class RscTitle: RscText
{
    x = 0.15;
    y = 0.06;
    w = 0.7;
    shadow = 0;
    style = ST_LEFT;
    sizeEx = GUI_TEXT_SIZE_MEDIUM;
    colorText[] = {0.95,0.95,0.95,1};
    font = "PuristaMedium";
};
#

it is just class RscTitle {}; now or something

lone glade
#

RscTitle;

obtuse cosmos
#
    class controls
    {
        class title : RscTitle
        {
            idc = 100;
            x = 0.2 * safezoneW + safezoneX;
            y = 0.2 * safezoneH + safezoneY;
            w = 0.6 * safezoneW;
            h = 0.0333333 * safezoneH;
            text = "Respawn Selection";
            colorBackground[] = {"(profileNamespace getVariable ['GUI_BCG_RGB_R', 0.13])", "(profileNamespace getVariable ['GUI_BCG_RGB_G', 0.54])", "(profileNamespace getVariable ['GUI_BCG_RGB_B', 0.21])", 1};
        };
lone glade
#

yeah, should work

obtuse cosmos
#

?

#

you have confused me ha ๐Ÿ˜›

lone glade
obtuse cosmos
#

yes

#

I replaced all of that

lone glade
#

yes, that's what you should do

obtuse cosmos
#

with that GitHub thing you sent

#

which resulted in invisible dialog (mouse cursor)

lone glade
#

yes, because you're somehow missing types for your controls, which is weird

obtuse cosmos
#

do I have to put: type = blah

lone glade
#

no

obtuse cosmos
#

that wouldn't make sense though

#

yeah

#

so why is it not working ๐Ÿ˜ฎ

lone glade
#

it should be inherited from the base class, it should be fine

obtuse cosmos
#

nope

#

this is a mission

#

shouldn't matter, yes ?

lone glade
#

oh wait ๐Ÿคฆ don't call your new class RscTitle

obtuse cosmos
#

oh

#

oh, can't use same names ?

lone glade
#

absolutely not

obtuse cosmos
#

so I can just put Haz_ prefix

lone glade
#

yes

obtuse cosmos
#

rgr ty

#

1 sec - will test

lone glade
#

just avoid BIS classes names, it should be fine otherwise

obtuse cosmos
#

ffs

#

now

#

error:

#

I had this:

lone glade
#

yeah, make sure all the names before and after : are right ๐Ÿ˜„

obtuse cosmos
#

see comment, view code

#

I have the controlsBackground part

lone glade
#

no, arma can't find it

obtuse cosmos
#

ah, guess TileGroup isn't allowed either ?

lone glade
#

if you're on diag branch you have to restart your game, it's.... wonky when adding classes

obtuse cosmos
#

I reloaded mission

#

that fixes it

#
class TileGroup : RscControlsGroupNoScrollbars
        {
#

Do I need to rename TileGroup as well? add the prefix to this as well ?

lone glade
#

what is the new error?

#

oh, uh, btw there's a 3DEN display part at the bottom, you don't need it, it's for my display ๐Ÿ˜„

obtuse cosmos
#

okay

#

error

#

after adding Haz_ prefix to Rsc

#

: Haz_Rsc

lone glade
#

yep, undefined base class, is it defined somewhere ?

#

preferably before that :p

obtuse cosmos
#

which ?

#

well, it's in your GitHub, no?

#

I just added Haz_

#

as you said couldn't use same name ?

lone glade
#

well, no it has to be defined, you can't use the same name for the LEFT part of :

#

left part is the name of you control, right is the base it inherits from

obtuse cosmos
#
        class title : Haz_RscTitle
        {
lone glade
#

reverse

obtuse cosmos
#
        class background : Haz_RscPicture
        {
#

ooh

#

swap them?!

lone glade
#

mySpecialName: RscSomething

obtuse cosmos
#

I have

#

I had this before:

#
class background : RscPicture
{
#

that resulted in the dialog showing as invisible with mouse cursor

lone glade
#

what was the error at that moment?

obtuse cosmos
#

okay, no errors now

#

but dialog isn't showing - only mouse cursor

lone glade
#

check RPT, there must be something

obtuse cosmos
#

rgr

#
2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/title 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/background 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/loadouts 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/slider 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/suspend 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/respawn 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/inventory 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controlsBackground/TileGroup
#

let me restart my game JUST incase

#

I used to only reload the mission though

#

okay, reloaded game

#

and now in .rpt

#
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/title 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/background 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/loadouts 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/slider 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/suspend 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/respawn 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controls/inventory 
 2:26:49 Warning: no type entry inside class dlg_respawnSelectionMenu_inv/controlsBackground/TileGroup 
#

I don't seee what is wrong wtih those names ?

lone glade
#

hm.... It might fuck inheritances when you're doing that in missions

obtuse cosmos
#

:S

lone glade
#

i'm used to mods, it's very likely it's fucking up in missions

obtuse cosmos
#

alright

#

thanks for your help anyway (:

lone glade
#

wait, is that control the first one ?

obtuse cosmos
#

what control ?

#

no

#

I have controlsBackground too

#

which has the tiles thing I sent (from Wiki)

#

and in controls {}

#

I have

#

title, background, etc

#

reverted for now

#

need a break to think lol

#

thanks again though

lone glade
#

ah, base classes can't be inherited from mission config, that's why, then my fucking god mission dialogs must be hell to make

#

it must be a shitshow if you combine 2 of those since you'll keep redefining everything, holy shit

#

good thing that one is disabled

simple solstice
#

@lone glade yeah missions can't inherit, you have to copy paste

little eagle
#

Can't believe no one made a hpp out of all of them yet that you can just #include.

lone glade
#

probably because it's much easier to say fuck it and just use a mod instead

torpid oriole
#

Hey there,
I am stuck on a problem and maybe you can point me in the right direction.
I am spawning some objects in relation to another object (modelToWorld) but have problems when the terrain underneath is to steep. Meaning some of the additional objects clip into the ground and - as a result - fly all over the place.

Is there a script function to allign the object in its current rotation to the ground underneath?

lone glade
#

yes, gimme 5s

little eagle
#

What exactly is being moved? What "additional objects"?

torpid oriole
#

My source is a backpack and I want to dynamically spawn a stretcher or bodybag next to it.

#

with a random orientation

lone glade
#

using setVectorUp with the return value of surfaceNormal should do the trick

torpid oriole
#

on a flat or near flat surface this is no problem but on steep inclines it gets messy

little eagle
#

The game has no stretcher.

#

Where is it from?

lone glade
#

it does now

#

LOW

torpid oriole
#

Laws of WAr

little eagle
#

Classname?

torpid oriole
#

e.g Land_Stretcher_01_olive_F

lone glade
#
Land_Stretcher_01_F
Land_Stretcher_01_folded_F
Land_Stretcher_01_olive_F
Land_Stretcher_01_folded_olive_F
Land_Stretcher_01_sand_F
Land_Stretcher_01_folded_sand_F
little eagle
#

Ok, it's ThingX. PhysX is throwing it around, because it's colliding with the ground.

torpid oriole
#

Yes. Thats why I wanted to align it with the terrain underneath or will this not help?

little eagle
#
_stretcher setVectorUp surfaceNormal getPosWorld _stretcher;

Try to add this line right after setting the position of the stretcher.

torpid oriole
#

check

#

On very steep inclines it looks a bit "wonky" but the objects don't fly around anymore. Thank you very much!

little eagle
#

PhysX sucks. No way around the wonkyness.

still forum
#

Willy likes the wonkyness

little eagle
#

Who?

still forum
#

Willy Wonker

little eagle
#

Willy Wonka ๐Ÿคฆ

still forum
#

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

sour saffron
#

is it possible to holster a pistol or have it somewheer other than hands ?

still forum
#

Switch to another weapon.

#

And the pistol will be put into your holster

sour saffron
#

its the sole weapon

#

maybe i make a dummy weapon to try and simulate cheers

still forum
#

if you have ACE you can use 0 number key to switch to no weapon

sour saffron
#

unfortunately Ace kinda replicates what i aready have so i will just create a dummy weapon i thin k

manic finch
#

Does anybody know much about BIS_fnc_objectsMapper? I'm trying to spawn in a custom composition on a randomly selected location, without much luck.

#

_temp = [_objLoc, random 360, missionConfigFile >> "CfgCompositions" >> "radioPost", 0] call BIS_fnc_objectsMapper;

still forum
#

never even heard of that ^^

manic finch
#

and in description.ext

#

class CfgCompositions { class radioPost { #include "radioPost.sqe" }; };

#

it doesn't seem to recognize my composition when I try to call the function.

#

;?

#

:/

still forum
#

Yes

#

you are passing CONFIG but it only takes string or array

manic finch
#

mk, well I also tried...

#

_temp = [_objLoc, random 360, radioPost, 0] call BIS_fnc_objectsMapper;

still forum
#

"objects for the template - Array / composition class - String / tag list - Array"

manic finch
#

but it gives error on radioPost

still forum
#

How did you get the Idea that a function that says it takes String and Array will also take a config?

#

"Oh.. It takes 1 and 2... Nah I'll just give it 17"

#

That obviously won't work

manic finch
#

ya, wiki page isn't very helpful on examples -.-

still forum
#

It uses configFile >> "CfgObjectCompositions"

#

Not CfgCompositions from missionConfig

#

It doesn't do what you think it does at all

manic finch
#

cause I don't always understand Armas wompy use of data types, so I was attempting stuff from other scripts

still forum
#

You can't use a crowbar to tighten a screw.

manic finch
#

so configFile >> ... will work, or is that still not an exceptable data type?

still forum
#

What are you trying to do?

#

using a different config won't make it not a CONFIG type.

#

And that will still not work because the function doesn't work with Eden compositions at all afaik.

#

Painting the crowbar green still doesn't make it any better for tightening screws.

manic finch
#

gotcha, testing with BIS_fnc_objectsGrabber output now

still forum
#

What has that to do with this?

#

What are you trying to do?

manic finch
#

I've got a custom eden composition for an outpost, to be used as an objective for a mission, but the missions on a random generator, so it'll select a location at mission start, and then spawn the composition.

still forum
#

So you want to spawn a Composition?

subtle ore
#

Why the hell are you using BIS_fnc_objectsGrabber then?

still forum
#

I have no Idea how you get to using completly unrelated BIS functions for it..

grand sleet
#

How do you allow civilians to pick up anything regardless of side?

still forum
#

@grand sleet "Pick up" ?

grand sleet
#

like vests, uniforms

subtle ore
#

they're side restricted

#

so you'll have to add them forcefully via sqf

grand sleet
#

yeah, is there a way around that

manic finch
#

using objectsGrabber to work with objectsMapper

grand sleet
#

ty

manic finch
#

Sorry, I've been googling for day and have not come across that one

still forum
#

Why do you lie to me then?

#

You said you want to place a composition.
And now you say you want to use objectsGrabber

manic finch
#

-.- I'm not lieing, as far as I knew, there wasnt script command to spawn eden compositions, so I went with something else.

#

I previously thought I didn't need objects grabber cause I already has a composition file.

#

evidently, no

still forum
#

You are confusing me ^^

little eagle
#

sqe
๐Ÿค”

still forum
#

Status quo Composition...
Just someone thought Composition starts with an E apparently.

lone glade
#

status quo eden?

agile pumice
#

not a script, just a simple config edit

thorn saffron
#

Is there any logging script that would neatly log all the animations that were played on my character during the last X seconds? I would love to be able to pinpoint some of the animations that cause issues for me and my smoother animation project.

rancid ruin
#

shouldn't be too hard to knock something up

#

use eachFrame, have an array holding animations, check current player animation, add it to the array if it's unique

little eagle
#
Debug_LastAnim = "";

addMissionEventHandler ["EachFrame", {
    private _anim = animationState player;

    if (Debug_LastAnim != _anim) then {
        diag_log [diag_frameNo, _anim];
        Debug_LastAnim = _anim;
    };
}];
subtle ore
#

what about anim changed?

thorn saffron
#

@little eagle I would need a list, the animations can cycle pretty fast

little eagle
#

Open RPT and you have a list, no?

#

Midnight, sure, but this method could be applied to stuff that has no ehs.

subtle ore
#

Gotcha ๐Ÿ‘

rancid ruin
#

i told you how to write it commy but you didn't listen

#

top marks for not requiring CBA though, full credit for that

still forum
#

add it to the array if it's unique
pushBackUnique :u

subtle ore
#

HAHAH ๐Ÿ˜‚

little eagle
#

I don't think he wants unique, but changed, no?

thorn saffron
#

CBA is fine, I just need to get a list of recently played animations logged after I run the script via trigger or that fancy console thingy

little eagle
#

Just do the thing with the RPT file. Open it, delete everything, back into the game, do your animations, tab out again and check the new entries to the file.

rancid ruin
#

rpt file breaks immersion though

still forum
#

use intercept and the GUI script commands to create a fancy onscreen display of all the animations that were played in the last 20 seconds and also the time when they were last played

#

That you will never use again after you debugged what you wanted to debug

subtle ore
#

Heh, you and your intercept fantacies.

little eagle
#

fantasies

#

He does stuff like that.

#

...

still forum
#

Just another 10x improvement... Nothing unusual right?

#

Well.. 10-100x depending on how Arma feels like

little eagle
#

I like it.

still forum
#

I'm prepping profiler release right now. Working on CI

subtle ore
#

Hey Commy I thought you were the German here ๐Ÿ˜‰

still forum
#

There are many germans here

little eagle
#

The furry is the German.

subtle ore
#

Oh shit

still forum
#

Could even say "The Germans are invading"... again..

subtle ore
#

Alright, I'll tell the lowly Americans to fall back

#

WW3 here we come

thorn saffron
#

@little eagle Will your code give me a list of all the anims?

little eagle
#

In the RPT file, yes.

thorn saffron
#

just run it via the console?

little eagle
#

Yes.

thorn saffron
#

@little eagle Thanks it worked

lofty nymph
#

is there a way of converting a 'displayname' back to 'cfgname'?

still forum
subtle ore
#

๐Ÿ‘

#

Awesome

delicate totem
#

I'm trying to make a script to repair JIP Zeus modules, so a JIP can use Zeus without first respawning. Looking at BIs moduleCurator function, the variable the owner is stored in is deliberately wiped clean after the module inits so clients can't access it.

I don't understand why they've done that. Is there a security issue if a client can find out the UID a Zeus module is assigned to? Or if a Zeus module is assigned to an object named Unit1, could a hacker do anything useful with that information?

lone glade
#

nope

#

it's just stupid and you can't do anything about it since the var is reserved

delicate totem
#

Ok, thanks.

little eagle
#

It's just bugged. Use a script to give slots / uids access to zeus instead of using the module. Will fix everything.

winter dune
#

Is it possible to retrieve the current local time from a client? I found KK's dll but I wanted to know if there is something else besides that

lone glade
#

not without DLLs

winter dune
#

ok, thanks

austere granite
#

What do you need it for specifically?

#

You might be able to do something with htmlLoad

#

No way to return that though, but if you just need a time indication somewhere that could be done

arctic sable
#

is there a way to allow a second player to access the zeus camera to view only while in game? I want to set up a live stream with two commentators of an event when the commentators are not at the same physical location.

lone glade
#

there's a spectator logic you can use

arctic sable
#

i want them to have access to the in-game von channels so I've set up two playable units who have zeus for a camera...I just want one of them to view the broadcasting camera in real time (not the 10 second lag from a twitch feed)

noble pond
#

only 1 unit can have control of any camera at any time.

#

from my experience at least

#

@arctic sable

#

simply have both broadcasters in the same room, or you could try screensharing

arctic sable
#

i guess i'd have to look a slaving a camera to another (getpos, getdir ect...)

noble pond
#

screenshare may have reduced lag

#

since its going directly from pc1 to pc2 with no middle men in between

peak plover
#

So

#

1 camera controlled by 1 of the brodcasters and 2nd one needs to see the same?

#

There's gotta be a way to attach the camera to the zeus module or sth

arctic sable
#

" 1 camera controlled by 1 of the brodcasters and 2nd one needs to see the same" <<< yes

noble pond
#

zeus module doesn't move around on its own

peak plover
#

But the camera does

#

and it can be get and set

surreal prawn
#

oof

peak plover
#

I wonder if one can be attached to the other or atleast attach a normal camera to the curator camera

#

hmm

lone glade
#

yes you can, it's fairly simple too.

arctic sable
#

bah ha....funtions...been flailing around in scripting commands instead...i think i need more coffee lol

lavish hamlet
#

Im having trouble getting ace_medical_fnc_treatmentAdvanced_fullHeal to work in a trigger.. can only make it work when i use it as an addaction.. any help would be greatly appriciated ๐Ÿ˜ƒ

indigo snow
#

show us your work so far

lavish hamlet
#

@indigo snow tried

{
    if ( _x in allPlayers ) then { remoteExec["ace_medical_fnc_treatmentAdvanced_fullHeal", _x, false]; };
} forEach thisList

ยดยดยดsqf
[objNull, this] call ace_medical_fnc_treatmentAdvanced_fullHeal;
ยดยดยด

[_x, _x] call ace_medical_fnc_treatmentAdvanced_fullHealLocal;

still forum
#

Well.. Maybe you should pass the arguments to it...

#

You know that you need to

[_x, _x] call ace_medical_fnc_treatmentAdvanced_fullHealLocal;

But you only remoteExec

call ace_medical_fnc_treatmentAdvanced_fullHealLocal;
austere granite
#

thisList

#

is this the new Rogue?

lavish hamlet
#
{ 
 if ( _x in allPlayers ) then { [objNull, _x] remoteExec ["ace_medical_fnc_treatmentAdvanced_fullHealLocal",_x,false];}; 
} forEach thisList

this seams to work..

indigo snow
#

isPlayer _x would be better

lavish hamlet
#

so if ( isPlayer _x ) then ??

indigo snow
#

yea, so you dont have to search the entire array

subtle ore
#

well for Each still checks the thisList array

#

but if you do _x in allPlayers it's a useless check

#

triggers are still dighusting btw

tame portal
#

Is there a reason ArmA can find a texture in a PBO with this path
\A3\soft_f\MRAP_01\Data\MRAP_01_base_CO.paa
aswell as this
A3\soft_f\MRAP_01\Data\MRAP_01_base_CO.paa
?

#

Is it because it's an absolute path anyway?

still forum
#

if you are in / on linux. navigating to /var/ or var/ is the same.

#

same here I guess

tame portal
#

I was using that path with setObjectTextureGlobal and was surprised both versions worked

#

Hope that doesn't break under some circumstances

lone glade
#

absolute paths are disabled

#

wait, those aren't absolute paths

#

it shouuld work

tame portal
#

I mean

#

They are absolute to the file system in which the client pbos are in

subtle ore
#

no.

lone glade
#

no

tame portal
#

no?

lone glade
#

it's the PBO path

subtle ore
#

Still a pbo

tame portal
#

\pboprefix\insidepbo ?

lone glade
#

first one is correct second one isn't

still forum
#

use my linux filesystem analogy. It works here.

tame portal
#

I just need it to reliably find the textures without a leading backslash inside the game pbos, if that isn't possible I'll need to rewrite some stuff

#

Hope it doesn't break under some weird circumstances ^^

still forum
#

I think you are forgetting which game you are talking about here...

barren magnet
#

leading \ in a path should indicate the root of the arma virtual file system

#

\mymod\something.paa is loaded under <virtualfileystem>/mymod/something.paa as far as i know

tame portal
#

id call that absolute tbh

barren magnet
#

background should be: P:\myMod\myAddon -> myMod\myAddon

#

so i would name this an absolute path too.

tame portal
#

@subtle ore ?

subtle ore
#

wat

tame portal
#

i wanted to know why you dont call that path absolute

subtle ore
#

because the A3\ is still a pbo path

still forum
#

We also had absolute absolute paths.
C:\stuff\stuff\file.pbo

subtle ore
#

^

still forum
#

system-absolute vs pbo-absolute

barren magnet
#

we are inside arma, i have not yet seen a path with C: there

lone glade
#

absolute paths are disabled (system absolute)

tame portal
#

I meant absolute to the arma file system

#

as in well

#

\pbo\insidepbo

#

the leading \ is the highest you can go, so when something starts wtih \ i call it absolute in the pbo system

#

thats what i meant ๐Ÿ˜›

still forum
#

It depends on where your root is.. You don't need starting \ for a absolute path

#

if you are currently in the root directory then a3\stuff\stuff.paa is the same as \a3\stuff\stuff.paa

tame portal
#

independent from current directory

still forum
#

if you are not in the root directory though.
a3\stuff\stuff.paa might equal \mymod\addons\a3\stuff\stuff.paa.
The leading \ one always starts from root

#

same as on linux.

tame portal
#

im just curious as to (i believe atleast) some commands need a leading slash for it to find something a pbo and some commands dont

#

as i would assume they all follow the same order where to look

still forum
#

again all depends on where your current working directory is.

#

You should never trust Arma to do what you think it does. So just always use absolute paths

tame portal
#
The leading \ one always starts from root``` I know, however I wouldn't know why some commands treat their current directory as ArmA 3 main dir and others dont
#

It's especially bad if its not in the wiki as a note

#

I'll just use \ always, saves me the trouble

still forum
#

It's just Arma as usual

tame portal
#

mehhhhhhh

willow pike
#

hey does someone know a command that can disable user movment sounds (foot steps, etc)?

#

for one specific entity / player

tough abyss
#

@willow pike there isn't one

fallow radish
#

Has redhammer studio got a discord channel?

oblique spoke
#

negative

#

at least not public access. ask your question though, one of us might be able to help.

fallow radish
#

@oblique spoke no worries can do, just sent them a message over on facebook....have a error message which keeps popping up

fallow radish
#

@oblique spoke ```

private _h = "rhs_collider_simple" createVehicle (getpos _v);
_h setPosWorld (getPosWorld _v);
_h setVectorDirAndUp [vectorDir _v,vectorUp _v];
if(isMultiplayer)then{sleep 0.1};
_v attachTo [_h,[0,0,0]];
#

if(isMultiplayer)then{sleep 0.1};

subtle ore
#

@fallow radish you can't sleep in unscheduled environment

daring pawn
#

Thats in an RHS script afaik @subtle ore not something created by @fallow radish

subtle ore
#

Well, if it is and this is the entire code then I don't really know how this got past stage one of revision

fallow radish
#

@daring pawn correct

#

@Midnight#4592 reported it ๐Ÿ˜„

subtle ore
#

@fallow radish heh, blows my mind a little

noble pond
#

epicfail.

daring pawn
#

iNnOvaTIve ArMoR SimUlATion

still forum
#

Already had some fun about that and other RHS scripts in ACE Slack...
Their scripts are notorious garbage apparently.

cosmic kettle
#

Unlike their models I'd say if you're talking RHS.

still forum
#

Yes... I said "Their scripts". Never said anything about their Models.
And I also said "RHS scripts" so yes. I'm talking about RHS.

supple vine
#
  1. cap is floating
#
  1. textures are somewhat transparent
#

LODS are 1.000, shadow and pilotview

#

it is not following the head movement

#

although the shadow is...

#

rvmat is partially-lighted (or something like that)

#

seems like there is some problem with LODS

still forum
#

Wrong channel @supple vine

supple vine
#

copied, deleting

dim terrace
#

@fallow radish - it was reported thousand times - copy pasted line of code to wrong place just before hotfix release so I didn't notice it was put in wrong place

little oxide
#

hello here, it's possible to had a if statment inside an hpp file, i want to only include file if it's headlessclient

dim terrace
#

I'm working on those scripts mostly alone so I sometimes don't have enough time to test it properly since I'm also doing 1000 different things beyond scripting (modeling, texturing, encoding, etc)

#

Trying to improve older scripts though so hopefully there will be less legacy "garbage" stuff ๐Ÿ˜‰

lone glade
#

depend what you call scripts, you mean functions? or scripting commands?

dim terrace
#

functions

still forum
#

@little oxide You can have whatever you want in hpp files.
You can even name them hpรผ files. Or lul files. Or whateverDoesntMatterAnyway files.

#

You however cannot only include if headless client.

#

@dim terrace Just pop into ACE Slack. Throw a zip file with all scripts at them and tell them to improve them ๐Ÿ˜„
Or open source them on Github

lone glade
#

and in case you were wondering, no you cannot use code blocks in config entries

#

HOWEVER, you can use array select bool

dim terrace
#

"Or open source them on Github" had that idea in my head for a long time

#

maybe soon(tm) it will be possible ๐Ÿ˜‰

lone glade
#

could be a fun thing to do after I PR the arsenal rewrite to ACE3 ๐Ÿ˜„

still forum
cunning nebula
#

๐Ÿ‘

thorn saffron
#

Is there a way to get a neat list of all of the weapons in the game, including mods and such? Also it would be great if similar list could be made for all uniforms, attachments, magazines, helmets, vests and attachments. I only need class names and the wiki table has too much stuff, and you can't select only the class name column to copy the names

thorn saffron
#

Single Player Battle Royale, I want to add CUP stuff to it

lone glade
#

yes @thorn saffron altho it'll be stupidly long if you don't remove the scope=0 items

candid jay
#

all, setPos, setDir and setVelocity all take a global object and have global effects. If the vehicle is local, I would assume that these have no impact whatsoever on network.

#

is this correct?

plush cargo
#

@thorn saffron
You can pull all the info from the configs. Here is a few, you will have to do the others yourself

_baseRifles = "((configName (_x)) isKindof ['Rifle', configFile >> 'cfgWeapons']) && 
            (!isClass (_x >> 'LinkedItems')) && 
            (getnumber (_x>> 'scope') == 2)" 
            configClasses (configFile >> "cfgWeapons"); 
_weapClasses = [];
{
_class = configName _x;
_weapClasses pushBack _class;
}forEach _baseRifles;
hint format ["%1",_weapClasses];

_hats = "(getnumber (_x >> 'ItemInfo' >> 'Type') == 605) && 
        (getnumber (_x>> 'scope') == 2)" 
        configClasses (configFile >> "cfgWeapons"); 
        
_uniforms = "(getnumber (_x >> 'ItemInfo' >> 'Type') == 801) && 
        (getnumber (_x>> 'scope') == 2)" 
        configClasses (configFile >> "cfgWeapons"); 

_vests = "(getnumber (_x >> 'ItemInfo' >> 'Type') == 701) && 
        (getnumber (_x>> 'scope') == 2)" 
        configClasses (configFile >> "cfgWeapons"); 
subtle ore
#

@plush cargo Soolie, you've got an interesting method for uniforms

lone glade
#

nope, best one

subtle ore
#

Interesting doesnt necessarily imply unusual alganthe

subtle ore
#

Interesting doesnt necessarily imply unusual alganthe

arctic escarp
#

Hey guys are there some tutorials I can find on the basics of scripting? I've been combing thru different .sqf files on the ACE github for reference, just need more info to wrap my head around it.

lone glade
#

good ones? none

#

you can still ask if you have questions, people usually answer

young current
#

killzonekids page has some stuff

subtle ore
#

Kk's site

young current
#

on different topics

subtle ore
#

Pmc editing wiki

arctic escarp
#

Awesome thanks.. I'm trying to write a simple script (presumably) that will keep a gun from firing if it intersects parts of itself (wings, engine, rotor)

lone glade
#

oh boy

subtle ore
#

When is that the case?

#

The weapons bay is underneath

lone glade
#

it shouldn't, and if it does it means someone fucked up

#

because that's config turret limits

subtle ore
#

๐Ÿค”

arctic escarp
#

I have a VTOL with doorguns that will shoot into wings or rotors due to it's configuration

subtle ore
#

Uhhhhh...no?

arctic escarp
#

so my options are to limit the turret angles, or write a script that will stop the gun from shooting

lone glade
#

well, limit the turret angle?
Either way a vehicle can't shoot itself

subtle ore
#

Turret angle -> config

arctic escarp
#

I understand it can't shoot itself, just trying allow the turret to move at wider angles yet not break immersion by being able to magically shoot thru wings and stuff

lone glade
#

i'd say having a gun that can fire at the fuselage is pretty immersion breaking in itself

#

or probably the worst design i've ever seen

subtle ore
#

Thats part of the struggle to be accurate, is to find the correct angle. Regardless you cannot shoot the wings

#

@lone glade NATO 2035 had gone backwards

lone glade
#

"You see billy, if you can shoot the wings yourself the commies won't need to do it for you"

arctic escarp
#

Well Bell thinks it will work just fine with the V-280 valor lol

subtle ore
#

๐Ÿ˜‚

lone glade
#

gun is pointed down and can't be moved towards the rotors (maybe)?

subtle ore
#

You might just be the worst gunner for your task if you end up trying to shoot and hit the damn rotors

lone glade
#

just checked the aircraft, the rotors are much further forward than the gunner post

#

you'd have to intentionally aim there (if you're somehow able to)

arctic escarp
#

Yeah, the rotors are forward. However in VTOL mode you can shoot in that direction without damaging anything

#

Either way, I'm just trying to find ways to make this work properly in game

subtle ore
#

Right, so what is the issue then?

lone glade
#

when the rotors are aft you can hit them

arctic escarp
#

The issue is when in full forward flight the rotors are now in the line of fire of the turret

subtle ore
#

No...?

arctic escarp
#

Yes...? I could post a video I guess of what I'm referring to.

#

For now I'll check thru the docs you guys mentioned, thanks.

young current
#

what you should actually do is make the plane vulnerable to its own fire. Gunner isnt suppose to fire at the rotor even if the gun just so happesn to be able to

#

Actually thats somethig worth exploring further. Got to put it on the list

arctic escarp
#

@young current Cool

lone glade
#

not possible

young current
#

why not

lone glade
#

because of how the engine works

young current
#

ye of little faith

thorn saffron
#

@plush cargo I need a text that I can copy

#

will that script give me stuff in rpt I can use?

lone glade
#

you can't print in RPT an array that long

simple solstice
#

copyToClipboard?

#

if I compileFinal a variable that's a number (E. g testvar = 500) can it be overwritten again by doing testvar = 1000?

tough abyss
#

test it out

#

It will take less than it took to read your question

simple solstice
#

if I could :/

#

so the answer is no, it can't be

queen cargo
#

compile final a variable?

#

you mean create a method that returns a given value

#
fixednum = compileFinal "12";
diag_log call fixednum;```
will always output 12
simple solstice
#

just to prevent overwriting it

thorn saffron
#

Thanks to some help I managed to get a list of most of the CUP stuff, also cludged up a supporting solution using a Chrome addon with let me copy the classname column from the CUP wiki

candid jay
#

iโ€™m trying to have the target objects on rails move on a rails path

#

using setpos setdir and setvelocity

#

all computed on server

#

however it gets weird in multiplayer

#

what is the best way to have an object constantly moving be syncโ€™ed in MP?

lone glade
#

lemme guess the object is attached to a helper?

candid jay
#

I donโ€™t think i can use a vehicle because i want it to follow tracks exactly

#

no

lone glade
#

is it a thingX?

candid jay
#

itโ€™s the target object

lone glade
#

so it's a Cfgvehicle class and not a thingX, setVelocity does nothing

candid jay
#

vehicle?

young current
#

@candid jay give em context it may clarfiy things

candid jay
#

iโ€™m building a simple moving target for practice

lone glade
#

now, on to the "smoothness", you can't help it, the pos isn't updated fast enough for that class

candid jay
#

and using those targets on rails

#

can i use some kind of vehicle to attach it to?

#

(and maybe hide it)

lone glade
#

no, you miiight try to attach it to a gamelogic and set that

#

but afaik the pos update interval will still be the same

candid jay
#

thatโ€™s why setVelocity

lone glade
#

also, it's a non physX class, setvelocity does nothing

candid jay
#

my idea to improve it is to have all vehicle local, then sync from server

#

@lone glade not sure i get it

lone glade
#

that object class doesn't have physX properties

#

changing it's velocity does nothing, since it doesn't apply to it

candid jay
#

so what can i use instead, the gamelogic?

lone glade
#

you can attempt that, but I doubt it'll work

candid jay
#

i mean

lone glade
#

it's simply a limitation to avoid massive network spam

#

that class of objects is simply not meant to move ๐Ÿ˜„

candid jay
#

ok, ATS works by having all trains local, the syncโ€™ed once / second with info coming from the driver machine

lone glade
#

yes, it would work, but it's janky AF

candid jay
#

can i use that mechanism

#

have you tried ats?

lone glade
#

nope

candid jay
#

not janky

#

every client computes position locally

#

and syncโ€™ed just in case

lone glade
#

that sounds like a terrible idea

candid jay
#

thatโ€™s how it works now

lone glade
#

a vehicle class with velocity transformations would work too

#

like, a proper vehicle

candid jay
#

ok

#

so i could define a class using the model

#

what should i inherit from

lone glade
#

you'd have to look into it, I can't say anything for sure before looking into it myself

#

currently your issue is that the position of the object isn't synced fast enough to look smooth, and that's due to how it's configed

candid jay
#

indeed

#

my question is how to make it

#

vehicles in arma are syncโ€™ed

peak plover
#

yes

lone glade
#

try a balloon, maybe the thingX class update more often

candid jay
#

maybe i can inherit from Car or something

#

using that model

#

a balloon?

lone glade
#

yes, the ones added by the marksman dlc

#

or any thingX enabled class really

candid jay
#

they are syncโ€™ed in mp?

#

interesting

#

lol, would have not thought of a baloon

lone glade
#

no idea, the targets are synced up, they just don't sync fast enough

candid jay
#

but itโ€™d still have to follow tracks and not fly off

lone glade
#

the interval where the pos is updated is pretty "long"

candid jay
#

and by tracks i mean tracks, not ground

tough abyss
#

Look at what duda did, you are litterally trying to implement the same thing

candid jay
#

yes and he told me what i wrote here

#

iโ€™ll check which class he used

tough abyss
#

Pretty sure its a local vehicle

#

Nothing todo with class

candid jay
#

yes it is

tough abyss
#

So every client has its own local vehicle

candid jay
#

yes

#

and then the driver client send sync info every second to all other machines

#

(i guess position and dir)

tough abyss
#

So whats your issue?

candid jay
#

that it still is clunky.

#

so maybe i need to work on my class definition

tough abyss
#

Well to arma, it doesn't natively support trains

candid jay
#

nono

#

ats works good.

#

MY stuff is clunky.

#

so i am wondering if thereโ€™s a โ€œgeneric vehicleโ€ class that i can inherit from.

lone glade
#

depends, thingX is the class for physX enabled objects, just check if balloons work properly for what you want, if they do that means the thingX class updates more often

tough abyss
#

Is your vehicle a localvehicle or not?

lone glade
#

if not just go with local vehicles

candid jay
#

yep

tough abyss
#

If you are spamming setpos on a normal vehicle, its not gonna be smooth once you get more people on the server.
It will also be subject to your basic.cfg
This is why you use a local vehicles

candid jay
#

so thingX in local

#

then syncโ€™ed 1hz from server

lone glade
#

if it's local just use the vanilla target

candid jay
#

all computations local

#

will experiment

#

thanks for the baloon thing

candid jay
lofty nymph
#

the stairway to heaven example is funny, tried it in the editor

kindred lichen
#

Is it possible to attach an event handler to the donation of a grenade?

#

Trying to make craters appear when satchel are detonated.

#

Like big ones that can be used for cover, not just the decal.

tulip cloud
#

If I have a string variable myString = "newString" can I use myString to create a new variable called newString?

jade abyss
#
missionNameSpace setVariable [myString,"bla"];```
```sqf
hint newString; //"bla"
tulip cloud
#

sorry I wasnt clear I want to assign a value to bla and output that. Not the original string

jade abyss
#

?

#

I don't get you

#

Or do you mean :

myString = "newString";
newString = MyString; //same value as myString

?

compact maple
#

Take cover ! Long message incoming brothers !

tulip cloud
#
myString = "newString";
//create new variable based on myString's value
newString = 0;
#

@compact maple lol was trying to figure out how to explain what I'm trying to do...

compact maple
#

Yeah

#

But i do not get it too, what do you want to do

#

"newString" and newString cant be compare

jade abyss
#

I still don't get, what you rly want^^

tulip cloud
#

I want to create a variable that counts every helicopter that crashes and keep track of each one individually. But I don't want to long hand it with a switch condition.

jade abyss
#

dafuq?

compact maple
#

lol

jade abyss
#

I still don't get you

#

So you want an array, that has every crashed helicopter in it?

#

Or what?

#

+What does it have to do with "switch"?

tulip cloud
#

I just want a simple counter to keep track of each helicopter that crashes. No array, no conditional statements.

copper raven
#

Just add killed EVH and go from there?

tulip cloud
#

that is what I'm doing

jade abyss
#

So why do you need a string for? Why do you need a new Var?

#

*confused*

tulip cloud
#

Though I want to have crashedheli = player vehicle
B_Heli_Light_01_F = B_Heli_Light_01_F + 1

compact maple
#

Increment ur variable each time the heli crashed with evh

#

Lol

cunning nebula
#

๐Ÿค”

jade abyss
#

Init:

MyCOunt = 0;```
In the KilledEH = 
```sqf
myCount = MyCount + 1;```
compact maple
#

You are trying to add 1 to an helicopter

cunning nebula
#

you mean you want to count them by type ?

tulip cloud
#

yes but if I had a taru then a blackfish...those would be recorded under the same variable they need to be separate.

#

yes @cunning nebula

jade abyss
#

Finaly some information

#

You need an array for that and/or just store the TypeOf Chopper in it

compact maple
#

switch (vehicle player) case taru.... case blackfoot...

copper raven
#

just make array then, multidimensional, and cycle through it with find

tulip cloud
#

No array and no switch condition

jade abyss
#

gl

cunning nebula
#

well you'd at least need an array to list the variables you have

#

or do you want to retrieve them by classname later ?

tulip cloud
#

So what you are saying is you cannot take the value of a string and declare a value to that string?