#arma3_scripting
1 messages ยท Page 395 of 1
๐
Enfusion has VR support. Was that already known?
I thought that was enforce?
enfusion = enforce + RV3.5 smashed together
Just saw VR support in a piece of sourcecode they showed in a video
everybody run
member flashpoint?
I can't wait for our gameplay elements to be dumbed down so they can fit on console
Project is called "GameTemplate2015-PS4"
๐
RV will never run on a console.
XBOX360 incoming
enfusion won't either, console cpus are so goddamn weak it's a lost cause
Well... There is source code for some Enfusion project on PS4....
"dev comment: my phone has a better cpu than this, forget it"
Arma on phone!
pUBG on Xbox looks bad ATM, if anything it will run worse than that
you don't like 15fps ?
I operate under a different definition of "confirmed".
the game runs so badly it's under the number of images per second to be considered a video stream
it's a fast powerpoint presentation ๐
Earth confirmed flat, moon confirmed fake
@peak plover illuminati confirmed.
when i look up i see a flat sky and circles only
never have i seen a spherical moon or sun
so yes earth and everything else is flat
Best of #arma3_scripting 2k17
@SimZor#5644 Journey To The Center Of Earth is fake news then?
@tough abyss Moon landing fake?
@peak plover What's the point of moon cycles in arma 3 if the moon is actually just a piece of paper glued to the earth globe in which is actually a simulation by higher beings?
"if (true) then { exitWith{}; }; //some other code" will some other code get ran in this instance?
no
Alternate universe / fan fiction @subtle ore
Because you have a syntax error and your code won't even compile
So nothing of that code will run
@peak plover ๐
U can use call { }
Alright, well assuming it's pseudo code, will it run the next lines? Trying to understand how exitWith works since it seems to suggest that it will only exit the current scope and that would include the if scope I assume. Also trying to figure out how to do a middle of the script return
Still invalid question.
if (true) exitWith {}; //some other code
no it won't run. Because exitWith exits.
Read notes on https://community.bistudio.com/wiki/exitWith
TRying to get the "Target Human" to not be destroyed when shot multiple times. But the wasy way to set allow damage false, do not work, thenthe stats on the Scoreboard on the target wont work. any one have a workaround or an idea?
@tulip otter what scoreboard?
on the target human there is a scoreboard when you go next to it, with range and how amny times a player have hit that target
Just pointless when it dies after 10 shots..
And it allow damage is false, then no hits is registered on the scoreboard
while {alive S61} do { if (damage S61 > 0) then {S61 setDamage 0;} }
trying this, but it do not work.. gone blind on what the error is... S61 is the variable for the target
randomDude addEventHandler["Hit",
{
hintSilent "Doh!";
}];
Been out of this for a while ๐ il try that instead
How to set document for more sides ? _document setVariable ["recipients", west, true];
@real tartan What? Document? What do you mean?
@subtle ore Thank you, it works like a charm!
@tulip otter yep no problem
@subtle ore when you set Intel recepients for RscAttributeDiaryRecord
@real tartan Do you mean:
_document setVariable["recipients",[west,east],true];
why not use: https://community.bistudio.com/wiki/createDiaryRecord ?
using bis_fnc_setServerVariable
Why?
That is most likely just a deprecated function @M1ke_SK#7333
if I have a locally executed script, can i add in a section that only executes on the server?
Yes, but the section will never be executed, unless the script is executed on the server machine.
How does the savegame works? in my mission, the last save have a problem that it seems to re-do the script i done, the savegame is the end of the waituntil, so its suppose to save once that part of the script ended so its steps on another waituntil
this is the mission
http://steamcommunity.com/sharedfiles/filedetails/?id=1232220978
How can I automatically place a module when startting/loading any mission? I have CBA, and AFAIK there is a way to use some XEH to do that
how would i go about making a crate disappear after its empty?
Hideobject or deleteVehicle
You need to count the contents of the crate and then do that
@peak plover Yes, sunday revive. I can make it affect my squad with just a command, but I do need a module placed on the map
its mostly for missions that I ca'nt be bothered to unpack and add the module by hand
@thorn saffron Each of the modules have functions that are executed by the module
go to the config viewer and find the modules there
Hi,
is there the way to alter mission parameters for a mission played as SP scenario. I know that parameters can be altered via UI for hosted game and DS, but for SP the default values seem to be unalterable. Or maybe i'm missing something in SP ui
@south pasture Install MCC and use Zeus maybe?
MCC allows to use ZEUS in any mission
MCC is written like shit
and don't tell me "oh but he worked hard on it", it's the worst code i've ever seen
So to make mission SP configurable is not that trivial task. frack it then
One thin I SORELY lack in Arma 3 is ANY mod that has a full shopping + money for kills module system you can just plug and play into missions. MCC only really lacks the item shop as it has the vehicles and units shops
@south pasture you'd have to show a dialog when the player starts the mission
what kind of settings are we talking about btw?
Nah, the dialog for all diff ACE params and some of mine
oh, those, well they're getting removed for CBA settings
@lone glade I mean the params defined in description.ext
class Params {
class EnableCampaignReset {
title = "ability to start a fresh campaign";
values[] = {0,1};
texts[] = {"Off","On"};
default = 0;
typeName = "BOOL";
force = 1;
};
...
you can affect those from hosted/DS start ui, but SP ui just uses defaults
yeah, that's normal, you need to make a custom dialog to change those in SP
Not related to scripting (but hope to get the answer quicker then on themed channel)
what is the BI forum markup for mentioning someone? Is there anything like @user for the forum posts. Thanks
yeah, why not, #general_chat_arma is active too ๐
sorry
It's ok, this is pretty much #offtopic_everything 90% of the time
The Dynamic Groups interface is tied to TeamSwitch action, and it's default keybind is U.
I tried invoking the TeamSwitch action and it didn't pull up the Dynamic Group Interface. Anyone know what function I can use to invoke it without using U?
question
if (trucktodeka distance placa <= 30 ) exitWith {
saveGame;
sleep 1;
dubmines setDamage 1;
Track18Loop = addMusicEventHandler ["MusicStop", {"Track08" remoteExec ["playmusic"];}];"Track08" remoteExec ["playmusic"];
{terminate _x} foreach MedicScript;
terminate Medevac;
{deleteVehicle _x} forEach synchronizedObjects selectRandom [mine_set_1,mine_set_2,mine_set_3,mine_set_4];
{ deleteVehicle _x } forEach ( nearestObjects [ getPos Area_Brava , [], 400 ]);
truckDriver disableAi "move";
sleep 2;
{deleteVehicle _x} forEach crew MedEvacHeli;
deleteVehicle MedEvacHeli;
moveOut team_2;
unassignVehicle team_2;
team_2 setBehaviour "CARELESS";
{moveOut _x} forEach units playersslots;
{_x allowDamage true} forEach units playersslots;
team_2 move getpos PlacaDoBot;
sleep 4;
"maker_mines" setMarkerAlpha 1;
truckDriver enableAi "move";
sleep 10;
"join_victor2" setMarkerAlpha 1;
pilotgolf3 enableAI "move";
true};
};
waitUntil {
if (!(team_2 in trucktodeka) AND player distance placa <= 25 OR isMultiplayer) exitWith {
team_2 setBehaviour "AWARE";
[team_2] joinSilent team2Grp;
sleep 3;
team_2 move getpos PlacaDoBot;
true};
};
the sleeps in the waituntil also counts as a delay for the other waituntil bellow?
Did the pasting in ruin the formatting or does it actually look like that? Because I am struggling to tell where the scopes are.
Result:
13.5541 ms
Cycles:
74/10000
Code:
private _last = 0;
for "_i" from 0 to 10000 do {
if (diag_tickTime - _last > 100) then {_x = 1;};
_last = diag_tickTime;
};
vs
Result:
12.7848 ms
Cycles:
79/10000
Code:
private _last = 0;
for "_i" from 0 to 10000 do {
if (time - _last > 0.1) then {_x = 1;};
_last = time;
};
for some reason notepad++ does not like spaces
Might be able to switch indentation in some submenu on top bar in text editors
@tulip cloud https://i.imgur.com/lmEo1Zm.png
@astral tendon try using sublime / poseidon https://i.imgur.com/Y3X6392.png
were is it?
waitUntil {
if (trucktodeka distance placa <= 30 ) exitWith {
saveGame;
sleep 1;
dubmines setDamage 1;
Track18Loop = addMusicEventHandler ["MusicStop", {"Track08" remoteExec ["playmusic"];}];"Track08" remoteExec ["playmusic"];
{terminate _x} foreach MedicScript;
terminate Medevac;
{deleteVehicle _x} forEach synchronizedObjects selectRandom [mine_set_1,mine_set_2,mine_set_3,mine_set_4];
{ deleteVehicle _x } forEach ( nearestObjects [ getPos Area_Brava , [], 400 ]);
truckDriver disableAi "move";
sleep 2;
{deleteVehicle _x} forEach crew MedEvacHeli;
deleteVehicle MedEvacHeli;
moveOut team_2;
unassignVehicle team_2;
team_2 setBehaviour "CARELESS";
{moveOut _x} forEach units playersslots;
{_x allowDamage true} forEach units playersslots;
team_2 move getpos PlacaDoBot;
sleep 4;
"maker_mines" setMarkerAlpha 1;
truckDriver enableAi "move";
sleep 10;
"join_victor2" setMarkerAlpha 1;
pilotgolf3 enableAI "move";
true
};
};
waitUntil {
if (!(team_2 in trucktodeka) AND player distance placa <= 25 OR isMultiplayer) exitWith {
team_2 setBehaviour "AWARE";
[team_2] joinSilent team2Grp;
sleep 3;
team_2 move getpos PlacaDoBot;
true
};
};
poseidon misc tools
the sleeps in the waituntil also counts as a delay for the other waituntil bellow?
Yea they also count
once trucktodeka distance placea <= 30 it will run through the code and won't get to the 2nd waituntil before all the sleeps and other stuff is over
Spawn the code inside does make it jump right to the next one?
but i guess spawn codes is not that healty right?
Once spawned code finishes it deletes the 'thread' it was running on
diag_activeScripts;
so i will better of not spawning all codes at same time but one at time intead?
because when i was making my mission, i use spawn in all cases, the result was some lost in FPS
then i swap all of it to waituntil only
waitUnitl is cool, it only checks the conditions once every frame
You would probably get more gain from using something other than distance and 1 spawn in that code
compared to the current one
inArea or distanceSqr
you mean in FPS?
also, i still did not find that tab on the Notepad ++
Result:
19.7647 ms
Cycles:
51/10000
Code:
for "_i" from 0 to 10000 do {
if (player distance [0,0,0] > 100) then {_x = 1;};
};
vs
Result:
18.9434 ms
Cycles:
53/10000
Code:
for "_i" from 0 to 10000 do {
if (player inArea [[0,0,0],100,100,0,false]) then {_x = 1;};
};
That tab is only in sublime
poseidon
It's nagware 'tho so notepad++ might be better if you don't like nagging
oh well, nevermind.
I'd use spawn in that script you posted anyway
Just for the 2nd part
Well
either for the first part in if
or that
just having 1 is not that abd
bad
Anyway anyone here been replicating the dynamic simulation system with differente sized squares using scripts?
i am doing it
i dont trust dynamic simulation
{ _x enableSimulation false} forEach nearestObjects [Area_Deka, ["man"], 100];
sleep 1; ```
to activate
{ _x enableSimulation true} forEach nearestObjects [Area_Deka, ["man"], 100];```
of course, that does not include vehicles
Hmm yes, Im loking for the deets behind the squre system
@peak plover putting a loop inside a scritp you wanna profile reduces the profiling precision by alot. Code profiling already has it's own loop
Hey guys, when using BIS_fnc_addScriptedEventHandler, if I call that multiple times; it will be accurate and handle the event calls in order right?
afaik yes
๐
Would be nice if they could add a command for it
Like addPublicVariableEventhandler
but instead just addNamespaceEventHandler or even addScriptedEventHandler
uh.. why?
Why not?
you mean.. addMissionEventHandler and the other eventhandler commands?
But being able to pass arguments along to them?
Ahh So... CBA eventhandlers?
He means cba custom events, but as sqf commands, not sqf functions.
Well.... Gimme 5 minutes.. XD
I am not talking about CBA custom events, I am talking about BIS_fnc_addScriptedEventHandler
It might be the same thing though
That is essentially the same just worse
What is the difference?
The usage is the same, but it does less with more overhead.
Ah
And you can only pass arrays as args now or something like that. They might have reversed that though.
Also.. You know that engine command for that would probably just end up with https://feedback.bistudio.com/T123355 ? That would be terrible
That's why they should fix that issue first before making custom events a (set of) command(s).
VBS has some of them. Even handles remote machines. That was the original inspiration for the custom events.
whereLocalEvent etc. or weird names like that.
Intercept is the future ๐ targetEvent with getting an answer back drool
But @little eagle do you know 100% if I call the scripted eventhandler once it will execute that. If I call it twice, roughly the same time it will be queued and handle first one first, then go on to the next one?
Yes? How else would it work?
Just making sure
Randomly shuffle the array for no reason
You never know with BI
It's like function calls over an array of functions.
Where you have api to append the array.
yeah
It only really gets interesting once you can call events on remote machines.
Otherwise the only usage is for stuff like the arsenal which might throw some events that are hard to time.
Well, event handling can be crucial sometimes. Especially to resolve issues with the first one executing not being the first one who finishes it
Like two guys changing an array on remote at once
Sounds like a bad design decision.
Hey there, we are trying to use player setIdentity _face; in Multiplayer to change a Face during spawning. It works locally, but all other players see the standard face. Is there a way to get this to work in Multiplayer?
remoteExec it @craggy dune
@rotund cypress will try
[solider_1, ["WhiteHead_02"]] remoteExecCall ["setFace", 0]; that should work @craggy dune
thanks will try after dinner @rotund cypress
is there a script to make a unit zeus?
like
unit makeZeus; That I could run in mission?
If I want to create a list, and then update it, should I spawn or call a function?
I didn't really understand how and when should be using spawn or call when playing with dialogs
@kindred lichen
// on server
private _curator = createGroup sideLogic createUnit ["ModuleCurator_F", [0,0,0], [], 0, "NONE"];
_unit assignCurator _curator;
oh, awesome thanks
@winter dune Everything about ui should go into unscheduled scripts and therefore not use spawn.
Captain, this has to run on the server. assignCurator will fail on a client.
do the 0s mean that it's like everything unlocked?
[0,0,0] is the position, and 0 is the radius around the positon.
It's just what createUnit expects. Where the logic is created doesn't matter.
It's a logic and takes no space.
I also made the flag at the end "NONE" now instead of "". Because the game now complains otherwise.
@little eagle for example, I created a dialog and in the onLoad EVH of the dialog, I spawned my function, inside that function, I spawned the function which updates the list, is there a way to make it all unscheduled?
put your code inside isNil
how do a build this as a string nicely in Arma
'hiddenSelectionsTextures[] = {"element1","element2"};'
if i have the elements in an array
_array = ["element1","element2"];
joinString?
_start = 'hiddenSelectionsTextures[] = {"' + (_array joinString '","')+'"};'
I am quite confident that is correct.. My brain doesn't see any error
OH
I initially wrote it as "<code>" and then left <code>"
Missing ; tho
Does anyone know what the init code to change the double billboards from Malden35?
thanks guys
any idea, log says: " Scripting command 'setface' is not allowed to be remotely executed" ,we tried F(BIS_fnc_setFace,ANYONE) and F(setFace,ANYONE) no changes.
You're blocking it. See: https://community.bistudio.com/wiki/CfgRemoteExec
@little eagle yeah, the second part is what we tried in CfGREmoteExec to not block it anymore
If you do it right it will no longer say "not allowed to be ..."
yeah, i was hoping for a little more constructive feedback like: Yeah function needs to be called XY in order to work . . . but thanks
Dunno what else to tell you. setFace has to be white listed. The wiki explains it all.
F(setFace,ANYONE) this is what we tried as whitelisting (like with all the other functions) it is not working
Dont bother with BIS_fnc_setFace btw
You are aware thats a macro, and snippet of your cfgremoteexe config. For all we know you made a typo in there
Shitty altis life macro
Ah, I see.
Check the ingame config browser to see if the config is right.
Nothing else we can tell you.
Who names a macro F. ๐คฆ
^^
Can't even google that. At least make it something google can work with.
That is a valid point actually, and a good argument.
Anyways; anyone here who knows on top of their head where these icons are stored? https://gyazo.com/3c6eebe5723d35100c7fc7654c72066e
I can go check myself in config browser but would save me some hazzle
CfgMods should have the paths.
@little eagle there you go https://github.com/AsYetUntitled/Framework/blob/master/Altis_Life.Altis/CfgRemoteExec.hpp ;P
Yeah, what I was gonna check, but didn't want to start up the game xD
artwork = "\A3\Data_F_Kart\Logos\arma3_karts_artwork.jpg";
picture = "\A3\Data_F_Kart\Logos\arma3_karts_icon_ca.paa";
logo = "\A3\Data_F_Kart\Logos\arma3_karts_logo_ca.paa";
logoOver = "\A3\Data_F_Kart\Logos\arma3_karts_logoOver_ca.paa";
logoSmall = "\A3\Data_F_Kart\Logos\arma3_karts_logo_small_ca.paa";
logoTitle = "\A3\Data_F_Kart\Logos\arma3_kart_logoTitle_ca.paa";
overviewPicture = "\A3\Data_F_Kart\Images\karts_overviewPicture_co.paa";
That is in CfgMods yes?
I cannot see Malden though
heloo
22:20:45 Wrong color format 22:20:45 Wrong color format 22:20:45 Wrong color format 22:20:45 Wrong color format 22:20:45 Wrong color format 22:20:45 Wrong color format
local .rpt log
help please
what problem ?
Literally it means wrong color format
Probably structured text
@little eagle I cannot find Malden in the CfgMods
thank you @rotund cypress well how i fix ?
Idk where that button is either. Probably a similar path.
okey
well
Duplicate HitPoint name 'HitTurret' in 'B_Heli_Light_01_F' this what problem ?
okey
well
this ? 22:38:15 O_T_LSV_02_unarmed_F: unarmed_main_turret_hide - unknown animation source turrethide
22:38:15 O_T_LSV_02_unarmed_F: unarmed_doors_hide - unknown animation source doorshide
22:38:15 O_T_LSV_02_unarmed_F: mainturret - unknown animation source mainturret
22:38:15 O_T_LSV_02_unarmed_F: maingun - unknown animation source maingun
for "_i" from 0 to 1 do {
for "_j" from 0 to 1 do {
};
};
is there a way to make only a single for loop?
the snippet above it's just an example, but the main code has to calcolate some values inside an array
Can I obtain more performance by doing 2 differents loops?
okay, i am giving up. Scripting command 'setface' is not allowed to be remotely executed is shown, when we try to execute it with F(setFace,ANYONE) if we use F(BIS_fnc_setFace,ANYONE) there is nothing in the Log, but it is still not working for the Rest
only local player is shown the changes. The other users on the server are not seing the changes
We try to execute: ["cop_2", "Fem_2"] remoteExecCall ["BIS_fnc_setFace", 0, true];
are you sure that function is supposed to take two strings?
first one is "WHO" second is "WHAT"
at least that is how we understood how it is supposed to be working . . .
sure but are they both supposed to be strings?
Id assume the who would need to be type OBJECT
not STRING
id investigate that first...
would this give me a list of all vics that are civillian factions?
(vehicles select { side _x == civ })
```\
rip nvm
it has to be
(vehicles select { side _x == civilian })
in case anyone is interested: setFace is a command and not a function . . . changed this in now it is working
no
Is there a way to have a unique instance of an item in a player's inventory? So that I could create two AK-47's, but they would each have a unique id or something of the sort so that I could tell them apart in a script?
variable = 2;
variable = variable + 1;
``` @edgy dune
@river meteor Theres a partial workaround with magazines only, partially emptied magazines get unique IDs
trying to avoid having to do a virtual inventory to assign properties to specific items. Sounds like I'll have to do it anyway
yes
Yes.. TFAR and ACRE and ACE do such a thing... We just make unique items. Like. Dogtag_1 and Dogtag_2 up to 1000 and then have that ID be unqiue
how do you create a unique item? Is there an sqf command? @still forum
yes. addItem
to create them ingame
Ofcause have to define them in config first
I don't think that's an option for you
Why do you say it's not an option?
Have there been any breakthroughs in getting all objhects placed?
is allMissionObjects still fastetst?
allMissionObjects is pretty demanding / slow
Alternatives to grab ALL buildings on map?
ยฏ_(ใ)_/ยฏ
I've gota plan
shoot
@river meteor Becazse you can only do that with a mod
@subtle ore nearEntities of type building?
If you want to go through all objects anyway the iterating is gonna be alot slower than the call to get the objects
That's what I was thinking, but I was afraid of being shot at by none other than the SQF god himself
initPost cba EH
Just add it to an array there
That way
I won't have to search for buildings
I will already know them
Saving me precious MS
Then later on I can use that ms to buy my self something nice, maybe 50 more ai?
Umm, does cba initPost run on everything? including like ammo and bombs and stuff?
Done.
deal
@peak plover Everything you add it to
I guess "All" includes logics and triggers
AllVehicles and building
seem safe bets
all objects
gimme an hour
What are you trying to do?
fix arma
What of it? There is alot
Either this is placebo out of the ass or Me and 2 guys have witnessed > 60 FPS with 200 ai fighting and over 3k objects placed in zeus
that means what?
Well normally in that situation it would be 20-30 fps?
+having that FPS + AI is possible, easily
I gotta escalate this and test more
It depends also heavily on, if they are in a group or not (iirc in a group they drained more FPS)
Or it was the opposite, too long ago^^
I can't remember anymore, i just know one of it was an FPS-Killer
And i can imagine it's the grouped one
well, Can't have too many groups anyway, because 288 limit
Wasn't that raised/didn't matter for (with Script) created groups ๐ค
144 before apex
@still forum
Was raised ffrom 144 to 288. Also you are always in a group
200 units without group == 200 groups with 1 unit
afaik
Tru
Could you run a test with more than 288 Groups (created by script?)
Yes
Not sure if i mix that with something else ๐ค
"They don't work well" is not an answer^^
I couldn't give them waypoints I think, was long ago
Thats why, just run a test where you create 300 with their own group
But that was beta
Yep
420 total
it's not a beta anymore
true
Thats why i mentioned: I think that limit was just for Editor-Created Groups
300+ no fps
(for whatever reasons)
Yeah, of course^^ During Beta Performance was shitty af (worse than now ๐ )
I might have crashed my game spawning 300 units in unscheduled
I have test mission can check it btw on dedicated
Sucks to be you ๐
Last time I listen to your demands ๐ก
ran it on pc ๐ฆ
Here, get that emote/reaction
Don't matter where I exec it
๐
Wanna spawn 600 units? createUnit in watch field ๐
wait, lemme see if i can find old notes
643 Groups?
unids
Yep with 1 unit in it
lol
That server fps
if (!isServer) exitWith {};
waitUntil {!isNil "START_TEST"};
_lUnits = [
"C_Orestes",
"C_man_w_worker_F",
"C_man_polo_2_F_euro",
"C_man_polo_6_F_asia",
"C_man_p_fugitive_F_afro"
];
while {!isNil "START_TEST"} do
{
sleep 0.025;
_dGrp = objNull;
_dGrp = [[0,0,0], civilian, _lUnits] call BIS_fnc_spawnGroup;
{
_pos = [getMarkerPos "spawnTest", 50, 0] call BIS_fnc_relPos;
_x setPos [_pos select 0,_pos select 1, 0];
} forEach (units _dGrp);
[_dGrp,getPos leader _dGrp,10 + ceil random 25] spawn TEST_fnc_taskPatrol;
_text = format ["ะบะพะปะธัะตััะฒะพ ัะฝะธัะพะฒ: %1 ัะตะป.",(count allUnits) - (count playableUnits)];
_text remoteExec ["hintSilent"];
};
if (isNil "START_TEST") exitWith {[] spawn TEST_fnc_spawnUnits;};
What says
hint str count allGroups;``` ?
lemme... lemme brb ๐
Take your time
selecting 1k objects in the editor lags so hard
with the overlay, yeah
I did my tests with ~200 vs 200 in VR to simulate some load, when testing scripts (all with allowDamage false and unlimited Ammo)
how do you unilmited ammo on ai?
reload script that adds a magazine
;/
Slide show
400+ ai if just don't look at that direction is fine
300+ playable
200-250 ok
100-150 good fps
And server is always 45+
@peak plover thanks I was able to find a few other variables in that function that I could leverage.
@peak plover >how do you unilmited ammo on ai?
_unit addEventHandler ["Fired",
{
private _unit = _this select 0;
private _weapon = _this select 1;
private _magazine = _this select 5;
if (_weapon == "Throw") then
{
_unit addMagazine _magazine;
}
else
{
_unit setVehicleAmmo 1;
};
}];
๐๐ฟ
iirc i did that with a reload or put EH, so it adds the Magazine that it drops right away
(So the AI still has to reload)
Hmm
how can u disable the collision of a object other then https://community.bistudio.com/wiki/disableCollisionWith
like say I want a car to go through a tank, just as example
Rename yourself right now.
cameraOn isKindOf "CAManBase"
true
What spectator is that?
Doubt it.
That would also be true for 3rd person view.
But it might work in the scope of a mission.
Where 3rd person is disabled.
I told you exactly the same. Just diff to eyepos
eyePos should be more accurate. With going prone and all.
eyePos is ASL though and posCam2World and distance is AGL.
didn't get eyepos to work correct
positionCameraToWorld [0,0,0] still don't get what 000 means
Center of the camera.
hazza
Exactly where the center of the screen is.
0,0,1 is one meter from the screen in view direction.
Don't think any other co-ordinates are useful ever.
Okay thanks
Is there an event handler for dissasembling UAV's?
WeaponDisassembled?
Wasnt sure if that would work, ill give it a go. Cheers
Hello all,
I'm looking for a way to display the name of the player that has the best score on the screen of all players.
I already get the HUD part, but can't find an EASY way on scripting the "get the score of all players and pic the highest then display his name"
To be honest, i'm really struggling with Arrays and how to create then use one ...
@quartz coyote You could use getPlayerScores command to get a specific player's score, put that in a loop for all players and keep a variable to track the player with the highest score. In the loop if the player you are currently on has a higher score than your max score player, update the max score player to that new player. At the end of your loop you will have found the highest score player
right I had guessed that but my problem is I can't get round to scripting that "keep a var to track the player with the highest score"
I just don't understand how to script it
How do I make a float increase slower the hieger it is?
wut ?
Not sure what you mean by that @peak plover.
input = 1 output is 2
- 1
when input gets bigger than 1 I want it to stop increasing slower
so you want a log function?
Logarithm.
I want a curve, yah
log_10:
1 -> 0
10 -> 1
100 -> 2
...
Would that work?
The command is log.
lol yw
@quartz coyote Check this https://community.bistudio.com/wiki/BIS_fnc_greatestNum
private _temp = allPlayers apply {[getPlayerScores _x select 5, _x]};
_temp sort false;
_temp select 0 select 1
That should report the player with the highest score. If two or more have the highest score, the alphanumeric last one will be reported.
Actually I think it's the one who appears first in the allPlayers array.
there is an example sqf _arr = [5.21725,1.30859,4,5.03028,1]; _arr sort true; hint str _arr; //[1,1.30859,4,5.03028,5.21725]... sort false; will sort highest first
I assume the one with the highest score is the first place.
@little eagle @meager heart great thx !
In the context of Arma it is as fast as you can get^^
@little eagle This give's me a Zero Divisor ...
private _temp = allPlayers apply {[getPlayerScores _x select 5, _x]};
_temp sort false;
_temp select 0 select 1;
Line?
Flash, what is getPlayerScores player if you enter it into the debug console?
Instead of
getPlayerScores _x select 5
write
getPlayerScores _x param [5, 0]
Same thing, but doesn't error if the array doesn't have 5 elements and reports 0 instead of nil.
ok i have no error
No parenthesis needed, nigel. Just PARAM.
hazaa
hello
if ((_container getVariable ["trunk_in_use",false]) && !(getPlayerUID _unit = getPlayerUID player)) exitWith { where i make error ?
Does Diag_Log just log to clients or Server rpt too?
Local rpt
Client or server.
@rancid pecan
== is for comparing, = is for assignemnt.
[[nested]]
So a client side script will log local and a server side script will log server side... Got it.
Ty
Yep. And a script that runs everywhere will log everywhere.
@little eagle Right now i'm having problems to display it on screen ....
if (!isServer) exitWith {};
CutRsc["dm_hud", "PLAIN"];
DisableSerialization;
while {!DMGameOver} do
{
private _Array = (if (isMultiplayer) then {playableUnits} else {switchableUnits}) apply {[getPlayerScores _x param [5, 0], _x]};
_Array sort false;
_PlayerName = name (_Array select 0 select 1);
((UiNamespace GetVariable "dm_hud") DisplayCtrl 23501) CtrlSetText (Format ["Leader : %1",_PlayerName]);
((UiNamespace GetVariable "dm_hud") DisplayCtrl 23501) ctrlSetPosition [safeZoneX + safeZoneW - 1, safeZoneY + safeZoneH - 0.06];
sleep 1;
};```
class RscTitles
{
titles[] = {};
class dm_hud
{
idd = 1000;
movingEnable = 0;
fadein = 0;
duration = 9999999;
fadeout = 0;
name = "dm_hud";
onLoad = "uiNamespace setVariable ['dm_hud', _this select 0]";
controlsBackground[] = {};
objects[] = {};
class controls
{
class hud1
{
type = 0;
idc = 23501;
style = 1;
x = -2;
y = -2;
w = 1;
h = 0.025;
sizeEx = 0.025;
size = 1;
font = "EtelkaMonospacePro";
colorBackground[] = {0, 0, 0, 0};
colorText[] = {0.6, 0.6, 0.6, 1};
shadow = true;
text = "";
};
};
};
};
I don't see the display being created anywhere.
Sorry edited first script
I tested with a normal bis_fnc_dynamicText and it works, but not with my CutRsc
Testing in SP?
but SP is some kindof Server so this isn't the problem
You have to execute cutRsc on every machine, and in MP you just quit on the clients.
And the dedicated server, the only machine where it would be shown, doesn't see it obviously.
Ah, I see another problem.
x and y are -2, so it's off screen.
Then you put it on screen with ctrlSetPositon.
But ctrlSetPosition only moves the control slowly, where the speed is defined with ctrlCommit.
ctrlCommit 0 for "instantaneous" for example.
But I don't see ctrlCommit anywhere in your code.
You should only move it on screen once, and not in the loop.
It never changes position anyway.
Also, since this is the future:
That was the problem !
((UiNamespace GetVariable "dm_hud") DisplayCtrl 23501) ctrlCommit 0;
added that in
and it works
SP && MP
class dm_hud {
//onLoad = "uiNamespace setVariable ['dm_hud', _this select 0]"; <-- remove this
class controls {
class hud1 {
onLoad = "uiNamespace setVariable ['dm_hud', _this select 0]"; // <-- add this
Then you can use:
(uiNamespace getVariable "dm_hud")
instead of:
((UiNamespace GetVariable "dm_hud") DisplayCtrl 23501)
Okay nice thx
So I transformed it like this :
class RscTitles
{
titles[] = {};
class dm_hud
{
idd = 1000;
movingEnable = 0;
fadein = 0;
duration = 9999999;
fadeout = 0;
name = "dm_hud";
controlsBackground[] = {};
objects[] = {};
class controls
{
class hud1
{
onLoad = "uiNamespace setVariable ['dm_hud', _this select 0]";
type = 0;
idc = 23501;
style = 1;
x = safeZoneX + safeZoneW - 1;
y = safeZoneY + safeZoneH - 0.06;
w = 1;
h = 0.025;
sizeEx = 0.025;
size = 1;
font = "EtelkaMonospacePro";
colorBackground[] = {0, 0, 0, 0};
colorText[] = {0.6, 0.6, 0.6, 1};
shadow = true;
text = "";
};
};
};
};
if (!hasInterface) exitWith {};
CutRsc["dm_hud", "PLAIN"];
DisableSerialization;
while {!DMGameOver} do
{
private _Array = (if (isMultiplayer) then {playableUnits} else {switchableUnits}) apply {[getPlayerScores _x param [5, 0], _x]};
_Array sort false;
_PlayerName = name (_Array select 0 select 1);
(UiNamespace GetVariable "dm_hud") CtrlSetText (Format ["Leader : %1",_PlayerName]);
sleep 1;
};
Correct ?
lgtm
it's working perfectly
shadow = true;
should be
shadow = 1;
Either that or remove it altogether. Because atm it's just a bugged entry that does nothing.
Depends on whether you want the shadow text or not.
These:
controlsBackground[] = {};
objects[] = {};
can be removed as they do nothing when empty.
And:
movingEnable = 0;
doesn't work for RscTitles obviously, so might as well get rid of that too. ยฏ_(ใ)_/ยฏ
If you cut down all the superfluous stuff, you might even be able to find something in future.
Probably better off putting it into a separate script and use remoteExec on that function.
Does it really make a difference ? because i'm trying to keep the number of separate scripts small
Why?
make it more simple to edit
Then you should make the script you're currently on just execute everywhere.
ah right
I don't see any need for remoteExec here. This should work best as a local script.
Running on every machine with hasInterface.
my remote exec isn't working
remoteExec ["dm_fnc_DisplayScore"];
most have forgot something
Maybe dm_fnc_DisplayScore is undefined.
it is I put it in my cfgFunction in Description.ext
just check everythinh
It's like it it remoteexecing it but script is just not working on Clients ...
in initServer
Maybe the client hasn't created the mission display yet and therefore cutRsc fails silently.
do the clients actually have the function available?
: remoteExec ["dm_fnc_DisplayScore"]; only works if the client knows what function that is
if you only define the function on the server it wont work
nvm
cant read
no worries ๐
for the client probably put a waitUntil {!isNull (findDispay 46)}
what does that do ?
: Maybe the client hasn't created the mission display yet and therefore cutRsc fails silently.
wait till the mission display is created
ok
LOOOL
Just put a Sleep 0.02; in my script before the CutRsc (I'd seen that in some other system) and it now works
Thanks Arma 3......
Use the waitUntil, or it might fail for JIP clients.
Those have simulation and therefore time running before they confirm the briefing etc, so the sleep time will pass before they have their mission display.
And yes, scheduled scripts, cutRsc etc. All mission scripting. It's all race conditions like this and hot garbage.
Okay well finaly finish ! Thanks some much for your help !
waitUntil {!isNull (findDispay 46)};
This gives me an generic error in expression
display not dispay
id recommend using an editor with syntax highlight for sqf and youโd see those errors easily
ok right ^^ Nvm I can't read eather
I have Poseidon Tools but I washaving problem being intelligent xD
Hi folks! Trying to get back into missing making here, and just trying to get used to the new editor/scripting (i have arma 2 experience with minimal sqs/sqf) and I'm already stumped by something that I hope you guys can help with: what is the bis fnc (or other method?) to order a unit to enter a vehicle?
moveInAny
moveInCargo
moveInCommander
moveInDriver
moveInGunner
moveInTurret
also, what's the standard way to "bprint" or whatever it was, perhaps hint, or something that can be continuously updated?
systemChat str _any
thank you kindly!
I feel like errors are being suppressed during run time, is there somewhere I can check that?
-showScriptErrors has to be set as flag, and -noLogs has to be unset as a flag.
what about drawing a marker over a unit on your map? markerCreate ?
createMarker
bookmark this https://community.bistudio.com/wiki/Category:Scripting_Commands_Arma_3
So.. TIL the hard way that:
[] remoteExec ["tag_fnc_myFun1", 0, _unit];
[] remoteExec ["tag_fnc_myFun2", 0, _unit];
[] remoteExec ["tag_fnc_myFun3", 0, _unit];
only tag_fnc_myFun3 will be called for JIP
as _unit is used as an identifier, similarly as if it were a STRING, something that is definitely not clear in the docs https://community.bistudio.com/wiki/remoteExec
Yes, that's the point?
Well no
If it's a STRING ID, yes, but if it's an object then I expected that it would simply ensure that if the object is deleted, then the remoteExec call is removed from the JIP queue
Instead, the object is also treated as an unique ID.
and if you read the docs, the mention of a unique ID is clearly related to the arg being a STRING but no mention of the arg being an unique identifier if it's an object passed in there.
ยฏ_(ใ)_/ยฏ
I never had the need to use something like that. I'd rather keep my own arrays.
ok
well it's there and I find it pretty useful, instead of having EH on deleted
just this little quirk
I wonder if you guys could help me, im getting these errors spamming my logs, but i cant find out where its coming from :/ Error position: <> 22:15:31 Error Local variable in global space 22:15:31 Error in expression <>
getUnitLoadout, setUnitLoadout. Is there anything similar for ammo boxes / vehicles?
no
๐
Can I get head direction somehow?
@rocky marsh i an going to guess you are using unit inits?
You can't have local variables in there
I'm trying to get a player to execute a script when he enters a trigger area, but i only want that script executed locally
and only for that player
inArea
is there a better way than triggers to detect if a player is in an area?
Yes? InArea with markers whilst being executed on the player
how do i get each player to execute a local script?
postInit in function library
_nObject = nearestObject [(getPosATL _playerObject), _spawnObject];
i try to find an object which is over 50m. but nearestObject is caped to 50. any idears. let us say 150m.
so i have a function in init.sqf, put the postInit = 1, then that will execute that function locally?
so question
ive been trying to add a addAction to all empty vheicles
like so
{
_x addAction ["addActionThing",
{
//code
},[1],0,false,true,""," driver _target == _x"];
}forEach (vehicles select { side _x == civilian });
my question is
is it possible to addAction with a forloop and if so wat did I do wrong
if I do
_this addAction ["addActionThing",
{
//code
},[1],0,false,true,""," driver _target == _x"];
it works but id really like to have it on a forloop and do it for all empty vics
nothing about a forEach loop would stop addAction from working
How do I get rid of the border on a CT_LISTBOX?
aye cool thx cptnnick
@river meteor Maybe: style = LB_MULTI + ST_NO_RECT;
That's how it works for RscEdit.
so for some reason a foreach loop doesnt allow me to add addAction to vehciles
heres the code
{
_x addAction ["Add Action Name",
{
hint "Action Done";
},[1],0,false,true,""," driver _target == _x"];
[west, "HQ"] sideChat format["Action Added"];
}forEach (vehicles select { side _x == civilian });
any ideas why?
vehicles select { side _x == civilian } what does this return
also where are you running that
addAction has only local effects
the code u asked about returns a list of all empty vheicles
empty vics are unde rthe civ faction
lemme repeat
check what it contains
explicit
also:
addAction has only local effects```
Does it print that sideChat thing?
it does pirnt the sidechat thing
also i run it on a block
like a vr block,anything with init code executiong block
" driver _target == _x"
driver _target == _x
^+1
lemme try that
It will work. Don't even need to try.
wouldnt the _x be defined in the foreach loop though?
i c
Even if it did work, it's logically wrong.
The car can't be it's driver.
Well, in Arma you don't have self driving cars, because >2035.
@little eagle I use your zeus script to give predefined players zeus, but for some reason those modules don't allow me to check the attributes of objects. It works with a normal editor module. Do you know what might cause this problem?
When you double click a player for example, it would show stuff like rank and other stuff.
thx commy
I don't remember, is it the createUnit thing?
yea
Does it not show it for any object or just preplaced ones.
No idea.
Hmm, guess I will need to continue testing then
anyone see an error here?: _flag = nearestObjects [this, ["Flag_Blue_F"], 10]; _flag addAction ["Spawn Track",{createVehicle ["ACE_Track", position (_this select 0), [], 5, "NONE"]},nil,1.5,true,true,"","true",5,false,""]; _flag addAction ["Spawn Wheel",{createVehicle ["ACE_Wheel", position (_this select 0), [], 5, "NONE"]},nil,1.5,true,true,"","true",5,false,""]; _flag addAction ["Spawn Jerrycan",{createVehicle ["Land_CanisterFuel_F", position (_this select 0), [], 5, "NONE"]},nil,1.5,true,true,"","true",5,false,""];
_flag is ARRAY, addAction needs OBJECT
you're correct
What do I win?
Might as well use:
_flag = nearestObject [this, ["Flag_Blue_F"]];
I suppose
Wait
_flag = nearestObject [this, "Flag_Blue_F"];
nearestObject doesn't have the array version according to the wiki.
roger
Any ideas on identifying if ArmA is the primary program? Ie player is not tabbed out? Would need to be able to identify if a player has tabbed out and when tabbed back in.
don't think so. only with an extension
for what purpose? might be another solution
you can detect the alt tab but i don't think you can figure out the state
addMissionEventHandler ["Draw3d", {
commy_lastDrawFrame = diag_frameNo;
}];
addMissionEventHandler ["EachFrame", {
commy_lastSimulFrame = diag_frameNo;
}];
abs (commy_lastDrawFrame - commy_lastSimulFrame) > 1
Something like this maybe?
TFAR 1.0 can do that ^^. Atleast tell you if the executable owning the current foreground window has "arma" in it's path
Okay... can anyone (cc: @still forum ) explain why call compile is 4.2x FASTER than parseSimpleArray, even though the wiki states:
the command is on average 3x faster than similar call compile string array method.
parseSimpleArray "[100 floating point numbers]"; - 0.0345ms
call compile "[100 floating point numbers]"; - 0.0082ms
Test for yourself:
parseSimpleArray "[1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1]";
call compile "[1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1]";
what's the result if you mix a couple of strings in there?
Hello everyone. Im kinda new to scripting and ive been looking into something specific so im trying my luck here. I want to make an ingame cinematic intro for an MP mission. Exemple: screen starts black then slowly transfer into first person. I want the player unit to be controlled by AI to follow a path and keep the player access to head movement. Exemple. Player dismount from a truck and start walking toward a plane the climb on it without the player input. Then later on he get parachuted from the plane then at that point regain control of his body. Ive been looking all over internet and cant find anything about it.
Depends on your string i.e "[1,[[[""2""]]],true,[4,""five"",false]]" is slightly faster with parseSimpleArray than with call compile for me
@cedar kindle 0.0090ms vs 0.0178 for 100 strings
Take those arrays and enclose them in single quotes and feel free to test:
https://github.com/overfl0/Pythia/wiki/Scratchpad
Almost as if the only uses for parseSimpleArray are not the intended ones.
๐
you wanna make an extension with only short returns (And you know they are always going to be short no matter what?!): We have a command just 4u
Okay, so it looks like (judging by my test cases linked in my Scratchpad), parseSimpleArray is faster with booleans and nested arrays but slower with everything else, namely: strings, floats, ints.
Engine commands are prob checking variables types in different orders
But its interesting to know, if you really wanna optimize
Actually, I do ๐
So now I will have to know what I am going to return and then depending on that I'll have to call either the first or the second function? That's ridiculous ๐ฆ
booleans are slower because they are actually command calls in "call compile" but just parsed in parseSimpleArray
Okay, I did a last check on 100 pairs of int values ([1,2],[1,2],[1,2],...).
0.06ms vs 0.03ms. Call compile wins again.
I don't know what else is a command call...
So, basically, if you want to pass in lots of bools or LOTS of nested arrays, you should use parseSimpleArray. But as soon as you put anything in those arrays, stay with call compile, trolololo... ๐
arrays are actually built at runtime.
[1,2,3,4,5]
is
push 1
push 2
push 3
push 4
push 5
build array of five elements from stack and push the array to stack
Would ofc be aaaaawesome if it could build the whole array at compiletime.. but....
strings, floats, ints. There are no ints
@still forum Does the DayZ scripting language look more lower C or higher Cish to you?
high
you're high
how can a boat float if water is just an illusion
boaty mc float float
ever heard of hoverboat, duuuhhhh @tame portal
Isn't the script language in the new engine supposed to be more like c#?
boaty mc boat face
Thats already used
Yea, but I heard that it is a lot like C#, which is kinda what the current one already is
Doesn't look like c# to me
http://lystic.net/dayzwiki/
Not totally, but definitely has some of the traits
But I read somewhere that it would be like C#, but doesn't look as they explained it
You don't look like c# to me @jade abyss
But, as long as the multicore utilisation is better than in rv4, I'm happy
Discord did, you smartass
it looks so not c++ to me
because im used to seeing a thousand & and * and whatnot in C++ code
and ::
it looks like something
->
:: was used in there, iirc
References ActionBase::ApplyModifiers(), ModifiersManager::DetachByType(), PlayerBase::m_ModifiersManager, and MDF_BLEEDING.
example
I do have to say though, except for this (*(void (**)(void))(*(_DWORD *)a2 + 680))(); You could translate the object getDamage to c# with maybe one or two changes
You gotta say this look quite a bit like a C# method
{
double result; // st7@2
float v3; // [sp+4h] [bp+4h]@2
(*(void (**)(void))(*(_DWORD *)a2 + 680))();
if ( a1 >= 1.0 )
{
result = 1.0;
}
else
{
v3 = a1;
result = v3;
}
return result;
}```
pls lua
But it would be almost the same in c++
@south rivet the fuck is that
http://lystic.net/dayzwiki/ go check the Example: Object getDamage
So it's another mix of several languages
It seems so, wooohooooo
class DayZGame extends CGame
that can only turn out great
better than plain C++ imo
cant be bothered to learn that
i would be making memory leaks left and right
If you do c++ right you never have memory leaks
yes
but i would do it wrong
every single time
make pointers of pointers of pointers of pointers of pointers
Just never use new/delete that's it.
usage:
Param paramA = new Param1<int>(55);
Param paramB = new Param1<string>("Hello");```
Wut?
And ofcause no C like malloc
mallocing of more memory intensifies
Param param = new Param2<float, string>(3.14, "Pi");
hmm
yeah
this is actualy... okay
looks like a classic high level language class to me to be honest
this is how java and c# and others do it
PluginDeveloper.c
void OnInit()
{
super.OnInit();
m_SqfDebugWatchers = new array<SqfDebugWatcher>;
m_GodModeEnabled = false;
DeveloperFreeCamera.OnInit();
for ( int i = 1; i <= MIN_SQF_DEBUG_WATCHERS_COUNT; i++ )
{
m_SqfDebugWatchers.Insert( new SqfDebugWatcher(i, "") );
}
}
the only thing odd here is
new array<SqfDebugWatcher>;
sqf is mentioned
in my world it would need () aswell
@south rivet it has a SQF interpreter still afaik
so it can run both
[Client] This function is called by engine to get list of scripted actions
Parameters
ctx action menu context
player which is asking for actions
usage :
void OnGetActions(ActionMenuContext ctx, Man player)
{
super.OnGetActions(ctx, player);
if (IsActionCopyAvalible())
{
autoptr Param4<string, int, EntityAI, EntityAI> p = new Param4<string, int, EntityAI, EntityAI>("ahoj", 5, this, player);
ctx.AddAction("Copy", ACTION_ID_COPY, p, 1000, true, true);
}
}```
thats... ohmy
Yea, new definitions always require () in c#. And I always program in c#, so this will take getting used to
autoptr
lul
@south rivet Me too
Thank you for existing
this is literally C#/Java code with some slight differences
finally, the game itself is an object
GetGame()
I was forced by the university for the first 1.5 years, then we got some haskell and python thrown in. But c# is still the main language used. Have never touched c++ eventhough I study game technology
DeveloperTeleport.c
// Set Player Position (MP support)
static void SetPlayerPosition(PlayerBase player, vector position)
{
if ( GetGame().IsServer() )
{
player.SetPosition(position);
}
else
{
autoptr Param3<float, float, float> params = new Param3<float, float, float>(position[0], position[1], position[2]);
player.RPCSingleParam(DEV_RPC_TELEPORT, params);
}
}
weird approach
hm
instead of defining the need of 3 floats in the header signature of RPCSingleParam
wait, so it's C++ and ?
mostly c++
looks mostly not c++ to me lul
could be wrong though, havent looked around much
i like the UIs are defined in XMLs now
oidnsgdisngigsdfs
m_edit_box = layoutRoot.FindAnyWidget("InputEditBoxWidget");
what
๐
i guess that makes it easy to write xternal tools to create UIs with
Yep
you can then create such widget on the screen like this
layoutRoot = GetGame().GetWorkspace().CreateWidgets("gui/layouts/day_z_chat_input.layout");```
Something usefull to do for Dedmouse
this looks like a GREAT approach for "plugin & play" stuff
cant wait to make more cash again [ฬฒฬ $ฬฒฬ (ฬฒฬ อกยฐ อส อกยฐฬฒฬ )ฬฒฬ $ฬฒฬ ]
lul
derp
as long as they are LIFE'r
the good thing again is: its plain text so feel free to sell it
still a derp ๐
i know people hate me for this โค
@austere granite But why ๐ข
nothing
throws stones
Oh, Dedwomen throwing stuff around again
i dont like rocks being thrown at me
Stones. Not rocks
Anyone @here involved in any form of the Third Party DLC?
so dedmen does cba keybinding support full joystick mode now?
I think he was asking if you are in any project
No. Commy didn't implement it yet
red the bread, pretty much involved
k thanks
I ment if anyone is in a project yeah
Intercept-CBA causes CBA events for joystick keypresses. You could add EHs manually ยฏ_(ใ)_/ยฏ
You must excuse Dedmam, she gets old.
i don't actually care about keypresses, axis only
and i trust you to do proper handling of analog stuff
I know there's gotta be someone doing a project
why asking?
i am
Im interested who is working on what
๐ซ You better speak up
nah, was just annoying you nigel
I don't have EH's for analog yet I think
Make those into the future DLC
https://github.com/dedmen/Intercept_CBA/blob/master/src/Keybinding/InputHandler.cpp#L375 Feel free to PR Axis ๐
So who's working on a paid DLC at the moment?