[ALPLUGIN] Xenon Migration V1.40 : Update 09/01/2007
Moderators: Scripting / Modding Moderators, Moderators for English X Forum
-
- Posts: 379
- Joined: Sat, 9. Sep 06, 22:35
-
- Posts: 10
- Joined: Sat, 8. Apr 06, 15:45
sorry but it is a probleme with french file(33)
see the file:
447546:
edit:
if have a similare probleme with the marchand guild(readttext....) and can'tuse it too
see the file:
447546:
337546<?xml version="1.0" encoding="UTF-8" ?>
<language id="44">
<page id="7546" title="Xenon Mirgration">
<t id="1">Xenon Migration</t>
<t id="2">[author]Xenon Migration Configuration[/author]Select the level of difficulty you wish to use for Xenon Migration\n\n
[select value="1"]Easy[/Select]\n
[select value="2"]Medium[/Select]\n
[select value="3"]Hard[/Select]\n
[select value="4"]X-Treme[/Select]\n
[select value="auto"]Auto Difficulty[/Select]\n
</t>
<t id="3">Xenon Migration: \033GConfiguration\033X</t>
</page>
</language>
the french file is empty.... and in game we have a readtext75xx-2(forgot75xx sry)<?xml version="1.0" encoding="UTF-8" ?>
<language id="33">
<page id="77546" title="Xenon Mirgration">
<t id="1">Migrations des Xénons</t>
</page>
</language>
edit:
if have a similare probleme with the marchand guild(readttext....) and can'tuse it too
-
- Moderator (Script&Mod)
- Posts: 22437
- Joined: Sun, 14. Nov 04, 23:26
-
- Posts: 379
- Joined: Sat, 9. Sep 06, 22:35
Yup, selected difficultly level > saved > continued playing > saved again (multiple times) > died > loaded most recent saved game > select difficulty dialog appears again. Rinse and repeat. The xenons would still migrate after I made the selection anew each time, but it was getting a little bothersome so I just hardcoded the medium value.
The earlier version (pre X3 2.0) worked fine.
The earlier version (pre X3 2.0) worked fine.
-
- Posts: 15
- Joined: Mon, 25. Sep 06, 23:51
I've been using the latest version and it's still creating invincible Xenon. I tried using your Destruct Ship script to get rid of them but that doesn't work either. Is it possible that these Xenon have ceased to exist but haven't been removed? Any ides on a quick fix to rid my universe of these phantoms? ....Oh and removing the script didn't work.
Just had a thought. If the Xenon reach their final destination what happens to them? Are they removed by the script? Because all my invincible ships are hanging around in Xenon Sector 347.
Just had a thought. If the Xenon reach their final destination what happens to them? Are they removed by the script? Because all my invincible ships are hanging around in Xenon Sector 347.
-
- Moderator (Script&Mod)
- Posts: 22437
- Joined: Sun, 14. Nov 04, 23:26
they should be removed once reching thier destination.
you could check what commands are running on the ships that are invicible. but as i said, the improves will only effect new ships that are created, not ships that are already in the game.
so if you already had invicible ships, then it wont effect them.
but it does make sense for them to hand around the target sector, they are removed exactly the same way the destruct target works, so if that doesn't work, then they also wont be able to get removed by the script.
ill carry on testing it when i get chance to c if it can find any other problems
you could check what commands are running on the ships that are invicible. but as i said, the improves will only effect new ships that are created, not ships that are already in the game.
so if you already had invicible ships, then it wont effect them.
but it does make sense for them to hand around the target sector, they are removed exactly the same way the destruct target works, so if that doesn't work, then they also wont be able to get removed by the script.
ill carry on testing it when i get chance to c if it can find any other problems
-
- Posts: 15
- Joined: Mon, 25. Sep 06, 23:51
-
- Moderator (Script&Mod)
- Posts: 22437
- Joined: Sun, 14. Nov 04, 23:26
the leaderdies is the one thats causing the problem from xenon migration, if the other ships are just running standard attack scripts, its likly they were not part of Xenon Migration.
whats happening is the script gets stuck for some reason, even thou all it does is change the leader and assigned the xenon move script to the new leader.
coz it gets stuck and doesn't finish, the ship never dies.
im gonna try to work on a script that will attempt to remove this, most likly creating a temport station, moving all the ships to this station and blowing it up
whats happening is the script gets stuck for some reason, even thou all it does is change the leader and assigned the xenon move script to the new leader.
coz it gets stuck and doesn't finish, the ship never dies.
im gonna try to work on a script that will attempt to remove this, most likly creating a temport station, moving all the ships to this station and blowing it up
-
- Posts: 4
- Joined: Mon, 1. Jan 07, 22:16
-
- Posts: 6
- Joined: Tue, 26. Jul 05, 01:10
Hello everybody and happy new year. I am new to the forum and to the world of sripting in X games, though I have some experience in general sripting and programming.
In fact, I have begun to learn about sripts due to the bug of indestructible ships in Xenon Migration AL plugin and I have just realized that in al.xenon.move there is mistake, or I think so. I think that inside the loop the variable $sector should be updated. Maybe I am wrong, but this script is causing an endless loop (although I cannot see a connection between this and the bug)
Anyway, I have been doing some tests and I have seen that indestructible ships are all running on top al.xenon.leader.dies (why all of them?) with prio 100 and interrupts tagged as blocked. Does it mean that there is no way of interrupting al.xenon.leader.dies (it seems to be stuck) and destroying these ships?. Because I think that these indestructible ships are the cause of my savegames being bigger and bigger. Maybe all of this are paranoias
.
I know that Cycrow has not posted in the forum since acouple of weeks (I guess is on holydays) but I also know that in this forum there are a lot of good sript gurus. Could someone tell me something about all of this?. Thank you.
PS:
... not bad for my first post 
In fact, I have begun to learn about sripts due to the bug of indestructible ships in Xenon Migration AL plugin and I have just realized that in al.xenon.move there is mistake, or I think so. I think that inside the loop the variable $sector should be updated. Maybe I am wrong, but this script is causing an endless loop (although I cannot see a connection between this and the bug)
Anyway, I have been doing some tests and I have seen that indestructible ships are all running on top al.xenon.leader.dies (why all of them?) with prio 100 and interrupts tagged as blocked. Does it mean that there is no way of interrupting al.xenon.leader.dies (it seems to be stuck) and destroying these ships?. Because I think that these indestructible ships are the cause of my savegames being bigger and bigger. Maybe all of this are paranoias

