HowToAddMapsServerStendhal: Difference between revisions

Content deleted Content added
imported>Kymara
Adding Portals: new section make it pretty later
imported>Kymara
made prettier
Line 109:
Portals are created by adding a entries to your zone in '''zones.xml'''. For example creating a portal to an internal building entrance which is at 1 12 inside the building (and the outer entrance to go in is at 10 15) might look like:
 
<source lang="xml">
<pre>
<zone name="int_myarea_mylocation" file="interiors/myarea/mylocation.tmx">
<portal x="1" y="12" ref="entrance">
Line 121:
</portal>
</zone>
</presource>
 
The '''ref''' attribute of a portal should be a name unique to the zone it is in (and meaningful). This value has a corresponding reference via the '''<destination>''' ref name. You are responsible for correctly assigning the ref names of each portal.
Line 127:
A one way portal is a portal that only exists as endpoint, so none can use the portal to move back to the origin. For one way portals, there is no '''<destination>''' sub-element, as they don't go anywhere. Also, you need to provide a non-default implementation:
 
<source lang="xml">
<pre>
<portal x="11" y="44" ref="my_exit">
<implementation class-name="games.stendhal.server.entity.mapstuff.portal.OneWayPortalDestination"/>
</portal>
</presource>
 
The House door portal is a special type of portal that automatically creates all the portals and areas needed to add a house to that zone with its entrance on point where the portal is.
Line 145:
Implement them like this:
 
<source lang="xml">
<portal x="64" y="117" ref="entrance">
<destination zone="-1_semos_chasm_n" ref="exit" />
Line 153 ⟶ 154:
</implementation>
</portal>
</source>
 
You can use NotConditions:
 
<source lang="xml">
<portal x="65" y="13" ref="entrance">
<destination zone="-1_semos_chasm_w" ref="exit" />
Line 163 ⟶ 166:
</implementation>
</portal>
</source>
 
You can do more than one action by using MultipleActions and list the actions for it, and combine Conditions with an AndCondition, listing the conditions for it.
The syntax is slightly different than with NPCs, please note these extra [ ] surrounding the list. This is due to a bug in groovy.
 
<source lang="xml">
<portal x="37" y="16" ref="example1">
<destination zone="int_semos_zone" ref="choice_floor_1" />
Line 174 ⟶ 179:
</implementation>
</portal>
</source>
 
 
The destination settings and references are all as normal. You can still set other attributes like a reject message and hidden from minimap, as in some of the examples above.