#arma3_scripting

1 messages ยท Page 365 of 1

astral tendon
#

im trying to make a weapons cache just for fun and this command [object] call BIS_fnc_replaceWithSimpleObject;
just make the weapons dissapear, any better solution? i dont wanna players to being able to pick it up

rancid ruin
#

yeah six and armaholic both take the piss with mirroring content - 0 respect for authors tbh

still forum
#

Which is why stuff like Intercept-Python.
You won't need whitelist for textfiles in your pbo's. But can still harness most of the Performance

subtle ore
#

Disable sim Rogue

still forum
#

disableSimulation

tough girder
#

What does it take to get whitelisted by BE?

slim verge
#

the only "correct" system which doesnt really exist on a community wide basis is a
Select server>> Click = update all addons the server uses
...... anything else is a bodge job

tough girder
#

Do they have criterias of what your module should not do or is source code and a promise not to do anything bad is good enough

still forum
#

Request BE to whitelist your extension.. Or.. Just give it to a couple dozen people and let them try to load it everytime they start Arma over about a month.. Then BE will whitelist automatically

#

You send them your binary. And they whitelist it. That's it

#

I'd guess they test it.

subtle ore
#

Figures

astral tendon
#

already did, it still can select it

tough girder
#

Huh, I thought it would be harder

subtle ore
#

Spawn a vehicle over it

#

Definitely hard to pick it up then

#

Or even better

#

A building

#

Or

#

Infinitely delete it

still forum
#

A couple months back.. BE whitelisted my script Debugger. Which is basically a Hack. No one asked for it and they just whitelisted it

subtle ore
#

Pretty sure it's automatic Dedmen

simple solstice
#

has it been removed?

still forum
#

If they would've joined MP with that loaded BE would probably have detected the hacking stuff and would've banned innocent people.
Yes it is automatic.
Yes it has been removed after a few days after I contacted BE about it

simple solstice
#

but if people launch Arma with BE the dll will blocked and unable to use for a player

#

you have to disable BE for it to work

tough girder
#

And what if I use a loader and a separate dll containing my program logic, do I have to send both binaries?

still forum
#

yep

#

yes

#

BE blocks every dll load

tough girder
#

Gotcha, thanks for the info

simple solstice
#

so BE is always listening even if I turn it off :D

little eagle
#

READ

still forum
#

Well... I better won't get into what BE is listening to

austere granite
#

๐Ÿ˜„

little eagle
#

THE ... ?

austere granite
#

UELA?

little eagle
#

Thanks!

austere granite
#

๐Ÿ˜„

little eagle
#

I was about to give up on you guys

simple solstice
#

EULA?

waxen tide
#

@rancid ruin "these are all wishlist features though. as it stands SW is miles ahead of any other solution" no. Steam workshop lacks many critical features that existed with previous solutions.

little eagle
#

Sorta like discord vs. IRC.

austere granite
#

i think he's talking about that battleye knows your deepest darkest secrets

#

Just like discord, but they'll sell them too

simple solstice
#

I mean discord is free so they need to sell info.

#

info is valuable

little eagle
#

At least make the text not grey.

waxen tide
#

can someone smart explain to me why we don't just have a descriptive file in some weird ass implementation of an html/xml markup language (cause thats how BI rolls) that goes like <mod name> <mod description> <mod version> <mod download source(s)> <required dependencies> <optional dependencies (compats)> and package that with every mod. Server distributes that file to the client connecting, client launcher shows it to the client and offers automatic download from whatever sources the mod author specified. requires zero external infrastructure (except a place to host mods, which could be armaholic, steam workshop, private mod-author owned website) and would be low hassle for mod authors, server admins and players ?

queen cargo
#

Because that is not how arma works

simple solstice
#

many things could be simpler.

little eagle
#

Make it a mod!

waxen tide
#

a mod for mod management?

queen cargo
#

Problem with that idea would be: only scripts are possible to be transferred with inbuilt methods

slim verge
#

you can make your own repository using armasync, great tool, very user friendly and very easy once youve set it up, add to thyat a bit of batch coding and the entire system becomes automatic

waxen tide
#

i'm talking about BI adding this functionality to arma.

queen cargo
#

@still forum can one modify the config tree with intercept?

slim verge
#

BI wont do anything when the community does it for them

tough girder
#

There are a couple of issues of how arma forms it's internal fs and parses config

waxen tide
#

i mean having the server send a few bytes of XML to a client on connect can't be rocket science.

tough girder
#

and how that operation is done at startup

waxen tide
#

but the arma launcher does already?

queen cargo
#

Arma launcher does it ahead of start

#

Not while the game runs

waxen tide
#

the only problem is, it only offers to search the workshop for mods or select local files, no automatic "oh i'll fetch that for you from this random http server"

#

sure, but if what i described worked like workshop mods work (maybe a tad better) then it would solve all issues, no?

tough girder
#

I mean, some sort of package manager would definetly be nice

#

But that can be done within the launcher

astral tendon
#

well, i find a way to make a weapon a true prop

#

just remove all its healt and the take action gone, lol

waxen tide
#

you could even just add a flag in the description file that mod authors can set to allow direct download from the arma server. this way whoever hosts an arma server with mods helps out a bit with distributing the mod download traffic by playing mirror.

slim verge
#

if you want an automated system, like an auto addon downloader, you need to be aware of some of the issues this may cause

  1. Where will the files for download be hosted (Most likely you think on the arma server)
  2. Who will pay for the cost of 100 players downloading 20GB of data (Most likely you will expoect the server host to pay for this)
    .... if you think these addons will be hosted on something like steam, how will you implement version control and stop players downloading for example the latest RHS which may break something

There are a lot of other issues to think about as well
Very few servers have their own dedicated box and even less a filehosting solution offsite, these things are costly, so for a lot of guys who run servers, this is simply not doable

tough girder
#

Look at npm

#

Either mod author provides hosting, the platform provides hosting or server owner provides hosting, version control can simply be added as a download filter

waxen tide
#
  1. no. some mod authors prefer to host themselves, some leave it to armaholic, and some use the workshop. some refuse the workshop due to steams policy, and i get that. so with just having a field in which you can enter any download source, you have maximum freedom. you can host the files anywhere you want, the only important thing is: the client gets the download info to download the files.
tough girder
#

e.g. you specify that server requires version "1.0" and client downloads 1.0

slim verge
#

so you want as guy who sweats over his mod to then pay for the hosting.... this would stop a lot of them doing it

waxen tide
#
  1. the same people that paid for it before. i'm not talking about changing the hosting, i'm talking about changing how to get the information to the client in an automatic fashion so zero user interaction is required
slim verge
#

it all costs money someone has to pay, nothing is free

waxen tide
#

Terox no offense but you're totally missinterpreting what i said.

#

People host mods today, don't they? People install them on servers, people install them on clients, and people play these mods. They ARE already hosted. They're just hard to access in some ways (armaholic...)

#

i'm talking about adding a few bytes of organisational description to automate things, not to change anything about hosting itself.

slim verge
#

i understand your point m8, i run an arma community i have my own dedi box colocated and i also run a file hosting server for our 20+GB addon pack and we host it via an armasync repo.... there are not many communities capable of doing this, most of them simply give you links to steam workshops or armaholics

waxen tide
#

yeah well i'm doing the same thing for years now but it is a horrible idea.

#

we shouldn't be doing it.

#

did you go around and ask every single mod author for permission to host his mods on your http/ftp to offer an armasync repo to players? i doubt it.

slim verge
#

so the issue isnt really "heres a link to grab the addon pack" ITS MORE TO DO WITH WHO IS GOING TO MANAGE , HOST AND PAY FOR THE BANDWIDTH FOR THAT ADDON PACK

#

oopsa sorry for caps

waxen tide
#

writes Terox a ticket for excessive caps usage

slim verge
#

lol

little eagle
#

asdfghj is right. This process should be automated and handled by the game.

slim verge
#

fat fingers catch the caps lock a lot

#

it should be but as i pointed out, it isnt

little eagle
#

Eh?

slender halo
#

npm for arma is the thing

waxen tide
#

i see 4-5 solutions. 1) point to steam WS as download source 2) point to armaholic/six/whatever as download source if they feel like doing it 3) point to the website of a mod author if they feel like hosting it (RHS still hosts on http?) 4) allow mod authors to set a flag so arma server hosters can act as a mirror if they want to 5) organise a public arma repo where people can dime in with a buck a month on patreon or w/e for mods from authors who don't find anyone willing to host their stuff

slender halo
#

(RHS still hosts on http?)

#

they don't

waxen tide
#

the neat thing is: if you set up your infrastructure flexible, with a descriptive file, you don't hardcode your source. you can multi-source.

slim verge
#

the entire server management system should be inmcorporated into some form of tool created by BI, that would include server management, ,mission management and addon management, but that requires time and effort and money. this has to be paid for and time found to spends resources developing it, personally i would prefer BI to develop the game better and improve their netcode before adding nice things like that, so its not about a wish list its about practicality

