Jump to content

gigglebok

Community Member
  • Content Count

    30
  • Donations

    0.00 GBP 
  • Joined

  • Last visited

Contact Methods

  • Steam Name
    gigglebok
  • Website URL
    http://www.pwh-clan.co.uk

Profile Information

  • Gender
    Male
  • Location
    Székesfehérvár, Hungary

ArmA 3

  • ArmA 3 Player Name
    [PWH]b0k

Recent Profile Visitors

1,694 profile views
  1. Thanks Stanhope, my wonderful clan member is about to have his Zeus revoked!
  2. Darn it, I never thought of writing them down. We'll probably be playing this week so I'll do the blindingly obvious then. In the meantime can you think of anywhere that this random spawning of AI squads would be happening - I couldn't see anything obvious unless it was a factory level - which this wasn't. edit: I'm sure at least one of them was a mechanised squad, but not all. I still have a suspicion it might be my clanmate arseing around with Zeus and then denying it, but I just wanted to make sure.
  3. Whilst playing a local copy of 3.3.50 with a clanmate the other day, I noticed that when we were close to clearing the main objective, randomly a new AI squad would often spawn right in front of us or very close to us. I've looked through the code but I can't see where this could be happening - unless my clanmate was taking the p*ss and zeusing them in. Can anybody give me any pointers in the code where I can stop this behaviour - obviously I'd expect reinforcements when it's a factory but this was a standard "take the place" main mission.
  4. Belt, brace, and extra braces. I keep finding edge conditions! if ( ( _wps < 2 ) || ( ( count _waypoint ) < _wps ) || isNil("_wps") || isNil("_waypoint") ) exitWith {debugLog "No waypoints calculated"; false}; // B0K
  5. Well, it all looks swimmingly good now (pardon the pun) Here it is in patch diff format, the two plusses seemed to do the trick. at least it fails gracefully without borking the machine now PS Thank you Stanhope and all the others for I&A, I'm your biggest fan, our small and sad clan idolise your program, it's all we play! $ diff -Naru ../../../AW_Invade__Annex_3_3_50.Altis/Functions/Units/fn_taskCircPatrol.sqf fn_taskCircPatrol.sqf --- ../../../AW_Invade__Annex_3_3_50.Altis/Functions/Units/fn_taskCircPatrol.sqf 2020-01-23 16:02:16.000000000 +0100 +++ fn_taskCircPatrol.sqf 2020-02-16 17:13:55.000575400 +0100 @@ -109,7 +109,7 @@ { _wps = 5; } else { _wps = count _newWp; }; - + if ( ( _wps < 2 ) || isNil("_wps") || isNil("_waypoint") ) exitWith {debugLog "No waypoints calculated"; false}; // B0K for "_w" from 1 to _wps do { private ["_dist", "_testWp"]; _dist = 0; @@ -133,6 +133,7 @@ }; }; }; +if ( isNil "_wp" || isNil "_waypoint" || ( count _waypoint ) < 6 ) exitWith {debugLog "No waypoints calculated at all"; false}; // B0K for "_w" from 1 to 6 do { if ( !(surfaceIsWater (_waypoint select _w)) && !((_waypoint select _w) isEqualTo [0,0]) ) exitWith
  6. Not the entire AO, but just the waypoints around the group leader, looking at the code, is that right? I need to find a way that it still works with fording/wading depth water, I guess. Not coming up with errors or glitches so far, but early days yet
  7. I am using a custom map, but I don't go anywhere near the mission folders, I just adjust AO definitions and the description. It's possible as I have some partially flooded towns (1-2m floods in places ) that it can't calculate a valid waypoint as this calculation seems to weight against sea, quite logically. But I think the possibility still exists (if you've noticed it too from time to time), so I'll try this defensive patch and see if that stops all the errors - there may be some edge cases in vanilla maps but maybe I'm getting it more on mine becuase of the environment? I'll report back after thrashing it today. By all means feel free drop it in the master code if it works, I guess it wouldn't hurt?
  8. If it errors, doesn't it stop that routine being used from then on? I see broken missions after this error, trying to set up a campaign for "any" with a coord of 0,0. I'm going to try adding a check on line 112 to see if _wps is zero, if it is, would an exitwith true do the trick?
  9. Could this happen if the _waypoint array doesn't hold values becuase it couldn't make a good one? I only get this error once every 20 or so missions, but I am using a custom map. Edit: I suspect if _wps is set to 0, the loop "for "_w" from 1 to _wps do" must make _wp negative on the second iteration. Should I just make the code safe by trapping a count of 0 for _newWp? 12:49:03 Bad conversion: array 12:49:03 Error in expression <estWp"]; _dist = 0; _testWp = _waypoint select (_w-1); if (!isNil "_testWp") the> 12:49:03 Error position: <select (_w-1); if (!isNil "_testWp") the> 12:49:03 Error Zero divisor 12:49:03 File functions\Units\fn_taskCircPatrol.sqf [AW_fnc_taskCircPatrol]..., line 116 12:49:03 Error in expression <estWp"]; _dist = 0; _testWp = _waypoint select (_w-1); if (!isNil "_testWp") the> 12:49:03 Error position: <select (_w-1); if (!isNil "_testWp") the> 12:49:03 Error Zero divisor 12:49:03 File functions\Units\fn_taskCircPatrol.sqf [AW_fnc_taskCircPatrol]..., line 116 12:49:03 Error in expression <estWp"]; _dist = 0; _testWp = _waypoint select (_w-1); if (!isNil "_testWp") the> 12:49:03 Error position: <select (_w-1); if (!isNil "_testWp") the> 12:49:03 Error Zero divisor 12:49:03 File functions\Units\fn_taskCircPatrol.sqf [AW_fnc_taskCircPatrol]..., line 116 12:49:03 Error in expression <6 do { if ( !(surfaceIsWater (_waypoint select _w)) && !((_waypoint select _w) i> 12:49:03 Error position: <select _w)) && !((_waypoint select _w) i> 12:49:03 Error Zero divisor 12:49:03 File functions\Units\fn_taskCircPatrol.sqf [AW_fnc_taskCircPatrol]..., line 138 12:49:03 Error in expression <6 do
  10. 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!
  11. 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)
  12. 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!
  13. 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.
  14. 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;
  15. No worries! We're all here to learn off each other - I could see some good possibilities for it too - like concatenating a dynamic reference to objects in a loop. I thought it might have helped me extract the initial "init" from the original object too but once I got the above working I was a happy I&A bunny Thanks for explaining something that I really couldn't find a reference to anywhere in the BIS docs - it goes on about strings, arrays, objects, positions but nowhere did I find out that simply using the editor name as a variable makes it the same object. Guess my 40 years of coding count against me for that!
×
×
  • Create New...