Jump to content
Sign in to follow this  
Dwarden

ARMA 2: OA beta build 93296 (1.60 MP compatible build, post 1.60 release)

Recommended Posts

Since you're on fixing MP problems (yay!!), I shamelessly drag eveyone's attention to some old MP issues, present since Arma1. New players not knowing that #restart and #reassign commands and the continue button in the briefing should never be used, could be very frustrated about the result.

  1. #restart or #reassign commands lead to init and JIP bugs and others: (http://dev-heaven.net/issues/12846, http://dev-heaven.net/issues/12854, http://dev-heaven.net/issues/3309)
  2. When someone is still loading the mission and the admin does #reassign or #missions, the loading client is stuck in "wait for host" or loading mission. (http://dev-heaven.net/issues/12855 with repro)
  3. Gear selection in briefing randomly does not work at all. (edit: http://dev-heaven.net/issues/16421 with repro)
  4. Markers made by players do not sync on JIP (http://dev-heaven.net/issues/6337 with repro)
  5. "Stuck" in debriefing until timer hits zero even though all players hit "I'm ready".(http://dev-heaven.net/issues/13653 with repro)

Share this post


Link to post
Share on other sites
The concept of the commands aren't useless, they are just implemented in a way that makes them useless for anything beyond checking things in your immediate (sub 250m) surroundings. Checking for LOS across a distance of many kilometers causes the entire game to lock up for many seconds because you have to get EVERY object in a diameter the length of the check! 99% of the objects passed to the function are going to not even be close to the LOS beam, but there is no good way to get just those objects. I assume the function is also doing some sort of check against these unneeded objects as well.

The commands just seem very, very inefficient.

Both lineIntersects and lineIntersectsWith do not require a list of objects to work. If you test then you will find they only require begPos and endPos to function.

Edited by Kenquinn

Share this post


Link to post
Share on other sites
Our apologies for adding the new "useless scripting commands" that seems to bother so many users in this topic. I will make sure this is never going to happen again and please understand that it was not our intention to make you any troubles by including these commands (note that it is generally quite easy and in development time absolutely insignificant, these were already present in TKOH anyway so really no big deal porting it to OA code branch).

That would be a very unfortunate outcome. "Useless" was a seriously ill-considered choice of adjective. For myself, even - especially - as a novice scripter, I welcome any new command/function that makes the task easier.

In this specific instance, I suspect these particular commands may be exactly what I need to enable me to extend a mag-throwing addon from solely player to/from squad-mates, to allowing the squad members to lob mags at each other under fire without leaving cover - when, of course, there must not be be any intervening obstacle. So, three cheers for BIS! :D

I doubt that many - if any - of this unfortunately voluble minority of whingers, or the whiners about DayZ, have any experience of managing multiple projects on tight budgets. It isn't possible to fix every glitch or bug at once; they have to be prioritised and be fitted into the existing schedule. Anything involving changes deep in the engine require a lot of work and even more effort on testing. Software testing is anything but a simple task, hence it has become a huge business globally (take a look at HP, IBM, TechMahindra, Infosys, etc).

IMNSHO, BIS does an outstanding job of supporting their products and the community. BIS is but an SME, yet they beat by miles pretty much any consumer-oriented company I've ever dealt with, including some global players with annual profits in the billions of USD.

Share this post


Link to post
Share on other sites

Aww mate;

I went out on the beers and chatted to a really cool French chick tonight. Ooh La La..

Not sure how I ended u back at my flat alone, but whatever (didn't) happen, glad I eventually checked in here...

Thanks for more scripting commands and continued work on the crash fixes.

Wish you would fix it so Euro-chicks liked (euro) men...

Bienvieue!

Share this post


Link to post
Share on other sites
Both lineIntersects and lineIntersectsWith do not require a list of objects to work. If you test then you will find they only require begPos and endPos to function.

Are you sure? *double checks*

---------- Post added at 01:23 AM ---------- Previous post was at 12:56 AM ----------

Alright I owe BIS an apology for this one. My initial testing, along with the testing by a couple other people found out the only way it seemed to work was providing a list of objects. That appears to not be the case, and these functions actually do exactly as we had hoped. Thank you BIS, and I very much apologize to Maruk, BIS is by far one of the best, if not the best company in terms of relations with their customers and fanbase. You continuously provide us with support and features that no other game or company can even come close to. I did not mean any harm by my statements and any ill will perceived was only my very well founded expectation of BIS providing the best possible solution showing through, which you have done time and time again.

I am sorry. :) Please continue to add in awesome features (I never wanted you to stop that!).

Share this post


Link to post
Share on other sites

Ok, accepted and our policy reverted back to what it was before. We are going to consider if and what "useless" scripting functions or engine features could be added next. :rolleyes: Obviously the great Arma editing community can always find smart use even for what initially seemed to be just waste of time :yay:.

Are you sure? *double checks*

---------- Post added at 01:23 AM ---------- Previous post was at 12:56 AM ----------

Alright I owe BIS an apology for this one. My initial testing, along with the testing by a couple other people found out the only way it seemed to work was providing a list of objects. That appears to not be the case, and these functions actually do exactly as we had hoped. Thank you BIS, and I very much apologize to Maruk, BIS is by far one of the best, if not the best company in terms of relations with their customers and fanbase. You continuously provide us with support and features that no other game or company can even come close to. I did not mean any harm by my statements and any ill will perceived was only my very well founded expectation of BIS providing the best possible solution showing through, which you have done time and time again.

I am sorry. :) Please continue to add in awesome features (I never wanted you to stop that!).

Share this post


Link to post
Share on other sites

Cool, I missed that you didnt need to add the objects at all. I managed to make the script depend on units neck positions (couldnt find working head). Here is new sample conditions if someone is interested. It follows if the unit is in prone or middle position too.

Condition: !(lineIntersects [[getposASL a select 0, getposASL a select 1,(getposASL a select 2)+((a selectionPosition "neck") select 2)],[getposASL b select 0, getposASL b select 1,(getposASL b select 2)+((b selectionPosition "neck") select 2)]])
On Act: hint "In sight";

Condition: (lineIntersects [[getposASL a select 0, getposASL a select 1,(getposASL a select 2)+((a selectionPosition "neck") select 2)],[getposASL b select 0, getposASL b select 1,(getposASL b select 2)+((b selectionPosition "neck") select 2)]])
On Act: hint "Not In sight";

Share this post


Link to post
Share on other sites

Awesome.

Wish there was more documentation of new functions out of box, but otherwise - BI, I love you :icon_dj:

Share this post


Link to post
Share on other sites

[93276] New: terrainIntersect command

[93273] New: lineIntersects, lineIntersectsWith commands

:hyper: :hyper: :hyper:

New scripting commands are always the best part of any changelog.

Especially if they announce such powerful commands as these.

Terrain- and line-intersection?

Bloody awesome!

Share this post


Link to post
Share on other sites
Cool, I missed that you didnt need to add the objects at all. I managed to make the script depend on units neck positions (couldnt find working head). Here is new sample conditions if someone is interested. It follows if the unit is in prone or middle position too.

Hey, I never thought of using the neck position - that's really creative thinking! :D

Cheers for the script, I'll have a tinker with it over the weekend.

@Ruebe: +1

Share this post


Link to post
Share on other sites

Thanks that "pilot" is better.

I added extra function to check if the unit´s body is "watching" at player´s direction (180 sight angle). It could be combined with the LOS function (need function module):

sleep 3;
while {true} do {
waituntil {sleep 1; (abs(([b, a] call BIS_fnc_dirTo) - direction b)) <= 90 || (abs(([b, a] call BIS_fnc_dirTo) - direction b)) >= 270};
hint "seen";
waituntil {sleep 1; (abs(([b, a] call BIS_fnc_dirTo) - direction b)) >= 90 && (abs(([b, a] call BIS_fnc_dirTo) - direction b)) <= 270};
hint "not seen";
}

With the old triggers (repeatetly):

Condition:
((abs(([b, a] call BIS_fnc_dirTo) - direction b)) <= 90 || (abs(([b, a] call BIS_fnc_dirTo) - direction b)) >= 270) && !(lineIntersects [[getposASL a select 0, getposASL a select 1,(getposASL a select 2)+((a selectionPosition "pilot") select 2)],[getposASL b select 0, getposASL b select 1,(getposASL b select 2)+((b selectionPosition "pilot") select 2)]])
On Act:
hint "In sight";

Condition:
((abs(([b, a] call BIS_fnc_dirTo) - direction b)) >= 90 && (abs(([b, a] call BIS_fnc_dirTo) - direction b)) <= 270) || (lineIntersects [[getposASL a select 0, getposASL a select 1,(getposASL a select 2)+((a selectionPosition "pilot") select 2)],[getposASL b select 0, getposASL b select 1,(getposASL b select 2)+((b selectionPosition "pilot") select 2)]])
On Act:
hint "Not in Sight";

Not yet checks the heads direction. :)

Edited by SaOk

Share this post


Link to post
Share on other sites

saok i think you should create separated thread so your great effort and examples aren't lost

also note this beta is obsolete already :) and unstable like hell :)

