Does anybody know if objGateTo will accept a marker created by sysCreateMarker as its 3rd argument?
It doesn't seem to, in which case is there anyway to gate the player to an previously identified spot in another system?
Any help is appreciated.
On a related note the Xelerus function list (which is great by the way) seems to incorrectly identify sysCreateMarker as retuning True, it actually returns the marker object as far as I can tell.
objGateTo and dynamic Marker Objects
- digdug
- Fleet Admiral
- Posts: 2620
- Joined: Mon Oct 29, 2007 9:23 pm
- Location: Decoding hieroglyphics on Tan-Ru-Dorem
There are a few errors in the function list on xelerus, mostly because the list was originally assembled with 0.98d version.On a related note the Xelerus function list (which is great by the way) seems to incorrectly identify sysCreateMarker as retuning True, it actually returns the marker object as far as I can tell.
Thanks for the report !

- Periculi
- Fleet Officer
- Posts: 1282
- Joined: Sat Oct 13, 2007 7:48 pm
- Location: Necroposting in a forum near you
This was an issue when Apemant built the jump to beacon mod. The way he got it to work was to place a marker in the system stargate code, and use script to move the marker to where it needed to be. Then you can gate to the marker from any system.
So I guess the answer is no, unfortunately. But you can get a work around to do the same thing with a little extra effort.
So I guess the answer is no, unfortunately. But you can get a work around to do the same thing with a little extra effort.
- digdug
- Fleet Admiral
- Posts: 2620
- Joined: Mon Oct 29, 2007 9:23 pm
- Location: Decoding hieroglyphics on Tan-Ru-Dorem
Moreover Apemant rewrote his Portable Stargates mod taking advantage of the new 0.99 functions.
you can take a look how he made it working.
http://xelerus.de/index.php?s=mod&id=212
you can take a look how he made it working.
http://xelerus.de/index.php?s=mod&id=212
- Periculi
- Fleet Officer
- Posts: 1282
- Joined: Sat Oct 13, 2007 7:48 pm
- Location: Necroposting in a forum near you
Portable stargates creates stargates to use that stick around. Jump to Beacon uses the Markers to gate to directly. I believe they both use the manually placed markers in the system to work.
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
Moving between systems is a tricky buisness as you may have gathered. The only place you can actually land in a system is at a previously defined stargate. You cannot add a stargate to a system you are not currently residing in.hex wrote:Does anybody know if objGateTo will accept a marker created by sysCreateMarker as its 3rd argument?
It doesn't seem to, in which case is there anyway to gate the player to an previously identified spot in another system?
As it seems you want to moved to a previously determined spot, there is the posibility of droping a hidden gate at that point beforehand. You should then be able to target that gate from another system (disclaimer: I have not tried this, but it would be one of my first approaches)
Another approach involves triggering a series of events. You would basically move the player to some gate in the target system, and upon arival port him internally in the system. As you may know, we can start and stop certain timers in T, and register functions to trigger on certain events. Unfortunately we have no <OnPlayerEnteredSystem> event to attach to, so the above solution would require some timer mangling. A suggested approach could be:
Player triggers system travel device. Record the id of the system player currently residing in, and the desired target location. Place a item timer on the player ship, running an update function every 30 ticks (~1sec). Trigger the gate. In the update function check if current system is different from the stored one. If yes, trigger systemPort to the stored location. Clean up (ie, remove timer device, and stored vars).
At that point the player would reside at a new spot, but would have had to make 2 jumps (not unrealistic imo).
Anyways, feel free to ask on IRC if you want some clarification.
.]
- Periculi
- Fleet Officer
- Posts: 1282
- Joined: Sat Oct 13, 2007 7:48 pm
- Location: Necroposting in a forum near you
Actually you can do it with system markers, if you set them up correctly.
Apemant's Jump to Beacon Mod worked great for this. You can jump right to the position you set with the beacon, it just took a little workaround to set up the system markers correctly.
Here is the original discussion on using objGateTo to jump to a beacon or position set by a player.
It's really rather easy to achieve once you get the markers figured out.
Apemant's Jump to Beacon Mod worked great for this. You can jump right to the position you set with the beacon, it just took a little workaround to set up the system markers correctly.
Here is the original discussion on using objGateTo to jump to a beacon or position set by a player.
It's really rather easy to achieve once you get the markers figured out.
Thank you all, you've all been very helpful!
I got it working using Periculi's suggestion; moving a pre placed Marker. It was not overly complicated to implement (after the very painful hour where I forgot about sysGetObjectByName and tried to use sysFindObject...)
@alterecco
I tried something smiler to what you described after my first failed attempt, it seemed to nearly work except my timer was disappearing after gating I wasn't sure how to get past this, being unfamiliar with the timers so eventually I gave up on the approach. <OnPlayerEnteredSystem> would be very helpful!
Thanks again everyone!
I got it working using Periculi's suggestion; moving a pre placed Marker. It was not overly complicated to implement (after the very painful hour where I forgot about sysGetObjectByName and tried to use sysFindObject...)
@alterecco
I tried something smiler to what you described after my first failed attempt, it seemed to nearly work except my timer was disappearing after gating I wasn't sure how to get past this, being unfamiliar with the timers so eventually I gave up on the approach. <OnPlayerEnteredSystem> would be very helpful!
Thanks again everyone!

