What the heck is a spawnvar?
A spawnvar is a list of entities that is held within each map that you play, Carnage lets you edit each individual item on any map without the hassle of having to use a level editor (such as q3radiant).
 
How the heck to i make a spawnvar?
Good question, creating a spawnvar is very very easy, although it can be time consuming depending on how much of the file you choose to edit.
 
To make things easy i have converted all of the standard quake 3 maps and placed them all in a folder named "default" inside the spawnvar directory.
 
Open the file named q3dm17.sv and take a look through it, we will use this map as an example to work with.
The first thing to point out is that each item is marked with a group/ stanza number, that you can use to identify each entity.
// Below is group/stanza number: 1
 
Ok now find group / stanza number 30, this is the group number for the mega health item.
Now open notepad agian and at the top of your empty file add:
 
{
"version" "2"
}
 
Remember, you need this at the top of each spawnvar file you create, or it will cause carnage to abort.
 
Next we will walk through how we edit an entity, each item must contain an opening brace "{ and a closing brace }".
Between these braces we can add our item definition.
 
Each item definition have a left and right hand value combined within double quotes "".
 
Example:
{
"classname" "item_health_mega"
"spawnflags" "1"
"origin" "192 64 816"
"wait" "45"
}
 
Here, our classname is for mega health.
Spawnflags sets if the item is suspended in the air or on the ground, "1" is suspended.
Origin is the location were our item will be placed on the map.
Wait is the time in seconds before the item will respawn (note that custom mod values override this).
 
Now, if you want to move mega health you must first disable the original item, to do this you simply note its
group / stanza number and disable it using the "disable" flag.
 
Example:
{
"classname" "item_health_mega"
"spawnflags" "1"
"origin" "192 64 816"
"wait" "45"
"disable" "30"
}
 
Notice how the "disable" "30" flag represents its group number (30).
Now to get a new location......
 
First start up quake and load q3dm17, then bind the command  "viewpos" to a key, this will allow you to view the origin of your current position.
 
Move to the location that you want to put your new mega health and press your bind key, a new origin will be printed into your console.
 
it might look something like this
"564 765 76 -25".
 
Quake works out locations by using something called vectors, in the quake world their are 3 main vectors (forward, right, up).
 
Each number represents these, so 564 is the forward distance, 765 the right distance and 76 is hight position.
To get opposites (backwards, left, down) it simply adds a "-" infront of each number.
 
These are the only 3 sets of numbers you need for an items origin, the forth set "25" is the items pointing angle, but this is not needed unless your defining ctf flags or other items that need an angle position.
 
 
 
FLAG
GAMETYPE
ffa
free for all
tournament
tournament
single
single player
team
team deathmatch
ctf
capture the flag
FLAG
GAMEMODE
default
standard play
runequake
rune quake
fragball
frag ball
rvr
rocket vs rails
lms
last man standing
knockout
knockout mode
freezetag
freezetag
hunted
hunted mode
relic
relic hunters
teamrelic
team relic hunters
rtf
return the flag
cpma
challenge promode
multiflag
multiflag ctf
voosh
voosh mode
carrier
defend the carrier ctf
hulk
kill the hulk
fortress
team fortress
defrag
defrag
bulldog
british bulldog
ENTITY NAME
EXPLENATION
music
map music
classname
entity name
message
map name
origin
item location in map
angle
angle the item is pointing
target
name of entity to target
targetname
name of entity to target (used for jumppad directions)
model
location of map model to use
model2
location of alternate map model to use
color
lighting color
light
lighting amount
radius
lighting radius
spawnflags
1= suspended item, 2= redteam only, 4= blueteam only, 8= used for lighting
svflags
32 = broadcast item to all clients
noise
ambience noise
wait
msec to wait (before respawn)
random
random counter
gametype
gametype to use
gamemode
gamemode to use
disable
disables group/stanza number
notfree
no spawn in ffa gameplay
count
sets an amount, given to the player when picked up
speed
determines how fast doors or other entities move
****************************************************************************************************************************
                                                                                             Spawnvar Configuration Help
****************************************************************************************************************************