forums | blogs | polls | tutorials | downloads | rules | help

Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in remember_me_form_alter() (line 78 of /var/www/siegetheday.org/sites/all/modules/contrib/remember_me/remember_me.module).

Starting Groups

I can't seem to get the Starting Groups in Siege Editor 2 to work. When I create a region and go to Settings -> Starting Groups hit New. But when I save out the map the starting_positions.gas does not include the new group. Any insight would be appreciated.

It's not very intuitive in how this is implemented. I found out with trial and error.

It's not enough to create a new starting group for it to be saved in the map. You also have to have starting positions assigned to the starting group for it to be saved with the map.

Siege Editor 2 does this automatically for the first region created in a map (called 'default') but I believe not for any further regions created from then on (not 100% sure about that though).

iryan wrote:
It's not very intuitive in how this is implemented. I found out with trial and error.

It's not enough to create a new starting group for it to be saved in the map. You also have to have starting positions assigned to the starting group for it to be saved with the map.

Siege Editor 2 does this automatically for the first region created in a map (called 'default') but I believe not for any further regions created from then on (not 100% sure about that though).

But I don't see how the start_group links to the proper region. Are does it do it by the start_group name?

brkopac wrote:
But I don't see how the start_group links to the proper region. Are does it do it by the start_group name?

All start positions are located in start_positions.gas found in the info folder of the map.

You are quite correct that the region name isn't specified in this file. However I presume that the way the game finds the start position is from the position information in the start_position block for each start group. This position information actually refers to the node the starting position is located on. There's no reference at all to a region's guid.

So no start position information in the start group, means that the start group is empty, so the Editor doesn't save it when saving the map.

I believe that this means that you could have start positions in different regions all linked to the same start group. You definitely can have them spread out in different areas of the map, as demonstrated by some third party maps.

iryan wrote:
brkopac wrote:
But I don't see how the start_group links to the proper region. Are does it do it by the start_group name?

All start positions are located in start_positions.gas found in the info folder of the map.

You are quite correct that the region name isn't specified in this file. However I presume that the way the game finds the start position is from the position information in the start_position block for each start group. This position information actually refers to the node the starting position is located on. There's no reference at all to a region's guid.

So no start position information in the start group, means that the start group is empty, so the Editor doesn't save it when saving the map.

I believe that this means that you could have start positions in different regions all linked to the same start group. You definitely can have them spread out in different areas of the map, as demonstrated by some third party maps.

Yup, this makes sense. I managed to get some teleporting working. Unfortunately, it looks likes you have to have the regions stitched together in-order to teleport between them.

brkopac wrote:
Yup, this makes sense. I managed to get some teleporting working. Unfortunately, it looks likes you have to have the regions stitched together in-order to teleport between them.

Stitching regions together isn't required in order to teleport between them.

For instance look at Legends of Aranna from the DS1 Legendary Mod. There's four places where portals are used to link regions that aren't stitched together. Between the Lost Queen's Dungeon and the Island, The Dark Jungle and the secret region, Jerkhal's Crown and the Highlands and the Zaurask Fortress underground to the mesa. None of these regions are stitched to the other.

Portals are also start groups but are special as they only require 1 starting position for the entire party (normal starting groups require at least 6 or some of the party could be stuck in the void). The portal itself is a gizmo, where you reference the name of the start group to use with it (I name all of my portals something like a1_r6_portal so I know what they are).

Teleporters also don't require regions to be stitched together, after all in DS2 you can travel from Zaramoth Horns all the way back to Eirolon. Normally however you have to reach a teleporter first in order to be able to activate it so they are primarily used to travel backwards. Portals generally are used the opposite way, you use them to travel to somewhere you have never been to.

However that's just convention. If you simply enable a destination not yet reached in the enable_dest_names line of the teleporter block of the teleporter gizmo, you'll be able to reach a teleporter you've not been to yet. I've done this in testing maps so I know it works.

iryan wrote:
brkopac wrote:
Yup, this makes sense. I managed to get some teleporting working. Unfortunately, it looks likes you have to have the regions stitched together in-order to teleport between them.

Stitching regions together isn't required in order to teleport between them.

For instance look at Legends of Aranna from the DS1 Legendary Mod. There's four places where portals are used to link regions that aren't stitched together. Between the Lost Queen's Dungeon and the Island, The Dark Jungle and the secret region, Jerkhal's Crown and the Highlands and the Zaurask Fortress underground to the mesa. None of these regions are stitched to the other.

Portals are also start groups but are special as they only require 1 starting position for the entire party (normal starting groups require at least 6 or some of the party could be stuck in the void). The portal itself is a gizmo, where you reference the name of the start group to use with it (I name all of my portals something like a1_r6_portal so I know what they are).

Teleporters also don't require regions to be stitched together, after all in DS2 you can travel from Zaramoth Horns all the way back to Eirolon. Normally however you have to reach a teleporter first in order to be able to activate it so they are primarily used to travel backwards. Portals generally are used the opposite way, you use them to travel to somewhere you have never been to.

However that's just convention. If you simply enable a destination not yet reached in the enable_dest_names line of the teleporter block of the teleporter gizmo, you'll be able to reach a teleporter you've not been to yet. I've done this in testing maps so I know it works.