little eagle
#

Too bad we're now stuck with subpar SW and since it sorta works, no one will improve it.

waxen tide
#

wait wait wait. Terox, before you drift off into stating lots of generic unspecific stuff, boil it down to me: What else would bohemia have to do then to implement a trivial function into the arma launcher&server to send a tiny XML file from the server to the client, an XML file defined by the mod author? How would that be a massive task for BI? I don't see it.

little eagle
#

Please everyone ignore the comment about "netcode". The weekend just started...

waxen tide
#

well granted, the launcher would need to be able to fetch files over html. and the steam workshop (but thats already implemented)

slim verge
#

the steam workshop is an arse, its not that friendly, its certainly very restrictive meaning you cannot create your own custom server repo based on others mods, which for us is a problem because we resign every addon with a date stamped key to help with version control, leaving us with only the option to host our own repo

rancid ruin
#

@waxen tide what critical features, and why aren't people using these old "solutions" if they're so critical??

slim verge
#

okay so what about "Where arte the files hosted" ?

rancid ruin
#

that's a critical feature?

#

knowing where files are hosted?

waxen tide
#

@rancid ruin 1) steam workshop requires mod authors to hand over rights over their work to valve.
2) steam workshop version control is: force update to newest version regardless of anything with no option to block that
3) steam workshop, as implemented in the current arma launcher, fails to do dependencies correctly

  • fails to handle compatibility mods in a sane fashion
  • quite often simply loads the wrong mods despite the server clearly reporting what is required
    (like adding some ace rhs gref compat mod despite the server not even running gref, but running ace, so it thinks HEY asdfghj why don't you load that mod that will lead to the server refusing you!)
tough girder
#

Steam WS could act as main hosting platform, while ALSO giving mod publisher the option of specifying his own\external hosting

slim verge
#

if all BI have to do is allow some way of linking to a file repo, then there needs to be files hosted somewhere by someone, who is going to pick up the bill for that ? that to me would be a major factor in designing such a system

tough girder
#

or we could skip integrating such thing into WS and just use launcher based solution, where package hosting can be set to either point to ws, external host, repository, whatever

waxen tide
#

Terox, you are aware people played on modded arma servers before steam workshop? Who picked up the hosting bill then?

rancid ruin
#
  1. overblown. valve isn't going to steal anybody's mod, they don't even make games these days.
  2. not a huge problem imo, think of the extra complications if they were to implement version control
  3. that's arma/BI's problem, not steam's
tough girder
#

But that brings us into a problem that if Steam WS doesn't improve, we're stuck with non-existant versioning on that host

rancid ruin
#
  1. is because steam want to cover their ass, nothing more, i think that's pretty clear
slim verge
#

right so lets say for example someone created a very nice custom island, what sort of size would that be, 2 to 8Gb perhaps, now times that by the number of folks worldwide that will download that, then add any pqatches to that addon that again required downloading, if you look at it from that perspective there is a lot of cost involved there

#

and thats just 1 addon

slender halo
#

global A3Sync

slim verge
#

and then add CUP to the equation

waxen tide
#
  1. leads to authors NOT uploading their mods to the workshop, leads to players/admins uploading them, leads to a massive bitching channel in this discord called ip_rights_violations which is a massive waste of everyone's time since it triggers human stupidity by lack of technical infrastructure.
  2. is a huge problem because there are incompatibilities between different versions and generally people should have fucking control over the software versions they run. steams implementation is bad.
  3. true, so it shouldn't be handled by BI but rather by people who care enough to implement it properly (mod authors)
still forum
#

@queen cargo Intercept is not a Hack... Well... Atleast not... Well... Uh... No. it can't.

slender halo
#

with some zsync implemention, bandwidth could be saved up

little eagle
#

You're a hack.

austere granite
#

inb4 dedmen gets banned

still forum
#

๐Ÿ˜ข

#

We should just load all our mods via Intercept-Network Kappa

austere granite
#

I like our torrent launcher thing

waxen tide
#

@slim verge i think you are either trolling me or you have some sort of mind control chip in your brain.

still forum
#

Wouldn't it be nice if the Steam workshop API was kinda usable and open? That way we could just add what's missing

rancid ruin
#

well in summary i do agree that SW could be improved in some ways, but i still know it's the best solution for everybody. that's why everyone uses it rather than some half baked shitty thing like six or maintaining their own launchers and servers and version control and....

tough girder
#

@still forum is modifying config runtime considered hacking?

still forum
#

That is BI's approach anyway. Open it up and let the community do

#

Not really.. But you can only do it with a Hack soo....

austere granite
#

Open it up

#

BI approach is keep it closed and let the community do it

#

๐Ÿ˜„

still forum
#

Well.....

austere granite
#

Well... yes? ๐Ÿ˜„

little eagle
#

So to conclude. The only good thing about SW is the free hosting. The rest is garbage.

waxen tide
#

i think the BI approach is sitting on an office chair and being spun by an intern in a circle all day.

still forum
#

Either open it up or let the community open it forcefully

austere granite
#

@little eagle delta patching

#

thats the two

waxen tide
#

+1 @little eagle

tough girder
#

delta patching should be a given

slim verge
#

from the perspective of a server host and having run a community since 2003, and having hosted addons for all that time, here are my thoughts on it

  1. I want total control of the files that are offered to the clients who connect to our servers
  2. I want a 1 click sync, so thyat the clients cant screw it up
    WHY?
    Because i dont want nor havew the time to spend dealing with user support for complicated systems and having to keep some administerial list of links for folks to go and manage their own addons
    After many years of trying various systems, the one i have now which is almost fully automated works for me very well.

I do not trust this with BIS, because I know they will not get it right even if they tried

austere granite
#

there's no delta patching for EBO files

#

so its not a given

waxen tide
#

ezz

#

decrypt them, delta patch, encrypt them

#

what do they use for encryption, XOR was it?

austere granite
#

ofcourse it can be done

rancid ruin
#

tbh I think hoping for a 100% plug and play solution for anything with arma is a pipe dream. this game is complicated as fuck, as is modding, and everything else that goes with it.

austere granite
#

but its not a given (unfortunately)

waxen tide
#

i'm quite annoyed by people obfuscating the issue. @rancid ruin why do you think it would be complicated to download a bunch of files in a sane way?

little eagle
#

He's on Valve's pay list.

waxen tide
#

ah.

austere granite
rancid ruin
#

i am gaben yes

tough girder
#

@still forum hack as in trying to mess with the memory? or hack as in trying to re the config loading process

waxen tide
#

@rancid ruin I think you're acting morally irresponsable by being employed by valve. Once the great purge comes, i'll personally ensure your public whipping.

slim verge
#

the syncing and downloading of files isnt really the issue, its how you manage it thats the real issue

little eagle
#

These things have been solved 20 years ago.

waxen tide
#

@slim verge Well i explained in detail how i would solve it and i heared lots of general "ahh that will never work" but not even one remotely reasonable argument as to why.

austere granite
#

in our case you can create a modset by entering the mod names into a json file, that'll get used to make torrents with, upload and make it the required modset for a server

little eagle
#

Too bad this game is from 1997.

slim verge
#

if torrents were involved that should only be as a support mechanism to ease the traffic, it shouldnt be as a major solution

austere granite
#

well that's where you get into the bandwith issue that you mentioend before.

#

obviously that would be different for a BIS (Or valve)

#

but random modders? Meh

still forum
#

@tough girder mess

slim verge
#

but for a torrent to work requires clients to be connected and working as hosts feeding the data, this aint gonna happen reliably

tough girder
#

Ah

#

Gotcha

austere granite
#

That's where seedboxes come into play

rancid ruin
#

i used to have all RHS torrents on my seedbox cos i'm a #good_guy

austere granite
#

Our main bandwidth comes from some very cheap ones

#

Which you can turn on and off quite easily if needed

waxen tide
#

Who should pay for mod download costs? The people who download and play the mods. How do you arrange that? 1) let steam handle it, people pay steam for the game. or 2) let server admins help out with mirroring and let server admins accept reasonable donations to finance server cost in a non-profit manner without discriminating non-donating players by offering donation perks. (bit messy, but thats how it works out in many big arma communities anyways). I don't think anything else would actually work?

slim verge
#

what we really need is a community wide accepted tool for addon management, six tried that but although sickboy is a very good coder, he lacked the insight of creating a user friendly UI, so it failed

austere granite
#

Anyway it's obviously not ideal, but its that there are options outside worksshop

#

there's Swifty

#

but that's also private repos i think

#

arma3sync (also private repos)

still forum
#

Man you guys are writing too fast.. Can't even make a pizza without you writing a dozen messages

austere granite
#

and then another torrent based launcher i think (Cant remember the name)

waxen tide
#

i think the tool does not only need to be community accepted, it should be shipped inside the arma launcher by BI.

slim verge
#

