DimensioneX/underworld/en/extending

From DimensioneX
Revision as of 09:42, 18 October 2009 by Cris (talk | contribs) (→‎Character types)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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