I know that Cycrow has not posted in the forum since acouple of weeks (I guess is on holydays) but I also know that in this forum there are a lot of good sript gurus. Could someone tell me something about all of this?. Thank you.
PS:


-
- Posts: 48
- Joined: Tue, 25. Apr 06, 23:15
Cycrow, are you nearer to finding a solution to the invicible xenon ships problem ??
I was really enjoying using this script but had to turn it off since some of the xenon sectors were starting to fill up with these indestructible little buggers.
I know you are probably busy but this script really livens up my universe. Cheers.
I was really enjoying using this script but had to turn it off since some of the xenon sectors were starting to fill up with these indestructible little buggers.
I know you are probably busy but this script really livens up my universe. Cheers.
This bloody game is starting to take over my life !!!!!!!
-
- Posts: 6
- Joined: Tue, 26. Jul 05, 01:10
Cycrow,
after doing several tests, I think I've found the origin of the bug. For what I read in your scripts the idea is that once the patrol have reach their destination the leader is destroyed (in al.xenon.move) and a new leader is designated (in al.xenon.leader.dies) and given the order of starting al.xenon.move. Since they are at the destination sector, the new leader is destroyed and so on, until the whole patrol is destroyed.
It seems that this process of destroying the leader, designate a new leader, destroy the new leader... ; is done too fast without any interruption and the script engine get messed up.
Including a random wait just before the destruct instruction in al.xenon.move makes the process working as it should.
Anyway, I cannot find a way to destroy these immortal ships; and I have tryed almost everything (getting some odd results). At least I have checked that your idea of putting them into a station and then blow up the station works fine.
Hope this can help you
after doing several tests, I think I've found the origin of the bug. For what I read in your scripts the idea is that once the patrol have reach their destination the leader is destroyed (in al.xenon.move) and a new leader is designated (in al.xenon.leader.dies) and given the order of starting al.xenon.move. Since they are at the destination sector, the new leader is destroyed and so on, until the whole patrol is destroyed.
It seems that this process of destroying the leader, designate a new leader, destroy the new leader... ; is done too fast without any interruption and the script engine get messed up.
Including a random wait just before the destruct instruction in al.xenon.move makes the process working as it should.
Code: Select all
001 $sector = [THIS] -> get sector
002
003 while $sector != $destination
004 @ = [THIS] -> call script '!move.movetosector' : sector=$destination
005 @ = wait 100 ms
006 end
007
008 @ = wait randomly from 100 to 200 ms
009 [THIS] -> destruct: show no explosion=[TRUE]
010 return null
Hope this can help you

