Raised This Month: $32 Target: $400
 8% 

[TF2] Freeze Tag - Updated (1.1.4) 5/12/2013


Post New Thread Reply   
 
Thread Tools Display Modes
Author
friagram
Veteran Member
Join Date: Sep 2012
Location: Silicon Valley
Plugin ID:
3438
Plugin Version:
1.1.4
Plugin Category:
Gameplay
Plugin Game:
Team Fortress 2
Plugin Dependencies:
    Servers with this Plugin:
     
    Plugin Description:
    Converts any map into a Freeze-Tag game mode
    Old 12-30-2012 , 06:39   [TF2] Freeze Tag - Updated (1.1.4) 5/12/2013
    Reply With Quote #1

    This plugin converts any map into a game of freeze tag. When players die, they become encased in ice, and a teammate must stand near them to bring them back to life (It may also be configured to unfreeze them automatically, or respawn them). If enabled - Once all players on a team become frozen, or the configured round timer expires, the round is over.



    CVARs:
    Code:
    sm_tf2freezetag_version: version number, for tracking (don't change)
    sm_freezetag_enabled (1) Enable/Disable Freezetag Mode [0/1]
    sm_freezetag_feedback (1) Enable/Disable Notification Messages [0/1]
    sm_freezetag_thirdperson (0) Disable 0, Force TP 1, Preserve 2 [0-2] *
    sm_freezetag_proxpulse (0.2) Update Interval For Beacons [0.1-1.0]
    sm_freezetag_forcemulti (10) Damage Force Multiplier To Push Frozen People [0-1000]
    sm_freezetag_forcecap (500) Damage Force Cap To Push Frozen People [0-5000]
    sm_freezetag_model (1) Enable/Disable Ice Block Model  [0/1] **
    * The camera will force third person and back to first person if 1 is set, it will restore the client to whatever their camera was set to if 2 is set.
    ** Model must be installed on the server for the mod to load/enable it. When the model is disabled, players become transparent, and the medic melody particle will be used.

    Configuration File::
    The configuration file contains a default fallback, and map prefixes. You may also insert map-specific names, do not include the .bsp
    for example if you wish to add one for degroot, name the key "cp_degrootkeep"
    Code:
    "default"
    	{
    		"preround"         "10"              // 0-20      preround time duration for class switching (and setup time on multistage maps)
    		"timer"            "180"             // 0-5940    timer for how long round will last, 0 = disable round timer (use map timer, or win by elimination)
    		"eliminations"     "1"               // 0-1       1 = allow freezetag to end the round when a team is frozen, 0 = do nothing
                    "maxrounds"        "30"              // 0-100     max rounds that will be played Wins/Stalemates before map change is forced (0 to disable)
    		"radius"           "150"             // 100-300   max distance from teammate to unfreeze them
    		"duration"         "3"               // 1-10      time to stand by teammate to unfreeze them
    		"opendoors"        "1"               // 0-2       0 = don't open doors (keeps the game/setup timer, sets setup timer to preround time), 1 = open gently, 2 = delete
    		"removespawns"     "1"               // 0-1       1 = remove respawn rooms and visualizers, 0 = do nothing
                    "openaps"          "0"               // 0-1       0 = don't mess with area portals, 1 = force all open
    		"blockcaps"        "1"               // 0-1       0 = allow capture points, 1 = disable capture points
    		"blockflags"       "1"               // 0-1       0 = allow flag capture, 1 = disable flag capture
    		"blocktrains"      "0"               // 0-1       0 = allow trains, ghosts, payload carts, 1 = disable (carts still won't move without caps enabled)
    		"hpratiored"       "0.5"             // 0.01-1.0  Red team - ratio of health to restore players with
    		"hpratioblue"      "0.5"             // 0.01-1.0  Blue team - ratio of health to restore players with
                    "autotimered"      "60"              // 0-5940    Red team - time to automatically unfreeze frozen players, 0 = disable
    		"autotimeblue"     "60"              // 0-5940    Blue team - time to automatically unfreeze frozen players, 0 = disable
                    "autohpratiored"   "0.25"            // 0.0-1.0   Red team - ratio of health to restore automatically unfrozen players with, 0 to respawn them in respawnroom
    		"autohpratioblue"  "0.25"            // 0.0-1.0   Blue team - ratio of health to restore automatically unfrozen players with, 0 to respawn them in respawnroom
                    "trackdamage"      "1"               // 0-1       1 = Damage to frozen players resets automatic timer, 0 = does not reset
    		"allowchangeclass" "0"               // 0-1       1 = Respawn unfrozen players in spawn with given class, 0 = require round change
    	}
    Commands:
    • sm_freezetag_reloadconfigs: (Rcon) Reloads the configuration file, changes take effect immediately.
    • sm_freezetag_unfreeze: (Cheats) Unfreezes frozen player(s) in place.
    • sm_freezetag: Info/help menu for information about weapon modifications, rules, tips, etc.
    • sm_stuck, sm_unstuck: Triggers unstuck mode. Increased radius, transported to spawn frozen when revived, lower HP for rest of round.

    Code:
    2012-12-30 (v1.0.0)
    * Initial Release
    
    2013-1-20 (v1.1.2)
    * Updated Main Release
    - Added support for more map types (payload, attack/defend, etc)
    - Integrated community suggestions (automatic unfreeze, respawn, toggle model, etc)
    - Changed the ice model.
    - Added a decoy for spies using the dead ringer.
    - Prevented frozen players from attacking.
    - Reworked how rounds are tracked/started.
    - Eliminated many ConVars, moved them to configuration file.
    - Fixed many early bugs regarding player movement and weapon detection.
    - Cleaned up the code a bit for better readability, and rewrote some functions to be more efficient.
    - Lots of other minor things.
    
    2013-1-22 (v1.1.3)
    - Fixed offset checking @ start
    - Lowered max time added for next weapon attack since sometimes it did not seem to work properly.
    
    2013-5-12 (v1.1.4)
    - Changed all mediguns to behave normally.
    - Removed light effect to increase performance.
    - Removed unstuck code when colliding with frozen players (to address crashing issues).
    - Frozen players are now non-solid to players.
    - Bots are now pushable.
    - The frozen model now moves more smoothly with players.
    - Player gibs are now disabled when the mod is enabled.
    - Players are now teleported to spawn points rather than respawned when using unstuck or hitting map traps.
      This ensures compliance with other game modes (such as ff2 or vsh).
    - Warmup freeze now prevents movement, and does not block attacking.
    - Code cleanup: Removed unnecessary dropflag function.
      Changed entity spawning code to be more efficient.
      Removed unneccessary client checks.
      Clients and entities are now passed by reference/userid.
    Requirements:
    Installation:
    • Place the bz2 archives on your fastdownload server if appropriate, they are included in the "fastdownload" directory.
    • Extract the contents of the "tf" folder Preserve the directory, so that the materials and models reach appropriate destinations.
    • The configuration file goes in tf\addons\sourcemod\configs, not your tf\cfg directory.

    Plans:
    • Find some way to parent the ice block model directly to the player properly.
    • Pop up a menu informing players about weapon changes/replacements.

    Notes:
    • I suggest you change your mp_waitingforplayers_time to something like 60, (sm_cvar mp_waitingforplayers_time 60) so that people have time to load in and don't start frozen right away on the first round.
    • Mods that scramble teams, or limit classes may help you manage the game mode a bit better. Keep in mind that each freeze registers as a death/frag, and each defense/unfreeze as a capture.
    • Late joiners will be frozen in place. This allows them to join arena games in progress without upsetting the flow/balance of the game. Teammates will be able to revive them in the spawn room, or if automatic unfreeze is enabled -- they will self-revive.
    Attached Files
    File Type: zip freeze_tag_1.1.4.zip (161.7 KB, 813 views)
    File Type: sp Get Plugin or Get Source (freezetag.sp - 671 views - 192.2 KB)
    File Type: smx freezetag.smx (46.5 KB, 628 views)
    File Type: txt freezetag.phrases.txt (2.3 KB, 460 views)
    File Type: cfg freezetag_maps.cfg (8.8 KB, 728 views)

    Last edited by friagram; 05-22-2013 at 16:54. Reason: Version Updated 1.1.4
    friagram is offline
    friagram
    Veteran Member
    Join Date: Sep 2012
    Location: Silicon Valley
    Old 12-30-2012 , 06:57   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #2

    Reserving this for future stuff

    Last edited by friagram; 12-30-2012 at 11:03.
    friagram is offline
    island55
    Senior Member
    Join Date: Aug 2010
    Location: charleston
    Old 12-30-2012 , 10:07   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #3

    installing now
    island55 is offline
    lyric
    Veteran Member
    Join Date: Sep 2012
    Old 12-30-2012 , 12:21   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #4

    Can you make it so the custom models for the ice texture are optional? I'm not a fan of them myself and players often bail once they see they have to download custom anything these days. Also can't you use the stun animation for frozen players? That was what the old plugin did. Thanks for releasing this
    lyric is offline
    friagram
    Veteran Member
    Join Date: Sep 2012
    Location: Silicon Valley
    Old 12-30-2012 , 12:32   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #5

    I can make them optional, but the models are pretty tiny. All of the textures/sounds are part of shared source content. The model and VMTs are the only things being pushed to clients, and arn't even 1 meg (they are 28kb). Should take a few seconds to download/extract at the most. Back in 1995, this would take me about 8 seconds to retrieve on dialup? I think, dunno, tired =S.

    I also have no plans on using the stun animation. It looks really bad.
    I could do some render mode something that turns them transparent and team colored, but it's not as obvious. Also the model adds an element to the game, where players can use the model to hide in to revive enemies, and encourages players to watch over frozen enemies, rather than faceroll their way to victory. This makes spies much more useful. It also makes players a bit disoriented when they come out of freeze, and more reliant on their teammates to protect them when they are weakened. Though if you use third person mode, it sort of bypasses this a bit :S

    Last edited by friagram; 12-30-2012 at 12:54.
    friagram is offline
    AeroAcrobat
    AlliedModders Donor
    Join Date: Apr 2011
    Location: lives in a circus
    Old 12-30-2012 , 13:06   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #6

    Quote:
    Originally Posted by lyric View Post
    Can you make it so the custom models for the ice texture are optional?
    I thought the same but friagram made some good points why the model is usefull and I actually agree on this.

    But if you do the model option the my suggestions would be a combo of full body team colored + vaccinator uber effect:
    __________________

    Last edited by AeroAcrobat; 12-30-2012 at 13:08.
    AeroAcrobat is offline
    CuriousG
    Senior Member
    Join Date: Feb 2012
    Old 12-30-2012 , 13:56   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #7

    Is there some way you can check whether or not someone just switched teams or dropped connection (2 min? to reconnect) to rejoin so you only need to freeze them if that is detected rather than penalize new client connections?

    Are there any custom maps written specific to FT that people recommend?

    Last edited by CuriousG; 12-30-2012 at 13:57.
    CuriousG is offline
    friagram
    Veteran Member
    Join Date: Sep 2012
    Location: Silicon Valley
    Old 12-30-2012 , 14:22   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #8

    Not really, a reconnect is a reconnect. You could probably by some way test the reason (user disconnect, timeout, etc), but why?

    We have been using 2-3 minute rounds for weeks, and it hasn't been a big problem. Besides, rejoining as frozen isn't a huge deal, just have a teammate unfreeze you?
    friagram is offline
    CuriousG
    Senior Member
    Join Date: Feb 2012
    Old 12-30-2012 , 14:45   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #9

    For 2 - 3 min rounds not a problem but it's frustrating when you're sitting around for 2-3 minutes hoping someone will thaw you out. Most of the time I've noticed people just sitting around meleeing your frozen corpse. You're also assuming that someone will be at spawn to thaw you out. I guess that's what happens when you run out on your own rather than in a group.

    How about an optional cvar to self-thaw after you've been frozen for so long?
    CuriousG is offline
    Root_
    Veteran Member
    Join Date: Jan 2012
    Location: ryssland
    Old 12-30-2012 , 16:03   Re: [TF2] Freeze Tag - (1.0.0) 12/30/2012
    Reply With Quote #10

    Very very nice... I'll definitely install tf2 and try this thing!
    __________________


    dodsplugins.com - Plugins and Resources for Day of Defeat
    http://twitch.tv/zadroot
    Root_ is offline
    Reply


    Thread Tools
    Display Modes

    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 00:12.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode