Mordacai 38 Posted September 10, 2016 @rsoftokz, good job! Thanks for you hard work and efforts. Look forward to playing it. 1 Share this post Link to post Share on other sites
major-stiffy 279 Posted September 10, 2016 SP and MP Pilgrimage "Tanoa Edition" Updated 09/09/2016 click here to go to updated download link Some feedback. Normal mode. Random spawn selected. When me and AIbuddy spawned, AIbuddy didn't have clothes, only gun and backpack. We were both killed by AI at spawn point. Restart. On spawn, I had no clothes just gun and backpack. AIbuddy had everything including a set of flippers on his hip. 1 Share this post Link to post Share on other sites
rsoftokz 288 Posted September 10, 2016 Hi Guys thanks for the kind comments thank you too for the report. I paid more attention to work on the SP and copy and paste (with MP modification required) from the SP to the MP... and I didn't take time as I use to do to test it all I'll try the MP later unfortunatly I work this WE until next wenesday when I'll be off and don't have much time to see what's wrong --- I don't remember to have touch anything about gear, only about faces and identities--- one issue I often saw on MP is if Buddy is joining the game before main player did all the starting proces, you might occure such things or issue in equipments of Buddy player most of time, I wait for the main player (server) to spawn and the game to begin before Buddy to join the game.can you try this please and tell me if it's OK or not ? for the set of flippers, it is because I introduced some new uniforms in the "spawn uniform list"... this is a BIS "survival suit"....it allow you to swin faster like divers... you can find maybe some diving goggles and a rebreather somewhere.... maybe on a dead diver ;) having OPFOR on a spawn point is something I experienced too, mostly on SP mission where you get killed before the end of the loading process....maybe we can think to script something like a safe process to spawn any OPFOR more than 300m from the spawn point I plan to improve and set up the Intelcheck for this "point to military camp", I'll try to figure out too how I can script something for a few of those camps will be occupied by OPFOR ( sometimes it happends but not enough, too empty camps) I'll try to set up the spawn position of Diver team to be always on sea level AND in water (planing maybe to add Boats Patrols later like SAD Helo Patrols ).....there are lot of things to do to set up Pilgrimage specifically to Tanoa Share this post Link to post Share on other sites
major-stiffy 279 Posted September 10, 2016 We weren't killed directly after spawning it was shortly there after in a fire fight. AI just happened to be close by. This was in SP. Share this post Link to post Share on other sites
major-stiffy 279 Posted September 10, 2016 Hi Guys one issue I often saw on MP is if Buddy is joining the game before main player did all the starting proces, you might occure such things or issue in equipments of Buddy player most of time, I wait for the main player (server) to spawn and the game to begin before Buddy to join the game. can you try this please and tell me if it's OK or not ? Will do when have a chance. Share this post Link to post Share on other sites
rsoftokz 288 Posted September 11, 2016 oh I thought it was on MP weird, never had such issue in SP all uniforms setted are ( should be) Arma vanillia _uniforms = [ "U_BG_Guerilla1_1", "U_BG_Guerilla2_1", "U_BG_Guerilla2_2", "U_BG_Guerilla2_3", "U_BG_Guerilla3_1", "U_BG_leader", "U_I_G_Story_Protagonist_F", "U_I_G_resistanceLeader_F", "U_B_CombatUniform_mcam_tshirt", "U_B_survival_uniform", "U_I_C_Soldier_Bandit_3_F", "U_B_T_Soldier_AR_F", "U_B_CTRG_Soldier_2_F", "U_B_GEN_Soldier_F", "U_B_CTRG_2" ]; Share this post Link to post Share on other sites
pvt. partz 248 Posted September 11, 2016 (planing maybe to add Boats Patrols later like SAD Helo Patrols )..... saweet Share this post Link to post Share on other sites
major-stiffy 279 Posted September 11, 2016 Will do when have a chance. Didn't work. Share this post Link to post Share on other sites
rsoftokz 288 Posted September 11, 2016 @major_stiffy any chance to send to me your RPT ??? I tried the mission several time with no issue.... PM me please@pvt.partz something based on this ( I just finish the script) to add in JRInit.sqf // patrol boats to spawn line 284 in actual Tanoa Edition JRInit.sqf RYD_JR_EastBoats = [ "O_T_Boat_Armed_01_hmg_F", //East "O_T_Boat_Transport_01_F", //East "O_G_Boat_Transport_01_F" //East ]; RYD_JR_IndBoats = [ "I_Boat_Armed_01_minigun_F", //IND "I_Boat_Transport_01_F", //IND "I_C_Boat_Transport_02_F" //IND ]; //.....blablabla until line 1215 //_softVAm = 10 + (floor (random 10)); //_armVAm = ((3 + (floor (random 2)) - RYD_JR_Difficulty) max 0) min 3; _eastboat = ((5 + (floor (random 5)) - RYD_JR_Difficulty) max 0) min 3; _indboat = ((5 + (floor (random 5)) - RYD_JR_Difficulty) max 0) min 3; //...blablabla until line 2113 at progressLoadingScreen 0.4; //below spawn boats patrol script { for "_i" from 1 to _x do { _isGood = false; _posIPV = getPosATL player; _spawnPos = [_posIPV,0,500,10,2,0,0] call BIS_fnc_findSafePos; _ct = 1; while {not (_isGood)} do { _pos = [(_mapC select 0) - _rds + (random (2 * _rds)),(_mapC select 1) - _rds + (random (2 * _rds))]; _ct = _ct + 1; if (_ct > 50) exitWith {} }; if (_isGood) then { _vehType = ""; switch (_foreachIndex) do { case (0) : {_vehType = RYD_JR_EastBoats select (floor (random (count RYD_JR_EastBoats)))}; case (1) : {_vehType = RYD_JR_IndBoats select (floor (random (count RYD_JR_IndBoats)))}; }; _veh = createVehicle [_vehType, _spawnPos, [], 0, "NONE"]; RYD_JR_AllEV pushBack _veh; _dir = random 360; _veh setDir _dir; createVehicleCrew _veh; { _x setSkill (0.15 + (random 0.25)); [_x,false] call RYD_JR_DecimateGear; } foreach (crew _veh); _grp = (group _veh); clearItemCargo _veh; clearWeaponCargo _veh; clearMagazineCargo _veh; if ((random 100) > 0.25) then {_veh setFuel (0.3 + (random 0.7))}; if ((random 100) > 0.25) then {_veh setVehicleAmmo (random 1)}; if ((random 100) > 0.25) then {_veh setDamage (random 0.6)}; [_grp,_spawnPos,"SAD","SAFE","YELLOW","NORMAL","WEDGE",["true",""],true,150,600,25,2,3,true] call RYD_JR_SADPatrol; if (RYD_JR_Debug) then { _m = "VMark_" + (str _spawnPos); _m = createMarker [_m,_spawnPos]; _m setMarkerColor "colorGrey"; _m setMarkerShape "ICON"; _m setMarkerType "mil_triangle"; _m setMarkerSize [0.5,0.5]; _m setMarkerText _vehType } }; } } foreach [_eastboat,_indboat]; //end of spawn boat patrol script didn't try it for now.....not sure of all settings. (especially the parameters to call RYD_JR_SADPatrol function ) 1 Share this post Link to post Share on other sites
pvt. partz 248 Posted September 12, 2016 Often times the versions and memory just get really murky but I swore that one of the releases has patrol boats not only patrolling, but also coming ashore and dropping off AI. Share this post Link to post Share on other sites
Rydygier 1309 Posted September 12, 2016 At least three factors to consider when introducing boat patrols: 1. To make sure, that found patrol positions and spawn position is on the deep enough water (obvious, but if you want to base on the code made for land patrols, you need to be careful, as some parts of it are specifically there to avoid on water positions, includind findSafePos parameters and likely SAD patrol functions); 2. When I checked lately, there's still 144 groups per side limit on place, and mission on full population settings uses often all of this limit (including some free space left for Ambient Combat Groups: if (({(side _x) == _side} count AllGroups) > RYD_JR_GLimit) exitWith {_tooMuch = true}; ), at least for East side (so I would suggest to make these patrols exclusive for independent side, which usually anyway is slightly underpowered despite fact, hidden camps are always independent, since East exclusively is used to man strongholds/airfields); 3. An extra code need to be added, to avoid boats "ramming the shore", as, again, when I checked last time, AI moving across the water had no ability to avoid land blocking straight path between waypoints. We saw this in some earlier versions of TPW's (BTW you may ask him, how it looks now) ambient boats - boats hitting the land on full speed. Such extra code has to ensure, there's no land between each two waypoints - eg terrain based LOS check between each two? Also one need to take care of fuel - renew its level at each waypoint for example. Share this post Link to post Share on other sites
rsoftokz 288 Posted September 12, 2016 Hy Ryd.yes I based the script on roads patrol, trying to delete what seems to be coded to avoid water position.I read the BIS findsafepos documentation and, with my poor knowledge, I try to figure out how to spawn units at sea....I'm not sure about RYD_SADPatrol parameters to call the function [_grp,_spawnPos,"SAD","SAFE","YELLOW","NORMAL","WEDGE",["true",""],true,150,600,25,2,3,true] call RYD_JR_SADPatrol; _grp : the units to spawn as defined in the script to be randomly choosen from the East/Ind boats (as you suggested, I was thinking to reduce the boats list to ind, I'm afraid the "O_T_Boat_Armed_01_hmg_F", //East will have too much firepower anyway _spawnpos : = [_posIPV,0,500,10,2,0,0] call BIS_fnc_findSafePos; as defined per BIS documentation here , "2" on fifth position of parameters means " must be in water" SAD, SAFE....WEDGE : parameters to define patrol behaviour what becomes "darkness" for me : ["true",""],true,150,600,25,2,3,true <_< let me guess !based of RYD_JR_SADPatrol in JR_fnc.sqf: ["true",""] = waypoints statement ? ??? (this select 7) true = cyclic mode ?? (this select 8) 150 = radius min (this select 9) 600 = radius max (this select 10 ) 25 = :huh: no clue.... seems to be something attached to radius min/max..... ( {_acc = _this select 11} ) 2 = :huh: no clue neither.... (_minA) (this select 12) 3 = <_< ...... (_maxA) (this select 13) true = delete all (this select 14) where is ( this select 15 ) ?? and in the script I gave , I'm not sure about this: while {not (_isGood)} do { _pos = [(_mapC select 0) - _rds + (random (2 * _rds)),(_mapC select 1) - _rds + (random (2 * _rds))]; _ct = _ct + 1; if (_ct > 50) exitWith {} }; I guess this should not help me to have boats on sea.... and _pos should have been then _posIPV (IPV = Inshore Patrol Vehicles) ... at the first glance, I thought to add a separate .sqf file, but most of what I would need is already in JRInit and JR_fncso I tried to make something in conjuction with the already existing script ( to count Patrol boats in RYD_JR_allEnemy ).... and to avoid to break the wonderfull "machine" you made a few months ago, I didn't have a clue haw to script a single thing I'm learning, proud to have done some working things, but I have still much to learn. Share this post Link to post Share on other sites
Rydygier 1309 Posted September 12, 2016 ["true",""] = waypoints statement ? ??? (this select 7) - yestrue = cyclic mode ?? (this select 8) - yes150 = radius min (this select 9) - yes (around group leader initial position IIRC). You may want much bigger value here for boat patrols - it's set for foot infantry. 600 = radius max (this select 10 ) - ditto25 = :huh: no clue.... seems to be something attached to radius min/max..... ( {_acc = _this select 11} ) - addWaypoint command radius parameter. Kinda redundant here, but may be useful sometimes. 2 = :huh: no clue neither.... (_minA) (this select 12) - minimal amount of waypoints3 = <_< ...... (_maxA) (this select 13) - additional amount of waypoints above minimum. Code will add from 0 to this value number of waypoints to the minimal amount of patrol route waypoints (+ cycle waypoint on current leader's position, if set true). So in total we get 2 to 5 waypoints (+ cycle) with these settings.true = delete all (this select 14) - removing all previous waypoints attached to this group before adding new patrol route. Should be true. where is ( this select 15 ) ?? - not used, so not defined. If set as true - center position would be player's position, not given group leader's. It's a relic - function was pasted from other place, where was used too. Note, this function calls another function to find positions: RYD_JR_RandomPointsAroundB = { private ["_sourceP","_radiusMin","_radiusMax","_min","_above","_points","_minPC","_point","_posX","_posY","_pos","_ct"]; _sourceP = []; if ((typeName (_this select 0)) == 'OBJECT') then { _sourceP = getPosASL (_this select 0); } else { _sourceP = _this select 0; }; _radiusMin = _this select 1; _radiusMax = _this select 2; _min = _this select 3; _above = _this select 4; _points = []; _minPC = _min + (round (random _above)); _ct = 0; //for "_j" from 1 to _minPC do while {((count _points) < _minPC)} do { _point = [_sourceP,_radiusMin,_radiusMax] call RYD_JR_RandomAroundMM; _posX = _point select 0; _posY = _point select 1; _pos = [_posX,_posY]; _pos = [_pos,0,_radiusMin/3,2,0,(_radiusMin/6) max 2,0] call BIS_fnc_findSafePos; _points pushBack _pos; _ct = _ct + 1; if (_ct > (_minPC + 1)) exitWith {} }; _points }; and here you can see findSafePos once more - also here it has to be set, to find on water positions. I would also additonaly set a while loop around RYD_JR_RandomAroundMM for preliminary check, if surfaceIsWater and if not - repeat RYD_JR_RandomAroundMM till it is on the water. Maybe together with ATL and ASL third coord comparison to be sure, water is deep enough. Same, as for group spawn position. Also around here I would suggest to add a terrain based LOS check to be sure, there isn't a land mass between previous position and this one. So, in total, each found random position would need to pass three checks/meet three conditions: if surface is water, if it is deep enough and if there is no land between it and previous pos (or leader pos for the first one position). If not - repeat random find. With some iterations limit just in case - eg if not found in 100 attempts - abandon/remove this patrol. and in the script I gave You removed some crucial part of it, in this form it does nothing useful, just 50 times re-randomizes (square-based way) a position. Inside that loop position has to be tested (eg if on the water etc.) and if all conditions are met - _isGood = true; defined. That tells the loop, a good position was found and loop may be ended. Share this post Link to post Share on other sites
rsoftokz 288 Posted September 12, 2016 thank you again for sharing your knowledge ( and to confirm I was on the right way but I still have lot to do and to learn ) so I still have hours of work before it should work, but as Tanoa is made, it would be a shame to do nothing with boats. the matter will be warterdepth is varying a lot, there are lot of shoals and reefs and as everyone knows, AI can't drive .... that may ends patrol to ship wrecks. but it is worth to test and to work on this EDIT so I have to change parameters in BIS_fnc_findsafePos in RYD_JR_RandomPointsAroundB to 1 ( could be on water or land ) I'll dig into all of this later time to go to work (short night = hard day at work ;) ) EDIT (just before I leave) so in RYD_JR_RandomPointAroundB this _pos = [_pos,0,_radiusMin/3,2,0,(_radiusMin/6) max 2,0] call BIS_fnc_findSafePos; is turn to this _pos = [_pos,0,_radiusMin/3,2,1,(_radiusMin/6) max 2,0] call BIS_fnc_findSafePos; 1 meaning "could be on water or on land Share this post Link to post Share on other sites
Rydygier 1309 Posted September 12, 2016 to 1 ( could be on water or land ) Maybe try 2 - only on water. Just to be clear, finding random position in given radius itch extra conditions and then using findSafePos (which in fact works similar way to my own solutions) is partially redundant, but there are reasons to keep it that way. the matter will be warterdepth is varying a lot, there are lot of shoals and reefs and as everyone knows, AI can't drive .... that may ends patrol to ship wrecks. If you do that terrain-wise LOS checks between waypoints, set last ASL coord (height above sea level basically) of both A and B points for example like -1 or so to exclude also down to -1 meter shallows between the points and minimize risk of stuck. Share this post Link to post Share on other sites
a2012v 30 Posted September 12, 2016 rsoftokz Why do you patrol on the water?Most of the time I spend on the island in the jungle.He will simply consume computer resources.add better patrolling forest paths. There are many and they are all empty​. Share this post Link to post Share on other sites
major-stiffy 279 Posted September 12, 2016 rsoftokz Why do you patrol on the water? Most of the time I spend on the island in the jungle. He will simply consume computer resources. add better patrolling forest paths. There are many and they are all empty​. I agree. Share this post Link to post Share on other sites
rsoftokz 288 Posted September 12, 2016 the answer is simple like Tanoa map is made, you have several islands, ones connected to each other, some not.so even there is lot to do in the Jungle and land, I think tanoa edition of Pilgrimage could be a little bit different.Boat patrols may come in place of the paratroopers dropped by helo it is just a project. ( a hard one as I want to script in the already made code, to add something that don't break the Pilgrimage magical ) about Jungle and the amount of military camps I added, I have to say most of time paths and camps are empty... so I also have a project to try to script something to add those camps as points of interest for the generated mobile patrols it happend to me to go straight across the jungle from a point A to a point B and cross the path of a patrol (how many chances I have to go exactly between the 4 guys just after this big tree in the middle of nowhere ???each time you start a Pilgrimage mission, it is different (even some events are "always" at the same places, but this is part of BIS functions and the "findsafepos" based on the center of the map ) and dependening of the way you are playing, one can experieced something, the other something else.I play hundreds of Pilgrimage missions (the shorter one less than an hour to find bro's body and get it into the boat ), on different maps, differents ways (alone, witrh buddy, in vehicle, on foot, using the boat to go around the islands and checking areas by aeras.)there are many ways tio enjoy the game and to improve it on Tanoa : more patrols in the jungle, patrol boats, less vehicle patrols.....let's give a try to each idea and see what is worth or not. but "more jungle patrol" is now on the "to do" list ;) Share this post Link to post Share on other sites
rsoftokz 288 Posted September 12, 2016 Maybe try 2 - only on water. ..... will it not affect patrol on Land ???? Share this post Link to post Share on other sites
Rydygier 1309 Posted September 12, 2016 will it not affect patrol on Land ???? Yes. And 1 will affect too - land patrols may get on water waypoints with it as well, as on land. Since waypoints for boats need to be on the water only, it has to be 2. So anyway - make a copy of every function, you want to change, also name it differently, so will not overwrite original one nor be overwritten by it and change/work with these copies only. Do not change existing functions used elsewhere in the code (unless you know exactly, what you're doing). This way all existing mechanisms will stay safe/intact and you'll have full freedom as for changes. Of course, existing functions may be used safely without copying&renaming if not changed. Share this post Link to post Share on other sites
rsoftokz 288 Posted September 12, 2016 .... (unless you know exactly, what you're doing). ... if only I do..... of course there are lot of things I don't know, or I wouldn't need your advices/help/assistance/knowledge.... all original Pilgrimage scripts are saved on my computer. each time I try something, I have a back up if it doesn't work. I have to say this "Boat patrols" projects get me deep in the complexe Pilgrimage script... I'm discovering the magic of your scripts and how they are sometimes heavyly linked to one each others. it's a challenge !!! (I'm still getting off the latest hairs I have to figure out how to script a loop to check surfaceiswater, LOS etc........ maybe not tonight! I'm a little bit tired ) finally I think it is better to rewrite functions specifically for the boat patrols and to forget about RYD_SADpatrol... same for the linked other functions , as advised. Share this post Link to post Share on other sites
Rydygier 1309 Posted September 12, 2016 Writing a dedicated function/code anew for boat patrols is a good way too. Just to be clear: I'm not talking about backups, but about actual duplication of the function, you want(ed) to use for boats - within the same file, eg copied function just under original, but copied with changed name and changing/using it instead of original. Well, definitelly time to sleep here. :) BTW examples, how to construct surfaceIsWater checks/loops can be found in existing spawning stuff code (eg in the part, you deleted from quoted above while-do loop), just opposite - to avoid water. Hints about LOS checks you may find in RYD_JR_LOSCheck, but I would suggest linked ASL version of the command. I could explain everything plainly in time, but it's always better to grasp things on your own - that gives better understanding. 1 Share this post Link to post Share on other sites
pvt. partz 248 Posted September 12, 2016 @rsoftokz @Rydygier ...and others Even if everyone can't agree on what should be and what shouldn't be part of the Pilgrimage "franchise" :P ,...and even if your efforts don't always work as planned, I still think it's great that you are willing to meet the challenges. You guys get better and we get to continue having a great time! 1 Share this post Link to post Share on other sites
rsoftokz 288 Posted September 13, 2016 :) ;) @RYD I was thinking... those patrol Boats, it might be smarter to add then via RYD_JR_Warmonger ???? (like the part with helos and troups....we might do the same with boats (RHIB or Zodiacs) there already are all conditions : checks with surface, LOS etc???? just need to make specific functions to check and find positions at sea centered on player's position.... Share this post Link to post Share on other sites
Rydygier 1309 Posted September 13, 2016 Warmonger handles Ambient Combat spawns. Technically you should be able one way or another to add boat patrols as part of AC, just these groups are supposed to exist only temporarily. Or to use parts of it for some way of permanent group spawns, sure. Indeed, there are water surface checks, which need to be reversed to pass only positions on the water, and LOS checks (but full, terrain and object-wise) to ensure, spawns are conducted out of player's sight. RYD_JR_GLimit was introduced exactly to ensure enough space within default group er side limit for AC groups, so these groups are apart of it. Share this post Link to post Share on other sites