DimensioneX/underworld/en/extending
Develop your own area and extend the game
We are seeking volounteers to write extensions to the game.
Developing an additional area for this game is easy, and adds fun and complexity to the game, making it more interesting. Full credits is given to all contributors. Join te team today!
How to
Download the latest DimensioneX kit from http://www.dimensionex.net and have it running on your PC. The kit already contains all the source files of Underworld.
Go to the DimensioneX members section and register yourself. Then, after entering the members section, you are able to access the member-only downloads section where you will find the Underworld graphics, uwpics.zip. The file must be unzipped in your dimx folder so that you have a new folder named uwpics parallel to the existing pics folder.
Go to your DimensioneX system folder, and edit the file dimensionex.properties. Change the following setting to:
serverType=local
Now you have the devlopment environment ready. You simply have to work on the underworld3.dxw file. Add monsters, objects, rooms. Be sure to get the Developer's Reference from the DimensioneX web site. Your new images should be added to the uw3 folder. The common libraries should not be modified, at least we need to agree on the changes to be made.
when developing you should work always on your own area. The best way is to access directly the server slot of Underworld3 (Area3). You have to modify the code to avoid to be sent back to Area 1. Comment this instruction out:
MoveOutside $AGENT,"Underworld"
Keep in touch with other developers on the Underworld forum. Update the shared library files (.DXL extension) from this downloads section on regular basis.
When your work is finished, if you have not done so yet, contact cris (at) dimensionex.net and describe briefly your area. We will decide together:
a) The number that will be assigned to your area (it will be renamed from underworld3 to underworldN)
b) Whether or not your images should be hosted on your own website or on Underworld's official web space. we normally prefer each developer has an independent web space for storing files and code and we can provide one for free.
c) How your area will be linked to what room of the central Underworld area (from the undergrounds? from the river? In some other way?).
Next, your area will be added to Underworld. You will be given an admin password for your area so that you can reset your area independently. Your area source code and images will be hosted on a web space which you will have exclusive password for, so you can update code and images whenever you like. You will be credited on this site and on DimensioneX site for your work.
Source Code Documentation
Character types
Humans Monsters type what is it? type what is it?
0 or "" unattackable 1 Human, warrior (has gender) 2 Human, magician (has gender) 3 Human, Priest 4 Human, Artisan (has gender) 5 Human self-moving robot (nkono) 6 Human, generic (asia) 7 Villain, human 10 False human (actually a werewolf) 11 Monster, generic 12 Bat (actually Vampire) 14 Vampire (has gender) 15 Stopping monster 16 Werewolf 17 Devilman 18 Villain, zombie 19 Dark Entity
Flags
attackable=0 - Excludes attack (only from Human players)
Asia status codes
status Meaning 0 or N/A Normal - waits for poem reading 2 In love - hooked to poem reader. If poem reader dies then resets to zero. When asia is in the chapel becomes 3 3 Asia ready to be married - waits for YES 4 YES received - Asia waits for the ring
Debugging
Set the debugmode variable in the config() subroutine of each area. Check comments for directions.
Extending the items catalogue
Here are some examples, as I inserted them into the catalogue:
bottle.antidote*antidote*level=1,value=20,icon=icoantidote.gif,showmode=2,imageurl=antidote.gif,imagew=60,imageh=90,uses=5*Universal antidote, effective against most poisons
gem.art.poisonattack*Gem of Poison*level=9,value=8000,icon=gem_poison.gif,imageurl=gem_poison.gif,imagew=48,imageh=48,showmode=2*By using this gem you learn an ATTACK Art: The Poison Attack - Adds poison to the inflicted damage
Syntax
(type) * (name) * (attributes) * (description)
(type)
examples:
* gem.art.artname * bottle.content * spell.attack.wind * weapon.##.subtype * helmet.##.subtype * shield.##.subtype * armour.##.subtype
about the # numbers: the first specifies the level of power/protection the second specifies the element 1=Water 2=Earth 3=Wind 4=Fire
subtype can be anything and will be interpreted by the code for special effects
(name)
Will be displayed in the catalogue for public
(attributes)
typical attributes are:
* level * value * icon * imageurl * imagew * imageh * showmode (showmode=2 means show icon when dropped instead of full image) * affi (format is: affi=#/#/#/# for Water/E/W/F) * power (for weapons) * protection (for protections)
these attributes are automatically interpreted and translated into on the ITA version so no need to change them!
- more attributes are optional (may require translation so avoid them)
(description)
Will be displayed for public
How to add an item to the catalog
1. Upload image and icon on underworld's site, "uwpics" folder (send me and I will do) 2. Enter the string into the admin panel 3. Choose "Add to catalog"* 4. Test 5. Reenter the admin pane, choose "Save catalog"*
- =You must be logged on as Cris currently....but we will change this
More examples on the catalog
Open the underworld.sav file on your dimx/WEB-INF/system folder. Search for
ctx_item
you will find lots of examples. Beware that
ctx_items=##
holds the number of items in the catalogue
More
For any doubts or questions either post on te forum or e-mail: cris (at) dimensionex.net