Universe Building Manual |
|
|
Contents |
Note: This document only pertains to building universes and not administering or setting them up. This is the official universe building document. It provides definations and procedural information pertaining to building in ShipWars Universes, however it is not intended to be a Building Tutorial. |
| Introduction |
|
The ShipWars universe is a highly customizable and powerfully dynamic system which allows a wide variety of space themed imaginations to come to life. Knowing the capabilities and procedures for building universes is the key to getting the most out of ShipWars universe system. You will need some knowlage about the specifics of the universe that you are building on. Make sure that you have asked the administrator of your universe for permission and that you are aware of their rules and systems set up. You should already have some experiance in flying about through ShipWars universes and know the aspects/properties of various objects. |
| Legend and Terms |
|
These are the official terms, notations, and units used through out the ShipWars universe. |
| Terms |
| Economy | The industrial/stock/colateral system used in the ShipWars universe. |
Object type: ANIMATED
|
An object who is conceptionally interprited to be soly a display for a sequence of graphical frames. |
Object type: AREA
|
An object who is conceptionally interprited to define
a region. The type of region is defined by the object's
loc_type parameter.
|
Object type: CONTROLLED
|
An object who is conceptionally interprited to forward any requested actions by its controller. |
Object type: DYNAMIC
|
An object who is conceptionally interprited to be motionful and/or provide to a certain degree of interactivity with relational objects. |
Object type: ELINK
|
An object who is conceptionally interprited to be a referance to another Universe. |
Object type: GARBAGE
|
An object who is conceptionally interprited to be absolute void of existance. |
Object type: HOME
|
An object who is conceptionally interprited to host the requirements of other objects and to seperate the interactions of objects within its boundaries. |
Object type: PLAYER
|
An object who is conceptionally interprited to be an interactive character representation of ultimatly a user (human or program). |
Object type: SPHEREWEAPON
|
An object who is conceptionally interprited to be a result of a sphereical energy weapons utilization. |
Object type: STREAMWEAPON
|
An object who is conceptionally interprited to be a result of a stream energy weapons utilization. |
Object type: STATIC
|
An object who is conceptionally interprited and expected to remain motionless while providing appearal information or notice to its viewers. |
Object type: WEAPON
|
An object who is conceptionally interprited to be a result of a projectile weapons utilization. |
Object type: WORMHOLE
|
An object who is conceptionally interprited to be a wormhole. |
| sector | A defined phaze of a distance or position measure in the ShipWars Universe. Each sector has a defined cubical shape and a 3 dimenstional left-hand rule whole numbered coordinate value to address it. |
| Server Command | A text-style command that is issued to the ShipWars universe server. |
| ShipWars Universe | The collective conceptual entity which contains all aspects of the ShipWars relational properties. |
| universe index number | A unique identification number used to address an object. The notation for it is a `#' character followed by an integer number (example: #12345). |
| ShipWars Object | A unique and relative property-containing entity. Each ShipWars Object (sometimes reffered to as just am object) can be addressed by its name (if it has one) or its universe index number. Each object contains a set of properties which can be changed to reflect it's purpose or apperance. |
| Notations |
| am | Antimatter. |
| au | Astronomical Unit. |
| brg | Bearing. |
| hdg | Heading. |
| ms | Milliseconds. |
| OCS | Object Create Script. |
| OPM | Object Parameter Models. |
| rl | Real life. |
| ru | XSW Real units (sometimes reffered to as just real units), the internal units used by the ShipWars system. |
| su | Screen units (sometimes reffered to as pixel units). |
| us | Microseconds. |
| Units |
| 1 XSW second = 1 real life second |
| 1 screen unit = 1 pixel (at 1:1 zoom) |
| 1 screen unit = 0.001 XSW real units |
| 1 XSW real unit = 1000 screen units |
Astronomical units = XSW real units * au_to_ru coefficient
|
| Building Commands |
|
These are server commands which allow you to create, modify, view, and delete objects.
Note: Most commands are restricted by
their permission level. To check your permission level
type |
chown <;object>;[=<;owner>;]
|
|
Changes ownership of |
create <name>=<type>
|
|
Creates a new object with the given
PLAYER,
if you want to create a player then you must use the command
createplayer.
The newly created object will be chowned to you and placed at your
current position and attitude.
|
createplayer <name>=<password>
|
|
Creates a new player with the given |
ecoprodcreate <object>=<product_name>
|
|
Creates a new economy product |
ecoprodset <object>=<product_name>=
<property>=<value>
|
|
Sets
* Name of the economy product can be a token string in the format:
|
ecoproddelete <object>=<product_name>
|
|
Deletes economy product |
examine <object>
|
|
Prints a listing of properties of |
find <search_string>[=<type>]
|
|
Searches the universe for an object who's name is partially or entirly matching <search_string> (case sensitive). If <type> is given, then search results will be limited to that type of object. You can also use wild cards (* and ? characters) in the <search_string>. |
recycle <object>
|
|
Removes <object> from the universe and places it into the recycled
objects buffer provided that you own <object> or that your permission
level allows you recycle it. If <object> is of type player, then you
must use the command
|
recycleplayer <player>
|
|
Removes <player> from the universe and places it into the recycled objects buffer provided that you are allowed to recycle player objects. |
set <object>=<property>:<value>
|
|
Sets <property> to <value> on <object> provided that you own <object> and/or that your permission level allows you to. See Properties Index for a list of available properties. |
set <object>=<opm_name>
|
|
Models <object> to the parameters specified in <opm_name>. The name, password, UID, GID, position and scores for <object> will be preserved (not changed). |
unrecycle <search_string>
|
|
Searches the recycled objects buffer for an object who's name partially
or entirly matches <search_string>. If a match is found, then that object
will be removed from the recycled objects buffer and placed back into
the universe. Warning: Most servers have a limit on how many
objects can be placed in the recycled objects buffer. As more objects
get |
| Object Parameter Models |
|
These are objects listed in a seperate buffer in the unviverse and are never interacted directly with regular objects. The Object Parameter Models (abbriviated OPM) are used to model any given object to properties defined on the OPM. Typically OPM's are used just after creation of a new object to quickly model it into the object of standard expectancy.
The OPM's are defined for a universe in the Each OPM has a unique name that is to be used when addressing it.
To manually copy an OPM's property values to a normal object,
use the command |
| Object Create Scripts |
|
Instructs a patterned and recursive creation of objects per use of. Object create scripts (abbriviated OCS) are most noticably used in the creation of weapon objects.
The OCS's are defined for a universe in the Each OCS has a unique code number that is to be used when addressing it. |
| Properties Index |
|
Properties attribute to various aspects of each object. Note that these property listings are sorted by precidence. The property in question is to be assummed to affect all types of objects under all conditions except otherwise noted. |
| Properties: Core |
name
|
Name of object. Case sensitive, may contain spaces. |
password
|
Crypted password for player objects. Each character may contain any value except `\0'. |
empire
|
Special code string determining the empire (or `side') of the object. Case insensitive. |
elink
|
Specifies the external link (a URL) for an ELINK
object (case sensitive).
|
last_updated
|
Time of day in milliseconds object was last updated. This property is maintained internally by the program. |
type
|
Specifies the type of object, valid values are:
|
loc_type
|
Specifies the location type (or `enviroment') in which
the object is located, valid values are:
AREA, this specifies what type of area
it is.
|
imageset
|
Specifies the image/video/graphics that will represent the object.
Value must be an integer corresponding to a defined image/video/graphics
number code on the client program. Note: In the future,
this property name may be changed to model.
|
owner
|
Owner of the object, can be -1 for none. The owner `should' be a player object. |
size
|
Specifies the size of the object in screen units. Cannot be negative. |
locked_on
|
Specifies the subject object that the object is scanning/locked on to. Can be -1 for `unlocked'. |
intercepting_object
|
Specifies the destination object that this object is intercepting. Can be -1 for none. |
scanner_range
|
Specifies the scanner range of the object in real units. Cannot be negative. |
sect_x, sect_y, sect_z
|
Specifies the sector in which the object is located at. Can be any whole long integer number. |
x, y, z
|
Specifies the coordinates that the object is located within the sector that it is in. Can be any decimal number within the bounds of the defined sector size. |
heading, pitch, bank
|
Specifies the attitude of the object. Can be any radian value from 0 to 2PI. |
velocity
|
Specifies the current speed (not velocity) of the object in real units per cycle. <-- $COMEBACK --> |
velocity_max
|
Specifies the maximum speed (not velocity) of the object in real units per cycle. <-- $COMEBACK --> |
velocity_heading, velocity_pitch, velocity_bank
|
Specifies attitude of the object's velocity vector. Can be any radian value from 0 to 2PI. |
thrust_rev_state
|
Specifies the thrust reverse state of the object. Can be 0 or 1. |
thrust_dir
|
Specifies the direction the thrust is being applied around the Z axis relative to the object. Can be any radian value from 0 to 2PI. |
thrust
|
Current amount of thrust being applied in real unit force per cycle. |
thrust_power
|
The maximum power of thrust when throttle is at 1.0
in real unit force per cycle.
|
throttle
|
Specifies the throttle value of the object. Can be any decimal value from 0.0 to 1.0. |
turnrate
|
Specifies the Z axis turn rate of the object in radians per cycle. |
lighting
|
Specifies the amount of lighting being active on the object,
the amount of lights and their configuration is determined by
the imageset of this object. Can be any or'ed mask
of the following:
|
hp
|
Current amount of hit points (or `hull integraty').
Can be any positive unitless decimal value less or equal to
hp_max. A value of 0 will make this object non-existant.
|
hp_max
|
Maximum amount of hit points (or `hull integraty'). Can be any positive non-zero unitless decimal value. |
power
|
Current amount of total power on the object. Can be any positive unitless decimal value. |
power_max
|
Maximum amount of total power on the object. Can be any positive non-zero unitless decimal value. |
power_purity
|
Specifies the purity of power, determining how much power is
actually usable per unit of expendature. If power_purity
is set to 0.9, then 20 units of power used will yield 18 units of actual
usable power.
|
core_efficency
|
Specifies the rate at which `fusion' regenerates power on the object in power units per cycle. |
antimatter
|
Current amount of antimatter. For type HOME objects, does not reflect amount of antimatter as an economy product. |
antimatter_max
|
Maximum capacity of antimatter. For type HOME objects, does not reflect maximum capacity of antimatter as an economy product. |
shield_state
|
Specifies the shield state, can be any of the following integer
values:
|
shield_frequency
|
Specifies the shield modulation frequency as a decimal in kHz. |
selected_weapon
|
Specifies the selected weapon as an intiger. Can be -1 for no weapon selected. |
total_weapons
|
Specifies the total number of weapons on the object.
This value also specifies the number of subgroups in
weapon/
|
birth_time
|
Specifies the time of day in milliseconds the object was created. This value is important for weapon objects and other objects that have short life spans. |
lifespan
|
Specifies the interval in milliseconds of the life span of the object. Can be 0 or -1 to specify that it `never dies'. |
cloak_state
|
Specifies the cloak state, can be any of the following integer
values:
|
cloak_strength
|
Specifies the cloak strength when cloak_state is `up'.
This value subtracts from visibility. Can be any
decimal value from 0.0 to 1.0.
|
visibility
|
Specifies the normal visibility of the object. Can be any decimal value from 0.0 to 1.0. Values less than 0.25 make it `visually invisible' and 0.0 make it invisible on scanners. |
cur_visibility
|
Specifies the current visibility of the object. Can be any decimal value from 0.0 to 1.0. Values less than 0.25 make it `visually invisible' and 0.0 make it invisible on scanners. |
shield_visibility
|
Specifies the current visibility of the object's shields. Can be any decimal value from 0.0 to 1.0. |
damage_control
|
Specifies the damage control state of the object,
can be any of the following integer
values:
|
com_channel
|
Specifies the object's opened com channel, can be any integer value in multiples of 100. A set value of 31000 would be interprited and displayed as 310.00. |
ai_flags
|
Specifies the object's AI flags (for CONTROLLED
type objects), available values are:
|
animation/
|
Animation group. |
eco/
|
Economy group, not all objects have this group. |
permission/
|
Permission group. |
scores/
|
Scores group, not all objects have this group. |
weapon/
|
Weapons group, not all objects have this group.
total_weapons will indicate if this group exists and how many
subgroups it contains.
|
| Properties: Animation |
|
These properties are located in the |
interval
|
Specifies the milliseconds interval between frames. |
last_interval
|
Marks the last time frame was incremented at time of day in milliseconds. |
current_frame
|
Specifies the current frame number. It must be a value from 0
to total_frames - 1.
|
total_frames
|
Specifies the total number of frames. |
cycle_count
|
Specifies the number of cycles the animation has repeated. |
cycle_times
|
Specifies the total cycles the animation is to repeat.
Can be -1 for infinate repeats. The object will be recycled
if this value is any positive number and cycle_count
is equal or greater than this value.
|
| Properties: Economy |
|
These properties are located in the |
flags
|
Specifies the economy flags for the object. Can be any or'ed mask
of the following:
|
tax_general, tax_friend, tax_hostile
|
Specifies the tax of various exchanges with customers of various relationships. Can be any decimal value from 1.0 to infinity. A value of 1.2 would be a 20% tax. |
product/
|
Economy products group.
total_products will indicate if this group exists and how
many subgroups it contains.
|
total_products
|
Specifies the total number of economy products. Can be any non-negative integer value. |
|
These properties can not be addressed and must be set with the economy products set commands. |
|
name
|
Specifies the name of the product. If the product specifies
a weapon then the name must be in the format
$OPM:<opm_name>,
where <opm_name> is replaced with the
Object Parameter Models name for that weapon. Case insensitive.
|
sell_price
|
Specifies the amount that would be paied for when the customer sells per 1.0 unit product to the proprietor. Can be any non-negative decimal value. |
buy_price
|
Specifies the amount that would be charged for when the customer buys per 1.0 unit product from the proprietor. Can be any non-negative decimal value. |
amount
|
Specifies the current amount of the product in stock. Can be any non-negative decimal value. |
amount_max
|
Specifies the maximum capacity of the product. Can be any decimal value or -1 for unlimited capacity. |
| Properties: Permission |
|
These properties are located in the |
uid
|
Specifies the user permission ID of the object. Can be any positive intiger value, lower values mean higher permission. |
gid
|
Specifies the group permission ID of the object. Can be any positive intiger value, lower values mean higher permission. |
| Properties: Scores |
|
These properties are located in the |
credits
|
Specifies the current number of credits (money). Can be any positive decimal value. |
rmu
|
Specifies the current amount of raw materials. Can be any positive decimal value. |
rmu_max
|
Specifies the maximum capacity of raw materials. Can be any positive decimal value. |
damage_given
|
Specifies the total amount of damage given. Can be any positive decimal value. |
damage_recieved
|
Specifies the total amount of damage recieved. Can be any positive decimal value. |
kills
|
Specifies the total number of objects destroyed. Can be any positive integer value. |
| Properties: Weapon |
|
These properties are located in subgroups which have numerical values
representing the weapon index number which are then in the
|
flags
|
Specifies the flags for this weapon, available flags are:
|
ocs_code
|
Specifies the object create script that is to be used as the creating recursion pattern for each use of this weapon. The object create script codes may vary from universe to universe. |
emission_type
|
Specifies the emission type of the weapon, value values are:
STREAM
PROJECTILE
PULSE
|
amount
|
Specifies current amount of the weapon if it is of type
PROJECTILE. Value must be a positive integer.
|
max
|
Specifies maximum amount of the weapon if it is of type
PROJECTILE. Value must be a positive integer.
|
power
|
Specifies power of the per created weapon once it's `fired'. This is the value of the weapon's damage to an object it hits. Can be any non negative decimal value. |
range
|
Specifies the range of STREAM weapons in
screen units. Can be any non-negative integer value.
|
create_power
|
Specifies power needed to create per weapon to `fire' it. Can be any non negative decimal value. |
delay
|
Specifies the mandatory time delay between firing of the weapon in milliseconds. Can be any non negative interger value greater than 1. |
last_used
|
Records the time of day in milliseconds that the weapon was last fired. Can be any non negative interger value. |
fire_sound_code
|
Specifies the sound scheme code on the client side to be played when this weapon is fired. Can be 0 for play default sound for this type of weapon (takes emission type into account). |