forget torrents, not really an ideal solution and useage of torrents is dying

rancid ruin
#

why not just burn your addons to CD and post them to each player?

austere granite
#

well BIS is doing the arma launcher

waxen tide
#

eats Dedmens pizza so he can read

still forum
#

wow

little eagle
#

๐Ÿ•

slim verge
#

@rancid ruin, you can have that job

waxen tide
#

I'm a nice guy, what can i say.

rancid ruin
#

i am already gaben i don't really need another job

#

i'm just trying to help cos you guys clearly don't like my workshop

waxen tide
#

@rancid ruin gaben get your shit together or i will rant about valve on the internet.

little eagle
#

oneoh is a contrarian.

slim verge
#

the arma launcher is also not very good for our community we still highly recommend desktop shortcuts for each server we run, the user support calls that reduces is tremendous

rancid ruin
#

commy is also a contrarian...

little eagle
#

Factually wrong. I don't disagree with people that agree with me already.

tough girder
#

damn

rancid ruin
#

agree with these nuts 8===D

still forum
#

Custom launcher is always the best you can get. Because it will have everything you need

little eagle
#

Penis.

rancid ruin
slim verge
#

the best interface for such an addon management system woulkd be the server browser, all it really needs is a html page that the server host configs, and this details where to grab the addons and any other useful info like teamspeak address, thats simple, easy and gives total control to the server host

still forum
#

@rancid ruin you better be quiet

rancid ruin
#

actually someone got banned here for talking about hacks didn't they ๐Ÿ˜„

austere granite
#

That was dedmen

still forum
#

What did I just tell you?

#

No.

austere granite
#

He's promoting a hack

#

Even uploading it to workshop now

still forum
#

I linked a hotfix for a Teamspeak clientside RCE in #general_chat_arma that was why I was banned

little eagle
#

Dedmen should be banned imo.

still forum
#

The hotfix was hosted on a known hacker forum.

rancid ruin
#

nah i'm sure FM banned someone else for talking about hacks in here?

#

was it really dedmen?

waxen tide
still forum
#

I think yeah.. no wasn't me

#

don't remember who

austere granite
#

@waxen tide pls download frontline launcher too, need more

rancid ruin
#

i recognised his name but i can't remember it now. think it was someone useful

still forum
waxen tide
#

I hereby demand the death penalty for the creation of custom game launchers.

still forum
#

I'm quite sure it was a troll

little eagle
#

This is the best channel.

waxen tide
#

scripting channel is the elite, no need for moderation.

still forum
#

Useful people usually don't get banned cough cough

grand berry
#

Need to find a reason to get Dedmen banned now just to prove him wrong.

waxen tide
#

i started this discussion in 3 other channels, and not only was i banned, people pooped on the hood of my car, too.

little eagle
#

Why do you sell TS hacks, Dedmen?

tough girder
#

Why do people use TS tho

little eagle
#

TFAR

#

ACRE

slim verge
#

TS great tool

austere granite
#

I like TS

still forum
#

Was already banned Flax ^^
I don't.... Well... Uh... You can't call that a hack.. technically that is not categorized as a Hack

rancid ruin
#

ts > discord come on bro

tough girder
#

mumble > both

slim verge
#

TS easily

little eagle
#

pff

rancid ruin
#

mumble's alright but so is TS

subtle ore
#

Oh god, scripting is getting heated

#

On a friday no less

grand berry
#

Mumble... urghh

austere granite
still forum
#

Someone turn the heater on

rancid ruin
#

i use TS cos i have a server hosting TS, it was an ez choice

tough girder
#

I just hate ts license

little eagle
#

mumbler

slim verge
#

you hate free licenses ?

grand berry
#

TS license is free?

tough girder
#

with slot limitation, yes

rancid ruin
#

if you hate any software license you need to get out more

austere granite
#

Non-profit for everyone

grand berry
#

NPL?

slim verge
#

I hate paying taxes way more than any software license other than wiondows server licenses

subtle ore
#

Non profits get a 500 slot

tough girder
#

Is npl reasonably hassle-free to acquire tho

little eagle
#

Not enough tbqh.

still forum
#

@tough girder I also hate it.. That's why I do stuff so I don't have to hate it anymore

rancid ruin
#

i think the standard TS server is 32 clients, that's alright tbh

subtle ore
#

Or even more at some times, depending on license agreements iirc

waxen tide
#

@slim verge buying licences for microsoft is unethical

still forum
#

NPL is friggin hard to get lately

grand berry
#

Takes about a week to get NPL

slim verge
#

i never mentioned money now did i ? ๐Ÿ˜ƒ

still forum
#

compared to how easy it was before

grand berry
#

Yea true.

subtle ore
#

NPL requires web site, and proof of an active community

rancid ruin
#

fair enough surely

still forum
#

and NPL forbids any kind of donation button on that website

subtle ore
#

Meaning more than just a people saying "i belong here"

#

Yeah you can't make money off of it

still forum
#

which is why my group flew out. We had a donation link so that members can help pay for the servers

grand berry
#

Agreed - NPL is exactly for that. Non profit community. The per slot cost is not that bad.

rancid ruin
#
  1. hide donation button
  2. apply for NPL
  3. get NPL
  4. reinstate donation button
#

EZ

still forum
#

yeah.. non-profit.. Taking donations doesn't mean you get profit

slim verge
#

^

rancid ruin
#

you didn't even think this through properly dedmen, i have no sympathy

grand berry
#

Yea keep the donate on the private part?

subtle ore
#

Onoeh, that's still violating the license agreements

rancid ruin
#

fuck the license agreement, this is the wild west

still forum
#

I don't need a NPL license anyway..

subtle ore
#

HA

slim verge
#

every time you get in a car and drive you break the license agreement but it doesnt stop u from driving

rancid ruin
#

do you read EULAs as well or something? come on bruh

subtle ore
#

๐Ÿค  ๐Ÿ”ซ pew pew

waxen tide
#

Yeah i'm sure Dedmen hacked the ts server to allow infinite connections the second he noticed there is an limitation.

little eagle
#

READ

still forum
#

I don't hack things

tough girder
#

Don't you also have to renew NPL

rancid ruin
#

alright just host mumble then, jesus christ

waxen tide
#

I redefined the meaning of the word "hack".

slim verge
#

no NPL doesnt need renewing

jaunty zephyr
#
  1. be gone for five minutes
  2. see โˆž new messages
  3. see it's about licencing
  4. click "mark as read"
  5. profit
little eagle
#

I don't hack things
That's exactly what a HACKER would say.

slender halo
#

^^

subtle ore
#

White hat hacker ๐Ÿค”

waxen tide
#

Dedmen used the swing of a butterfly wing to flip a bit in a specific part of his server's hard disk.

still forum
#

๐Ÿ˜„

slim verge
#

a hacker wouldnt say anything, you wouldnt know he was there, and if you did, he wouldnt be a hacker he'd be a kid trying to be one

still forum
#

I see you like some of the things I like too

waxen tide
#

please don't mention it, too mainstream to be cool anymore.

rancid ruin
#

a real hacker would talk in russian or chinese

still forum
#

ั„ั‹ะฒ ั„ะพั† ั„ะปั‹ะปั‹ ั†ั€ะพะบะณั„?

tough girder
#

@rancid ruin I'm not trying to convert people to mumble, was geniunely interested in why teamspeak was chosen as voip client in the community

#

ะฐัะดะฐะดัะฐั

subtle ore
#

:ghost:

grand berry
#

ACRE and TFAR support. @tough girder

rancid ruin
#

cos of tfar and acre

#

yes

still forum
#

It was because the API is very easilly useable and Teamspeak was already wildly used among gamers. Which is why TFAR/ACRE use it.. and now there is no alternative

tough girder
#

Mmm, rather why ACRE and TFAR decided on TS API then

waxen tide
#

@tough girder i think it might be the combination of being there early and not sufficiently annoying people to make them switch is what leads to these things.

subtle ore
#

Damn Germans, they know it all. Mandarin, Russian.

still forum
#

besides ACRE Omnibus which kinda failed..
And TFAR's plan to rebuilding something similear which was pushed back

slender halo
#

it's like when porn choose Bluray over HD-DVD

little eagle
#

aka failed

slim verge
#

well before we had ACRE we used to use the channel commander fgeature and bear in mind OFP was 2002, there want really any other viable option then, so nearly every one went TS, some tried oh i forget the name, Battle****

rancid ruin
#

germans don't know everything, they haven't figured out how to invade russia yet

still forum
#

You can't fail something you didn't even start

waxen tide
#

i remember hosting TS2 servers when scriptkiddies were hacking them left and right and even escallating privs to root due to horrible bugs in it.

grand berry
#

You failed to start?

still forum
#

Oh yeah... ๐Ÿ˜„

subtle ore
#

@rancid ruin how much you wanna bet Dedmen rigged the election?

grand berry
#

๐Ÿ˜‚

still forum
#