Share this post


Link to post
Share on other sites
Both lineIntersects and lineIntersectsWith do not require a list of objects to work. If you test then you will find they only require begPos and endPos to function.

Absolutely correct. Actually all you can provide are the objects to be ignored during the test. The primary purpose is that when you are performing LOS between two objects, you are not interested in intersections happening in those two objects. You can provide any other two objects if desired, or simple objNull (or shorter argument array) when performing a free test with endpoints not related to objects.

I have tried to clarify the wiki, feel free to improve more.

Note: in 93597 there is a fix of a bug causing the second object listed to be "ignored to be ignored" when you request the result to be sorted by passing true as a 5th argument. Moreover, parameter types are now checked, therefore you cannot pass a different type instead of an object. Moreover, 93598 brings new commands eyePos and aimPos, which can be used to provide often needed endpoints for intersection functions.

Share this post


Link to post
Share on other sites
.....Moreover, 93598 brings new commands eyePos and aimPos, which can be used to provide often needed endpoints for intersection functions.

I was wondering about something like this yesterday and wham!... here it is! Wicked!!

Share this post


Link to post
Share on other sites
I was wondering about something like this yesterday and wham!... here it is! Wicked!!

no doubt there will be a bunch of ppl pretty happy about these ones :)

Share this post


Link to post
Share on other sites

