View Single Post
Author Message
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 05-16-2010 , 08:33   [TF2] TFDodgeball
Reply With Quote #1

Quote:
It has been a long time since TFDodgeball was updated, and it doesn't currently work correctly.

If you have the requisite technical expertise, I'm taking patches.
"Pardon my French but... GET THIS ROCKET AWAY FROM ME!!" - xomp

You can join #tf2items @ irc.gamesurge.net if you need any help with the plugin, I'm active there most of the time.

Download & Source
Download Install Package (Linux & Windows)

Browse Source (Plugin source code is here)
Checkout Source:
Code:
hg clone http://hg.limetech.org/projects/tf_dodgeball/tf_dodgeball_source/ tf_dodgeball
Other Requirements
I advise fully restarting the server after installing (to get everything loaded properly), but the plugin is not required to be running 24/7.
The plugin will error out and be temporarily disabled (until the next mapchange) if active on a unsupported map.

You can grab the maps I have so far from here. (This is a tiny, tiny subset. There are a large number of maps spread throughout this thread.)
If you want to make a map, have a look at the entity setup in here.
Ripping off other peoples work is not acceptable. Create your map from scratch or get written permission from the original author, this includes the default TF2 maps.

Commands
  • sm_dodgeball_rocket <team> - Fires a rocket from the specified teams next launcher, team can be either 2 (red) or 3 (blue).
  • sm_dodgeball_headrocket - Fires a rocket from your eyes, what more is there to be said.
  • sm_dodgeball_rocket_nuke <team> - Fires a nuke from the specified teams next launcher, team can be either 2 (red) or 3 (blue).
  • sm_dodgeball_headrocket_nuke - Fires a nuke from your eyes, what more is there to be said.

ConVars
  • sm_dodgeball_enabled = 1 - Guess. Use this instead of (un)loading on the fly.
  • sm_dodgeball_check_map = 0 - Check if running on a tfdb_ map (disabled by default as it'll always reset sm_dodgeball_enabled to 1 on a mapchange).
  • sm_dodgeball_force_class = 1 - Force players to select the Pyro class.
  • sm_dodgeball_force_loadout = 2 - Force players to have a loadout sutible for dodgeball, 0 = Do nothing, 1 = Just modify flamethrowers, leave other weapons.
  • sm_dodgeball_deflect_players = 1 - Allow players to airblast other players.
  • sm_dodgeball_deflect_players_damage = 0.0 - Set to a positive value to hurt a player when they airblast other players.
  • sm_dodgeball_spawninterval = 1.0 - Timer interval the each rocket is spawned on.
  • sm_dodgeball_autojoin = 1 - Whether or not players should be auto-assigned to a team on join.
  • sm_dodgeball_criticals = 1 - Enables or disables whether the rockets spawn as criticals. Having this off, the rockets will be mini-crits after a reflect but have no team colour. Nukes are never critical.
  • sm_dodgeball_weaponparticle = 0 - Particle to apply using attribute 134. 0 (disabled) or 3 are the only decent choices. Requires a reconnect to take affect.
  • sm_dodgeball_block_point_servercommand = 1 - Block point_servercommand entities from changing TFDodgeball settings.
  • sm_dodgeball_nuke_targetbeep = 1 - When a nuke locks onto a target, a sound is played to the new target if this is set.
  • sm_dodgeball_nuke_glow = 1 - Makes nukes have the intel/cart glow on them.
  • sm_dodgeball_nuke_chance = 0.01 - Chance that a rocket being spawned will be a nuke.
  • sm_dodgeball_nuke_radius = 500.0 - Damage radius for nukes, regular rockets are 146.
  • sm_dodgeball_dissolve_weapons = 1 - Dissolves weapons on death (as they are useless due to regenerating ammo), looks quite cool.
  • sm_dodgeball_dissolve_players = 0 - Dissolves players on death, ruins the whole exploding rockets thing. Nukes always dissolve players.
  • sm_dodgeball_dissolve_delay = 1.0 - Delay before dissolving.
  • sm_dodgeball_basedamage = 15.0 - Specifies the 'base' damage rockets are spawned with, the standard TF2 calculations happen based on this value, the default allows 3-4 hits before dying.
  • sm_dodgeball_maxrockets = 10 - Max number of rockets to have spawned at once, 0 disables. The spawning commands above can screw this up.
  • sm_dodgeball_speedmul = 0.5 - Value that the base rocket speed (1100) is multiplied by.
  • sm_dodgeball_reflectinc = 0.02 - Percentage(ish) the rocket speed is increased per-airblast.
  • sm_dodgeball_turnrate = 0.25 - Amount that the rockets can turn each frame.
  • sm_dodgeball_basedamage_nuke = 500.0 - Specifies the amount of damage nukes do, this isn't the same as regular rockets as nukes are not critical.
  • sm_dodgeball_maxrockets_nuke = 1 - Max number of nukes to have spawned at once, 0 disables. The spawning commands above can screw this up. If a nuke is going to spawn and this limit is reached, a regular rocket is spawned in it's place (if the rocket count is also below sm_dodgeball_maxrockets).
  • sm_dodgeball_speedmul_nuke = 0.2 - Value that the base rocket speed (1100) is multiplied by.
  • sm_dodgeball_reflectinc_nuke = 0.02 - Percentage(ish) the nuke speed is increased per-airblast.
  • sm_dodgeball_turnrate_nuke = 0.1 - Amount that the nukes can turn each frame.

Atributions & Thanks
  • Predcrab - Creating the CEntity framework and Sidewinder, which was extended to make the version used here.
  • Tsunami & Psychonic - Creating SDK Hooks.
  • Voogru - Helped fix major issue in TFDodgeball to do with rocket damage.
  • Damizean - Improved the tracking code for the rockets.
__________________

Last edited by asherkin; 03-14-2015 at 10:09.
asherkin is offline