That oh yeah was to @waxen tide ๐Ÿ˜„

#

Hey I can't join channels. Can you please press CTRL+H for me?

waxen tide
#

good old times.

still forum
#

Oh thanks for giving me Admin rights

subtle ore
#

๐Ÿ˜‚

tough girder
#

How did Omnibus fail?

austere granite
#

isn't mumble still an alternative?

#

i haven't used it in years, but it always looked okay

#

thats what BF2:PR does still

waxen tide
#

people who use mumble are .... weird.

austere granite
#

obviously the other option would be having good in-game comms

little eagle
#

mumbler

tough girder
#

Mumble doesn't have tfar\acre support which is a stopping point for a lot of people

subtle ore
#

Mumble is still alive as an voice api i am pretty sure. Not sure about the client

waxen tide
#

heh, you guys remember ventrillo?

#

only the ugliest people used that shit

austere granite
#

i unfortunately do

subtle ore
#

Ventrillo is still active

tough girder
#

I don't, thankfully

waxen tide
#

such a horrible pile of garbage.

little eagle
#

Yeah. Vent sounded better than TS2, but I think TS3 killed it.

slim verge
#

mumble and ventrilo all had issues when it comes to runnin g good comms, TS has nearly always been a very reliable and decent quality comms package, thats why it became so popular, this is back in TS2 days when OFP was first released, i guess its old habits die hard

waxen tide
#

i think ventrillo was a troll project of someone going "how do i re-implement TS and make it worse in as many aspects as possible"

still forum
#

Omnibus essentially failed because lack of time and skilled people

subtle ore
#

Yeesh. So why are we all using nasty discord then?

waxen tide
#

or maybe i'm confusing this with raidcall.

little eagle
#

Yeesh. So why are we all using nasty discord then?
Good question.

slim verge
#

also vent and mumble requires a lot of user support so not a great choice from a server admin perspective... you want something that is easy and causes you minimal hassle

austere granite
#

Because it's easy

still forum
#

Because BI decided

austere granite
#

And skype was fucking shit

#

And slack was weird

tough girder
#

But is there still interest in continuing omnibus\tfar thing?

grand berry
#

Slack is pretty awful at times too.

#

Desktop client is shite.

slim verge
#

anyone remember allseingeye

subtle ore
#

In any other discord i would vent that discord is for lamens and pubg players

#

But uhhh...

austere granite
#

Anyone use Mattermost?

waxen tide
#

I'm still offended by TS3 still. I mean have you installed it lately? Still sort of a clusterfuck with little regards to linux structures. "Eh throw this in your home folder and unzip it, there is a startscript somewhere. i think. and maybe don't run it as root, but whatever"

rancid ruin
#

hey ventrilo's ok, but a bit laggy compared to TS

#

and allseeingeye was SICK AS FUCK

still forum
#

TFAR still has it on it's todo list. And I'm sure ACRE has too

rancid ruin
#

that program was the absolute shit back in the day

#
  1. pirate a game
  2. get allseeingeye
  3. lose childhood
subtle ore
#

@waxen tide user error mainly

waxen tide
#

nahh what i'm talking about is 100% failure of software packaging

#

but linux distros are very messy in that regard so i can relate

subtle ore
#

Mehh. Community developers ride the ass of templates

#

For TS3 that is

#

Look at how many reskins there are

#

Some of them only replace the main background

#

Some of them have a lot of work put into them, i have this plugin that automatically sorts the 3d audio.

tough girder
#

Reading more into Omnibus, that's a fully fledged voip client/server, damn

slim verge
#

the mass mover plugin is good, but would be nice if the dev added a "move all players in this channel family to......."

subtle ore
#

"There is a plugin for that"

waxen tide
#

TFAR has one gigantic flaw btw

subtle ore
#

It existed even before myTeamspeak

waxen tide
#

you can't mute idiots

slim verge
#

yes and it works too funnily enough

still forum
#

what? ๐Ÿ˜ฎ

#

๐Ÿ˜„

#

You can actually @waxen tide

tough girder
#

You can on newest version, can't you?

still forum
#

In Teamspeak you can reduce the volume of a guy to -20DB

#

that is almost like muting

waxen tide
#

-30DB

still forum
#

no TFAR unmutes everyone

subtle ore
#

I thought it was -50?

waxen tide
#

but you can still hear them mumbling on

#

the TFAR TS plugin should have an option to mute idiots.

simple solstice
#

I once had to mute a guy to about - 20dB to not get my ears blown. If not more

slim verge
#

if i were to mute idiots, then most channels would be silent

waxen tide
#

well, you missspelled community in your nick.

still forum
#

I can also guarantee you that feature will never be added

austere granite
#

๐Ÿ”ฅ

slim verge
#

i did well spotted, you need to get out more

subtle ore
#

Can't you silence everyone in a channel once it hits a certain db level?

waxen tide
#

get out more?

little eagle
#

You misspelled "misspelled"

slim verge
#

well if your checking spelling ๐Ÿ˜ƒ

waxen tide
#

i did well spotted, you need to get out more

#

I would but its such a hassle with the thick snow suit and the rifle for the bears

#

@still forum would that feature be hard to add?

still forum
#

yes. very.

slim verge
#

why do you arm bears ? arent they tough enough ?

waxen tide
#

I think my sarcasm detector is broken.

still forum
#

That's more self-protection than sarcasm

slim verge
#

that would shock hunters wouldnt it a great bear with a minigun

waxen tide
#

@slim verge i demand that you fix your nick its ugly to look at.

slim verge
#

You have an option not to look

#

this is called free choice

little eagle
#

As opposed to unfree choice?

slim verge
#

yeah aint that a eastern block thing

little eagle
#

(I just wanted to try if this extension works with discord)

waxen tide
#

maybe discord is like arma and doesn't care about extensions.

scenic shard
#

trying to fill a boat with passengers when it respawns. Wrote this but it seems like it is a bad approach or I made some misstake, my FPS goes down below 1.. =/ any idea?

    _totalSeats = [typeOf _newBoat, true] call BIS_fnc_crewCount; 
    _crewSeats = [typeOf _newBoat, false] call BIS_fnc_crewCount; 
    _cargoSeats = _totalSeats - _crewSeats;

    while {_cargoSeats > 0} do {
        _man = "fow_s_us_rifleman" createVehicle getMarkerPos "tempSpawn";
        _man moveInCargo _newBoat;
        _cargoSeats = _cargoSeats -1;
    };
};```
still forum
#

Why are you using while where a for loop would be more appropriate?

scenic shard
#

forgot the syntax for the for loop in sqf so used while for my test only, performance should be the same anyways right?

still forum
#

kinda

#

but for loop is more appropriate for this

waxen tide
#

foreach should be fine, no?

still forum
#

no

#

guess why

waxen tide
#

bleh yeah had buildingPos in mind for a sec.

#

he only has a number, not an array

still forum
#

๐Ÿ‘

#

fps falling to 1 sounds like the game is continously spawning units

waxen tide
#

i think his while loop equals true always and just spams units immediately which leads to 1 fps btw.

still forum
#

which the while immediatly screams at me

waxen tide
#

hides his mindreading device

still forum
#

I don't know why it doesn't work.. code looks good

waxen tide
#

you're adding this to the boats init?

#

no you're not.

still forum
#

_newBoat... Is that code running right after you createVehicle?

#

you might have to wait for atleast 1 frame

scenic shard
#

_newBoat is the param passed from the respawnModules expression field

#

I rewrote it to a for-loop and it seems fixed, I guess that it for some reson never broke out of the while loop.

    _totalSeats = [typeOf _newBoat, true] call BIS_fnc_crewCount; 
    _crewSeats = [typeOf _newBoat, false] call BIS_fnc_crewCount; 
    _cargoSeats = _totalSeats - _crewSeats;

    for [{private _i = 0}, {_i < _cargoSeats}, {_i = _i + 1}] do {
        _man = "fow_s_us_rifleman" createVehicle getMarkerPos "tempSpawn";
        _man moveInCargo _newBoat;
    };
};```
#

thx!

still forum
#

remove that private.

#

on the _i

little eagle
#

That version of for is hideous.

scenic shard
#

why not use private?

still forum
#

Do you know why to use private?

#

Or what it does?

little eagle
#

I'll test if it makes sense here. I'm not used to this syntax.

still forum
#

Logically.. it makes _i private.

little eagle
#

We're operating under #logic here though.

#

Not conventional logic.

#

XZY

scenic shard
#

im not 100% sure tbh when it comes to sqf, just pulled that from the wiki as the "good example"

astral tendon
#

why ImageToPAA never works for me?

scenic shard
#

if there is some other better way I'd rather re-learn that

austere granite
#

i dont get that for

still forum
#

c++ style for

#

c-style*

austere granite
#

for "_i" from 0 to (count _whatever -1) do { call hackerman; };

scenic shard
#

I kinda like it, reminds me of more familiar languages ๐Ÿ˜›

