|
New
Teams for Team Arena (and other stories) Script
files by various id design team members Bot Search Material by Jan Paul
“MrElusive” van Waveren |
|
|
|
|
Table
of Contents |
|
|
|
Introduction This document presupposes
that the person wanting to create a new team already knows the basics of
creating, animating, and skinning new character models for Quake III Arena.
There are numerous good tutorials on-line covering both the basics and the
more in-depth skills needed to make models that work inside the game. Special Thanks Notices: QUAKE III ARENA and QUAKE III: Team
Arena are trademarks of id Software, Inc. This document is copyright 2000,
2001 by id Software, Inc. Id Software grants permission to redistribute and
or redisplay this document in electronic form only. It may not be included as
a part of any permanent media without first obtaining permission from id
Software, inc. Permission is granted to use the contents of the scripts
embedded in this document as a base for creating additional teams for Team
Arena. The Team Pak File Naming Conventions Including What id
Didn’t Make Teamname_readme.txt NOTE: The scripts used to create the
various aspects of the new team are included throughout this document. Team
creators have permission to copy the scripts in this document and paste them
into new scripts for use in original teams. Details such as team name,
character names, and bot names should be changed to fit the new team. Scripts These are the various
scripts used to define the team and model characteristics. Teamname.team (in root
directory) : A
text file that defines the components of the team. This file corresponds to
the original team.txt file in pak0.pk3. It is required for all new teams. See
Appendix B for details. Teamname.bot (scripts\)
: This file
defines the resources used by the five bots that are used by the team in
single player (model, head_model, and bot a.i.). It is required for all new
teams. See Appendix A for details. Teamname.shader
(scripts\) :
Shader scripts for all shaders used to create the new_model and the five
new_headmodels. This is required for the team icons to work properly in game.
Other shader-modified textures may be included. See
Appendix G for the sample version of this shader. Animation.cfg
(models\players\newmodel\) : The animation configuration file. Team Arena models have
a few a few more animation sequences than their Q3A counterparts, but the
basics are the same. The contents of a sample Q3:TA animation.cfg are
included at the end of this document. It’s a script, but not one that’s
resident in the scripts file. This is only required if a new model is
included in the pak. New_model.voice
(scripts\) : This
is the script that assigns individual voice wav files to specific message or
status commands. See Appendix C for a sample script and discussion of its
use. Voice files are optional and only required if an entirely new set of
voice wav files is to be included in the pak. Sound files are large and can
add significantly to the size of the pakfile. If creating a human-based team,
consider using the 8 voices that came with Team Arena to save file space. New_headmodel_1.vc
(scripts\) : This
file selects which .voice file is linked to a head file. Each head model in
the pak needs one of these. A separate version of this file is required for
each new headmodel included with the team. The name of the file is the same
as the name of the bot that uses the headmodel. A sample .vc file is included
in Appendix E. User Interface
Assets Teamname, of course,
refers to the name of the new team. Teamname_name_alt.tga
(ui\assets\) : This
is a 256 x 128 pixel, 32 bit .tga file (with alpha channel) depicting the
name of the team as a black and white (grayscale) art file. Teamname is the
name of the new team, the rest of the filename is part of its format. The
alpha channel should be the same as the image (not reversed). Teamname_name.tga
(ui\assets\) : This
is a 256 x 128 pixel, 32 bit .tga file (with alpha channel) depicting the
name of the team with a glow around it. It is a black and white art file
(grayscale). The alpha channel should be the same as the image (not
reversed). Teamname.tga
(ui\assets\) :
This is a 128 x 128 pixel, 32 bit .tga file (with alpha channel) that depicts
a black and white version of the team logo or symbol. The alpha channel
should be the same as the image (not reversed). Teamname_metal.tga
(ui\assets\) :
This is a 128 x 128 pixel, 32 bit .tga file (with alpha channel). If the team
creator wants to keep the same style as the original game, this version of
the team’s logo is rendered to look like brushed metal, perhaps with a bluish
cast. But in reality, it can be anything, any color. The alpha channel should
be the same as the alpha channel in the Teamlogo.tga art. Teamname.roq
(ui\assets\) : The
.roq movie displays in the center area of the player set up screen when the
player selects one of the teams. Movie file sizes can be large, so the team
creator may wish to take the overall size of the team pakfile into
consideration before including a movie. Uncompressed, the team movies in Team
Arena were over a megabyte each … and being compressed format files already;
they don’t get much smaller in the pakfile. The good news is that if no movie
file is present, the game displays the teamname_metal.tga in the center area
instead. It must be noted that team movie files will not be offered for
viewing in the Cinematics menu option unless the teamname.roq file is also
present in the video\ directory. In Game Team Logo Icons The team style game maps
for Team Arena are usually set up to display the icons of the competing
teams. The game uses a separate set of art files located in the team_icon
directory off the root missionpack directory for the team icons displayed in
game. For Team Arena, these art files were a single color, red or blue. But
that need not be the case. If a game clan wanted to use a full color version
of their clan symbol, it would work in game - though the team creator may
want to consider tinting the art either bluish or reddish to better suit the
color used in play (most team maps are likely to use the blue/red color theme
as was done in the original game). Also, take into
consideration that the art will be transparent, with background textures (floors,
walls, colored banners) showing through behind it. Simple, graphic treatments
of logos will probably work the best in all cases. Art files can be larger or
smaller than those shown here. However, while having smaller files will save
memory, image quality will suffer. If using larger art files, image quality
may improve substantially but the memory usage will be substantial also.
Whether increasing or reducing file size, remember to keep the file dimension
proportional to the original. The Teamname.shader
references this art. Make sure that the file names in the shader match those
of the artwork. Teamname.tga
(team_icon\): This
is a 128 x 128 pixel art file, the exact same file as used in
ui\assets\teamname.tga. It is a black and white 32 bit version of the team
logo with the same art in the alpha channel. Teamname_blue.tga
(team_icon\): For
Team Arena, we created solid color logos, but that need not be the case. This
32 bit 128 x 128 pixel art file can be full color. The alpha channel should
be the same as the teamname.tga file. If you choose to make it solid blue,
consider using the same color value as the original TA logos. The RGB formula
for that blue is: 0 148 255. Teamname_red.tga
(team_icon\): Even
though id chose to make our logo’s single, solid colors, this 32 bit 128 x
128 pixel art file can be whatever color the team creator wishes. The alpha
channel should be the same as the teamname.tga file. If you choose to make it
solid red, consider using the same color value as the original TA logos. The
RGB formula for that red is: 255 0 0. New Models and Skins for Teams Example: models\players\heads\Kreecha. New Team Arena Models
based on Q3A models
NOTE: When creating your models for
export as .ASE files for use with the Q3data.exe, you must have a head on the
model (e.g.; an h_head in the max file) for the converter to work. The
converter looks for and expects to see an h_head for of the model. If the
converter does not find the head during the conversion, the process will
halt. After the conversion is complete just use the Upper and lower Md3 files
for that character’s directory. Place the head model in its own separate
directory. Icons for new models New Team Skins The team skins (red and
blue) for a Team Arena model reside in a directory within the model directory
(which contains the model md3 pieces). Example:
models\players\characters\BoB\Kreechurs\. The teamname directory
(Kreechurs in this case) would contain the art files for the skin, and the
.skin files that link art to model. In simple form, the skin
assets required to be in the teamname file are as follows: TGA file names Skin File Names New Heads Example: models\players\heads\callisto\lily
is a new skin for the Callisto head. Note that other assets,
such as the .vc file for this head will also need to be nested in directories
a layer deeper in their normal files. Example: scripts\callisto\lily.vc. New head models need to
have all the assets specific to the model (md3 files, skin files and art files)
in the directory named for the model head. No MD3 Models Required
for New Skins on id Models Using the Work of
Others Appendix A: The .Bot File A Team Arena team consists
of five players. In the original game, the five players were drawn from a mix
of 11 new player heads sitting atop two body models. New teams should also
have five players each. However, five players on the new team should each
have a unique head/skin combination. These can either be new models or new
skins using the original Q3:TA models. The .bot file (whose file
name is the same as the name of the new team, e.g.; Kreechurs.bot or
Scumsukkers.bot) is a text script whose “.txt” file extension has been renamed
to “.bot.” This file corresponds to the bots.txt file used in the original
Team Arena game. Appendix A shows a sample bot file. Name = the name of the bot as it
appears on the Start Server Menu. Model = the body model used by this bot.
A team can use more than one body model. However, adding multiple body models
can and will add significantly to the size of the team pak file and to memory
usage in game. Limiting the number of body models used by a team is a good
design practice. No more than two models per team should be the limit. Headmodel = *modelname. The headmodel is
what makes the bot unique. It has links to the voice files and is used when
creating name aliases for the bots to use in the single player game. The asterisk
is a necessary part of the file name here. The headmodel called
Callisto/Lily is a new skin on the Callisto model mesh. The pathname is
required for the model to work. Aifile = the bot ai used by the team
member. The computer-controlled opponents in Team Arena used three individual
ai files that define their general role in the game: defense (tad_c.c),
offense (tao_c.c) and all-arounder (taa_c.c). New bots can use these same
a.i. files or, if desired the team creator can make new ai files based on the
Team Arena ai files. Filename: Teamname.bot //bot file begins here {name Kreechamodel BoBheadmodel *Kreechaaifile bots/taa_c.c} {name Callisto/Lilymodel BoBheadmodel *Callisto/Lilyaifile bots/tad_c.c} {name Infinitemodel BoBheadmodel *Infiniteaifile bots/tad_c.c} {name Primemodel BoBheadmodel *Primeaifile bots/tao_c.c} {name Vladmodel BoBheadmodel *Vladaifile bots/tao_c.c} //bot file ends here Appendix B: The .TEAM File The team file is a text
file that has had the file extension renamed from .txt to .team. Kreechurs is a test Team
Arena team created to test the team and head model code for point release
v1.28. It uses the hypothetical “BoB” model to create a new team. The team definition
appears on a single line in the file: “Team name” “asset
path/name” “bot 1” “bot 2” “bot 3” “bot 4” “bot 5” //Teams define the assets
used by the team: team name, path to U.I. assets, player names Filename: Teamname.team // .team file begins here teams {{ "Kreechurs" "ui/assets/kreechurs" "BoB" "Lily" "Vlad" "Infinite" "Prime"} } characters {{ "Callisto/Lily" " BoB " }{ "Kreecha" " BoB " }{ "Infinite" " BoB " }{ "Prime" " BoB " }{ "Vlad" " BoB " }} // Aliases are the link between character name, headmodel, and bot A.I. aliases {{ "Kreecha" "BoB" "a" } { "Lily" "Callisto/Lily" "d" } { "Vlad" "Vlad" "o" } { "Infinite" "Infinite" "d" } { "Prime" "Prime" "o" } } //.team file ends here Appendix C: The Voice List The voice file is a text
file that has had the file extension renamed from .txt to .voice. Each unique
set of voice recordings requires its own voice file. This file contains the
code script that defines the voice and corresponding text messages used by
the player models in game. Like the text chat messages that appeared in
original Q3A, these messages are triggered by game conditions and statuses. The file directory name
for the voice does not have to be the same as a head or body model, though
giving it a unique name that identifies it with the team is always a good idea.
The specific file names for each voice message ARE VERY IMPORTANT, as the
voice script that corresponds to the file directory for the voice calls them.
Example: If the new voice is called “monster”, then the directory would be
called “monster” and the voice file would be called monster.voice. If you create a new set of
recorded voices for your team or for a new model, be certain to include at
least one voice message for each category (defined by a name like “getflag”
and follow by opening and closing brackets) on this list. It is not necessary
to provide as many different messages as shown below. Example: Your character
may not need more than one way to say “yes” or have as many kill insults. You
can also rewrite the scripts. Your team need not say the same thing as the id
teams said or use the same style of speaking. Just remember that the text
portion of the message will display on screen, so having it match the audio
is always a good thing. And remember that in game, shorter speeches are
better and cheaper. The file path is as
follows: sound\voices\newmodel\soundname.wav You may include additional
voices but these are the ones currently the phrases accessed by the game. As with any script, these
are lines of game code. Take care to maintain the proper syntax, otherwise,
you are likely to either disable the file or even crash the game. To create new voice
recordings use a sound editing program that can produce a .wav format file
that conforms to the following: Mono 22k 16bit (This is taken from the
male5 voice file. Substitute the name of your model for male5 in the file
pathnames). Filename:
Voicename.voice //voice file starts here getflag {sound/voices/male5/or_01.wav "Get the flag" sound/voices/male5/or_02.wav "Secure the flag" } offense {sound/voices/male5/or_03.wav "You're on offense" } defend {sound/voices/male5/or_04.wav "Stay Home" sound/voices/male5/or_05.wav "Guard the base" sound/voices/male5/or_07.wav "You're on defense" } defendflag {sound/voices/male5/or_06.wav "Guard our flag" } patrol {sound/voices/male5/or_08.wav "Patrol" sound/voices/male5/or_09.wav "Take point" sound/voices/male5/or_10.wav "Go on patrol" } followme {sound/voices/male5/or_11.wav "Follow me" sound/voices/male5/or_12.wav "Cover me" sound/voices/male5/or_13.wav "Watch my back" } yes {sound/voices/male5/re_01.wav "Yessir" sound/voices/male5/re_02.wav "Yes ma'am" sound/voices/male5/re_03.wav "Aye, aye, sir" sound/voices/male5/re_04.wav "Aye, aye, ma'am" sound/voices/male5/re_05.wav "Affirmative" sound/voices/male5/re_06.wav "Copy" sound/voices/male5/re_07.wav "Roger" } no {sound/voices/male5/re_08.wav "No sir" sound/voices/male5/re_09.wav "No ma'am" sound/voices/male5/re_10.wav "Negative" sound/voices/male5/re_11.wav "I'm busy" } ihaveflag {sound/voices/male5/gs_01.wav "I'm coming in hot!" sound/voices/male5/gs_02.wav "I've secured the flag!" sound/voices/male5/gs_03.wav "I've got the flag!" sound/voices/male5/gs_04.wav "Bringing home the bacon!" } baseattack {sound/voices/male5/gs_05.wav "We're taking enemy fire!" sound/voices/male5/gs_06.wav "Security breach!" sound/voices/male5/gs_07.wav "Our base is under attack." } enemyhasflag {sound/voices/male5/gs_08.wav "Our flag is gone!" sound/voices/male5/gs_09.wav "They've got our flag!" sound/voices/male5/gs_10.wav "Enemy has secured our flag!" } ongetflag {sound/voices/male5/ps_03.wav "Getting the flag..." } onoffense {sound/voices/male5/ps_01.wav "I'm taking offense" sound/voices/male5/ps_02.wav "I'm going in..." } ondefense {sound/voices/male5/ps_04.wav "I'll stay home" sound/voices/male5/ps_05.wav "Securing base" sound/voices/male5/ps_06.wav "Guarding the base now" } onpatrol {sound/voices/male5/ps_07.wav "On patrol..." sound/voices/male5/ps_08.wav "Patroling..." sound/voices/male5/ps_09.wav "I'll take point" } startleader {sound/voices/male5/ps_10.wav "I'm the leader" sound/voices/male5/ps_11.wav "I'm in charge" } stopleader {sound/voices/male5/ps_12.wav "I don't want to lead" sound/voices/male5/ps_13.wav "Someone else lead" sound/voices/male5/ps_14.wav "I resign" } kill_insult {sound/voices/male5/tt_06.wav "Next time don't get up" sound/voices/male5/tt_05.wav "You're just a waste of space" sound/voices/male2/tt_07.wav "Are you blind?" sound/voices/male5/tt_13.wav "Duck next time" sound/voices/male5/tt_19.wav "Suh-weeet!" sound/voices/male5/tt_20.wav "Woo-Hoo!" sound/voices/male5/tt_22.wav "You just got schooled!" // sound/voices/male5/tt_16.wav "You talkin' ta ME?" } taunt {sound/voices/male5/tt_18.wav "How about some competition here?" sound/voices/male5/tt_01.wav "FRAGbait!" sound/voices/male5/tt_11.wav "My momma shoots better!" sound/voices/male5/tt_14.wav "Try hitting that barn over there!" sound/voices/male5/tt_17.wav "Wanna BUY a shot?" // sound/voices/male5/tt_03.wav "Get a clue moron!" // sound/voices/male5/tt_09.wav "MORON!" // sound/voices/male5/tt_02.wav "You're such a Loser!" // sound/voices/male5/tt_08.wav "LOSER!" // sound/voices/male5/tt_10.wav "No-skill idiot!" // sound/voices/male5/tt_12.wav "Watched that all the way..." } death_insult {sound/voices/male5/tt_15.wav "Thank you sir.. may I have another!" sound/voices/male5/tt_23.wav "Bite me!" sound/voices/male5/tt_25.wav "Cheap shot!" sound/voices/male5/tt_26.wav "DOH" sound/voices/male5/tt_28.wav "Lucky shot!" sound/voices/male5/tt_29.wav "That's it!" sound/voices/male5/tt_30.wav "Ooh! That's it!" // sound/voices/male5/tt_35.wav "Hey, dumbass" // sound/voices/male5/tt_04.wav "What an ass!" // sound/voices/male5/tt_24.wav "Screw you!" } kill_gauntlet {sound/voices/male5/tt_21.wav "Eat gauntlet baby!" } praise {sound/voices/male5/tt_27.wav "Nice!" } camp // command someone to camp{sound/voices/male5/voc_01.wav "Camp this position." sound/voices/male5/voc_02.wav "Camp here." } returnflag // return our flag (CTF only) {sound/voices/male5/voc_03.wav "Get our flag!" sound/voices/male5/voc_04.wav "Return our flag!" sound/voices/male5/voc_05.wav "Recover our flag!" } whoisleader // who is the team leader{sound/voices/male5/voc_06.wav "Who's our leader?" sound/voices/male5/voc_07.wav "Who's in charge?" sound/voices/male5/voc_08.wav "Who leads this team?" } followflagcarrier // follow the flag/skull carrier (CTF, Oneflag, Harvester){sound/voices/male5/voc_09.wav "Follow our carrier." sound/voices/male5/voc_10.wav "Stay with the carrier." sound/voices/male5/voc_11.wav "Protect the carrier." sound/voices/male5/voc_12.wav "Cover the carrier." } inposition // I'm in position{sound/voices/male5/voc_13.wav "I'm in place." sound/voices/male5/voc_14.wav "I'm at my post." sound/voices/male5/voc_15.wav "I am in position." sound/voices/male5/voc_15a.wav "I am in position" } wantondefense // I want to be on defense{sound/voices/male5/voc_16.wav "Let me defend." sound/voices/male5/voc_17.wav "I'd rather defend." } wantonoffense // I want to be on offense{sound/voices/male5/voc_18.wav "Let me go on offense." sound/voices/male5/voc_19.wav "I'd rather go on offense." } wantonpatrol // I want to go on patrol{sound/voices/male5/voc_20.wav "Let me patrol." sound/voices/male5/voc_21.wav "I'd rather patrol." } oncamp //I'm Camping (status){sound/voices/male5/voc_22.wav "I'm camping here." } onfollow {sound/voices/male5/voc_23.wav "I'm following." sound/voices/male5/voc_24.wav "Following!" } onfollowcarrier {sound/voices/male5/voc_27.wav "Guarding the carrier." } onreturnflag {sound/voices/male5/voc_28.wav "Getting our flag." } harvest //harvester game type only {sound/voices/male5/voc_25.wav "Go collect skulls." sound/voices/male5/voc_26.wav "Harvest some skulls." } // voice file ends here
The following game sounds
are associated with the team model. Each of the sounds listed below is a
separate file. They need to be located in a directory having the same name as
the body model and be nested within the sounds directory. Example: sounds/newmodel/Death1.wav. If new sound files are to
be created, make sure that they conform to the following wav file format:
Mono 22k 16bit. Death1.wav Appendix E: .VC File Sample The vc file is a text file
script that has had the file extension renamed from .txt to .vc. The script
is linked to a bot name. Bot names are defined in the .bot file included in
the pak file. Each bot needs to have a .vc file. It’s best, if at all
possible, to have the model name (or model/skin combination) and the bot name
be the same. The very brief contents are simply a path to a voice file. The
selected voice file can be either one of the original Team Arena voices or an
original voice included with the team. When creating the voice file for a
re-skinned head model, be sure to include the head name in the path to the
voice script. That script must also be nested a layer deeper in the
directory, such as: scripts/callisto/lily.vc. The contents of a sample
.vc file are shown below. //VC script begins herescripts/newcharacter.voice //VC script ends here
Appendix F: Sample Team Arena
Animation.Cfg File and New Animation Commands The animation.cfg file is
a text file that has had the file extension renamed from .txt to .cfg. This
file goes in the directory with the body model components (model\players
\new_model\ -- or -- model\players\characters\new_model\). The specifics of using
or modifying the contents of this file are a part of the model making process
and are mostly outside the focus of this document. It is included in this
document because the Team Arena animation configuration is different from the
Quake 3 Arena Configuration. Furthermore it contains the “sex” key that
determines the gender/sex of a character (as does the Q3A animation.cfg).
This key/value pair determines which pronouns (masculine, feminine, or
neuter) are used when the game generates messages about the player. Additionally, two new
animation commands (for both Q3A and Q3:TA) are shown here. These were done
at the request of modelers doing non-traditional biped models. When put in
the animation.cfg file, they literally stop the model from responding to the
programmatic animations for those body parts. If you freeze the legs, the
hips don't tilt during running animation. If the model’s legs were too much
outside of bipedal norms (as is the case for quadrupeds), the front or back
legs would disappear into the ground as the leg models programmatically
tilted around the model’s pelvis. If you freeze the torso, you don't get
waist twists or bends. Depending on what you are making, you may want to use
one, but not the other. Fixedlegs : put in the animation .cfg this
command freezes programmatic rotation of the legs Fixedtorso : when put in the animation .cfg
this command freezes programmatic rotation of the torso These commands are
commented out in the sample below. // animation.config file begins here sex m // THIS VALUE (m, f, n) DETERMINES GENDER OF MODEL //fixedlegs // PREVENTS PROGRAMMATIC ROTATION OF LEGS//fixedtorso // PREVENTS PROGRAMMATIC ROTATION OF TORSO headoffset -3 0 0 footsteps boot // first frame, num frames, looping frames, frames per second 0 30 0 20 // BOTH_DEATH1 29 1 0 20 // BOTH_DEAD1 30 30 0 20 // BOTH_DEATH2 59 1 0 20 // BOTH_DEAD2 60 30 0 20 // BOTH_DEATH3 89 1 0 20 // BOTH_DEAD3 90 26 0 20 // TORSO_GESTURE 116 6 0 15 // TORSO_ATTACK (MUST NOT CHANGE -- hand animation is synced to this) 122 6 0 15 // TORSO_ATTACK2 (MUST NOT CHANGE -- hand animation is synced to this) 128 5 0 20 // TORSO_DROP (MUST NOT CHANGE -- hand animation is synced to this) 133 4 0 20 // TORSO_RAISE (MUST NOT CHANGE -- hand animation is synced to this) 137 1 0 15 // TORSO_STAND 138 1 0 15 // TORSO_STAND2 199 8 8 20 // LEGS_WALKCR 207 12 12 20 // LEGS_WALK 219 10 10 20 // LEGS_RUN 229 10 10 20 // LEGS_BACK 239 10 10 15 // LEGS_SWIM 249 7 0 15 // LEGS_JUMP 256 9 0 15 // LEGS_LAND 265 9 0 15 // LEGS_JUMPB 274 6 0 15 // LEGS_LANDB 280 15 15 15 // LEGS_IDLE 295 11 11 15 // LEGS_IDLECR 307 9 9 15 // LEGS_TURN 139 10 0 15 // TORSO_GETFLAG //TA Gesture 149 10 0 15 // TORSO_GUARDBASE //TA Gesture 159 10 0 15 // TORSO_PATROL //TA Gesture 169 10 0 15 // TORSO_FOLLOWME //TA Gesture 179 10 0 15 // TORSO_AFFIRMATIVE //TA Gesture 189 10 0 15 // TORSO_NEGATIVE //TA Gesture // animation.config file ends here Appendix G: Teamname.shader This is a text file script
with the file extension renamed from .txt to ..shader. //Teamname.shader begins here team_icon/Kreechurs_red { cull none surfaceparm nolightmap surfaceparm trans surfaceparm nomarks { map team_icon/Kreechurs_red.tga blendFunc Addrgbgen wave triangle 0.2 0.5 0 0.2 }} team_icon/Kreechurs_blue { cull none surfaceparm nolightmap surfaceparm trans surfaceparm nomarks { map team_icon/Kreechurs_blue.tga blendFunc Addrgbgen wave triangle 0.2 0.5 0 0.2 }} //Teamname.shader ends here Appendix H: Search
Order for Model and Head model Assets The means by which
headmodels are used and selected was unified as much as possible between Q3A
and Q3:TA code. The byproduct of this change allows players some more choices
when selecting head models. The following documents the new procedures. Searching for Head
skins More Variety of Head
Skins =================================== Q3A/TA NON-TEAMPLAY SEARCH ORDER =================================== ------------------------------------------------- headmodel = *callisto/lily models/players/heads/callisto/lily/head_default.skin models/players/heads/callisto/head_lily.skin ------------------------------------------------- headmodel = callisto/lily models/players/callisto/lily/head_default.skin models/players/callisto/head_lily.skin models/players/heads/callisto/lily/head_default.skin models/players/heads/callisto/head_lily.skin ============================ Q3A TEAMPLAY SEARCH ORDER ============================ ------------------------------------------------- Example: team_headmodel = *callisto/lily team = red models/players/heads/callisto/lily/head_red.skin models/players/heads/callisto/head_red.skin ------------------------------------------------- Example: team_headmodel = callisto/lily team = red models/players/callisto/lily/head_red.skin models/players/callisto/head_red.skin models/players/heads/callisto/lily/head_red.skin models/players/heads/callisto/head_red.skin =========================== TA TEAMPLAY SEARCH ORDER =========================== Example: team_headmodel = *callisto/lily team = red teamName = Stroggs models/players/heads/callisto/lily/Stroggs/head_red.skin models/players/heads/callisto/Stroggs/head_red.skin models/players/heads/callisto/lily/head_red.skin models/players/heads/callisto/head_red.skin Example: team_headmodel = callisto/lily team = red teamName = Stroggs models/players/callisto/lily/Stroggs/head_red.skin models/players/callisto/Stroggs/head_red.skin models/players/callisto/lily/head_red.skin models/players/callisto/head_red.skin models/players/heads/callisto/lily/Stroggs/head_red.skin models/players/heads/callisto/Stroggs/head_red.skin models/players/heads/callisto/lily/head_red.skin models/players/heads/callisto/head_red.skin Searching for Model
Skins =================================== Q3A/TA NON-TEAMPLAY SEARCH ORDER =================================== ------------------------------------------------- Example: model = hunter/harpy legs: models/players/hunter/lower_harpy_default.skin models/players/hunter/lower_harpy.skin models/players/characters/james/lower_harpy_default.skin models/players/characters/james/lower_harpy.skintorso: models/players/hunter/upper_harpy_default.skin models/players/hunter/upper_harpy.skin models/players/characters/hunter/upper_harpy_default.skin models/players/characters/hunter/upper_harpy.skin============================ Q3A TEAMPLAY SEARCH ORDER ============================ ------------------------------------------------- Example: team_model = hunter/harpy team = red legs: models/players/hunter/lower_harpy_red.skin models/players/hunter/lower_red.skin models/players/characters/hunter/lower_harpy_red.skin models/players/characters/hunter/lower_red.skintorso: models/players/hunter/upper_harpy_red.skin models/players/hunter/upper_red.skin models/players/characters/hunter/upper_harpy_red.skin models/players/characters/hunter/upper_red.skin=========================== TA TEAMPLAY SEARCH ORDER =========================== ------------------------------------------------- Example: team_model = james/badass team = red teamName = Stroggs legs: models/players/james/Stroggs/lower_badass_red.skin models/players/james/Stroggs/lower_red.skin models/players/james/lower_badass_red.skin models/players/james/lower_red.skin models/players/characters/james/Stroggs/lower_badass_red.skin models/players/characters/james/Stroggs/lower_red.skin models/players/characters/james/lower_badass_red.skin models/players/characters/james/lower_red.skintorso: models/players/james/Stroggs/upper_badass_red.skin models/players/james/Stroggs/upper_red.skin models/players/james/upper_badass_red.skin models/players/james/upper_red.skin models/players/characters/james/Stroggs/upper_badass_red.skin models/players/characters/james/Stroggs/upper_red.skin models/players/characters/james/upper_badass_red.skin models/players/characters/james/upper_red.skin
Appendix I: Expanded Team Skin
Functionality for Q3A Technically speaking, the following
information has nothing to do with Team Arena teams, but this document is
just as good a place for this information to reside as any. At the request of several
modelers who worked with the modeling and skin making forums and archives at Polycount, we changed the
way that Quake III Arena (not just Team Arena) handles skin replacement in
team games. Originally, if a skinner made a new skin for a Q3A model AND made
team color versions of that skin, the game would not automatically use the
team version. Instead, it would display the id default red or blue skin. To
see a new team skin in the game, the skinner literally had to remove the
default skins and replace them with the new versions. With version 1.28 of the
game code, we’ve been able to get that changed. The file format that we used
is the one requested by the skinners themselves. However, because of the way
searches for head skins now work, pre-existing Q3A files are not going to
work correctly. They need to have one, renamed skin file added for the proper
head skins to appear in the game. When a properly set-up
user-created skin for a model is accompanied by matching team color skins,
the game will now use them instead of the default team skin for that model. The example below shows
the assets that must be in the pakfile for the Blue version of a skin named
Hellion that uses the id-created Crash model. Hellion_blue.tga models\players\crash\ Hellion_blue_f.tga models\players\crash\ Hellion_blue_t.tga models\players\crash\ Head_Hellion_blue.skin models\players\crash\ Icon_Hellion_blue.tga models\players\crash\Lower_Hellion_blue.skin models\players\crash\ Upper_Hellion_blue.skin models\players\crash\ Head_blue.skin models\players\crash\Hellion\
The last file is the key
to making it work … a skin file with the same contents as Head_Hellion_blue.skin,
only renamed Head_blue.skin and placed one layer deeper in the Hellion
directory. Note that BOTH head_hellion_blue.skin in the crash directory and
head_blue.skin in the crash/Hellion directory are necessary for the model to
work properly. To see a working example
of a properly set up Q3A skin, look for Hades Orphan, the revised version
(h20.pk3), by Camilla “milla” Bennett for the Crash model. Appendix J: Contents of the
tm_kreechurs.pk3 The following list is
taken directly from the contents of the pak file contain the BoB model and
the Kreechurs team information. Use this as a reference when creating your
own team pak files. tm_kreechurs.pk3 Name Modified Size Ratio Packed Path kreechurs.team 5/9/2001 12:01 PM 1,968 61% 770 kreechurs_readme.txt 5/9/2001 3,162 59% 1,286 animation.cfg 5/161/2001 4:32 PM 1,173 59% 478 models\players\characters\BoB\ default_flame1.jpg 513/2000 7:19 PM 5,972 10% 5,385 models\players\characters\BoB\ default_flame2.jpg 51312000 7:19 PM 5,984 10% 5,359 models\players\characters\BoB\ default_flame3.jpg 5/3/2000 7:20 PM 5,623 11% 5,014 models\players\characters\BoB\ default_flame4.jpg 51312000 7:20 PM 5,284 12% 4,658 models\players\characters\BoB\ default_flame5.jpg 513/2000 7:21 PM 5,231 10% 4,691 models\players\characters\BoB\ default_flame6.jpg 5/3/2000 7:21 PM 5,318 11% 4,735 models\players\characters\BoB\ qefault_flame7.jpg 5/3/2000 7:21 PM 5,807 11% 5,197 models\players\characters\BoB\ default_flame8.jpg 5/3/2000 7:22 PM 6,114 10% 5,510 models\players\characters\BoB\ default_flameball.jpg 5/3/2000 7:22 PM 3,010 26% 2,216 models\players\characters\BoB\ defaultjets.tga 611412000 2:55 AM 49,196 37% 31,075 models\players\characters\BoB\ icon_blue.tga 6/13/2000 8:15 PM 16,402 58% 6,845 models\players\characters\BoB\ icon_red.tga 6/13/2000 8:15 PM 16,402 61% 6,327 models\players\characters\BoB\ lower.md3 3/3/2001 12:11 PM 593,972 33% 398,956 models\players\characters\BoB\ lower_1.md3 3/3/2001 12:11 PM 593,972 33% 398,956 models\players\characters\BoB\ lower_2.md3 3/3/2001 12.11 PM 593,972 33% 398,956 models\players\characters\BoB\ upper.md3 3/3/2001 12:11 PM 721,388 33% 483,599 models\players\characters\BoB\ upper_1.md3 3/3/2001 12:11 PM 721,388 33% 483,599 models\players\characters\BoB\ upper_2.md3 3/3/2001 12:11 PM 721,388 33% 483,599 models\players\characters\BoB\ icon_default.tga 6/13/2000 8:15 PM 16,402 61% 6,328 models\players\ characters\BoB\ blue.tga 10/23/2000 7: 17 PM 196,626 41% 115,756 models\players\characters\BoB\kreechurs\ lower_blue.skin 4/6/2001 11 :20 AM 203 52% 98 models\players\characters\BoB\kreechurs\ lower_default.skin 4/6/200 111:25AM 204 50% 102 models\players\characters\BoB\kreechurs\ lower_red.skin 4/6/2001 11:20AM 204 50% 102 models\players\characters\BoB\kreechurs\ red.tga 10/23/2000 7:17 PM 196,626 43% 111,607 models\players\characters\BoB\kreechurs\ upper_blue.skin 41612001 11:20AM 281 58% 118 models\players\characters\BoB\kreechurs\ upper_default.skin 416/2001 11:25AM 282 58% 119 models\players\characters\BoB\kreechurs\ upper_red.skin 4/6/2001 11 :20 AM 282 58% 119 models\players\characters\BoB\kreechurs\ blue_h.tga 6/14/2000 10:26 AM 196,652 56% 86,873 models\players\heads\Kreecha\ default_fc.tga 5/29/2000 10:07 AM 3,090 90% 323 models\players\heads\Kreecha\ default_visor.tga 10/23/2000 7:57 PM 196,626 96% 7,656 models\players\heads\Kreecha\ Kreecha.md3 3/3/2001 12:12 PM 5,868 46% 3,171 models\players\heads\Kreecha\ Kreecha_1.md3 3/3/2001 12:12 PM 5,868 46% 3,171 models\players\heads\Kreecha\ Kreecha_2.md3 3/3/2001 12:12 PM 5,868 46% 3,171 models\players\heads\Kreecha\ head_blue.skin 3/12/2001 4:58 PM 56 7% 52 models\players\heads\Kreecha\ head_default.skin 3/1212001 4:57 PM 53 8% 49 models\players\heads\Kreecha\ head_red.skin 3/12/2001 4:58 PM 55 7% 51 models\players\heads\Kreecha\ icon_blue.tga 6/13/2000 8:15 PM 16,402 58% 6,846 models\players\heads\Kreecha\ icon_default.tga 6/13/2000 8:15 PM 16,402 61% 6,328 models\players\heads\Kreecha\ icon_red.tga 6/1312000 8.15 PM 16,402 61% 6,328 models\players\heads\Kreecha\ red_h.tga 3112/2001 6:06 PM 196,626 66% 66,666 models\players\heads\Kreecha\ BoB.shader 3/12/2001 5:49 PM 2,912 89% 308 scripts\ kreechurs.bot 5/9/2001 11 :43 AM 405 70% 123 scripts\ kreechurs.shader 4/6/2001 3:05 PM 500 67% 163 scripts\ Kreecha.vc 5/2/2001 5:53 PM 21 0% 21 scripts\ Infinite.vc 4/9/2001 11: 18 AM 24 0% 24 scripts\ Prime.vc 4/9/2001 11: 18 AM 24 0% 24 scripts\ Vader.vc 4/9/2001 11: 18 AM 24 0% 24 scripts\ death1.wav 2/23/2000 9:20 AM 16,720 47% 8,900 sound\player\BoB\ death2.wav 5/7/2000 5:46 PM 18,496 17% 15,356 sound\player\BoB\ death3.wav 5/7/2000 5:46 PM 18,496 |