Let's dig at this a bit as I think I was unclear in my previous post. The maps don't have to be stitched together directly but they do have to connect in some logical fashion. For example: If you create two regions in Siege Editor and setup two different start_groups in the starting_positions.gas file you won't be able to teleport between them. When I run the following
                   else if (cmd$ == "/teleport")
                    {
                        string arg$ = StringTool.GetDelimitedString (text$, 1, ' ');

                        report.screenf ("teleporting to %s", arg$);

                        Game.STeleportPlayerParty (Server.ScreenHero.Goid, 8.0, arg$);
                    }
It will start the teleportation cut scene and promptly put you back to the default starting group. There seems to be a few other teleport functions that involve SCIDs but I haven't been able to get them to move my character.

However, if you stitch the two regions together, or stitch a region between them, the teleporting will work correctly. If you don't stitch them you will see an error in the developer console that says "Cannot find end position for goal".

brkopac wrote:
Let's dig at this a bit as I think I was unclear in my previous post. The maps don't have to be stitched together directly but they do have to connect in some logical fashion. For example: If you create two regions in Siege Editor and setup two different start_groups in the starting_positions.gas file you won't be able to teleport between them. When I run the following
                   else if (cmd$ == "/teleport")
                    {
                        string arg$ = StringTool.GetDelimitedString (text$, 1, ' ');

                        report.screenf ("teleporting to %s", arg$);

                        Game.STeleportPlayerParty (Server.ScreenHero.Goid, 8.0, arg$);
                    }
It will start the teleportation cut scene and promptly put you back to the default starting group. There seems to be a few other teleport functions that involve SCIDs but I haven't been able to get them to move my character.

However, if you stitch the two regions together, or stitch a region between them, the teleporting will work correctly. If you don't stitch them you will see an error in the developer console that says "Cannot find end position for goal".


I'm not sure about using skrit to teleport between regions and of course you're right that the regions have to have a common link - which is through the start_positions.gas.

Anyhow I made a demo map for Araknuum to demonstrate something for him so I extended it with a functioning teleporter and portal to link them together.
http://www.siegetheday.org/~iryan/files/Skybox_Test.ds2res

The two regions aren't stitched together but are linked through the start positions.

brkopac wrote:
. . .
Let's dig at this a bit as I think I was unclear in my previous post. The maps don't have to be stitched together directly but they do have to connect in some logical fashion. For example: If you create two regions in Siege Editor and setup two different start_groups in the starting_positions.gas file you won't be able to teleport between them. When I run the following
                   else if (cmd$ == "/teleport")
                    {
                        string arg$ = StringTool.GetDelimitedString (text$, 1, ' ');

                        report.screenf ("teleporting to %s", arg$);

                        Game.STeleportPlayerParty (Server.ScreenHero.Goid, 8.0, arg$);
                    }
It will start the teleportation cut scene and promptly put you back to the default starting group. There seems to be a few other teleport functions that involve SCIDs but I haven't been able to get them to move my character.

However, if you stitch the two regions together, or stitch a region between them, the teleporting will work correctly. If you don't stitch them you will see an error in the developer console that says "Cannot find end position for goal".

Hm, so far I thought teleporting across non-stitched nodes should work, basically.
Now, not under all circumstances as it seems... :o

As far as I know however, as location address (resp. variable 'arg$' in your code) you can you use a bookmarked location (see: world/maps/ds2_world/info/bookmarks.gas) or a reference on a node (syntax: 'n:0x12345678' without quotes, to teleport to its center supposed terrain moving permissions allow that).

A start postion alone (without corresponding bookmark) may not work for all skrit functions, or perhaps it's rejected as long as these start postions are not enabled yet.

iryan wrote:
brkopac wrote:
Let's dig at this a bit as I think I was unclear in my previous post. The maps don't have to be stitched together directly but they do have to connect in some logical fashion. For example: If you create two regions in Siege Editor and setup two different start_groups in the starting_positions.gas file you won't be able to teleport between them. When I run the following
                   else if (cmd$ == "/teleport")
                    {
                        string arg$ = StringTool.GetDelimitedString (text$, 1, ' ');

                        report.screenf ("teleporting to %s", arg$);

                        Game.STeleportPlayerParty (Server.ScreenHero.Goid, 8.0, arg$);
                    }
It will start the teleportation cut scene and promptly put you back to the default starting group. There seems to be a few other teleport functions that involve SCIDs but I haven't been able to get them to move my character.

However, if you stitch the two regions together, or stitch a region between them, the teleporting will work correctly. If you don't stitch them you will see an error in the developer console that says "Cannot find end position for goal".


I'm not sure about using skrit to teleport between regions and of course you're right that the regions have to have a common link - which is through the start_positions.gas.

Anyhow I made a demo map for Araknuum to demonstrate something for him so I extended it with a functioning teleporter and portal to link them together.
http://www.siegetheday.org/~iryan/files/Skybox_Test.ds2res

The two regions aren't stitched together but are linked through the start positions.

Okay so your map works in normal DSMOD with the teleport and the following skrit: Game.STeleportPlayerParty (Server.ScreenHero.Goid, 8.0, "skybox_02"); but not with my bits. Looks like I have done something with my bits that causes teleporting to break. I've currently removed most of the job skrits and re implemented them. I guess I'll have to backtrace and see what I changed. Thanks for all your help guys!