austere granite
#

perfect sense

#

{ call hackerman; nil } count _whatever; best

#

{ _x call hackerman; } forEach _cargoSeats is probably what you want

#

because easy

#

the count is slightly quicker because it doesnt keep index

scenic shard
#

nvm, the above code still wont work well. still get the same low FPS, I forgot to uncomment the actual spawning code -.-

I guess createVehicle is kinda expensive?

little eagle
#

@still forum

_i = -1;

for [{_i = 0}, {_i < 3}, {_i = _i + 1}] do {};

_i
#

3

#
_i = -1;

for [{private _i = 0}, {_i < 3}, {_i = _i + 1}] do {};

_i
#

-1

still forum
#

but inside the for loop?

austere granite
#

what about for "_i" ?

little eagle
#
_i = -1;

for "_i" from 0 to 3 do {};

_i
#

-1

#

but inside the for loop?
?

austere granite
#

figured. i only ever use that one and never noticed needing to private it

little eagle
#

The magic variables are all private. _x, _forEachIndex, _this.

still forum
#

_i is not a magic variable

#

you are setting it to private in that code block..

#

But the engine calls into the codeblock.. codeblock exits again.. variable is undefined

little eagle
#

Example?

still forum
#

no

little eagle
#

๐Ÿค”

still forum
#

No you cannot take them

little eagle
#

Are you talking with someone on my banlist?

still forum
#

Cookietoken

thin pine
#

Yeah that'd be pretty cool if they did that

#

Well you could always try the alternative method

little eagle
#

Now you're just teasing me.

thin pine
#

Haha :)

tulip cloud
#

took awhile to read through the conversation over the past 7 hours. So question....I looked at the Intercept-Python I had a few questions(Warning I'm not familiar with Python.):
1.Is Pythia the project that will make it possible?
2.What is the advantage of this method vs creating a custom dll?
3.What type of server features would most benefit from using python vs sqf?
4.Any other pros/cons to this?

still forum
#

Pythia is not Intercept-Python. Intercept-Python is called Intercept-Python.
Intercept's interaction with SQF scripts is far more direct than the normal Extensions.
Everything. No.. Literally.. Everything.
Pros. Performance, more standard code (programming language that is more wildly used) and thus easier to understand for non-sqf writers.
Plus you get every Python feature as a nice bonus

#

Using Intercept you are essentially right inside the Engine.
A normal Extension is a thingy next to the engine that needs to communicate through a very restrictive interface

tulip cloud
#

how does it compare to Intercept C++? same thing just in python?

still forum
#

python is a additional layer on top.

tulip cloud
#

I'm all for coding in something other than SQF ๐Ÿ˜‰ I just want to make sure I switch to the Best platform available.

still forum
#

It is still very performant. But ofcause not as fast as C++ directly.

austere granite
#

The best platform is the gamecube

#

Nice ergonomic controller design

still forum
#

also not really useable yet. We will probably have the first experimental and very feature slim Intercept-Python version next weekend..

subtle ore
#

@austere granite Really......?

austere granite
#

/s

subtle ore
#

It wasn't a question of sarcasm, but a question of why you chose the gamecube. Doesn't even relate in the slightest

austere granite
#

Someone was asking for the best platform

#

The gamecube is the best platform

subtle ore
#

Platform?

#

No?

tulip cloud
#

I meant environment when I said platform

subtle ore
#

Different from console /\ pc platform

still forum
#

Intercept C++ also has the highest development priority. Because everything depends on it. If anything breaks the C++ one will get fixed first. But most likely that will automatically fix all other languages built ontop of it

queen cargo
#

@tulip cloud OOS allows you to use different language while maintaining that your code is compatible with vanilla arma

#

there is also other side-languages that generate usable SQF

#

which do not come with such an overhead as OOS

still forum
#

I didn't read anywhere that he asked about OOS

queen cargo
#

but change the syntax completly

#

I'm all for coding in something other than SQF :wink:

#

that other option is for example ASL which also has a nice syntax and compiles to native SQF code

tulip cloud
#

X39 that is a true statement but the context is pointed towards working in the most native language for Arma 3. Which appearantly is C++. I just have to learn how use it properly with the game engine. The limitations of SQF have been driving me up a wall.

queen cargo
#

which limitations gamewise?
there barely are any

#

extensions just provide access to new stuff eg. SQL which, indeed, is not in SQF itself available

still forum
#

Intercept is as native as you can get.
In SQF when you call a script command. It calls a C++ function in the backend. In Intercept you are on exactly that C++ level. You can even define your own SQF commands if you want a Intercept/SQF hybrid

#

Intercept-Python will someday support that to. Being able to call directly to python code from SQF.

tulip cloud
still forum
#

No

#

That would wreck security

#

And with Battleye running you can't do anything like that clientside.

#

We plan to integrate imgui somehow into Intercept. But that's really complicated.

tulip cloud
#

basically, possible but would be considered "malicious".

still forum
#

If you have a clientside extension.. That explicitly exposes this functionality.. Then you could theoretically do that

#

Instead of adding the functionality to push what you want.. Just put it directly into the clientside plugin. Instead of sending it over.

tulip cloud
#

Personally, I refuse to touch the arma GUI tool it is so poorly designed. I'll have to learn more about the process with c++ injections and writing my own functions that could potentially be pasted from server to client-side. Trying to overcome the barrier of working in Vanilla without requiring the WS or 3rd-party mods.

still forum
#

I can only strongly advise against doing that. That is a huge security risk.

tulip cloud
#

Is there a discord channel or server that is focused towards intercept-c++?

still forum
#

There is Intercept Slack

#

You can't push C++ code from server to client. Without the client running a 3rd Party mod made by you.

#

You need a clientside plugin that exposes this huge security risk...
And if your users are using Battleye you need it battleye whitelisted. Battleye won't let something like that through.

vague hull
#

well yeah, you would need a client side "downloader" for it, but if you have that, its possible

#

then again, as dedmen said.. with battleye it would luck to get it whitelisted

still forum
#

Even if you get it whitelisted... Injecting code like that will get you a permanent Battleye ban for hacking

#

Or.. Whoever client you push that to

tulip cloud
#

Thanks for the link Dedmen, you'll probably see me asking a lot more questions over there.

#

@tough abyss I'm planning for a future project.

#

still working primarily in sqf. But, my goal is to move into an environment that will be more robust. It'll be interesting to see the potential using Intercept.

Quiksilver, we're primarily focused on vanilla based game modes. I believe the current mod system is terrible and restrictive for using in public environments. (Can't subscribe to a mode directly in game and load it after arma 3 has started.) Unfortunately, we'll probably be creating a mod to support the core game modes. We'll see...

still forum
#

you can quite easilly deliver scripts from server to clients

#

alot harder with Intercept. Actually impossible without clientside mod.

#

And Intercept won't change anything on that

muted parcel
#

Hey I have a quick question: I want to change the weapon sway with this code:
player setCustomAimCoef 0.34; player setUnitRecoilCoefficient 0.50;
Do I have to put it into the initPlayerLocal.sqf when I want to run the code in a multiplayer campaign?

still forum
#

yes

muted parcel
#

ok thx

#

Because sometimes the local sqf files dont work in multiplayer for me

still forum
#

User error

tulip cloud
#

Maybe a better approach is to make all mods optional and the game mode can run vanilla but will use mod content if available

#

For instance, the game would have a vanilla interface but with a mod it would load the imgui interface instead.

#

^That is the problem

rancid ruin
#

what kind of UIs are you trying to create? arma 3's UI system is painful but it's not that bad once you get used to it

tulip cloud
#

Basically, you get everyone engaged without the content and then they can download the additional content for enhanced experience. (Almost like the watemark effect BI uses for DLC...but for mods.)

muted parcel
#

when I would put this into the onPlayerRespawn.sqf will the Aim get lower on every respawn?

rancid ruin
#

no because you're setting it to an absolute value @muted parcel

tulip cloud
#

oneoh, you can say that about almost anything. Even punch card programming

muted parcel
#

no to a coefficient

rancid ruin
#

yeah I ctrlCreate my GUIs in script, it's way easier than doing it all in a massive class file imo

#

and kinda more tightly integrated with your scripting

#

although technically probably a bit messier overall, but gets results faster

#

the visual GUI creator things are all shit imo

#

i tried x39's one for a bit, and i respect the work but it just isn't fun to use

#

and BI's one is dogshit

little eagle
#

Get ready for Arma 1 then.

jolly echo
#

Help !!

still forum
#

No.

still forum
#

Ah.

#

No one will be able to help you.

still forum
#

You can stop posting meaningless screenshots now

little eagle
#

Screenshots? From code? Why???

still forum
#

You should maybe start telling us what's wrong or not working for you

jolly echo
#

to show what I've done

still forum
#

Thats... Good for you...

#

Very happy you have done something

jolly echo
#

sorry

still forum
#

