~ lyn ~
~EXPLAINED~
By Dano Wilson, Mako studios 2004
CONTENTS
CHAPTER ONE
Introduction
Lines
Dimensions
The TEXTURE function
The CUBE function
The FACE function
The SPAWN function
The PANEL function
The CIRCLE function
The RAMP function
The SPECIAL function
The BEAM function
The ITEM function
The LIGHT function
CHAPTER TWO
The SOUND SOURCE function
The SOUND MAIN property
The SOUND RANDOM function
The NAME property
The AUTHOR property
The FOG property
The VOID property
The SET INDOORS setting
The SET NIGHT setting
Adding Console MESSAGES
The MOVE command
The SHADING property
The SKY property
CHAPTER THREE
SPECIAL types
The SALE type
The EXIT type
The MESSAGE type
The WELCOME type
The LAB type
The FORGE type
The FACTORY type
The NUNTERE type
The GRINDER type
The INSTANT type
The SPACHE type
The ALLOW and DISALLOW type
The TRADE_ types
CHAPTER FOUR
The CORSET preset
The CAR preset
The COLOR CHART preset
ARENA settings
The SINGLE PLAYER setting
The WATER property
The ORBIT property
The MUSIC property
CHAPTER ONE
Introduction
You have chosen to write maps for the Hymené game
engine. To make maps, I have created a language which makes it easier and more
efficient, which is universal for other games and systems I have made. It is
also possible to code your own map editors using the raw language given here.
Lyn maps can be written in simple text documents. It
will be slightly different for other games that I have made or will make, but
the principles are the same. The only differences will be the commands that you
use. This book explains the entire lyn language for HYMENÉ maps, which is
pretty much all the commands there are.
Every time you make a lyn map, simply rename the .txt
extension to .lyn , and you're sorted. Then, put it into the 'hymene/map'
directory. You can put subdirectories within that if you wish, as long as you
direct where they are when you are loading the maps to play them, and any doors
and exits in your maps that lead to other maps. If you are making a town, or a
collection of maps that you wish to make official, put them into your own
directory, so that it can be seperated from the rest and easier to handle for
the administrator.
Lines
The code in Lyn is built up of lines. Each line simply
does something. You can manually type the lines yourself, or use an editor that
will create the code for you. Some lines you will most likely always have to
type, and it is best to have a knowledge of the lyn code in any case, so that
you can fix bugs and manually adjust and alter things that the editor might not
display. This book will explain the different types of lines
Dimensions
It is best to briefly explain the dimensions of the
world to help you understand commands later. Hymené is a fully 3-D world, with
X, Y, and Z properties.
Z is from north to south, if you where looking from
top view. X is from west to east if you where looking top view.
Y is the height, like a building that goes upwards.
The higher the X value, the more east you go, the
higher the Z value, the more south you will go.
However, the higher the Y value, the higher upwards
you will go, remember that.
When cubes and 3-D areas are created, they are usually
placed around the north-west (top-left from top view) corner, and on the Y
axis, they are placed at the bottom of the cube.
In this chapter we shall cover the basic and most
important functions that you will be using most often. A function is something
that will add something to your map, and be able to be done several times. A
property is something that can be changed that already has a default setting. A
setting is something that can be set which originally was not there.
The TEXTURE function
Before building your map, you will need to chose some
textures to start with. In Hymené you may have up to ten textures. They go from
0 to 9. It is also possible to use the default textures that load up every
time, which can total about 25 textures. For now however, you must chose one or
more of your custom map textures.
Syntax;
texture [number] [image file]
The first value is the number or 'slot' of the
texture. This is from 0 to 9. The second is the name of the file. Textures are
found in the 'pic/' folder. Since it automatically asigns you to 'pic/', you
can type the name of any file within that directory. If there are
subdirectories within 'pic/', you must type that too. You must also complete the
filename with the extension too. Hymené uses .jpg, but can also use .bmp
Examples;
texture 0 rust.jpg
texture 1 world/brick.jpg
Note that most textures in the default pic directory
will be the ones that are always loaded anyway. They will be explained later in
this book.
The CUBE function
The Hymené world is built up of cubes. Each cube has a
three-dimensional co-ordinate of X Y and Z, and a height, width, and depth.
Each cube also has a texture.
Syntax;
cube [x] [y] [z] [x-depth or length]
[y-depth or height] [z-depth or width] [texture]
As explained in dimensions, cubes are placed on
the northwest, at the bottom of the brush. So if you made a simple skyscraper
on the floor level of 0, you would place it at 0, and the y depth would allow
it to be tall.
Note: as
with any brush-based command (a 3-dimensional area or block), you cannot
have negative depth values (values 4 5 and 6). an inside-out cube or area will
not function properly. Place the cube at the right location and you can put it
anywhere you want without having to use negative values. If you wish the cube
to sink lower, move the Y axis, do not negative the Y-depth.
Examples:
cube 2 0 0 2 1 1 1
This example will place a block sightly east, and it
will be twice as wide as its length, and just as tall as its length. It will
look like two perfect squares placed side by side. Assuming texture 1 is the
same as our example above, it will be of a brick texture.
cube 2 1 0 1 1 1 0
This example will place a block on-top of the block we
have just placed in the previous example. You can see the Y value is 1 more
than it was. That is enough to put it up higher by 1. You can see the X depth
is 1 instead of 2, so it will simply put a square on top of our rectangle. The
texture used this time is texture 0, so you can tell the blocks apart.
The FACE function
It is possible to choose which sides of a cube can be
seen or not. Since there are six sides to a cube, there are six values. Each
can be 0 or 1. Setting it to 1 will make it visible, and 0 will make it
invisible.
The main reason for adjusting which faces to display
is efficiency and FPS (frames per second). The fewer faces shown, the faster
and better the game will run. There will be cubes in your map with faces which
don't need to be seen. For example, most floors at the very bottom level only
need the top surface shown. The bottom and sides are not needed, and thus waste
drawing capacity.
Syntax;
face [west] [north] [east] [south] [top]
[bottom]
The default face settings are all 1 (visible). To
change the faces shown, simply put a face line in, and any cube line placed
after it will be of that setting. You can keep changing the faces as much as
you wish, but it is best to organise your lyn project in such a way to use as
few lines as possible. The fewer lines in lyn, the faster it is to download the
map for online play.
For example, put all your floor sections together in
one place so that you only have to use the face once for them. You only need to
set face once in order for it to apply to the cubes after it.
Although the faces can be visible or not, they are
always physically there. The cube interaction does not change. Even if 'face
0 0 0 0 0 0' is set, the cube will be entirely invisible. However, you will
still walk into it in the normal way and so will your projectiles.
You don't even need to use the face function. You can
leave it so that everything is shown if you wish, but it is not as efficient.
If you are making maps for administrators of Hymené, try to at least hide faces
of large surfaces that are not needed, such as the big main floor sections.
You can also use the FACE function for invisible
barriers and special ideas as well as efficiency. For example, you could make
suspended frame for a platform that is visible, where the main sections are
invisible, thus making it look like you are walking on very clear glass.
The SPAWN function
Your default spawning point will be 0,0,0. However,
you will obviously be changing this to suit the idea of your map. The SPAWN
function will create spawn points, up to 30 if you wish. You are able to set
the location of the point, and the angle you start off facing.
Syntax;
spawn [x] [y] [z] [angle]
Example;
spawn 1 0 2 180
So, this example will put you slightly east and
slightly more south (1 east, and 2 south). It will put you at angle 180
degrees. This will make you facing south.
The PANEL function
Because a world built of cubes may be rather limited,
there is a way to place more customized details into the map quite easily.
Although you cannot physically interact with any panels that you place (you
will just walk through them), it is possible to put invisible cubes inside the
panels to create the illusion that you can.
Syntax;
panel [x1] [y1] [z1] [x2] [y2] [z2] [x3]
[y3] [z3] [x4] [y4] [z4] [special] [addition] [ratio] [texture]
This function will create a four-sided polygon
anywhere you wish, with complete freedom of where each corner is located. As
there are four corners to the shape, you can see the four individual locations
in the beginning of the command. To make it a three sided shape, simply
duplicate one of the points.
The special and additional function don't need to be
used for normal opaque panels. Set them to 0 for default. If you do choose to
use them, these are the things you can do with them:
SPECIAL
0 will make give your panel the regular opaque look
1 will be the same, apart from it will be unaffected
by light points. This is good for signs at night outside bars
2 makes your panel white glass
3 makes it black glass
4 will make it white glass, unaffected by light
5 wil make it black glass, unaffected by light
ADDITIONAL
This function will animate the texture of the panel to
scroll, almost in a banner-style.
0 means no scrolling, normal
1, 2, 3, and 4 will make it scroll diagonally in a
direction. Your best bet is to try experimenting to get the direction you want.
This is good for oceans if you use light glass (special set to 2), with a water
texture.
Nextly, the RATIO setting will set how many textures
are displayed. Example, set to 1 will stretch one texture onto the whole panel.
2 will stretch a 2x2 of the texture across the panel. This allows you to do
many more effects. For example, if you do a huge panel as a billboard
advertisement, and use texture ratio 1, you will be able to blow up the entire
256x256 texture across to suit the size and shape. Cubes always have a texture
ratio of 1.
Finally, the texture property is the texture you chose
to draw the panel with.
Example;
panel -1 0 -1 1 0 -1 1 0 1 -1 0 1 2 1 2
0
This will give you a scrolling ocean look, and produce
a small square above your head where you spawn at the default location,
assuming texture 0 is water.
The CIRCLE function
This function will place a sphere into your map. Like
the panels, it is for decoration only, and there is no interaction. To make it
solid, simply put an invisible cube inside it.
Syntax;
circle [x] [y] [z] [diameter] [texture]
Putting circles into Hymené is easy, however there is
a catch. The openGL engine will not allow circles to be pre-drawn inside
display lists. In fact it simply crashes without any technical explination.
Thus, Putting circles into a map rapidly slows the FPS down, because they must
be drawn in real-time. If I can fix this bug it will be good, and the majority
of todays computers probably wont slow down at all. My advice with placing
circles is to just use a few - especially on fighting maps. On non-fighting or
non-physical maps, FPS are not as important, so you can use them more
generously (ie shops, towns, churches).
The diameter is simply the size across. So if you
wanted to put a sphere ontop of a square column which is say, 0.5 units wide,
you would set the diameter at 0.5 to get it the same width. Also you would put
it 0.25 above the column, and 0.25 in the middle. The point indicates the
middle of the circle.
The RAMP function
Ramps are basically simple slopes. They where
originally not put in until much later. Since ramps are harder for me to code,
they are a seperate entity from cubes, and thus have different properties and
restrictions. However, ramps where designed to be used as jumps, so if you
curve them enough and get the angle right, you can design your own jumps and
landing ramps, and so on.
Syntax;
ramp [x] [y] [z] [x-depth or length]
[y-depth or height] [z-depth or width] [texture] [other] [direction]
Firstly, note that the syntax is identical to the cube
function, apart from it has two additional numbers at the end. The HOG editor
does not display ramps as it was never designed with them, so be careful you
know where your ramp is when you place it, because it will be invisible on the
editor. Nextly, the face function does not apply to ramps, since it only
displays the top surface anyway, it is just the top which is always visible.
The other property is not used. It was put
there incase of situations in the future where another property would be added.
Set it to 0 when you use it.
The direction will indicate which of the four
directions the ramp will be facing. So if it is facing north, the slope will be
sloping upwards towards north. To remember this, think of it as approaching a
jump at that same direction.
The directions are; 0=north, 1=east, 2=south, 3=west.
When building the ramp, place it like a cube in the normal way, but remember
that the slope will slope from the bottom of the cube, diagonally towards the
top.
Example;
ramp -0.5 0 -5 1 0.5 2 0 0
This example would place a ramp directly north of the
center, going upwards north at 0.5 units high, and twice as long as it's width.
Important Notes
Firstly, I have not yet coded missile->-ramp interaction.
This means that your missiles will go straight through the ramps if you fire at
them. I am not yet sure whether i will code this or not. It may be a good
tactical property to keep if I keep it the way it is, and it would surely save
more CPU usage - so keep this in mind when planning tactical maps.
Secondly, you cannot stand beneath a ramp. Anyone
below a ramp will immediately be forced back ontop of it, that's how it works.
Since it was difficult for me to code, it's a small price to pay. Simply make
sure that you cannot walk in the area beneath the ramp, by putting most of your
ramps and slopes on the floor. You can put ramps within themselves to create
'bowls' and other nice hill designs. Also, remember that a ramp has no sides,
so you must manually put the three remaining sides on using cubes or other
ramps, or you must make sure that you cannot walk into the sides, otherwise the
player will simply snap the height of the ramp. However, this could be used to
advantage, such as instant vertical teleporters. Experiment with ramps before
you use them, because they are fiddly things to use. As I said before, they
where not put in until later.
The SPECIAL function
Now we have come to special brushes. These are
universal cubic areas that you can play, like cubes are placed, apart from
there are many different types to choose from. They are usually areas which do
something when you are standing inside them, such as buying items, or getting
near a door or exit. There are many types of special brushes, but the syntax
remains the same for all.
Syntax;
special [x] [y] [z] [x-depth or length]
[y-depth or height] [z-depth or width] [type] [value] [char] [message]
Right, the first six properties indicate the area, in
the same way as a cube. Firstly take note not to put special brushes too close
to each other in situations such as buying items. This will avoid your player
being in two areas at once, thus making him accidently buy the other item.
The TYPE, VALUE, CHAR, and MESSAGE properties will
vary depending on the TYPE. However, certain rules always apply. The TYPE will
always be a single word indicating the type, usually in full caps. The VALUE
will always be a number, the CHAR will always be a word without any spaces
allowed, and the MESSAGE will always be a word, or sentence, with spaces
allowed.
Now that you know how to place special brushes, the
different types will be introduced later in this book.
The BEAM function
This is a simple function allowing you to add
elevation beams, which will move your character up or down when they are in the
area like an elevator.
Syntax;
beam [x] [y] [z] [x-depth or length]
[y-depth or height] [z-depth or width] [direction]
The direction can be 0 or 1. 0 for down, and 1 for up.
The ITEM function
You are able to place visual items, with the sprites
used in the game. This can be used for parked cars, things to buy, statues,
trees, shopkeepers with messages, buyable cars, and so on.
Syntax;
item [name] [x] [y] [z] [angle] [color1]
[color2] [color3]
The name is the name used to indicate which
sprite it is. Then there are the co-ordinates. Note that sprites such as trees,
and people, will be placed at the feet. Even cars will be placed slightly above
the point, so place those items on ground level.
The angle is simply the angle of rotation,
where 180 degrees would be facing south. The colors indicate the three
different colors of that item.
Certain items will have special options. If you set
all three colors to 0 on items such as guns (which already have default
colors), then the defaults will be used. If you change them, you can customize
them your own colors (such as black for the stone look). So for guns to look
like they originally should, set all colors to green which is 0.
Here is a quick reminder of the official hymené
colors;
[0] green,
[1] brown, [2] red, [3] magenta, [4] yellow
[5] white,
[6] black, [7] orange, [8] violet, [9] blue
Color 1 is the skin color, 2 is the main color, and 3
is the additional color.
There are many other special ways to modify and change
the appearance of items, which will be explained later.
Example;
item MARKARIGAN 2 0 0 270 0 5 6
This will place a markarigan person directly east of
you, facing you, with green skin, wearing a white shirt and black trousers.
Again, like panels and circles, you cannot interact
with items. You will just walk through them. To make them solid in any way, you
must put invisible cubes inside them. This is usually not needed anyway, since
you can walk through people and cars in the first place.
The idea of items that you buy is that you place a
SPECIAL brush with a sale, and then stick the item inside of it. Of course you
can put a table there with the item sitting ontop, or whatever.
The different types of items will be explained later
on in the book.
The LIGHT function
This allows you to place a light source on your map. A
light source will generally illuminate things around it and tint them that
color.
Syntax;
light [x] [y] [z] [intensity] [spread]
[red] [green] [blue] [type]
Firstly there are the co-ordinates of where the light
is placed. Nextly there are the intensity and spread. The intensity
is how strong the light is to start with. The spread is how far out it
spreads before fading. The art of getting the light right is playing around
with the balance of these two properties. It is a question of trial and error.
For example, if you wish to make an intense street lamp that only lights a
small area, you would put a high intensity with a low spread. If you wish to
illuminate an entire map evenly on the other hand, you might lower the
intensity, and you would put the spread right up, to around 500. Even I myself
have not yet played around with the balances, but i do know the values are
optimum at around 1 to 250.
The three color values of the light are next in the
line. These are each values from 0 to 255. Finally there is the type. The type
is a spare variable that was never used, and may only be used later (flashing
lights etc). Set this to 0.
CHAPTER TWO
In this chapter we will look at sound functions, and
some of the main properties and settings of a map. This chapter is important as
you will need to set some of these properties in order to make your map of a
proffesional and complete standard.
The SOUND SOURCE function
This function allows you to add a sound to your map
which will play at a certain location every so often at a set time. You can use
this sort of sound for generators, fires, and other located constant sounds.
Syntax;
sound source [filename] [interval] [x]
[y] [z]
The filename is the name of the wave file. The default
folder is 'sound'. Any subfolders must be specified as done in the following
example. The interval is the time before the sound is played again, in
miliseconds. A thousand miliseconds is one second. Nextly the co-ordinates of
where the sound is coming from.
Example;
sound source nature/bird1.wav 4000 2 2 0
If this particular wave sound is included in the final
version of hymené, this example will play a bird sound every 4 seconds, located
slightly east, and above you where you start at 0,0,0.
The SOUND MAIN property
This property is excactly the same as the sound source
function, apart from the location part is slightly different. The syntax is the
same, but the sound will always come from the area that far away from you.
For example, if the same example with the bird sound
is used, then you will always hear a bird east and slightly above you, no
matter where you are standing. Most sound main functions are set to 0,0,0 anyway,
to make the sound generally where you are.
Note that you can only have one main sound per map.
You can have up to ten of each other sound type. The syntax for this property
is the same as the sound source function. The reason that it is called a
property is because it is a setting, and does not add main sounds. There is
only one possible sound, therefore it is a property.
The SOUND RANDOM function
It is possible to add an ambient sound like the other
sound functions, apart from the location will randomly change every time. You
do not bother to specify the location. This is good for birds singing all
around you, or thunder in the background or something. This way you don't have
to specify every single bird! It will randomly make the illusion that they are
all around.
Syntax;
sound [filename] [interval]
The NAME property
This will set the name of your map, displayed at the
bottom of the screen for the player. It may have spaces.
Syntax;
name [name of map]
Examples;
name The Big Hill
name Cavern of Doom
name Cliveville
The AUTHOR property
This will simply set a name of the maps' author. It is
not important, but it is a signature of who made the map. It can have spaces.
Syntax;
author [name of author]
Examples;
author Aidan Tighe
author Spider
The FOG property
This property sets the color of the sky, and the
thickness of the fog. Without this function, there will be no fog, and the sky
will be black like space.
Syntax;
fog [red] [green] [blue] [fog thickness]
The red green and blue are the colors from 0 to 255.
The fog thickness set to 0 would be no fog. Set to
around 5 would be mild fog. Around 20 would be thick fog, and around 50 would
probably be unplayably thick.
Example;
fog 0 150 255 0
This would make a nice blue sky color with no fog.
fog 255 255 255 20
This would make thick white cloudy fog.
The VOID property
This will determine how far you can fall before you
'die'. The default property is rather low itself, but you may wish to change it
for special maps, or maps that go far downward. You don't have to use this
command hardly ever.
Syntax;
void [y]
The Y is how far down vertically the void is. It is a
negative number, and the lower negative you go the lower the void will be. If
you put the void on or above 0 you will most likely automatically die when you
enter the map. Great fun eh.
The SET INDOORS setting
Although there is also the same 'set outdoors' setting
too, it is not needed since outdoors is the default setting. By setting indoors
on your map, you are not allowing cars to be driven, and not allowing outdoor
server weather to be applied. If in doubt, set indoors. Set arenas to indoors
too even if they are outside, so that the weather and coloring is always the
same
Syntax;
set indoors
The SET NIGHT setting
There are two ways to color your map. One is start
with everything fully lit, and to tint later and add black lighting for
shadows. The other way is to start from complete blackness and work your way
up. By setting the NIGHT setting, that is what you are doing. All the default
colors will be 0,0,0 as apposed to 255,255,255. This means that without light,
negative shading, or color charting, you will not be able to see anything but
black. Of course if the sky is brighter you will be able to see the siloutte.
This method is strongly recommended for getting the coloring just right
Syntax;
set night
There is also a set day command, but it is not
needed since daytime is the default setting.
Adding Console MESSAGES
You can add simple lines of text in the document which
will be displayed to the player in thier console when they load the map. This
can be a welcoming, or credits, or rules. It can be any information that you
chose. Be sure not to let each line go past 63 chars, as it will go off the
edge of the screen. When you go above 63, use another line to continue the
text.
Syntax;
* [message]
Examples;
* Welcome to the rocky path of death and blood
* Be sure to avoid the evil forest to the east
The MOVE command
This is a special command. It is possible to MOVE your
center of axis before placing things on the map such as cubes and panels etc.
This is useful for copying and pasting (using par and coda) and for finely
adjusting areas. However it doesn't apply to everything so be careful how you
use it. Try to use it only for physical structures that you wish to duplicate.
The default values are 0,0,0.
Syntax;
move [x] [y] [z]
Always be sure to set the move back to 0 0 0 before
continuing to build things, otherwise you will find everything shifted. Use it
only for par and coda if you can.
The SHADING property
This is a simple command which will automatically
apply vertical shading on the bottom of every brush. It is not often used since
color charting is more accurate and has more freedom, but it's a good effect to
add. It adds to color charting, it does not over-ride.
Syntax;
shading [value]
The value is a number, which determines how much red
green and blue to deduct off each color on the bottom four corners of the cube.
If you set it to 0, nothing will happen. If you set it to around 50 you will
have subtle shading. At 255, it will shade all the way to black.
The SKY property
Finally after many years, the sky function was easily
added to Hymené.
Syntax;
sky [red] [green] [blue] [size] [texture]
This function is very simple. The colors are from
0-255 and will color the sky how you wish, 255 being brightest. The size is the
size of the circle which is drawn to represent the sky. The texture is the
texture used on the sky.
Make sure you save a texture for the sky, or use the
built in sky texture for explosions to save texture space. Also make sure the
sky is big enough but not too big that it disappears. The circle will always be
drawn around the player like his own little dome, giving that indication of a
sky.
Alternatively you can use a SPHERE function in the
same way but it will stay put. This means that falling off the map will cause
you to fall through the sphere thus giving the illusion of planets. I will
leave you to explore that idea yourself.
CHAPTER THREE
This chapter will concentrate on special brushes and
some of the basic things you can do with them.
SPECIAL brush types
When you place a special brush down, you get to choose
a TYPE. Each type has three different properties depending on which type it is.
These three properties are VALUE (a number), CHAR (a single word), and MESSAGE
(a word or many words.) The principles of a special brush are usually the same;
if you are in that cubic area, it is activated. Here I will list all the
different types, and how to use them.
NOTE: If any of the three properties are not
specified, then they are not used. Any property that is not used should be set
to something anyway, so set unused values to 0, and set unused chars and
messages to NULL and NULL.
The SALE type
When you are in this area, a sale option will come up,
telling you the details of a product, giving you the choice to buy it. To buy
the item the player has to press the action key.
The CHAR becomes the CHAR_CODE of the item, the VALUE
becomes the price, and the MESSAGE becomes a message you can write to advertise
or explain about the product. You must see the CHAR CODES to see the different
products you can sell.
The EXIT type
When you press the action key in this area, you will
be taken to a different map. The CHAR becomes the name of the map, including
any subfolders that would be in the map directory. The VALUE becomes the spawn
point number on that next map, and the MESSAGE becomes a message telling you
where you're going and so on.
The spawn point is the most tricky thing to do in lyn.
You must pick which spawn point to go to, but you must also know which spawn
points are which on the opposite map. To work this out, remember that the first
spawn point you place will be number 0, then 1, and so on (up to 30). It is a
good idea to put comments on your spawn point telling you which number it is.
Once you know which spawn point it is, that is the value.
For example, if you know that the opposite map only
has one spawn point on it, then it's obviously going to be number 0. Never put
a spawn point inside an EXIT brush. Make sure its at least a quarter unit
(0.25) away from it. This will avoid someone spawning, accidently pressing
action key (out of impatient frustration!) and then immeditately going back
(because there is also a door placed on the other map.)
The MESSAGE type
When you're in this brush, there will be a text saying
"press action to read this message". When the player holds the action
key, you will be able to see the message. The MESSAGE becomes the message,
while the CHAR becomes a title (with no spaces). It is a good idea to use the
CHAR for example, as the persons name, so CHAR="Bob" and
MESSAGE="Hey I'm bob want some nuntergobber?"
The WELCOME type
This type is excactly the same as the message type,
apart from it automatically displays the message when you are in the brush.
These are better to use than message types, because it's right there and the
user doesn't have to press action.
The LAB type
When the player is in a LAB type, he is able to build
laboratory items using chemicals. When he walks away from the type, his
building cannot continue until he goes back. It is good to put this type around
a laboratory desk area, or inside a laboratory room for people to work. It is a
type of manufacturing. The three values are not used.
The FORGE type
This is another manufacturing type, apart from it is
with weapons and items such as that. It is good to put a forge around a
blacksmiths forge, anvil, or fire area. The three values are not used.
The FACTORY type
The other manufacturing type, the factory allows
people to build cars and other weird metal stuff. Put it around machines and
rooms filled with machines and so on. Read more about the game client itself in
order to find out how these manufacturing brushes work. The three values are
not used.
The NUNTERE type
NUNTERE is a type of bush that grows in the world of
hymené. It is the home of a special rare type of moth called the coyna moth.
Coyna means gold in markarigan, thus, it is possible to catch the moths
and create Nuntergobber. Put these areas above your nuntere bushes above 0.5
high, so that when the player attempts to punch that area, he is able to catch
these moths.
When you do a nuntere type, the VALUE becomes the
amount of potential moths to catch. While 5 is very few, 50 would be very many.
The other two properties, CHAR and MESSAGE, are not used.
The GRINDER type
Once a person has collected many coyna moths, he may
grind them in this GRINDER. Put this area around a grinder that you have built,
however it may look. The three properties are not used.
The INSTANT type
An instant is a different kind of item that you can
pick up. When you pick it up, it instantly takes affect. This is useful for
sitting at a bar and buying drinks like shots and so on. It is also good for
items which immediately work just the once, such as spraying your car different
colors and textures.
With an INSTANT type, the VALUE becomes the price of
the item, the CHAR becomes a default legal code which is 9999. It is not really
used so set it to 9999. The MESSAGE becomes the name of the item, with spaces
included. The name must be precise from the instants list in order to work.
The SPACHE type
This type is rather important. Since spache is
the markarigan word for special, it is thus a special item sale. Special
items have different properties to normal items. There are more of them, you
can only have one of each at a time, and you can only carry up to ten. Special
items can always be added into the game with ease. They where originally put in
at a later time because the RPG element was added.
Every type of SPACHE item has its official name, and
its legal code. The legal code is always a four-digit number. The name and code
must be precise (including case sensitive) in order to work. You must consult
the list of spache or special items in order to know which items there are
available.
When placing a SPACHE type, the VALUE becomes the
price, the CHAR becomes the four-digit legal code, and the MESSAGE becomes the
case-sensitive name.
The ALLOW and DISALLOW type
These two types are used for single player mode, with
ai badguys. It indicates the areas they are allowed, and not allowed to go in.
By default they are not allowed in any area until you put an ALLOW area in. The
reason for using DISALLOW areas is to put them inside allow areas where there may
be columns or other obstacles, instead of making many allow areas around that
obstacle which would take up more code and cpu.
The properties are not used, so set them to 0, null,
and null. Note that it is always a good idea to set the default value to 0 if
not used in any special brush case, just incase something is added
later, and your random number you put in affects everything greately. 0 is
always a safe number to use.
More will be explained about ai badguys later in this
book.
The TRADE_ types
There are several of these types, for example
TRADE_WEAPON. These areas are trade centres where players can trade the items
they have bought or created at trade price. However they can only trade that
particular item if the item type matches the trade type. These are the
different trade types;
TRADE_WEAPON
TRADE_WAHALECH
TRADE_DRUG
TRADE_INDUSTRIAL
TRADE_BOOK
TRADE_MATERIAL
TRADE_CHEMICAL
TRADE_TRANSPORT
There may be items with a different type, therefore a
new trade center type can be made for them. These are the basic item types.
This includes standard items, not spache items or instants. They cannot be
traded. There are no properties in the trade area types.
CHAPTER FOUR
Things get a little more complex in this chapter,
which looks into special twists to customize many things, bringing you many
more options and extensions to what you already have.
The CORSET preset
This line of code will set the potential
characteristics of a manipulated character body shape. The modifications
possible are corsets, earrings, horns, and general body shape.
Syntax;
corset [waist] [bust] [neck] [horn]
[hip] [low] [victorian] [kirk] [ear]
As you can see there are nine individual properties.
These are all numbers, with a default value of 0. When a number is changed, it
will slightly modify one of these body features.
The WAIST modifies the waist size. The lower the
value, the thinner the waist.
The BUST dictates how wide the top of the
body/shoulder area is. The higher the number, the wider the bust.
The NECK indicates the length of the neck, but does
not make a person taller or shorter. It raises the bust area to shape the body
thus making the neck higher or lower. The higher the number the lower the
neckline, and the more feminine it might appear.
The HORN value will modify the length the horns go
vertically. Higher numbers makes them fall more Wahalech, while a negative
number will make them go upwards more like a Meracan or Markarigan.
The HIP value indicates how wide the hips are. Of
course, the wider the better, lol.
The LOW value indicates how low The hips go, where it
builds more in the thighs. The higher the value, the lower the hip line, and
the more feminine it may appear to look.
The VICTORIAN value indicates the vertical waistline.
The higher the number, the higher the waistline, making it more feminine and
more victorian-shapes. The lower the number, into negatives, the more masculine
the waist will appear.
The KIRK value is the width of the neck, which also
joins onto the shoulders. By lowering the neckline and making the kirk value
wider, will give the illusion of softer shoulders, and a lower-cut top. To make
the shoulders/neck wider, a positive value will do so.
The EAR value indicates how long the earrings are. A
negative value should make them go upwards and upsidedown. It has never been
tested.
If you do not wish to modify a body feature, set the
value at 0. Here are some official examples that are used in the game,
so take note especially when placing a corset sale item.
// lindelle corset
corset -5 2 7 0 0 2 5 1 0
// miri corset
corset -4 2 7 0 0 0 0 1 0
// charis corset
corset -6 2 7 0 2 3 9 1 0
What does the corset line actually do? It presets the
potential for another command to use it. If you follow an ITEM line after this
corset preset, and you place a person such as a markarigan or wahalech, that
person will have the corset modifications applied to him. The next item placed
after that person will not, so you will have to do a corset line for each
individual modified piece. This appies to earrings and horns and differently
shaped people too.
Example;
corset -5 2 7 0 0 2 5 1 0
item WAHALECH 0 0 0 180 4 5 6
This bit of code will place a Wahalech character
wearing a lindelle corset.
Note that it will not apply to all sprites you wish to
draw as that. For example, Markarigans have no horns, so the horn value will
not affect them. Other models such as the slither will not allow body values to
alter them, because they are drawn in a different way. Angels should be able to
accept the changes.
The CAR preset
This is another line like the corset line, that will
preset values potentially for commands after it. This however, will set the
properties of a car.
Syntax;
car [color1] [color2] [color3] [damage]
[texture] [turbo] [brakes] [ac] [ver] [save] [model]
Example;
car 0 0 0 500 12 0 0 15 0 0 Saloon Car
Supreme
Color1, color2, and color3 are the three colors of the
car.
Damage is the damage the car can take before it's
busted. 500 is a brand new average car. Anything less is used.
Texture is the texture number which is used, from the
raw inside hymené textures.
TURBO is optional. It's an increase of top speed.
Leave it at 0 for default car.
BRAKES is the same as turbo, but the increase of brake
power. 0 will leave it un-modified.
AC is the extra acceleration modifier. Leave it 0 for
default.
VER is vertical boosters built in or not. 1 will allow
the car to fly, 0 will leave as default.
SAVE is the replaced armor save. Leave it at 0 for the
default, set it to another value to replace it.
MODEL is the name of the model, with spaces allowed.
It does nothing to the car model or the car itself. It is simply a name
reference to know what car model you have, where there are many different
models of cars, and many different modified series and editions of those cars.
Check for updates on the model value, because it is
possible that the end of the model sentence will dictate the orientation of the
car. ie; man/manual, M will indicate manual, aut,/automatic, A will indicate
automatic, and sem/semi, S will indicate semi-automatic. This area is not yet
finished. There will be a default orientation, which will probably be semi or
automatic.
Now when you place an ITEM line after the car, be sure
to keep the colors the same and the car sprite name to match your model (like
ITAS, NULO etc), see the list of sprites for that. The texture will force to
what you set the car preset as.
In addition to that, you can place a special SALE line
after that, which will also suck in the car preset properties, giving you a
complete for-sale customized car. Here is a prime example from the original
town of Ruhu Central;
// itas turbo
car 2 4 2 500 22 100 20 20 0 0 Itas
Turbo
item ITAS -2.75 -0.25 -26 353 2 4 2
special -3.5 -0.25 -27.25 2 1 3 SALE
7000 ITAS Itas Turbo, Very nice, @ 7000 mz, it's yours!
Note: When making maps in the hand of God, there is a
system to doing this process. Before you set your car line using the car line
menu from the top, open up the ITEM type and set the item colors there. Leave
it open, then do the car line and build that. Then complete the ITEM and place
that, then do the special SALE seperately. Basically, the car line shares the
color setting from your current item color settings.
The COLOR CHART preset
This is a new feature which completely changed the
potential look of Hymené. Instead of just having light points to color and give
moods to your maps, which can take up a lot of CPU when in excess, COLOR
CHARTING is a quicker way to manually dictate the colors of cubes and features.
By setting one color chart line, it is possible to shade and tint the entire
map to totally alter the mood and theme you wish to achieve.
Color charting allows you to Manually dictate the red
green and blue values of each corner of a cube. It also works for panels, and
spheres. Since there are three colors, and 8 corners on a cube, there are 24
values in a color chart command.
Syntax;
color chart [r1] [g1] [b1] [r2] [g2] [b2] [r3] [g3]
[b3] [r4] [g4] [b4] [r5] [g5] [b5] [r6] [g6] [b6] [r7] [g7] [b7] [r8] [g8] [b8]
As you can see it's rather simply, red of point 1,
green of point 1, blue of point 1, red of point 2, and so on. The values are
from 0 to 1, and with any number in between you wish. 0 would be black, and 1
would be bright default. You cannot color chart white, but only to the textures
default brightness. It is like lighting. If you set all the values to 1,
everything will look plain like it first did. Using this manual way of shading
and coloring, you can color everything, or slightly shade things to give shadow
illusions and glowing effects.
You are able to have up to 100 color charts in one
map, which is more than enough, considering just one will do a lot in itself.
Simply set the color chart line, and any cube panel of sphere after it will be
altered by it. Set another color chart somewhere down the line and anything
after that will apply to that, and so on.
Color charting does not over-ride lighting. You can
put lighting ontop of colorcharting also! It will also not mess up the weather
and time of day. At night-time it will all tint down and work out fine. It does
not slow down the game either, unless you are running in REALTIME mode.
ARENA settings
These are settings that will set and change the arena
environment. By default, your map will be taken seriously as an official public
area. If you die, you die, and if you progress, you're information is carried
with you. The default setting for a Hymené map is RPG online play, with the
whole works. If you wish for it to be an arena for fighting, you must set that.
set arena
This command will set the map to arena mode. This
means that you will be carrying nothing when you enter this map, and when you
die, you will respawn and play on. It's like an official sport, where death
cannot happen. Everyone will be, or should be equal and ready to fight just for
fun. Of course if you're a little drunk or on hymené drugs, they may affect
your performance. Once in arena mode you can set further properties, such as
which guns you start off with, and armor etc.
arena gun 1
arena armor 1
The ARENA GUN command sets which gun you start off
with in your hands. In this case, gun 1 is the rocket launcher. The ARENA ARMOR
command is the same but with which armor will you begin wearing. In the
example, it is the slither. Of course you must own these weapons and armor if
you are to start off with them, otherwise you wont have any ammo, and when you
change gun it will magically vanish, which can't be good.
arena rocket 50
arena fan 50
arena fork 50
arena shotgun 50
arena grenade 50
arena rail 50
arena star 50
arena sherker 1
This will give you not only the guns, but the amount
of ammo specified too. In this example if gives you all the guns shown plus 50
ammo for each, and 1 sherker. Since a sherker has no ammo, just the one is
required.
arena hymene 1
This will allow you to actually own the slither armor,
which is needed if you wish to start off wearing it.
arena zartanian 1
arena royal 1
arena robe 1
These last three options are zartanian (angel, light
of eden), royal (be a dragon), and robe (sherker robe). These are counted as
armor and can be worn. To wear them when spawning, use the arena armor [value]
to do it. The values are 1=slither, 2=royal, 3=angel, 4=robe, and of course,
0=no armor, leaving you as a markarigan or wahalech as you have pre-chosen
anyway.
When you leave an arena, which you should have a door
somewhere so that people can leave to disconnect, you will be given back all
your original belongings, and the performance of the arena will not affect your
character in anyway.
The SINGLE PLAYER setting
This quite simply allows you to set the map as single
player. This will allow AI (enemies) and level progression, and when finished,
save game without being online etc. The single player element is yet to be
explored, but AI has been done.
Syntax;
set single player
Quite simply, that is how to set the map to single
player mode.
The WATER property
This apparently sets the water level but water physics
have not yet been done. It works just like the void command, and the default is
very low too. Don't worry about this command for now unless you are serious
about water. If you do make an ocean, be sure to make sure all water is on the
same Y-level everywhere on your map, and set this value to that level.
Syntax;
water [y]
The ORBIT property
Yet another non-finished property which may become
interesting in the future. Since spacey maps where more of a Brawl 2 thing,
this property was left aside. It's the same as void but higher up. This level
is supposed to determine how high you can go before you leave the atmosphere,
and gravity dissapears. It is not yet done, so don't worry about this command
yet.
Syntax;
orbit [y]
The MUSIC property
This command is not used either, but incase it ever is
completed, it will set midi music of the level as a filename. There would most
likely be a music folder automatically assigned, so simply put the filename in
on it's own complete with the .mid extension.
Syntax;
music [midi filename]