Ha! Great job with eyepos and aimpos!

... if we get up vector of upper part of player's body, I'd be able to fully implement scripted reflex sights. Just EOTechs need the up vector ;)

Share this post


Link to post
Share on other sites
... if we get up vector of upper part of player's body, I'd be able to fully implement scripted reflex sights. Just EOTechs need the up vector ;)

What vector do you mean? Direction from where to where?

Share this post


Link to post
Share on other sites

Thanks, eyePos and aimPos will be handy. If there would be a way to check heads facing (direction). It would be perfect. Currently I use body direction, but AI turns his head often so its quite unaccurate.

Share this post


Link to post
Share on other sites
If there would be a way to check heads facing (direction). It would be perfect. Currently I use body direction, but AI turns his head often so its quite unaccurate.

Eye direction will be added in 93619.

Any more "useless scripting commands" someone needs while I am in the mood for it? :cool:

Share this post


Link to post
Share on other sites

umm well yes please

You already have the following the remove the ammo but there is no way to remove the weapons

_v = vehicle player;

{

_v removeMagazinesTurret [_x,[0]];

}foreach (_v magazinesTurret [0]);

maybe this would be a good solution

{

_v removeWeaponsTurret [_x,[0]];

}forEach (_v weaponsTurret [0])

Share this post


Link to post
Share on other sites

Any more "useless scripting commands" someone needs while I am in the mood for it? :cool:

I would like to have a "useless scripting command" for JIP aware markers like createMarkerJIP with optional parameters like side, group, all :)

Those markers would be created on JIP clients too depending on the parameter, if deleted then no JIP client creation.

Xeno

Share this post


Link to post
Share on other sites

Basically I need leaning angle. Returning camera direction and position ASL would also be helpful.

torsoVectorUp unit or weaponVectorUp -> like vectorUp, but only for leaning part of unit's body or unit's weapon selection in real world coordinates.

cameraDir -> camera direction vector

cameraPos/cameraPosASL -> camera position ASL

Edited by zGuba

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×