Elvin, here's my server's config, it's pretty good -
Code:
// -------------------------------------------------------
// Events
// -------------------------------------------------------
//
// In order to further customize the rocket types, you can
// set a command to be executed when a certain event happens
// with a dodgeball rocket.
//
// The events that are right now implemented are the following:
//
// on spawn- When a rocket spawns.
// on deflect- A client has deflected a rocket.
// on kill- One of the rockets has killed the client.
// on explode- Same as on kill, only triggered once.
//
// The possible parameters passed for the commands are the following.
//
// @name - Name of the projectile type
// @rocket - Rocket entity index
// @owner - Owner client userid
// @target - Target client userid
// @dead - Last dead client
// @speed - Speed of the rocket
// @deflections - Number of rocket deflections
//
// -------------------------------------------------------
// Commands
// -------------------------------------------------------
//
// For using with the events system, the plugin has two useful
// commands if you want to make kickass explosion blasts.
//
// tf_dodgeball_explosion <client>
// Shows a huge explosion at the location of the specified client.
//
// tf_dodgeball_shockwave <client> <damage> <force> <radius> <falloff>
// Wich applies a huge shockwave at the location of the client.
//
// If you are able to write plugins, you can include your custom
// commands too!
// -------------------------------------------------------
"tf2_dodgeball"
{
"general"
{
"music" "0" // Play music on Dodgeball gamemode?
"round start" "" // Music to play on round start (before gameplay start)
"round end (win)" "" // Music to play for the winner team
"round end (lose)" "" // Music to play for the loser team
"gameplay" "" // Music to play when the gameplay starts. This one stops
// at round end.
"use web player" "0" // If the use of web player is enabled, these will be
"web player url" "" // used instead of the gameplay music
}
"classes"
{
"common"
{
// >>> Basic parameters <<<
"name" "Homing Rocket" // Full name of the rocket type
"behaviour" "homing" // The only behaviour right now is homing :P
"model" "" // Default: Common rocket model
"is animated" "0" // Only works when using a custom model
"play spawn sound" "1" // Does the rocket emit a sound when spawning?
"play beep sound" "0" // Does the rocket emit a beeping sound?
"play alert sound" "0" // Does the rocket emit an alert sound to the client when being targetted?
"spawn sound" "" // Default: Sentry rocket sound
"beep sound" "" // Default: Sentry searching sound
"alert sound" "" // Default: Sentry client spotted sound
"beep interval" "0" // Emit sound every x time
// >>> Specific behaviour modificators <<<
"elevate on deflect" "1" // Does the rocket can elevate after deflection?
"neutral rocket" "0" // Does this rocket has no team based targets?
// >>> Movement parameters <<<
"damage" "88" // Base damage done by the rocket.
"damage increment" "0" // Increment per reflection.
"speed" "475" // Base speed for the rocket.
"speed increment" "125" // Speed increment per reflection.
"turn rate" "0.65" // Turn rate / tick for this rocket.
"turn rate increment" "0.10" // Increment per deflection.
"elevation rate" "0.25" // Elevation rate when deflected (if enabled)
"elevation limit" "0.4" // Maximum elevation when deflected (if enabled)
"control delay" "0.02" // Delay until the rocket starts tracking the target after a deflection.
"critical chance" "100" // Percentage of chance for a critical rocket.
"no. players modifier" "0.0" // Increment based upon the number of players in the server.
"no. rockets modifier" "0.0" // Increment based upon the number of rockets fired since the start of the round.
"direction to target weight" "25" // Weight modifier for target selection, based upon the direction of the rocket
// to the client.
// >>> Events <<<
"on spawn" "" // Actions to execute on rocket spawn.
"on deflect" "" // Actions to execute when a rocket is deflected.
"on kill" "" // Actions to execute when a rocket kills a client.
"on explode" "" // Actions to execute when a rocket kills a client (triggered once).
}
"nuke"
{
// >>> Basic parameters <<<
"name" "Nuke!"
"behaviour" "homing"
"model" "models/custom/dodgeball/nuke/nuke.mdl"
"is animated" "1"
"play spawn sound" "1"
"play beep sound" "1"
"play alert sound" "0"
"spawn sound" ""
"beep sound" ""
"alert sound" ""
"beep interval" "0.7"
// >>> Specific behaviour modificators <<<
"elevate on deflect" "1"
"neutral rocket" "0"
// >>> Movement parameters <<<
"damage" "300"
"damage increment" "0"
"speed" "400"
"speed increment" "200"
"turn rate" "0.25"
"turn rate increment" "0.025"
"elevation rate" "0.65"
"elevation limit" "0.8"
"control delay" "0.0075"
"critical chance" "100"
"no. players modifier" "0.0"
"no. rockets modifier" "0.0"
"direction to target weight" "25"
// >>> Events <<<
"on spawn" ""
"on deflect" ""
"on kill" ""
"on explode" "tf_dodgeball_explosion @dead ; tf_dodgeball_shockwave @dead 200 900 900 100 ;"
}
"mcommon"
{
// >>> Basic parameters <<<
"name" "Multi Homing Rocket" // Full name of the rocket type
"behaviour" "homing" // The only behaviour right now is homing :P
"model" "" // Default: Common rocket model
"is animated" "0" // Only works when using a custom model
"play spawn sound" "1" // Does the rocket emit a sound when spawning?
"play beep sound" "0" // Does the rocket emit a beeping sound?
"play alert sound" "0" // Does the rocket emit an alert sound to the client when being targetted?
"spawn sound" "" // Default: Sentry rocket sound
"beep sound" "" // Default: Sentry searching sound
"alert sound" "" // Default: Sentry client spotted sound
"beep interval" "0" // Emit sound every x time
// >>> Specific behaviour modificators <<<
"elevate on deflect" "0" // Does the rocket can elevate after deflection?
"neutral rocket" "0" // Does this rocket has no team based targets?
// >>> Movement parameters <<<
"damage" "20" // Base damage done by the rocket.
"damage increment" "0" // Increment per reflection.
"speed" "300" // Base speed for the rocket.
"speed increment" "80" // Speed increment per reflection.
"turn rate" "0.65" // Turn rate / tick for this rocket.
"turn rate increment" "0.025" // Increment per deflection.
"elevation rate" "0.6" // Elevation rate when deflected (if enabled)
"elevation limit" "0.6" // Maximum elevation when deflected (if enabled)
"control delay" "0.0075" // Delay until the rocket starts tracking the target after a deflection.
"critical chance" "100" // Percentage of chance for a critical rocket.
"no. players modifier" "0.0" // Increment based upon the number of players in the server.
"no. rockets modifier" "0.0" // Increment based upon the number of rockets fired since the start of the round.
"direction to target weight" "25" // Weight modifier for target selection, based upon the direction of the rocket
// to the client.
// >>> Events <<<
"on spawn" "" // Actions to execute on rocket spawn.
"on deflect" "" // Actions to execute when a rocket is deflected.
"on kill" "" // Actions to execute when a rocket kills a client.
"on explode" "" // Actions to execute when a rocket kills a client (triggered once).
}
"mnuke"
{
// >>> Basic parameters <<<
"name" "Multi Nuke!"
"behaviour" "homing"
"model" "models/custom/dodgeball/nuke/nuke.mdl"
"is animated" "1"
"play spawn sound" "1"
"play beep sound" "1"
"play alert sound" "0"
"spawn sound" ""
"beep sound" ""
"alert sound" ""
"beep interval" "0.7"
// >>> Specific behaviour modificators <<<
"elevate on deflect" "1"
"neutral rocket" "0"
// >>> Movement parameters <<<
"damage" "50"
"damage increment" "0"
"speed" "400"
"speed increment" "200"
"turn rate" "0.25"
"turn rate increment" "0.025"
"elevation rate" "0.65"
"elevation limit" "0.8"
"control delay" "0.0075"
"critical chance" "100"
"no. players modifier" "0.0"
"no. rockets modifier" "0.0"
"direction to target weight" "25"
// >>> Events <<<
"on spawn" ""
"on deflect" ""
"on kill" ""
"on explode" "tf_dodgeball_explosion @dead ; tf_dodgeball_shockwave @dead 30 700 700 200 ;"
}
"onuke"
{
// >>> Basic parameters <<<
"name" "Nuke!"
"behaviour" "homing"
"model" "models/custom/dodgeball/nuke/nuke.mdl"
"is animated" "1"
"play spawn sound" "1"
"play beep sound" "1"
"play alert sound" "0"
"spawn sound" ""
"beep sound" ""
"alert sound" ""
"beep interval" "0.7"
// >>> Specific behaviour modificators <<<
"elevate on deflect" "1"
"neutral rocket" "0"
// >>> Movement parameters <<<
"damage" "300"
"damage increment" "0"
"speed" "650"
"speed increment" "100"
"turn rate" "0.35"
"turn rate increment" "0.03"
"elevation rate" "0.65"
"elevation limit" "0.8"
"control delay" "0.0075"
"critical chance" "100"
"no. players modifier" "0.0"
"no. rockets modifier" "0.0"
"direction to target weight" "25"
// >>> Events <<<
"on spawn" ""
"on deflect" ""
"on kill" ""
"on explode" "tf_dodgeball_explosion @dead ; tf_dodgeball_shockwave @dead 200 900 900 100 ;"
}
}
"spawners"
{
// >>> Default RED spawner <<<
"red"
{
// >>> Basic parameters <<<
"max rockets" "1" // Max no. of rockets before the spawner can fire another.
"interval" "0" // Minimum time between rocket fires.
// >>> Chances table <<<
"common%" "95" // Chance to spawn a common rocket
"nuke%" "5" // Chance to spawn a nuke rocket
}
// >>> Default BLU spawner <<<
"blu"
{
// >>> Basic parameters <<<
"max rockets" "1" // Max no. of rockets before the spawner can fire another.
"interval" "0" // Minimum time between rocket fires.
// >>> Chances table <<<
"common%" "95" // Chance to spawn a common rocket
"nuke%" "5" // Chance to spawn a nuke rocket
}
}
}
Note that I have several rocket types - "common" and "nuke" for single rocket maps (also called "speed dodgeball"), and "mcommon" and "mnuke" for multi-rocket maps. The last one, "onuke", if for nuke-only maps such as tfdb_hotnuke.
The default for all maps is the single-rocket configuration, but for example I have the file tfdb_castle.cfg that looks like this (since I wanted it to be multi-rocket):
Code:
"tf2_dodgeball"
{
"spawners"
{
// >>> Default RED spawner <<<
"red"
{
// >>> Basic parameters <<<
"max rockets" "5" // Max no. of rockets before the spawner can fire another.
"interval" "3" // Minimum time between rocket fires.
// >>> Chances table <<<
"mcommon%" "95" // Chance to spawn a common rocket
"mnuke%" "5" // Chance to spawn a nuke rocket
}
// >>> Default BLU spawner <<<
"blu"
{
// >>> Basic parameters <<<
"max rockets" "5" // Max no. of rockets before the spawner can fire another.
"interval" "3" // Minimum time between rocket fires.
// >>> Chances table <<<
"mcommon%" "95" // Chance to spawn a common rocket
"mnuke%" "5" // Chance to spawn a nuke rocket
}
}
}