Right now. I can see that you placed a plane onto a carrier deck.

jolly echo
#

yes

still forum
#

And I have no Idea what you are trying to tell me with that

jolly echo
#

TeTeT Help me too.

frail zephyr
#

So.... .... whats the issue?

jolly echo
#

I want to get catapult running on the deck

#

and Arrest

still forum
#

What is preventing you from doing that.

#

Did you make that carrier yourself?

jolly echo
#

I do not understand how to use fuctions correctly BIS_fnc_AircraftCatapultLaunch

still forum
#

The file you have open in Notepad++ should have an example at the bottom

#

No wait

#

It is right there

#

3 lines above your cursor.

jolly echo
#

I created one the files with this script

still forum
#

What file did you create?

#

You copied that script file?

jolly echo
#

fn_aircraftCatapultLaunch

still forum
#

Why?

jolly echo
#

Fuctions Arma 3

still forum
#

You don't answer my question.

#

Line 11 in that file tells you how to use the BIS function. No need to copy the file to anywhere.

jolly echo
#

ok

#

I can not understand how this script should be used

#

sorry

#

2 days trying to do something without success

still forum
#

It literally tells you how to call it

#

you pass your plane object as argument

jolly echo
#

@still forum I'm going to work for this one now. thank you

rose hatch
#

Dumb question: how can I test if a classname is a UAV?
Would something like this be a step in the right direction?

_classname = "B_UAV_02_dynamicLoadout_F";
if (_classname isKindOf "UAV") then {
//do stuff
}

isKindOf is meant for objects, and I have a string, so...?

little eagle
#

isKindOf checks for classnames.

jolly echo
#

๐Ÿค” Yes

little eagle
#

You can use the ingame config viewer to retrieve the common parent of object classes.

#

If there is one.

#

I'd just use this though:

unitIsUAV _vehicle
#

Or if you really need classnames:

#
getNumber (configFile >> "CfgVehicles" >> CLASSNAME >> "isUAV") == 1
jolly echo
#

So should I use the ship's class name?

little eagle
#

I wasn't talking about your thing.

rose hatch
#

I do need classnames because I'm taking a list and sorting it, sort of...

#

But I'll take door number 2, monte

#

thanks

little eagle
#

Sure. The command is just a shortcut for objects.

#

With a terrible name.

halcyon crypt
still forum
#

@jolly echo I am etlling you you need to provide the plane as object as a parameter. And you are asking if you need the ships classname? That's like completly the opposite

halcyon crypt
#

ah right ๐Ÿ˜

little eagle
#

Did you even read what I wrote?

#

I mean, I get why you'd glance over it.

jolly echo
#

Sorry

little eagle
#

But still.

halcyon crypt
#

who exactly? I count 4 people you might be referring to.. ^^

#

I see

#

๐Ÿ˜

still forum
#

If only we had Threads... Slack > Discord

little eagle
#

Generally, anyone who feels addressed to.

halcyon crypt
#

no I did not see your unitIsUAV thingy, my bad ๐Ÿ˜ƒ

little eagle
#

Threads are terrible though.

runic surge
#

is it possible to modify vanilla or mod UI dialogs by redefining them with the same classname in description.ext?

rose hatch
#

Yay learning :D

_classname = "B_UAV_02_dynamicLoadout_F";
switch (getNumber (configFile >> "CfgVehicles" >> _classname >> "isUAV")) do {
    case 1: {player sideChat "yep";};
    default {player sideChat "nah";};
};
still forum
#

No @runic surge

#

description.ext is a completly seperate config

runic surge
#

so how can I test changes made to dialogs from a mod ingame?

#

aside from restarting the game every 10 minutes

rose hatch
#

Can't you put all the dialog code into the description.ext?

still forum
#

Yes.

#

But not modify existing

#

Get dev branch. with the diag executable you can reload the config with filePatching and via a script command

rose hatch
#

Interesting and even more interesting

runic surge
#

For dialogs what do shortcuts = {} ; and shortcutsAction = ""; do?

#

no documentation for those parameters

still forum
#

How lucky that I have time to check now..

#

shortcuts is array of numbers

#

Keycodes

#

do you set these shortcuts on the dialog or on a button for example?

runic surge
#

there are a bunch of them

#

I am modifiying the HC command menu right now

still forum
#

confirmed. dikCodes

runic surge
#

figuring out what does what

still forum
#

Is the spelling of shortcutsAction correct?

runic surge
#

that's what it says

still forum
#

Yep is correct

#

Too much work to research that.

#

sec

runic surge
#

most of them point to "CommandingMenu1" with various numbers. Not sure where these are defined though

still forum
#

yep. That info is useful. Just found that out myself

#

Ah ๐Ÿ˜„

#

logical thinking is sometimes easier than reading up on stuff

#

You know the AI commanding menu on the number keys right?

runic surge
#

yeah

#

I figure that is what it is

#

what keys for what part of the menu

still forum
#

The combatMode menu. Specifies shotcut 2 which is number key 2.
and shortCutsAction CommandIngMenu1.
Pressing that shortcut switches to CommandingMenu1

#

Script command commandingMenu

rose hatch
#

can "any" be used for types in nearestObjects?

still forum
#

try it out

little eagle
#

any is no class

rose hatch
#

hmm

little eagle
#

luckily "All" is

rose hatch
#

woo!

little eagle
#

Or you just leave the array [] empty.

#

Same thing, probably faster to do for the game.

rose hatch
#

I figured leaving the array empty would always return 0 objects. Thanks again

still forum
#

For the future.. Stop figuring and just read wiki.

#
Passing an empty array to define the types will also return objects with no class at all (such as trees, bushes, stones, ...). Example:
_objects = nearestObjects [_position, [], _radius];
Passing the array ["All"] is not the same and will only return objects that have some sort of class. 
runic surge
#

sometimes the wiki seems to expect you to just figure things

still forum
#

Add it to the wiki if it's not detailed enough

rose hatch
#

Hmm... Again...

18:55:49 Error in expression <getConnectedUAV player in nearestObjects [this, [], 20]))>
18:55:49   Error position: <nearestObjects [this, [], 20]))>
18:55:49   Error 0 elements provided, 3 expected
#

Perhaps nearObjects would be better

#

Nope, nevermind. Going to do something else entirely

still forum
#

Dude

#

Wiki

distant egret
#

@rose hatch this isn't a position...

rose hatch
#

Read it. Didn't help

still forum
#

Wiki + brain

#

Or just more wiki

little eagle
#

this undefined?

still forum
#

no

rose hatch
#

Am an idiot today...
OK, goal here is to display an addAction on the condition that the player's UAV is within 20m of the object the addaction is placed on

still forum
#

wiki says nearestObjects takes position. you give this. Wiki says this can never be a position.

rose hatch
#

Then I'll have to name the object with the addaction and use that name

still forum
#

a object will also not be a position

rose hatch
#

Right then...

still forum
#

getPos will give you a position in combination with a object

little eagle
#

position: Object or Array in format PositionAGL or Position2D - where to find objects, center position.

#

You can use objects here.

still forum
#

See.

#

That's why you should read wiki

little eagle
#

:>

rose hatch
#

(getConnectedUAV player in nearestObjects [getPosATL this, [], 20])

#

Disclaimer: I'm trying that code now, haven't yet

still forum
#

ouh man...

rose hatch
#

Pls don't be mad

still forum
#

But.. I just man'ed

#

and I'm a Man.. I think

#

where is that code?

#

trigger activation?

rose hatch
#

Nope. In the condition field of an addAction

little eagle
#

don't use getPosATL for PosAGL.

rose hatch
#

k

still forum
#

"ATL" != "AGL"

little eagle
#

ATL != AGL

still forum
#

๐Ÿ˜„

little eagle
#

dammit

still forum
#

But object should work.. so why did this not work before.. this is object

little eagle
#

Not in a trigger.

#

It's a BOOL there.

still forum
#

addAction condition he just said

little eagle
#

There is no this there.

#

Only _this and _target (in statement)

still forum
#

Wow.

#

Again READ WIKI. _this is the "caller/executing person"

#

You could have saved yourself from all of this by reading

#

Are you adding that action to the player? or a specific object?

rose hatch
still forum
#

yes. that's correct.

rose hatch
#

Therefore, I should be able to use this when getting the position of the object which the init belongs to

still forum
#

But how is that related to this?

#

yes.

#

that's correct

rose hatch
#

Then I don't see the problem there

still forum
#

again. how is this related to the addAction condition?

little eagle
#

That does not apply to the addAction condition and statement scopes.

rose hatch
#

I need to test whether the player's UAV is within 20m or so of the object which the addaction was added to

little eagle
#

You could pass it as argument though.

still forum
#

"addAction Condition" and "init line"
There is a very subtle difference between these. You can probably see it..

rose hatch
#

Screw it I'll figure it out myself

#

:/

still forum
#

I just told you how to do it

#

you just have to read what I/we tell you

#

