HazJ 1288 Posted August 19, 2013 How do I use distance for a player but with a marker array? I have tried forEach and other ways which I found but nothing works, I am prob doing it wrong tho... Dirty Haz Share this post Link to post Share on other sites
KevsNoTrev 44 Posted August 19, 2013 {player distance (getmarkerpos _x);<....other code here.....>} foreach _markerarray Share this post Link to post Share on other sites
kylania 567 Posted August 19, 2013 You want to get the distance from the player to specific markers? _markers = ["mark1", "mark2", "mark3"]; _ranges = []; { _ranges set [count _ranges, (player distance getMarkerPos _x)]; } forEach _markers; player sideChat format["%1", _ranges]; Share this post Link to post Share on other sites
HazJ 1288 Posted August 19, 2013 Thank you, I will test shortly... What is _ranges? Dirty Haz Share this post Link to post Share on other sites
kylania 567 Posted August 19, 2013 Just an array to keep track of the range to each marker Share this post Link to post Share on other sites
HazJ 1288 Posted August 19, 2013 Thank you. I'm not sure if this is working with the way I am doing it which is with the waitUntil command... Nothing after the waitUntil command is being read/used? waitUntil {{_ranges set [count _ranges, (player distance getMarkerPos _x)];} forEach _markers}; hint "Test?"; Dirty Haz Share this post Link to post Share on other sites
kylania 567 Posted August 19, 2013 umm... what exactly are you trying to do or check or have happen? Share this post Link to post Share on other sites
HazJ 1288 Posted August 19, 2013 When x from marker array (one which is the actual IED - it picks random) then create explosion, I have the rest of it. Dirty Haz Share this post Link to post Share on other sites
kylania 567 Posted August 19, 2013 Why not just make it easier and say once you're within range of a central point spawn the IED at one of the markers randomly rather than trying to check all three since it's gonna randomly spawn anyway so the marker you're closest to doesn't matter. Just like put a trigger and have that run your IED spawn script (limiting it to only the server spawning it of course). Share this post Link to post Share on other sites
HazJ 1288 Posted August 19, 2013 (edited) Thanks! Why not just make it easier and say once you're within range of a central point spawn the IED at one of the markers randomly How would I do that? Dirty Haz Edit/Update: Solved! I have used KevsnoTrev's way which I did not see before... Thank you to both of you though!!! Dirty Haz Edited August 19, 2013 by Dirty Haz Edit/Update Share this post Link to post Share on other sites
kylania 567 Posted August 19, 2013 Trigger BLUFOR PRESENT ONCE Condition: this && isServer OnAct: ied = createVehicle ["Land_HumanSkull_F", getMarkerPos "mark1", ["mark2", "mark3"], 0, ""]; Change "mark1" - "mark3" to be your marker names. Change the humanskull to whatever your IED is. :) Share this post Link to post Share on other sites
Von Quest 1161 Posted August 19, 2013 This is kinda neat. How would you getPos the Map cord of the Marker? Have a "Recon" idea in the works also that was further down my list... At some point would like to rely more on Map navigation than the magic glowing Markers on the Map. Would have Random Markers with alpha 0. I guess you would also have to create (or instead of the Markers) Triggers to know exactly when you reached that invisible Recon point, huh? Share this post Link to post Share on other sites
Larrow 2779 Posted August 20, 2013 How would you getPos the Map cord of the Marker? _mapCoords = mapGridPosition (getMarkerPos "myMarkerName"); I guess you would also have to create (or instead of the Markers) TriggersA nice easy way is _trigger = [objnull, "myMarkerName"] call BIS_fnc_triggerToMarker; This will make a new trigger that is the same size and position of the passed in marker name (marker has to be of type "RECTANGLE" or "ELLIPSE"). Share this post Link to post Share on other sites
Von Quest 1161 Posted August 20, 2013 (edited) Al right! Throwing up the white flag. I think I'm lost in my smallest script. I feel like I'm going backwards... For the RECON scenario, I gave up on the Marker angle for this one and was using Objects instead. I can do a bit more and faster with the Object variation. I can get this to work with 1 object, but not from a list (array). //RECON: Find and Record Intel at Random Locations /////////////////////////////////////////////////// _reconTest = ["reconObj1","reconObj2"]; { _mapCoords = (getPos _reconTest); } forEach _reconTest; player sideChat format["%1","%2", _mapCoords]; For testing I'm using 2 of the Road Cones so I can find them and check the Trigger. When I change it from the 1 to the 2 Cones it doesn't spit out the Map Cords text. Oh! AND how would you delete the Object/Trigger/Location after you found it? I'm using Radio Triggers to see the List. But once you find the location and Trigger it; the next time you use the Radio Trigger it should be removed from the list. Edited August 20, 2013 by Goblin grammar Share this post Link to post Share on other sites
kylania 567 Posted August 20, 2013 o.O Basically every line in that is wrong. :) First line is technically correct, you're creating an array with two elements, both strings. This is fine on it's own. However you wanted those to be objects, so you'd need to drop the " " around them, otherwise they are strings. The problem comes in when you try to use getPos _reconTest. That's actually two problems. First is that getPos requires an object not an array. And even if you'd properly replaced _reconTest with _x as the current element it would still be wrong because then you'd be trying to getPos on a string, which again requires an object. The forEach is technically correct, just used wrong. :) The format is incorrect, you have two " " areas and %2 for the second element but you only give it one element, the _mapCoords, which would end up being undefined since you tried to getPos an array or string. _reconTest = [reconObj1,reconObj2]; _mapCoords = []; { _mapCoords set [count _mapCoords, (getPos _x)]; } forEach _reconTest; player sideChat format["%1", _mapCoords]; // Would print out something like: // [[1234, 1234, 0], [4321, 4321, 0]] // Then you could do this to list both locations of objects: { player sideChat format["Object %1 is at location %2", _reconTest select _x, _mapCoords select _x]; } forEach [0, 1]; The main problem with this is the base idea is wrong. This just doesn't seem like the proper approach for whatever you're trying to do. :) You would already have the object name and object location of the road cones from when you created them. No need to look them up later, mash them together and print them out again. What is this radio trigger you're talking about? Are you trying to do something like delete roadcones around you by using a radio trigger as you move? Share this post Link to post Share on other sites
Von Quest 1161 Posted August 20, 2013 Perhaps a little more context... One thing I really strive for is more immersion and simulation. I want to take out as much of the 'game' as possible to get that maximum suspension-of-disbelief. No hand-holding, no Tasks, no crosshairs, no help. Only 1 Life! Just you verses the Mission. For me, a large part of that immersion and deeper satisfaction comes from not at shooting cartoon bad guys. That can get monotonous and numbing. But from just trying to beat the Map itself. Solving puzzles, problem-solving, planning. I'm interested in the strategic side as much as the tactical side. For my RECON system (WIP and will be expanded upon) I needed to generate a list of random locations for each and every time you may be assigned this type of mission by upper command. Using Markers was problematic. The orange road cones were just for testing so I could see and find them. Obviously you wouldn't be hunting these dangerous squishy construction accessories in an actual Mission. In my Black-Ops, you'd be on a lot of smaller, surgical-style missions that are very organic and always in flux. For EXAMPLE: Command may call you up and send deep behind enemy lines just to gather Intel. You are always advised to NEVER engage the enemy unless its absolutely necessary. They brief you and hand you the file. You only know X, Y, and Z. They need you to go in and get eyes-on these specific locations. Then get back out alive with that first-hand Intel. Maybe they saw something on SAT Photos that they need you to verify. Maybe they need to know the terrain in these spots for a future "official" larger-scale mission. You just never know... So, I need a series of random locations to check and record. The object placement just was easier to setup and manipulate in the Editor. (Plus other variations on this theme with objects) I wanted to pull-up the random map-cords (3-7) in text only format so YOU as a human player have to navigate to each one without any bright marker to walk toward and hold-your-hand so-to-speak. Real life navigation. That make sense? Feel like I'm babbling now. The Radio Trigger is used to show you all the spots you need to check via text only. Now we have another layer to the combat. Can you find them? You may end up in the middle of nowhere. Who knows?... The DELETE thing was just to cross them off the list the next time you check with your Radio Trigger. When the Radio Trigger finally returns nothing you'd know its time to sneak back into NATO territory. Not really necessary at this point. Was just wondering. I wasn't even planing on this section of my epic list; but since some asked I thought I'd jump in and widdle away for a day or two on it. o.O Basically every line in that is wrong. I'm pretty sure I nailed the first two comment lines, thank you very much! :cool: Share this post Link to post Share on other sites
kylania 567 Posted August 20, 2013 Ok, so it sounds like you want to generate a mission with x number of objectives. They objectives are given to the player as grid coordinates based on an object location in game. You want to be able to bring up a list of coordinates via radio trigger (or whatever) and want a way to remove completed objectives from the radio list? Basically a simplified task list via radio. In some cases it'll be recovery of an item, in others it's simply being there to detect or not enemy units, perhaps other times it's "taking a picture" of a vehicle or building. As I'd suspected this concept is a bit out of scope for this thread. I'd be happy to help you work on the parts you'll need for your mission though. Poke me on Steam or PM maybe? Share this post Link to post Share on other sites
Von Quest 1161 Posted August 20, 2013 Bingo! The original idea was to use Markers + Distance in concert with the Recon. A harder variation is you ONLY get the distance. Can you imagine trying to find that? This would simulate a good 'homing-beacon', Downed Pilot, etc Mission... Anyway, Thanks again! (Always have you in mind for my SQF quagmire woes.) Share this post Link to post Share on other sites