Hmm...
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
Ahh, that is very cool. I only though stargates had "Labels" in other systems. Neat!
But i'm glad you made it work with a simpler solution. The timer solution is a mess really.
.]
Your problem is most likely that the obj carrying the timer did not move to the new system along with you. Timers are in most cases bound to spaceObjects, and when you are in another system, those objects don't really exists, ergo their timers stop running. The most obvious solution in this case would be to use the <OnUpdate> event of an item bult specifically for that purpose.hex wrote:@alterecco
I tried something smiler to what you described after my first failed attempt, it seemed to nearly work except my timer was disappearing after gating I wasn't sure how to get past this, being unfamiliar with the timers so eventually I gave up on the approach.
But i'm glad you made it work with a simpler solution. The timer solution is a mess really.

.]
- Periculi
- Fleet Officer
- Posts: 1282
- Joined: Sat Oct 13, 2007 7:48 pm
- Location: Necroposting in a forum near you
For reference: No timers move to new systems. Including a timer placed on the playership. Because it's system based. You don't actually attach the timer to the object, you point to an event in an object with a system timer.
For further reference: Setting a system timer to an event on a stargate or similar object in each system that references a global value (such as stored on a playership) works great and gives you a global timer effect. You simply create a timer in every system and have them all check the same thing each period. Easy.
For further reference: Setting a system timer to an event on a stargate or similar object in each system that references a global value (such as stored on a playership) works great and gives you a global timer effect. You simply create a timer in every system and have them all check the same thing each period. Easy.
- alterecco
- Fleet Officer
- Posts: 1658
- Joined: Wed Jan 14, 2009 3:08 am
- Location: Previously enslaved by the Iocrym
There is one timer that moves. Those placed on items in their <OnUpdate> event, where the item is in turn placed on the playership. It is a very unflexible event (only runs every 30 ticks), but it works for stuff that absolutely must continue across systems (without setting up a timer network (or overriding vanilla xml, (hrrhmm...))).Periculi wrote:For reference: No timers move to new systems. Including a timer placed on the playership. Because it's system based. You don't actually attach the timer to the object, you point to an event in an object with a system timer.
For further reference: Setting a system timer to an event on a stargate or similar object in each system that references a global value (such as stored on a playership) works great and gives you a global timer effect. You simply create a timer in every system and have them all check the same thing each period. Easy.
.]
- digdug
- Fleet Admiral
- Posts: 2620
- Joined: Mon Oct 29, 2007 9:23 pm
- Location: Decoding hieroglyphics on Tan-Ru-Dorem
With my mods, I'm trying to get only 1 <OnUpdate> running and put all the code on it.
I'm even hooking other XMLs to use that single event. (thanks Periculi, I'm using a modified version of your hooking and mod checking code)
I have something like 2000 lines of code running on a single OnUpdate event without significant slowdowns. (just a small 0.2 secs pause when I enter a new system)
I'm even hooking other XMLs to use that single event. (thanks Periculi, I'm using a modified version of your hooking and mod checking code)
I have something like 2000 lines of code running on a single OnUpdate event without significant slowdowns. (just a small 0.2 secs pause when I enter a new system)