-
- Moderator (Script&Mod)
- Posts: 22437
- Joined: Sun, 14. Nov 04, 23:26
actually i've thought of a better way to do that. Ill try get it added to the script soon.
but basically, its reverting the signals back to defaults, then killing the whole patrol in one go, should work.
i will also be testing this with invinicle ships too, and possibly add a way to make sure it removes all of them as well
but basically, its reverting the signals back to defaults, then killing the whole patrol in one go, should work.
i will also be testing this with invinicle ships too, and possibly add a way to make sure it removes all of them as well
-
- Posts: 3461
- Joined: Fri, 4. Feb 05, 13:44
Seeing this script and reading only the last 3 posts on this topic I think I may have an answer to *some* problems ...
this bit of code
wont work ....
first the current sector of the ship is taken than it enters a loop to compare its destination with that current sector, now as the current sector is never updated the loop will never end and the ship will always (try) to keep flying to de destination-sector (even if it already is there)
changing the code to something like this should already solve that
the first time there will be no sector and so the script will enter the loop as null != an existing sector (nice feature is that if the destination would be forgotten the script will pass the loop and go right to the destruction part, keeping the uni. clean of unused ships)
than it will get its current sector (wich is hopefully already the next sector, saving you a single check (not much but its something ..
)) and as long as it isnt the same as the destination it will stay in the loop
(only thing that than may be added is a check for a possibilty to get to the destination, as not every game is in a vanilla uni. where all sectors are connected)
G
this bit of code
Code: Select all
001 $sector = [THIS] -> get sector
002
003 while $sector != $destination
004 @ = [THIS] -> call script '!move.movetosector' : sector=$destination
005 @ = wait 100 ms
006 end
007
008 @ = wait randomly from 100 to 200 ms
009 [THIS] -> destruct: show no explosion=[TRUE]
010 return null
first the current sector of the ship is taken than it enters a loop to compare its destination with that current sector, now as the current sector is never updated the loop will never end and the ship will always (try) to keep flying to de destination-sector (even if it already is there)
changing the code to something like this should already solve that
Code: Select all
002
003 while $sector != $destination
004 @ = [THIS] -> call script '!move.movetosector' : sector=$destination
005 @ = wait 100 ms
001 $sector = [THIS] -> get sector
006 end
007
008 @ = wait randomly from 100 to 200 ms
009 [THIS] -> destruct: show no explosion=[TRUE]
010 return null
the first time there will be no sector and so the script will enter the loop as null != an existing sector (nice feature is that if the destination would be forgotten the script will pass the loop and go right to the destruction part, keeping the uni. clean of unused ships)
than it will get its current sector (wich is hopefully already the next sector, saving you a single check (not much but its something ..

(only thing that than may be added is a check for a possibilty to get to the destination, as not every game is in a vanilla uni. where all sectors are connected)
G
-
- Moderator (Script&Mod)
- Posts: 22437
- Joined: Sun, 14. Nov 04, 23:26
-
- Posts: 6
- Joined: Tue, 26. Jul 05, 01:10
yes, that is the problem that I pointed out in my first post (and the reason why you find so many xenon when you entered a xenon sector
), and I think that making a new version of the plugin that work fine should not be very difficult.
But the problem of indestructible ships still remains. All these ships won't disappear just updating the plugin. Cycrow, I have tryed your idea of reverting the signals back to defaults, and then killing the ships, and it does not work with these ships. What I have done is writing a script that find the problematic ships and, for each ship, call another script (with START) which reverts the signal and destroy the ship:
The only thing I got is interrupting al.xenon.leader.dies. I have also tryed to set the owner race for these ships as player and then sending them to a shipyard in order to sell them. To my surprise, after selling them, they appeared again
PS: sorry to be such a bore
but I would like to see the plugin working again

But the problem of indestructible ships still remains. All these ships won't disappear just updating the plugin. Cycrow, I have tryed your idea of reverting the signals back to defaults, and then killing the ships, and it does not work with these ships. What I have done is writing a script that find the problematic ships and, for each ship, call another script (with START) which reverts the signal and destroy the ship:
Code: Select all
008 [THIS] -> set ship command/signal SIGNAL_KILLED to global default behaviour
009 [THIS] -> destruct: show no explosion=[TRUE]
010
011 return null

PS: sorry to be such a bore
