#arma3_scripting
1 messages ยท Page 426 of 1
1.5 because then 6x RCO translates to 4x
0.125 is a nice fov to work with.
What's the most common magnification of optics?
Like 3x?
in a3?
Yeah... well irl not having to align ironsights is a huge benefit
Welll.. had a glass of hot coffee... back to #arma3_scripting
Am I the only one here that doesn't drink coffee?
Yes, you are the only one here with white teeth ๐ ๐ ๐
me too
I get high blood pressure from it, then I have to run to the toilet twice as much, and then I get tired anyway. Oh and it tastes bad.
I don't drink coffee or anything that isn't smoothies or plain water
Ahh, yes high BP sucks
If you drink enough water that helps as well, for tiredness etc.
~2 liters in 30 minutes == funny feeling
Just read a random forum on the internet if you want to raise your blood pressure.
Pretty sure if' its clear water you need to drink like 10 liters in 30 minutes to die
SOMEONE'S WRONG ON THE INTERNET AGAIN
Read for 10 minutes and it carries you through the day.
glass of coffee? :U CUP!
Don't say CUP. Audiocustoms will DMCA your workshop
Why do people even drink coffee out of cups and not glasses? These are the things I'll never understand.
Drink karkadaeh hot to raise pressure, cold to lower
Always drink water out of a shaker
because the glass would get high on the coffein
Could it discolor the glass, but not the ceramics?
No the chi energy could get out through the transparent material
Tho ceramics are also kinda transparent
that's a weird way to call heat
Are you high people?
Dunno about drinking glasses specifically, but you can make glass intransparent to heat radiation.
Drink it in < 5 minutes... No problems with losing heat... Glass means it cools faster, therefor I can drink faster
Well we are not low.
๐
We're actually talking about macros here, but you wouldn't know.
๐
;~)
#arma3_scripting best channel
๐
I'm not even reading most of others
This is the channels where individuals of higher intellect come do discuss important and extremely complex things.
I agree
To be fair, you have to have a very high IQ to understand #arma3_scripting .
What's your ICQ
commy2
@little eagle that or no real life
Who wants life anyway
Apparently "magic" variables exist...
param1, param2, updateOnly, disabledChatChannels, disabledVoNChannels
A lifer just taught me something. Well it's kinda useless information that I'll never need.. But...
Did you know this, thisList, thisTrigger are local variables without leading underscore?
No, but go on.
Why do people even drink coffee out of cups and not glasses? These are the things I'll never understand.
Commy confirmed pleb
I wonder what that means. If I define a local variable with the same name as a global one. And then try to access the global one.
Does it return the local one first?
I don't know how to prove.
this = 1;
0 spawn {
isNil {
systemChat str this;
};
};
Like this?
It uses the engine function to set local variables. That's the only proof I have
spawn would execute next frame
So?
might be gone till then
call {
this = 1;
};
systemChat str [this];
you cannot write or.. shouldn't be able to write to them because they are readOnly
Why trigger?
because triggers define the variables
I guess unit init too
and because spawn doesn't carry over local variables
call {
this = 1;
};
systemChat str [this];
Prints [1].
in what? unit init or trigger?
I only checked thisTrigger which is next to this but only in triggers
LOCAL EXEC
this in unit init is a global variable
local exec?
You don't understand at all what I'm saying then
in trigger scripts. this, thisList, thisTrigger are local variables
You obviously can't check that in debug console or unit init as these are completly different things
Oh, so this only applies to triggers. rgr
I put this into my avatars init box:
diag_log str [0,this];
call {
this = "test";
diag_log str [1,this];
};
diag_log str [2,this];
Gave me:
15:57:18 "[0,B Alpha 1-1:1 (commy2)]"
15:57:18 "[1,B Alpha 1-1:1 (commy2)]"
15:57:18 "[2,B Alpha 1-1:1 (commy2)]"
So it seems like you can't overwrite it at all. No error.
triggers, user action, Uh... vehicle init... but not unit init?
I think dedmen is reffering to the variables passed to the trigger on execution rjght?
{} forEach thisList
etc etc?
yes
I think the createVehicle init script that was removed due to exploit problems also has this as local variable
param1 = 2;
param1
Results in 2. I don't see any evidence that it's a reserved variable.
they are not reserved
They are just global variables, set by the engine at mission init
I think I misread the whole thing then. So how is any of this new?
Dunno. New to me. I didn't know that local variables without leading _ were possible
Oh... Idea..
It's probably made so they delete themselves.
It doesn't throw an error if you set them. Because the = operator handles it like a global variable
but the SQF instruction that get's the variable can see it being a local one
so when you set it, you set the global one. When you read it, you read the local one
wait.. Didn't we talk about that when I found the forceLocal flag?
So they are local variables inside the init box too.
Because that would explain it.
no not the unit init box. Atleast not as far as I can see. Not 100% sure
I knew all those variables, except updateOnly. What's that supposed to be?
Doesn't sound very magical to me.
I said the same. But Lifer guy told me basically all variables that are declared by the script engine or the game itself are "magic"
Well, this is magic.
The others aren't documented much better. param1, param2 and paramsArray are mentioned on the description.ext wiki page.
You won't find them using the wiki search and they are not mentioned anywhere else on the wiki afaik
At least we know what they are.
Is there any way to place a tree in the Eden editor with say a script inside of a game logic or something?
Oh? Hmm... now to find the config names for trees.
How might I make this work?
CopytoClipboard nearestTerrainObjects [player, [], 50]
@shadow sapphire
0 spawn {
_bush = createSimpleObject ["a3\plants_f\Bush\b_NeriumO2d_F.p3d", ATLToASL (player modelToWorld [0,0,0])];
};
@meager heart, thanks a ton! Are all of the tree models in that path?
Ah. I'm trying to figure out getModelInfo.
check wiki
It needs an OBJECT.
b_ficusc2d_f.p3d is just a STRING that misses quote marks.
Therefore errors.
Got it. Thanks!
Error, generic error in expression, now.
I think I'm close now. I need a prefix of sorts.
๐ค
Hmm... now I'm stumped.
_modelInfo = getModelInfo "b_ficusc2d_f.p3d"; Generic error in expression.
Yes, because getModelInfo needs an OBJECT, and "b_ficusc2d_f.p3d" is a STRING.
Oh, sorry. I thought your phrasing indicated that adding quotes made it an object, haha.
Hm.
No, but it makes it a proper STRING, so at least resembles SQF. It's still wrong though.
I see. Any ideas how I get the information I need about this p3d?
What information?
I need the model path.
You can't get the model path from a model name obviously, as there can be multiple models with the same name in different paths.
Tbh, it is.
No. By definition, it's not. It's not obvious. The hell?
This is coming from someone that didn't use computers until 12 yo.
Doesn't matter. Obvious means a specific thing, and that's not it. I don't want to argue with you, because I respect and admire you and all of the help you give to me and everyone else, but that's definitively not obvious.
Did you ever use the windows file browser and had different... uhm pictures... with the same name in different folders?
It's the same concept.
No. I don't duplicate things on the same machine.
I wonder if there are multiple files called README.txt on your computer ๐
or uninstall.exe
I'm sure, but I didn't do it.
I do.
I already understood, the moment you pointed it out, but if you have to point it out, it's not obvious.
It should be obvious to anyone that used a computer for a few years though.
It's like the first thing I tried when messing around with win98.
Tried to break it.
Why? If you are looking for the path of an object, it doesn't matter how many of those objects exist in whatever directories, THAT file or whatever has only one path. Different copies have different properties (paths, anyway).
Moving on! ๐
You're looking for the path of a filename, not of an object.
Guess you could search all files by name and then get all the files that match this name including their paths. But that is not something SQF can do.
Well, if it's based on something like cursortarget, that specific object should only have one directory with its filename, right? Or no?
Yes, that is why it works with OBJECT, but not with filenames.
OBJECT's know their models path. Name and folders.
If you don't provide an OBJECT, you don't know the models path. If you only provide a filename, it could be in any folder.
Because a model path is filename plus folders.
Got it. The problem is that certain map objects don't seem to be detected by cursor targets.
Whatever the case, I got the information I needed a bit ago by dropping the p3d name into the search bar on the biki.
Try cursorObject.
How did you even get the model's filename in the first place, but not the whole model path? ๐ค
I used nearestTerrainObjects [player, [], 10] while standing next to the tree I wanted to identify.
Omg, then you already had the OBJECT.
It still wasn't returning the model path.
lol
Hey, you maybe learned something today.
Eh, doubtful. For some reason, this kind of thing is my least gifted area. Nearly anything else, sports, video games, fitness, tests, school, work, I kill it. This? It makes me feel completely invalid.
Sometimes I get on a roll. I can read the stuff and understand it, but creating it from scratch is like pulling teeth.
What does false mean in this context? "t_ficusb2s_f.p3d","a3\plants_f\tree\t_ficusb2s_f.p3d",false
Interesting! So hasSkeleton false basically means it can't be animated or something?
Or that it's a simpleobject of sorts?
Dunno what exactly they mean with skeleton.
In SAGE2, a skeleton was needed for the object to support animations.
SAGE2?
Interesting.
So I have this inside of an eden place gamelogic;
{_x hideObjectGlobal true} foreach (nearestTerrainObjects [this,[],5]);
0 = 0 spawn {
_tree = createSimpleObject ["a3\plants_f\Tree\t_FicusB2s_F.p3d", ATLToASL (this modelToWorld [0,0,4])];
};```
I get "Init: Type script, expected nothing."
I don't understand.
Change:
0 spawn {
to
0 = 0 spawn {
Like that?
So that you get a return yes?
What does this do?
code in init fields must not return anything - if they do return something, you get the error that you posted above
I'm going to make a note of that.
spawn returns a script handler
but if you asssign something to the spawn, you basically "catch" the returned value
Doesn't make any sense, why wouldn't they be able to return anything without error?
that way the init field returns nothing as a whole, thus the error disappears and the world is just a little happier again
It doesn't make any sense indeed, but it is how it is.
/* Code in init fields must not return anything. If they do return something, you get "Init: Type script, expected nothing."
Spawn returns a script handler, but if you assign something to the spawn, you "catch" the returned value. */```
Noted in my scratchwork file.
You can wrap your whole code block in
call {
...
};
to work around it.
Oh, shit! I'm familiar with that method! Had forgotten all about it.
also what this do https://community.bistudio.com/wiki/this
Haha, no, I know what this does, but I didn't know what "that (adding 0 =)" did.
It's stupid and does nothing*, except fixing your issue.
It basically does nothing. yes.
Now this;
{_x hideObjectGlobal true} foreach (nearestTerrainObjects [this,[],5]);
0 = 0 spawn {
_tree = createSimpleObject ["a3\plants_f\Tree\t_FicusB2s_F.p3d", ATLToASL (this modelToWorld [0,0,4])];
};
Says this is undefined, except it was working fine, earlier.
It causes a terrible bug in the SQF engine that we all hate
but it fixes your issue by accident
because you spawn
Ah.
and this might be a local variable which ofcause doesn't carry over
Okay, of course. Somthing else.
Man.. Can already use the stuff I learned a couple hours ago
What bug does the 0 = 0 spawn cause?
Just pass this as argument inside your spawn block and then use _this in there instead.
0 = 0 spawn
doesn't cause any bugs.
Your code wouldn't work anyway. Because this is undefined in your CODE block behind the spawn command.
This is why you have to pass is a argument to that block.
It worked to hide objects before I added in the next part.
ok, so thisis available in the scope of the init field
Not inside spawn it didn't.
Right.
this works in the init script
if you use spawn, you have to use _this because then you're no longer in the scope of the init field, but rather of the spawn
as soon as you spawn you create a different/new script though
I got that part, it looked like you were saying none of it would work without defining the thing.
hah, ninja'd you
But I am tracking now.
Yeah, "script instance", not "scope".
It is a different scope because it is a different script instance, but local variables do carry over to child scopes.
So it doesn't work not because it is a different scope, but a different script instance.
true, script instance is more descriptive of the situation
๐
Actually it's a VMContext. But who cares
goddamnit
xD
get out of here with your nonsensical overly accurate knowledge on trivial matters
get's out of here
yay, one furry less, thousands more to go ๐
But this IS the channel for nonsensical overly accurate bs.
I can't find how to pass arguments on the biki. I used to know this stuff, before my eighteen month hiatus...
There is a fox on your avatar. I have a fox on my avatar too
If it weren't, it is now.
difference being one is very much real, while the other one isn't
to pass your this inside spawn use 0 = [this] spawn { here this becomes _this};
Actuall foxes are fine, antropomorphised foxes are not.
in your words, but who cares
Oh. I'm not sure I was ever familiary with that one.
Get rid of the square brackets and it works, DEL-J
Otherwise you pass [<obj>], an ARRAY, as _this, and not <obj>, an OBJECT
next topic probably params
Eh, not needed if you only pass one argument.
It's not even a function stored in a variable, so that would overkill.
I actually remembert how to do parameters before a script... more or less.
params[["_cookieList",[],[[]],["_playerList",[],[[]]];
Wow. Okay, it's working. Geez Louise.
:+1:
splendid

Indeed
bad better ___
Waa?
I'm sure even you will get it.
Shoot
Hey guys. I want to execute a query on my database when the server start. It will return an array like this, ["name1","name2","name3"]
i want this array to be accessible by players to make some check, if "word1" in array ["name1","name2","name3"] then blablabla
do you know whats the best solution ?
send the array to the players.
Dunno about the database part, but store it in a global variable and then send that to everyone using publicVariable.
Alternatively, if the array is too large for you to want to broadcast to all players, store it as a server global variable, and write a function that uses a param to query the array and pass back only the returned element to the player
Hey,i have a small scripting issue that i cant figure out. This is how the vvs is called trough an action and im trying to call it in a trigger.
this addAction["Request a Car",VVS_fnc_openVVS,["vvs_car","Car"]];
Im trying to call it like this:
["vvs_car","Car"] call VVS_fnc_openVVS;
But the arguments dont seem to get passed. What am i doing wrong?
addAction always passes params as _this select 3
Also passing a big function is not optimal as addAction converts it to a string and recompiles it everytime you use it
this addAction["Request a Car",{["vvs_car","Car"] call VVS_fnc_openVVS; }];
Just do that
The alternative would be to change your trigger to ```sqf
[nil,nil,nil,["vvs_car","Car"]] call VVS_fnc_openVVS;
Be sure to tweak your fn_openVVS function's params to accept the new addAction parameters (i.e, _this select 0, 1 vs _this select 3 select 0, 1)
Trigger? Why are triggers being used?
@still forum I suggest making the guide interactive. Put lots of assignments and tasks that gradually increase in complexity. Programming is learned by doing too, "no-one has yet to learn to program by reading books" like my CS professor said ๐
I'm not the one making the guide ^^
Ah
oneoh also wanted something like a regular programing challenge. That might also help people to learn. Will see I guess
I wonder if you could utilize @queen cargo 's upcoming SQF VM in the challenge
I know this is probably an exceptionally simple thing, but I've looked and looked and can't seem to find out how to do a timed action. Like a scripted repair or something where there player does an animation for a few seconds then whatever happens. Like ACE treatment or Repairing vehicles in KOTH.
I don't know how SQF VM would help. Besides people being able to use it to test their scripts online
I've been able to get people to animate, but it's usually pretty rough, and is only client side.
I wouldn't call it a simple thing. You first need an interaction menu, then a progress bar, something that handles the animation, and a callback for when the progress bar finished or was aborted by e.g. you dying.
Yeah, that was my point, seeing their code in action instantly
It's like the most complex things I ever did.
shit.
Yeah, I always just have instant add actions for stuff, but it's kinda lame.
AddAction kind of stuff? ๐คท
No progress bar.
_progcheck = 0;
_assembling = 1;
dSpawns setPos getpos Core;
//mSpawns setPos getPos Core;
while { _progcheck < 100 and _assembling == 1 } do
{
_progressb = Core getVariable "AssemblyProgress";
player switchMove "Acts_carFixingWheel";
sleep 10;
_progress = Core getVariable "AssemblyProgress";
_state = format ["%1",animationstate player];
if( _state== "acts_carfixingwheel" and _progressb == _progress) then
{
The captain wants a progress bar, and play and maybe abort an animation.
Yes, i was reffering to :
Yeah, I always just have instant add actions for stuff, but it's kinda lame.
Me too.
I pulled this out of a script I did like 3 years ago.
Basically I set the animation, then after 10s checked if the player was still animating, if so, I added a "progress" tick to the job.
Then after a minute, or so they'd have enough progress and it would complete.
but The animations didn't synch for multiplayer.
so the player saw them doing stuff, but everyone else just saw them staring at the box.
ACE progress bar.
Guess the complexity depends on what you want to handle
// this does not check: target fell unconscious, target died, target moved inside vehicle / left vehicle, target moved outside of players range, target moves at all.
Lot's of things that can go wrong on a delayed action.
So you're saying that finishing the wheel repair when you go incapped is not intended behaviour?
Is it like that? I thought the condition handles it.
Not talking about your script.. just the type of stuff people usually forget ๐
Thought _condition handles this, because it's appended by canInteractWith, which has the common condition isNotUnconscious, which repair should not have an exception for.
You see? I was paying attention when I made this for AGM. And it was a bitch.
The most convoluted thing I had to ever deal with in Arma. Maybe someone more talented can come up with something simpler for ACE4.
I think mine is even messier
Imagine if there was a mod that fixed vehicle collisions.
Doesn't sound feasible.
it's not
offroad backs into a parked car at 10 kph catastrophic failure on both vehicles, and one gets launched into space.
#realism
because the force to separate vehicle 1 from vehicle 2 is insane
Blame NVidia and PhysX.
blame BI
I hope Arma 4 goes back to an inhouse physics engine.
how well does bullet mp physics under heavy loads and low fps?
Better than physx?
no clue
Hi, I'm working with RscControlsGroup again and am stuck, brain isn't working atm... Ha. Basically, the full width of the ControlsGroup container is 0.68 and each control inside has a width of 0.08, I want them to show side each other without spacing (padding) but am stuck somehow...
?
Shh alganthe
It is relative
yeah, i'll keep quiet
So it starts at 0
Not everynone can be pixel perfect
I hope we get GPU physx :X @peak plover do you know if bullet does that?
I do plan to use pixelGrid soon ๐
OPENCL probably
That comes to my second question, do you even need to use safeZone or pixelGrid inside RscControlsGroup?
....
safezone > pixelGrid
you don't seem to get it
lol
Either, not both. But not none.
explain
Just absolute numbers will fail on any other screen size, resolution or even ui size.
You don't want them to overlap?
change the X position for them
yeah
Increase the X
read what commy said.
Without a grid, this will never work.
this is bound to fail
Yeah
Obviously lol
He's not using safezone or pixelGrid.
I tried both
That can't work.
safeZone
And without
But I removed safeZone as I didn't think it was needed for RscControlsGroup controls since it is relative to that
check this image, top left corner in red is 0:0
https://community.bistudio.com/wiki/File:UI_all.jpg
#define GRID_X =(safezoneX + safezoneW)/40
c1{
x = 0;
w= grid_x*1;
};
c2{
x = 0+grid_x*1;
w=grid_x*1;
};
then you must know what you're doing is pointless
It is fine but when I add inside RscControlsGroup it messes up
As I have to change the numbers and start from 0
post controls
make sure you do 0 + (GRID_X*1)
for x
pastebin your controls config
Okay
hides
You guys ever though about not using grid at All?
That whole crap literally is bs
you guys ever though about?
are you drunk X39?
๐
- safezoneW
is literally all you're missing.
@obtuse cosmos there is a ingame Editor that Exports to safezone and a tool in intelij sqf
I have that?
No.
use maths...
On the X
we need jesus?
which I already tried
No.
1 sec
And even without... Math is all you need
The full width is safezonex + safezonew
Holy fuck.
Several people are furious
nah, just laughing here
This has to be troll.
๐ฟ ๐พ ๐ ๐
๐ช
it throws me back at commy yelling at me
Did I ever do that?
It throws you back at?
also baer
When was that, before you in ACE?
baer had.... harsh words
baer?
Congrats you got a missplaced ui
baermitumlaut
I added * safezoneW + safezoneX
Dude.
all headers are not lapping, just main one is
to add controls inside RscControlsGroup
ctrlgroup might be offset X
bรคr mit รผ?

XD
ty
Also, clearly the spacing is now fixed.
All that's wrong is the offset
Your Problem starts way sooner... Your whole ui does not looks Centered if you would ask me
Who knows.
Simple as that
does not look*
the spam in this channel is ral
Very ral indeed
ral 8000
Auto fix of mobile keyboard @still forum
Anyway, that fixed my issue, thank you.
Gets even worse when writing german now a dass
I disabled auto corrections because of such things and because of the lag
@queen cargo I made of messed up the grid size lol ๐
I'm just gonna use pixelGrid
Stop using grid for fuck Sake
lol
NEVER listen to X39.
Use percentages
๐ฟ
someone pass me a torch
@lone glade lol
Of the width? I can agree to that, but that is using the grid implicitly.
it's time to burn the heretics
torch
Now use first class math to do the calc
I love using grid. But % is actually a grid as well
^
it's jsut a finer grid
Should I use pixelGrid or safeZone? All vote now ๐
And you can use floats with a big grid
safezone
You cannot fuck up percentages is the thing
Hold my beer.
LOL
safezone > pixelGrid
you cannot fuck up percentages?
You can also not fuck up just counting from 1 to x
That already exists @lone glade
We call it a LED
This is what my grids look like
#define GRID_W ((safezoneX + safezoneW)/4)
#define GRID_H ((safezoneY + safezoneH)/4)
perfect 4 boxes
All I'll ever need
just dived if need finer detail
NOT PIXEL PERFECT REEEEE
@still forum +1, no perfect centering,....
GRID_W/5
safezone!
@peak plover I have something like that
As well as ```sqf
// Pixel grid
#define pixelScale 0.50
#define GRID_W (pixelW * pixelGrid * pixelScale)
#define GRID_H (pixelH * pixelGrid * pixelScale)
never used pixels, not sure what they are really
The only reason to ever use them is when you want to draw a one pixel wide line or something like that.
yeah, but don't use /4
Oh
Commy on the money
This is what is currently in the config at top, not in use atm: ```sqf
// Default grid
#define GUI_GRID_WAbs ((safezoneW / safezoneH) min 1.2)
#define GUI_GRID_HAbs (GUI_GRID_WAbs / 1.2)
#define GUI_GRID_W (GUI_GRID_WAbs / 40)
#define GUI_GRID_H (GUI_GRID_HAbs / 25)
#define GUI_GRID_X (safezoneX)
#define GUI_GRID_Y (safezoneY + safezoneH - GUI_GRID_HAbs)
Are these wrong or?
lol
That is wrong on a completely different Level
This was from BIS btw
Using BIS function to export base classes
2018
lol
not having 317 lines of UI defines
@peak plover so yours look like above? and you removed Abs ones
// safezoneX + safezoneW is max size of screen from left to right
// divide it into 40.
// for full screen (w) : GUI_GRID_W*40
// for start from mid screen (x): safezoneX + (GUI_GRID_W*20)
#define GUI_GRID_W ((safezoneX + safezoneW)/ 40)
#define GUI_GRID_H ((safezoneY + safezoneH)/ 25)
like that ?
@little eagle that's why i use my #ifdev _INC_UI #include "macros_ui.hpp" #endif
read comment
I think that's what I did
safezoneX is left most pos
safezoneY is top most pos
I based mine off BI template too
'tho
do I need to add anything for the x and y though? ```sqf
class container : RscControlsGroup
{
idc = 1000;
x = 0.16 * GUI_GRID_W;
y = 0.171429 * GUI_GRID_H;
w = 0.68 * safezoneW;
h = 0.685714 * safezoneH;
or is this wrong?
the whole idea of a grid is that you don't use 10 decimals for your values
GUI Editor is fucking shit
๐
O_o
It's a great way to not understand UI configs and get really crazy values all over
commy2 shhhh ๐
//1st
x = 0+(GUI_GRID_W*0);
y = 0 +(GUI_GRID_H*0);
w = 1 * GUI_GRID_W;
h = 1 * GUI_GRID_H;
//2nd
x = 0+(GUI_GRID_W*1);
y = 0 +(GUI_GRID_H*0);
w = 1 * GUI_GRID_W;
h = 1 * GUI_GRID_H;
1st control starts top left of the ctrlGroup
2nd starts next to the first one
I mean 2
so
//3rd
x = 0+(GUI_GRID_W*2);
y = 0 +(GUI_GRID_H*0);
w = 2 * GUI_GRID_W;
h = 2 * GUI_GRID_H;
yeah
WOW
inside ctrlgroup correct
lol
Farmer Scripts 2018
Works on my machine
0 is the most left you can go on X inside group
safezoneX is most left you can go on X on screen inside group
well
to still show stuff
Yep.
x = safeZone + (GUI_GRID_W * 0);
y = safeZone + (GUI_GRID_H * 0);
safezone safezoneX
and Y
No problemo
x = safeZoneX + (GUI_GRID_W * 0);
y = safeZoneY + (GUI_GRID_H * 0);
w = 2 * GUI_GRID_W;
h = 2 * GUI_GRID_H;
what is 2 ?
like
2 what?
two grid?
2 times your grid.
nigel, what you write makes sense. You're making me proud. ๐ข
Thank you. I learned from the best ๐
100 is whole width
safezoneW is the whole width.
oh
I just tried 100
and it made it all the way ?
so don't use 100
just put safeZoneW?
w = 100 * GUI_GRID_W;
safezoneW
oh
Or like 40 of those 2.5% grids that nigel gave you.
Because
(size of screen divided by 40) times 40
ahh okay
rgr
Looks wrong to me. Why you'd need the positional offset for the width?
that didn't work btw
@little eagle they grow up so Quick
What he needs is maybe a grid based on the width of his control group instead of the whole screen.
it puts it about 65?
just guessing roughly here
of the screen
the safeZoneW did work
ooh
as for w = 100 * GUI_GRID_W;
Not
y
but W
y is start point
y should be safezoneY
to start from top of screen
100 * GUI_GRID_W
is 2 and half screens.
40
or safezoneW
W ALWAYS USE safezoneY
oh
when should i use count and when should i use forEach?
@still forum @little eagle thanks for the answer. but this is the point, how do i send it to the players ?
@peak plover Cool, thanks for the feedback
commy told you how
๐ฉ
@peak plover what does your w look like for whole screen
To fill the whole screen
x = safezoneX;
y = safezoneY;
w = (safezoneX + safezoneW);
h = (safezoneY + safezoneH);
but say, just across
Ebolrate?
Your width is... safeZoneW
Adanteh is right.
x = safezoneX; w = (safezoneX + safezoneW);
your width is not the origin + width
safeZoneX + safeZoneW is the right side of the screen... not the width of the screen
x = safezoneX;
y = safezoneY;
w = safezoneW;
h = safezoneH;
ohh fuck me
or
I dont want to fug you, you're a lil fattie ๐ฆ
Are we still talking about this?
x = safezoneXAbs;
y = safezoneY;
w = safezoneWAbs;
h = safezoneH;
for TRIPPLE SCREEN
it's been over a half an hour
haha ๐
Heheh, true. :+1:
even if it takes 30 minutes or more ๐
I am sure you have mental sticky notes on your brain now
@commy2 how would you do a combo? would you just use the Triple screen or would that display wrong on single ?
I never tried on tribple double screens
But mine always looks the same
With different resolutions / different settings
triple double screens? ๐
whatever they call them
hehe
I didn't do that at first
All looked fine
until someone else played it and was like
yeah
Wtf
works on my machine
Well
nigel: ohhhh fuck
Now always take the same amount of space on the screen
reinstalls the game
is that your game hours?
yeh
Daaaym
safezoneXAbs is identical to safezoneX if you're using only once screen. Same for W.
lol
LIES!!!
๐
TRUTH! EXPOSED!
๐จ ๐จ ๐จ ๐จ
nigel is a lifer
NOT LIFE

๐ฐ ๐ฐ
#totallyontopic
you know the animation bug with weapon, does anyone know if that can be prevented? have to script it a certain way?
N..n..n..not l-l-life
LIFER!
setdamage 1, fixes most animation bugs
Do you mean the one where you can't stop moving forward?
nig_life_fixBugThing
LOL
@subtle ore ๐ท ๐ฆ ๐จ ๐ฎ ๐ธ ๐น
@peak plover ๐ฑ ๐ฎ ๐ซ ๐ช ๐ท
haha
Midnight Racist ๐ค
๐ญ
ha

๐ฝ

#arma3_scripting is on fire today it seems ๐
Definitely
#arma3_scripting in 2018 sure looks ๐ฌ ๐ท ๐ช ๐ฆ ๐น
#arma3_scripting more like #โฃ ๐ฒ ๐ช ๐ฒ ๐ช ๐ณ ๐ฌ
nig_fnc_life_memeGen
๐
mid_fnc_life_newNigFnc
need new magic variable _thisChat...
#arma3_scripting is the best channel
Absolutely
tru dat
How do you check
Shiet
๐
total messages in #arma3_scripting 215353 - Waffle = 5353
26k from commy in #arma3_scripting
14k from me
That's more than 10%. O_o
code tags used in 2018 in #arma3_scripting = 5
4,778 here..
I think you should take a vacation @little eagle
```sqf
7.8k
Let the rock roll ๐ค ๐ ๐ค
heads will roll
I need a new video game.
@little eagle just fly a heli in arma
How high do I have to get my % to rename the channel to #commy ?
Three hits
#comming *
Sounds like a porn channel.
@commy2
๐
๐ฉ

@little eagle
That did tag me.
Well, if you tell me how you did that, sure.
@peak plover
Just escape it
interesting
put \ in front
@peak plover
<@180757017432948736>
still shows
@peak plover \
?!?
Escaping ATeveryone will not color it, but still mention everyone, lol
@subtle ore
@compact galleon Are you serious?
@subtle ore Yes
@compact galleon that's interesting
I used it in #arma3_scenario . Did it tag you?
thefuck is going on
I doubt you can use everyone here
MACRO's alganthe.
Well, hope they never need to escape it
@everyone is disabled for normal users.
Did it on my server once to explain everyone, and even though it was escaped and not highlighted, it mentioned all 20k members
lol

It's great to get many angry responses quickly on a server where it works.
Discord has a lot of these bugs
I also fucking hate ghost messages
Post everyone 100 times, then delete all 100 messages, and everyone will have 100 notifications but no messages
lmfao
lmao
With the number you can make a copy-pasta like that
just pasta and delete
They will never know
FM will notice
true
I feel the hammer above me for suggesting that tbh
What if he is already in my room
Please.
confiscate the lifer code and have you locked up
๐ฐ
and then fire and fury the likes of which the world has never seen will fall upon thee
He shall replace one in every hundred ] with }
As long as there are no ), sure.
So when doing conditions which is faster () or {} ?
() afaik
Ok
Is there a parameter which can I use to identify the unit which spotted the player?
I need it to getPos -> crazy but simple exmaple: Enemy spots player, script get the position of this unit and spawn a tank above units head.
What?
you can't
spotting isn't a "Can't see, oh now I can"
but.. That's a given parameter already if you detect if someone spotted the player
it's a scale from 0 to 4 where 4 is absolute certainty
you have to check for each unit if it has spotted the player
Well you can get the position of where the ai thinks the enemy is at
and if you see that a unit has spotted him.. You already know the unit
targetKnowledge could work or search if any unit have knowsAbout higher than 0.
Thanks
for remoteExec
Array - array of any of types listed above
Does this work?
[west,op_0_1]
Don't know why it wouldn't. But didn't try
Would RE for west and where op_0_1 local
Okay
Sounds good
If it works in my functions, then BI can probaly make it work too...
Yes that works
can anybody tell me whats wrong with this. its in a trigger to move a marker close to an object. "cachemarker1" setMarkerPos [getPos car, random 350, random 360] call BIS_fnc_relPos;
it says, Error type array, expected number
getpos car drops an array into the first parameter
which is expecting a single number I suppose
ok so if you used only setMarkerPos getPos car it would work
problem is i only got into the basics of arma 2 scripts, and it been a year or so.
same principles apply