relanat wrote: ↑Tue Apr 04, 2017 5:41 am
shpOrder
really needs a tutorial or more documentation. I'm still struggling with it but here's some stuff that might help (or at least generate discussion that helps).
I think 'follow' only works if the object that is to follow is an auton or possibly only a mule auton. It could need something in the controller code to make this work.
Possibly/similarly/maybe 'escort' needs a wingman or auton controller thingy too, or something in the ShipClass code to make it work, or sovereign/disposition clashes can cause this gating behaviour too. Others will have to confirm or deny this because I'm not really sure (the wingmen I'm working on are, unfortunately, quite independent
).
If that gets too hard maybe a recurring event that puts the Explorer 30ls behind the playership using 'goToPos' or something.
Not relevant here because you are escorting the playership, but if you want an object to escort something other than the playership, I've had success by 'setq'ing the escort target as escortTarget or some similar value and using that in the shpOrder code rather than creating or finding the object in the shpOrder code.
And thanks for the teaser too. I always get excited when I see another post by you in this topic (and then get mildly disappointed when it isn't the mod being released
).
PS: scrExitDock has been deprecated and in some circumstances can cause problems (credit to AP for that maybe?). scrExitScreen is the new code.
too many words for my glasses to focus on at one time
)
The "Problem" with the orders has always been like the Panes running between
"OnInit" & " Initialize" : they keep changing around when what was already there
and worked just fine.
'forceUndock used to be <Exit/> ( sometimes it still works )
Code: Select all
(scrExitScreen gScreen 'forceUndock)
'followPlayer is an Old order, used on NPC ships & some Autons. ( example )
Code: Select all
(block Nil
(if (not aTargetObj)
(setq aTargeObj gPlayerShip)
)
'followPlayer
)
I do believe the engine will still obey the old commands if they are set out right :
all this "depreciating" going is just insane Leave-it-to-beaver nonsense.
they aren't even posting alternatives to the orders they think they have a better plan over.
Anyway : sometimes you have to make things up : remember the ships can "detect" the Player , etc at distances : (ls (objGetDistance gPlayerShip gSource) 25) +++ make up a line that tells the ship to maintain that distance to the player, if the player hits a distance to a gate. order it to escort and hit the gate with the player....so ..basically you will be building a custom behavior
where you can tail the Player but without escorting them.
another way to do it is not to use the PlayerShip : but something ON the PlayerShip : I once had a ship that locked onto an item in the Player's cargo hold.....if the player had the item, the ship would guard the Item ( but not the PlayerShip )...kind of like Gollum with his Precious...
Flying Irresponsibly In Eridani......
I don't like to kill pirates in cold blood ..I do it.. but I don't like it..