or read the Wiki. It also tells you what to do

#

read the description of the "condition" parameter

#

It is exactly what you are doing right now. So you should read what that thing is that you are handling.

rose hatch
#

"script code that must return true for the action to be shown. "

still forum
#

If you now say "Screw it. I won't read stuff" Then you will never succeed

#

yes

rose hatch
#

And I don't want the action to display if the uav isn't within 20m

still forum
#

Your code is almost correct

#

The answer is in the next sentence

#

you shouldn't stop reading after the first sentence..

rose hatch
#

...shit

#

My foot has been carefully inserted into my mouth

little eagle
#

lol

still forum
#

Congratulations. You just learned a very important part of learning how to script in Arma.

rose hatch
#

I've read the addaction page several times when checking syntax, never noticed that

still forum
#

As info. Object init line refers to the init script. The script box you get in editor when you doubleclick an object

#

The addAction condition is not code inside the init line. It's code inside the Action.

#

Also when you are stuck on something for a long time. Take a pause. Or do something else and then come back later.
Your brain will be full of "No I checked that twice that can't be it"

rose hatch
#

As in, the this from the init isn't usable as the this in an addaction.

#

I'm a brute force kind of guy. It happens

little eagle
#

Scopes are the bane of SQF beginners.

rose hatch
#

truth

still forum
#

generally every variable is only there right here and right now.
The condition from the Action is not exected right here and right now.

#

It is executed later when the condition is checked. Whereever the player is at that point in time

little eagle
#

Curly brackets are glorified quote marks.

still forum
#

So if you go logically about it. A variable that you only have right here in that init box. Can't be there half an hour later on a piece of code somewhere else

#

same with spawn and addEventHandler and addAction and some others.

#

If the code doesn't get executed right now. Then your local variable will not be available in there

#

a lot of people get that wrong

tough abyss
#

In all scripts also @still forum There is the nice feature

#

of the _thisScript and _thisEventHandler

#

Magic variables that live inside the script

#

or EH

#

_local variables are always going to stay local unless you explicitly change their scope

#

from local to global @rose hatch

rose hatch
#

Thanks everyone, I learned a thing today

tough abyss
#

Good way to see if a script is finished using _thisScript

#

when executed from "scheduled origin"

#

@little eagle Silly question

#

How do I convert a multi-nested array into a flattened array?

#

Hm.

#

Guess I'll have to work this out.

#

@tame portal Not useless

#

Works well with SelectBestPlaces

#

Ha nvm

#

Found out how.

#

So this is what is inside getAllEnvSoundControllers.

["rain","night","wind","daytime","distance","meadows","trees","houses","forest","sea","coast","altitudeGround","altitudeSea","shooting","deadBody","fog"];
#

Exact same syntax for selectBestPlaces.

cloud thunder
#

@tough abyss Did ya finish ur IED script?

tough abyss
#

Yeah

#

Works beautifuly

#

I am writing a tiny script now for flattening arrays

cloud thunder
#

[]apwn { _thisScript = {private "@tough abyss "; _share = false; waituntill {sleep 180000000000; _share};};};

tough abyss
#

@cloud thunder

cloud thunder
#

Hmm, getting lots of errors but looks like it working to some extent. How can you disarm them if you can't get close enough or is that not intended?

tough abyss
#

Not yet.

#

Those errors I know about.

#

As I said not defensive coding added yet.

cloud thunder
#

Sometime there is a marker but no ieds

tough abyss
#

No no.

#

Markers IEDS are near them.

#

Not on them.

#

Because I used your 2M displacement

#

If I set it 0

#

They'd go right on the marker

cloud thunder
#

well markers for debug right? marker pos should probably be on ied? on mine maker is set on get pos of ied after random displacement.. but still walking around maker and no mine detector beep.

tough abyss
#

Yeah still debugging stuff

#

Planning on seperating all the components

cloud thunder
#

probably selectbestplacessometimes is not returning your expected value or data type..

#

cool well thx for sharing.

astral tendon
#

this setObjectTextureGlobal [0, "images\briefing.paa"];

#

this does work on my side but a player that joins get a error

#

a not found and gives the path of my computer

#

any ideas?

tough abyss
#

@cloud thunder You can use SelectBestPlaces and yeah

inner swallow
#

@astral tendon they must have the .paa file too

astral tendon
#

well, they supouse to have

#

the image is on the mission folder

inner swallow
#

try setObjectTexture + remoteExec with JIP flag set to true?

astral tendon
#

im sorry?

inner swallow
#

look those commands up on wiki, it'll make sense

cloud thunder
#

if its a static image then just wrap in in an isserver check..

inner swallow
#

something like

