Developer Store
Support
Member Forums

Screenshots
FAQ
Documentation
License
Known Issues
Downloads

MMOWorkshop.com Store Opened!
Torque MMO Kit - Open Sourced!
Torque MMO Kit - 1.5.2 Port Alpha Test
Torque MMO Kit - OSX Status

GarageGames.com irc.prairiegames.com
#mmoworkshop

PyTorque
TGB Web Browser


zappa420

hallsofvalhalla - After a long epiphany
Leathel - FoHO pre-Alpha 2.42
OldRod - More Musings on the MMO Industry
xapken - nice
J.C. Smith - 0.0.4.1 Build Notes
Wolf Dreamer - Pointless blog of pointless things
AthlonJedi2 - Server Nuked !!!!!
gamer_goof - New character model GIRL1 available only $4
... MORE BLOGS!

My other project
A Message to all the new people.
MyGame
changing the primary class
See Ya Classes, Hello Skills!
XP Based Skills
fxFoliageReplicator zone loading...
Is it just me, or is it slow in ...
Places where NPC quest-givers ha...
TalentRaspel Grid

Character Models

Textures

Character Models can have up to 6 textures which can be swapped out in realtime to create diffrent clothing. In order for your DTS Model to support that create 6 textures with the following names:

  • base.head.png
  • base.body.png
  • base.arms.png
  • base.hands.png
  • base.legs.png
  • base.feet.png

Create 6 material ID's on your character and apply the textures accordingly.

Skeleton Structure

The Basic MoM Character uses the following Bones:

  • Bip01 Pelvis
  • Bip01 L Thigh
  • Bip01 L Calf
  • Bip01 L Foot
  • Bip01 R Thigh
  • Bip01 R Calf
  • Bip01 R Foot
  • Bip01 Spine
  • Bip01 Spine1
  • Bip01 Spine2
  • Bip01 Spine3
  • Bip01 Neck
  • Bip01 Head
  • Bip01 L Clavicle
  • Bip01 L Upperarm
  • Bip01 L Forearm
  • Bip01 L Hand
  • Bip01 L Fingers
  • Bip01 L FingersB
  • Bip01 L Thumb
  • Bip01 L ThumbB
  • Bip01 R Clavicle
  • Bip01 R Upperarm
  • Bip01 R Forearm
  • Bip01 R Hand
  • Bip01 R Fingers
  • Bip01 R FingersB
  • Bip01 R Thumb
  • Bip01 R ThumbB

Mount Nodes

Every Player model should have the following nodes:

  • eye (For the camera when in first person view)
  • cam (Free floating linked to Unlink-node)
  • Unlink (Node to detach the cam from the body in order to have free floating 3rd Person camera view)
  • mount0 (Right Hand - Primary Weapon)
  • mount1 (Left Hand - Offhand Weapon)
  • mount2 (Shield on Left Arm)
  • mount3 (Helmet)

On the Items (Weapons/Helmets/Shields) Make sure you have a node called "mountpoint" at the spot where the Player should be holding/wearing it and that it is aligned as the mount(nr.) on the character model.

Base Animations

A Mob must have the following minimum animation dsq files to work without changing any code:

  • idle.dsq
  • cready.dsq
  • walk.dsq
  • run.dsq
  • attack1.dsq
  • pain1.dsq

there can be multiple attack and pain animations increment the trailing number and they will be automatically played in combat at random. - attack2.dsq attack3.dsq etc.

The sequence node in the file itself should be named as the file for instance "walk" in the walk.dsq

If you have models and sequences that do not follow these conventions you can reassign a sequence name in the models respective animation.cfg file:

Example: an animation.cfg file for a hypothetical bear mob looks like this:

datablock TSShapeConstructor($datablock)
{
baseShape = "~/data/shapes/$dts";
sequence0 = "#/bear/idle.dsq";
sequence1 = "#/bear/cready.dsq";
sequence2 = "#/bear/pain1.dsq";
sequence3 = "#/bear/pain2.dsq";
sequence4 = "#/bear/walk.dsq"; ***
sequence5 = "#/bear/run.dsq";
sequence6 = "#/bear/attack1.dsq";
sequence7 = "#/bear/attack2.dsq";
sequence8 = "#/bear/swimidle.dsq";
sequence9 = "#/bear/swim.dsq";
sequence10 = "#/bear/death.dsq";
};

***Lets say your dsq for walking is called hamsterhop.dsq and not walk.dsq

then assign this file in the cfg like so:

sequence4 = "#/bear/hamsterhop.dsq walk"; 

Player Models have these base animations assigned. (I assume there is a fallback like with the mobs) that trailing digit animations only need the version 1 and more are optional:

  • idle.dsq";
  • cready1h.dsq";
  • cready2h.dsq";
  • pain1.dsq";
  • pain2.dsq";
  • 1hwalk.dsq";
  • 2hwalk.dsq";
  • 1hrun.dsq";
  • 2hrun.dsq";
  • 1hslashleft.dsq";
  • 1hslashright.dsq";
  • 1hslash2left.dsq";
  • 1hslash2right.dsq";
  • 1hslash3left.dsq";
  • 1hslash3right.dsq";
  • 1hthrustleft.dsq";
  • 1hthrustright.dsq";
  • 2hslash.dsq";
  • 2hslash2.dsq";
  • 2hslash3.dsq";
  • 2hthrust.dsq";
  • unarmedleft.dsq";
  • unarmedright.dsq";
  • kick1.dsq";
  • bowattack.dsq";
  • shieldblock.dsq";
  • spellprepare.dsq";
  • spellcast.dsq";
  • spellcast2.dsq";

Some other unsorted notes

In "spawns" you put the models, animations and textures together:

example bear:

spawn.model = "bear/bear.dts"
spawn.animation = "bear"
spawn.textureSingle = "bear/bear_brown"

If the models has only one texture and Material ID you will use spawn.textureSingle = "single/bear_brown"

If it has more than one texture, the model must be setup to have the material ID's named: base.head.png base.body.png as above. And then call them in python:

Then you call the textures like so fer instance:

spawn.textureHead = "bear/bear_brown"
spawn.textureBody = "bear/bear_fuzzyhair" 

Attachments