Jump to content

A3 Warlords update 1.86


TheScar

Recommended Posts

ooooookkkkkk

i m getting the concept there,but doesnt it make sense if awareness of a update is out to update the server asap as a 5 player filled 60 slot server is kinda contraproductive when most clients have already autoupdate ´d

Not trying to push anyone´s  timeline here ... but ...

 

You dont suggest that i shall wait till tommorow untill i can access EU1# ,do you?

Link to comment
Share on other sites

For anyone looking to update I&A3 -

 

The mission uses a fairly old method for finding a flat, empty location that's not on water. An example:

private _position = [[[getMarkerPos currentAO , PARAMS_AOSize]],["water","out"]] call BIS_fnc_randomPos;

The problem that we identified is that BIS_fnc_randomPos itself uses BIS_fnc_getArea to validate the array presented to it, and the data we are sending doesn't conform to that, thus throwing the error.

 

We are almost finished an update to I&A3 which should allow the mission to work, involving changing all the references to BIS_fnc_randomPos to the more modern BIS_fnc_findSafePos function... about 79 in total, scattered across all the files.

 

Now you know why I wanted to start I&A4 completely from scratch!

 

- Ryko

Link to comment
Share on other sites

Ryko, could you give a worked example of the change to the code with one of the 79? Just stumbled across this on my server (that's running a local fork with a custom world on it, which I will release one day when it's ready!) - is it just as simple as substituting BIS_fnc_randomPos to BIS_fnc_findSafePos or are there some "gotchas"?

 

Simple as this?

 

 _randomPos = [_AOpos, 0, _radiusSize, 0 ] call BIS_fnc_findSafePos;

//_randomPos = [[[_AOpos, _radiusSize], []], ["water", "out"]] call BIS_fnc_randomPos;

 

Link to comment
Share on other sites

Sure.

 

As an example, in the Missions\Priority\priorityarty.sqf file, we changed

_position = [[[getMarkerPos currentAO , 2500]],["water","out"]] call BIS_fnc_randomPos;

to

 

_position = [getMarkerPos currentAO, 10, 2500, 10, 0, 0.1, 0, [], [0,0,0]] call BIS_fnc_findSafePos;

Technically there's a whole loop there to ensure it's a flat and empty space, but it's probably not necessary because BIS_fnc_findSafePos has its own gradient detection (that's what the 0.1 is for in that statement).

Link to comment
Share on other sites

fair warning :

the current edit of I+A 3 that EU1# is/was running yesterday had several side mission SECURE INTEL missions spread all over the island with no task assigned to it,3x Strider + inf patrols - ran into em yesterday about 4 times

someone screwed up editing i assume ^^

Link to comment
Share on other sites

I think the problem you're seeing TheScar (having snaffled the code from EU1 to look at) is something that's not appearing in the rpt logs, but appears as a brief message in editor mode when running locally, this is it:

 

[BIS_fnc_position] Error: size 6, expected 3, in ["respawn_west","FOB_Martian","FOB_Marathon","FOB_Guardian","FOB_Last_Stand","USS_Freedom"]

 

No line number or file reference! :(

 

What I'm suspecting is it's expecting a coordinate (3 elements) and is getting BaseArray instead (6 elements). So any of the lines like this in the code

 

Missions/Priority/priorityaa.sqf:       _flatpos = [getMarkerPos currentAO, 10, 2500, 10, 0, 0.1, 0, [[BaseArray, 800],[currentAO, 800]], [0,0,0]] call BIS_fnc_findSafePos;

 

Are looking suspect. I'm having a play locally to investigate further, TheScar, why don't you do the same and we'll try and get to the bottom of this.

 

To say Ryko screwed up the editing is a bit unfair; BIS sprang this non-backwards compatible function change out of the blue and it's screwed I&A which uses it for everything. Ryko did a quick hack to stop everyone moaning; well, at least he was trying to.

 

 

Link to comment
Share on other sites

I m far off from blaming anyone + I wouldn't blame Ryko for a fix to ensure having a mission to play on

We talking about two different issues obviously, also

 

And if I blame anyone, then propably this guy:

On 12/3/2018 at 5:45 PM, ansin11 said:

Tiny I & A mission update is also planned on my side.

 

Alright then...

Link to comment
Share on other sites

1 minute ago, Stanhope said:

It'd be 100% unfair, seeing how I'm the one who edited it :)

 

I'll have a look when I get home, I've got to do a French presentation in 15 minutes.

Ha ha, I thought I'd seen your name more over the source than Ryko's! I think I'm onto something.. good luck with your presentation!

 

Link to comment
Share on other sites

The more I look at this, the more I am sure that fleeting error message I saw was telling me something ain't right with a lot of other modules too.

 

[BIS_fnc_position] Error: size 6, expected 3, in ["respawn_west","FOB_Martian","FOB_Marathon","FOB_Guardian","FOB_Last_Stand","USS_Freedom"]

 

Looking at the code, I'm going to try retro-adding back in the loop which checks for all the bases - that blacklist argument if used in findSafePos needs to be in the format [center, dist] for each element - it's being passed an array of basenames, not positions.  [[BaseArray, 800],[currentAO,800]
Haven't had a chance to test, but going to hack the code on my version now.

In addition, somebody might want to remove those three "<<<" at the beginning of FreeCivs.sqf as it's borking the compiler !

 

Please let me know if any of you made any progress, EU1 still seems to have the same codebase as the other day (with a few references to 3.3.8 in it still)

Link to comment
Share on other sites

44 minutes ago, gigglebok said:

[BIS_fnc_position] Error: size 6, expected 3, in ["respawn_west","FOB_Martian","FOB_Marathon","FOB_Guardian","FOB_Last_Stand","USS_Freedom"]

That bug isn't causing any issues as far as I can tell.  All missions appear to be spawning and I haven't seen any spawn at any bases yet.

 

44 minutes ago, gigglebok said:

In addition, somebody might want to remove those three "<<<" at the beginning of FreeCivs.sqf as it's borking the compiler !

Yea my push to talk is '<', they're gone in 3.3.9. 

Link to comment
Share on other sites

Yep, just slap this expression into a debug window when I&A is running.

_flatpos = [getMarkerPos currentAO, 10, 2500, 10, 0, 0.1, 0, [[BaseArray, 800],[currentAO, 800]], [0,0,0]] call BIS_fnc_findSafePos; 

See that bottom left corner? IDK why it's not logging it as an error, but it is definitely a type error caused by BaseArray. I think it's silently ignoring it tho. Change it to

_flatpos = [getMarkerPos currentAO, 10, 2500, 10, 0, 0.1, 0, [[getMarkerPos currentAO, 800]], [0,0,0]] call BIS_fnc_findSafePos; 

And it works. I re-implemented the "loop" in all cases and no error messages.

 

I also got a real error in the server log from fn_smenenemyeastintel, line 48:

_randomPos = [(getPos _intelObj), 10, (300), 5, 0, 0.3, 0, [], _intelObj] call BIS_fnc_findSafePos;

It's a type problem that again doesn't error directly, but causes the next line to fail with _randomPos not initialized.

Fix was to give it the co-ord as above.
 

_randomPos = [(getPos _intelObj), 10, (300), 5, 0, 0.3, 0, [], getPos _intelObj] call BIS_fnc_findSafePos;

 

The problem in both cases (but different arguments) is that findSafePos expects a co-ord array, not a name. Hope that helps someone, I'm sure now it will show itself at some point on the server.

 

I love I&A, so does my clan, and I want it to be around for ever! :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Forum Statistics

    11.1k
    Total Topics
    66.5k
    Total Posts
×
×
  • Create New...