[_unit, [0, "\a3\characters_f\BLUFOR\Data\clothing_wdl_co.paa"]] remoteExec ["setObjectTexture", [0,-2] select isDedicated, true];```
astral tendon
#

i put that on the object that the texture must load?

cloud thunder
#

its a breifing image or sign?

astral tendon
#

a sign

#

its a text with what to do in the mission

cloud thunder
#

billboard object init exampleif (isServer) then {this SetObjectTextureGlobal [0,"images\onions_logo.paa"];};

astral tendon
#

with that, any player that joins the server will see it?

inner swallow
#

(i don't trust setObjectTextureGlobal to work correctly, but you can try)

astral tendon
#

is there a way to i test my mission as a client instead of a server?

#

so i can see those erros?

robust hollow
#

run the mission using dedicated server

cloud thunder
#

^ youll need to set up a server.cfg. and run arma3server_x64.exe from bat file or maybe directly. then connect with you client.

astral tendon
#

!('Medikit' in (items player1))

#

question, is that executing global or local?

#

im afraind that this will not work in MP

#

player1 is the name of one of the characters

#

also, the "player" does not apply to every player in the server?

#

i image that is too broad

#

lets say, if i do a command like "Player setDamage 1"

#

and there is 2 players in the server

#

how does that will work? will do that damaga to all players or will not work at all?

#

because he not know "how is the player"?

tame portal
#

@astral tendon It always depends where the code is executed

#

Each client has its own environment

#

The server has also one, logically speaking the server thus returns null for player because he doesn't have a player

#

And on each client you always get the player depending on what physical computer the code was executed on

astral tendon
#

if i put that on a trigger for exemple, how does that work?

tame portal
#

The trigger always runs on all clients

#

So that when I run into the trigger, the on activation code is executed on my computer

#

Oh that message might have been a bit confusing :P

astral tendon
#

so, if is you and me playing and you hit the trigger you gonna die?

#

and activate "Player setDamage 1"

tame portal
#

Yes

#

Because that code runs on my PC

#

And on my PC, player is my ingame character

astral tendon
#

what if a IA hit that trigger?

tame portal
#

Hm okay let's explain it like this

#

Each trigger has a condition which it checks multiple times per second

#

Each client and the server do that on their own

#

So if the condition is "5 Ai units in that area" and 5 Ai units eventually run into that area, everyone will run the on activation code on their PC

#

Because all checked for that condition and it went to true, so the code got executed

#

However when you put in a condition like

#

player distance position < 50

#

It will only run the code on the client, which actually ran into that area

#

Because while everyone runs the same condition again and again

#

Player is always different on each machine

#

So when I do my check "Is player in 50 Meter radius of location x?"

#

Player will be myself

#

So I only do the check for myself, and.only when I run into that area, it's gonna execute the code on my machine

#

It will not run anywhere else because for example your friend B will also check the condition for the trigger occasionally

#

But player on his pc does not refer to the same physical object ingame like on my pc

#

So when I run into the trigger, my own check will say "Yes, player is inside the circle"

#

And on his pc (given he is standing outside of it) it will say "No, player is not inside the area"

astral tendon
#

so if a IA hit that trigger, nothing going to happen to us?

tame portal
#

It depends on the condition

astral tendon
#

this

cloud thunder
#

would save a lot of time and solve most riddles if you would set yourself up a dedicated enviroment to test on. Even after all these years I know about most the locality stuff, but It still helps to test run before you release your mission or set up something new for your friends to try out and it doesn't work..

#

it cost nothing

tame portal
#

3 people sit inside a room, everyone has a ball infront of them and each one calls their ball "myBall". If you ask each person, "what's myBall for you?", they are going to point at their own ball, but not someone else's. This is what player is for them.

Now you put one cube into the middle of the 3 men. You tell everyone "that cube there is theCube". Now if you ask anyone of them "what is theCube?" they will point at the same object. This is what for example an AI unit is like which you named "aiUnit1" in the editor.

astral tendon
#

well, i tried to set a server to test it but i failed really hard

tame portal
#

There are names that point to the same object, and there are names that have different meanings depending on who you ask

cloud thunder
#

I sugest to focus on that.

astral tendon
#

hum... thats complicated to undestand

#

but i appreciate your patience anyway.

tame portal
#

Like he said, it's best to test stuff

#

Otherwise you won't get the questions answered you're asking yourself

astral tendon
#

i know, in MP my mission go sideways

#

just add another player into acount and the AI seens to freaks out

cloud thunder
#

@astral tendon
This is all you need to run a local dedicated testing server.

  1. A server config file
    https://pastebin.com/gX6tXjmh
  2. A file to launch the server wich specifies parameters a .bat file
    https://pastebin.com/mzpy2FmV
    Create Server.cfg in game root installation folder
    Change template = "BMR_Insurgency_v1_47.Malden"; to reflect the name of your mission. Make sure the mission is in MPmissions folder of game root. Save the file
    Create a somename.txt in game root.
    Paste these launch parameters in the file. Edit the game install path if needed. This is a no mods example. Save the file.
    Right click the file and change extension from .txt to .bat
    Double click the somename.bat file to launch the server.

Find your local ip adress so you can direct connect to your server.
To find IP run cmd
Type command
ipconfig /all
It will probably some number like 192.168.0.xx
Open Arma launcher, unload all mods and start Arma.
Go to quick play, direct connect. Enter your ip and port 2302
You will see your server in the list. Join and learn you mistakes.
Login as admin using the admin password set in Server.cfg.
If you mission allows debug console which is set in description.exe then you can trouble shoot your mission further.
When your ready to test with other players you will need to login to you modem/route and allow port forwarding so that you server can be seen out side of your local network. I will not cover that here because its different for each router/modem.

vivid locust
#

Does anyone know a way in ArmA 2 to convert a String to an array? The only way I know is compile so like

_string = "[test]";
_array = compile _string;

But this is actually creating a code, after using this, the output would be:

{[test]}

I mean it's no string anymore but also no array.

robust hollow
#

call compile

vivid locust
#

I tested this aswell but then the array was just filled with any
So the output was [any]

robust hollow
#

because test is nil

vivid locust
#

Do you mean because it has no datatype?

robust hollow
#

test doesnt exist

#

so its nil, yea

#

define test before u compile it and itl show something other than any

vivid locust
#

Okay, I'll give that a try, thanks for the fast reply :)

vivid locust
#

Worked, thanks

still forum
#

@tough abyss Flattening arrays with what inside of them? numbers and strings? Just to string. remove all [] and then parseSimpleArray

simple solstice
#

Is switch more efficient than multiple IFs?

still forum
#

no

#

but looks nicer

simple solstice
#

then I don't care

still forum
#

well it kinda is..
If you compare numbers for example.. you do _myVar == number.
But switch does that comparison in engine

simple solstice
#

im using >

still forum
#

instead of calling hte == operator inside script

#

then switch wouldn't work that well for you anyway

simple solstice
#

yeah

still forum
#

the elseif condition is evaluated before it knows if the first if is true

#

so that's kinda shit for perf

simple solstice
#
if (getDammage player == 0) then {
  hint "no damage";
} elseif (getDammage player < 0.3) then {
  hint "damage is less than 0.3";
} elseif (getDammage player < 1) then {
  hint "player is not dead yet";
} else {
  hint "player is dead";
};
#

im doing same thing

#

but

#
        if (damage player > 0) then
        {
            if(damage player > 0.8) exitwith {
                _message = "<img size='2.5' image='health6.paa'/>";
            };
            if(damage player > 0.6) exitwith {
                _message = "<img size='2.5' image='health5.paa'/>";
            };        
            if(damage player > 0.45) exitwith {
                _message = "<img size='2.5' image='health4.paa'/>";
            };    

            if(damage player > 0.3) exitwith {
                _message = "<img size='2.5' image='health3.paa'/>";
            };
            if(damage player > 0.15) exitwith {
                _message = "<img size='2.5' image='health2.paa'/>";
            };        
            if(damage player > 0) exitwith {
                _message = "<img size='2.5' image='health1.paa'>";
            };                
        }
#

like that

#

is elseif better for that?

still forum
#

maybe.. not much

simple solstice
#

i dont even see it on BIwiki

#

only the vbs one

little eagle
#

The last if is not needed.

simple solstice
#

it is

#

hmm

little eagle
#

It's not ๐Ÿ˜ƒ

simple solstice
#
        }
        else
        {
            _message = "";
        };
#

its at the end

little eagle
#

Nope, still not needed.

simple solstice
#

๐Ÿค”

slender halo
#
_damages = damage player;
_message = switch (true) do {
    case (_damages > 0.8): {"message"};
    case (_damages > 0.6): {"message"};
#

something like that ?

#

compact

simple solstice
#

well if something is 0.9

little eagle
#

Post your code I post mine. And you tell me the difference.

simple solstice
#

it will still be true for > 0.6 AND > 0.8

#

so switch isnt really working

slender halo
#

ho yeah, didn't realize that...

little eagle
#
if (damage player > 0) then {
    if(damage player > 0.8) exitwith {
        _message = "<img size='2.5' image='health6.paa'/>";
    };
    if(damage player > 0.6) exitwith {
        _message = "<img size='2.5' image='health5.paa'/>";
    };        
    if(damage player > 0.45) exitwith {
        _message = "<img size='2.5' image='health4.paa'/>";
    };
    if(damage player > 0.3) exitwith {
        _message = "<img size='2.5' image='health3.paa'/>";
    };
    if(damage player > 0.15) exitwith {
        _message = "<img size='2.5' image='health2.paa'/>";
    };

    _message = "<img size='2.5' image='health1.paa'>";
} else {
    _message = "";
};
simple solstice
#

thats better

little eagle
#

Or, what I'd do:

#
private _message = "";

if (damage player > 0) then {
    if(damage player > 0.8) exitwith {
        _message = "<img size='2.5' image='health6.paa'/>";
    };
    if(damage player > 0.6) exitwith {
        _message = "<img size='2.5' image='health5.paa'/>";
    };        
    if(damage player > 0.45) exitwith {
        _message = "<img size='2.5' image='health4.paa'/>";
    };
    if(damage player > 0.3) exitwith {
        _message = "<img size='2.5' image='health3.paa'/>";
    };
    if(damage player > 0.15) exitwith {
        _message = "<img size='2.5' image='health2.paa'/>";
    };

    _message = "<img size='2.5' image='health1.paa'>";
};
simple solstice
#

even better!

#

thanks!

#

will this work if I have an another one above that for stamina?

#

same construct

#

and the private var is still _message

little eagle
#

Uhm.

simple solstice
#
private _message = "";

if(getFatigue > 0) then {
//same ifs as for damage
};
_stamina ctrlSetStructuredText parseText _message;
_stamina ctrlCommit 0;

_message = "";
if (damage player > 0) then {
    if(damage player > 0.8) exitwith {
        _message = "<img size='2.5' image='health6.paa'/>";
    };
    if(damage player > 0.6) exitwith {
        _message = "<img size='2.5' image='health5.paa'/>";
    };        
    if(damage player > 0.45) exitwith {
        _message = "<img size='2.5' image='health4.paa'/>";
    };
    if(damage player > 0.3) exitwith {
        _message = "<img size='2.5' image='health3.paa'/>";
    };
    if(damage player > 0.15) exitwith {
        _message = "<img size='2.5' image='health2.paa'/>";
    };

    _message = "<img size='2.5' image='health1.paa'>";
};
_health ctrlSetStructuredText parseText _message;
_health ctrlCommit 0;
little eagle
#

Works fine.

#

No need for a second private.

simple solstice
#

ok, thanks ๐Ÿ˜Š

slender halo
#

why not RscPicture ? it deals with UI scale

simple solstice
#

im not an expert with GUI :/

#

how would I go about it with RscPicture?

slender halo
#

if you only have image in your control and no event handler i would recomand RscPicture, ran into UI scale issues yesterday with RscStructuredText

#
_pictureCtrl ctrlSetText "x\my_mod\addons\data\icon_ca.paa"
little eagle
#

Because I' bored:

private _message = "";
private _damage = damage player;

if (_damage > 0) then {
    private _textures = [-1, 0.15, 0.3, 0.45, 0.6, 0.8, _damage];
    _textures sort true;

    _message = format ["<img size='2.5' image='health%1.paa'/>", _textures find _damage];
};
simple solstice
#

yeah only image

#

what

still forum
#

@little eagle won't work. Damage 0.4? What image will that display?

little eagle
#

3

still forum
#

ahh

#

lul

#

That's too high for me

little eagle
#

You can't argue with this code and it's probably as quick as you can get with SQF.

simple solstice
#
class health
{
    type=3;
    fadein=1;
    fadeout=1;
    idc=444440;
    style=ST_LEFT;
    x = 0.967 * safezoneW + safezoneX;
    y = 0.35 * safezoneH + safezoneY;
    w = 0.75; 
    h = 0.5;
    sizeEx=0.035;
    size=0.035;
    font="PuristaLight";
    colorBackground[]={0,0,0,0};
    colorText[] = { 1 , 1 , 1 , 1 };
    shadow=false;
    text="";
};
#

@slender halo how would I go about having it as RscPicture?