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

[TF2] Mann vs Tank! (Update! 2014-03-02)


Post New Thread Reply   
 
Thread Tools Display Modes
Author
ClassicGuzzi
Veteran Member
Join Date: Oct 2013
Location: Argentina
Plugin ID:
4107
Plugin Version:
1.1.5
Plugin Category:
Gameplay
Plugin Game:
Team Fortress 2
Plugin Dependencies:
    Servers with this Plugin:
     
    Plugin Description:
    My version of the awesome (and private) plugin "Stop That Tank"
    Old 02-22-2014 , 18:10   [TF2] Mann vs Tank! (Update! 2014-03-02)
    Reply With Quote #1

    Mann vs Tank!


    Description
    In this mode, the payload cart is replaced by the mvm's tank. Red team must destroy the tank before it deploys the bomb in the last point; Blue team's objective is to escort the tank.


    At this time, this works in every pl_ map (but thunder mountain): pl_badwater, pl_upward , pl_hoodoo_final, pl_goldrush, pl_frontier_final and pl_barnblitz. Everything is hardcoded (in a config file) to "look nice" on bomb deploy for every map (I don't like when the tank just jump in the pit).
    This plugin removes the payload cart (except for the 'logic' entity that controls the HUD), places a tank, and in some maps, the plugins add the hatch, and the robo-logo from mvm, everything on round start.


    Features
    • Replace the payload with the tank
    • Tank is invincible in setup time (and 15 seconds after that)
    • Tank's life is equal to the number of players in the server per a map/round-specific number, located in the config file. For 1-stage maps use "life", for 3-stage maps use "life", "life2" and "life3".

    ScreenShots
    http://cloud-4.steampowered.com/ugc/...F8F90C5095093/
    http://cloud-3.steampowered.com/ugc/...008BCE44CD75E/

    Where is thundermountain?
    Not working yet...
    http://cloud-3.steampowered.com/ugc/...725F9B7061DEC/

    CVars
    sm_mvt_enabled 1 // Enable/disable this plugin (Def. 1)
    sm_smvt_version //Plugin's version

    Commands
    sm_log_ent //This command will log every entity in the map with name and classname to a file, this is for research only.

    Changelog
    Quote:
    2014-03-02 (v1.1.5)
    *Added pl_goldrush & pl_hoodoo support
    *Added config file "mannvstank.cfg"
    *Added gamedata file "mannvstank.txt"
    *All the map-specific code now is in a config file (no hardcoded).

    2014-02-26 (v1.1.0)
    *Inital pl_frontier_final support
    *Added 'class is dead' voicelines system
    *Added Hatch prop in badwater
    *Release Healthbar (from powerlod) tank-based

    2014-02-22 (v1.0.0)
    * Initial release.
    Installation instructions
    Just place the zip content in your sourcemod folder.
    This zip includes the healthbar plugin. (This plugin is from powerlord, I will add a builtin healthbar in my plugin that only shows up when the tank start moving)

    Dependencies
    This plugin requires SMLIB (and sdkhooks) in order to compile (it won't compile on the forums).
    http://forums.alliedmods.net/showthread.php?p=1398699

    Plans
    • Add compatibility with every pl_ valve map
    • Implement the health bar and 'Blue are Bots' functions
    • Add CVars to control the tank's life and speed
    • Make translation files
    • Add giant robots, sentrybuster and the bomb from mvm.
    • Put the hardcoded entities names in a config file (so it's easy to add more maps)
    • (In a distant future) Make a Tank Race (for plr_) where both teams have tanks and gain velocity by hitting the other team's tank.

    Keep in mind
    This is my first plugin, I'm releasing it to get some feedback.
    My primary language is Spanish, I comment everything in English in order to get better feedback from you, so sorry about my grammatical errors.
    I use the BeTheRobot plugin to keep blue in bot form and red in human form. I will add my code in the plugin later.
    I already have a working HealthBar, I use the HHH healtbar plugin (from powerlord) edited to keep track of the tank. Again, I will add that in my plugin later.
    I use some plugins as references, i will give appropriate credit in other moment when i have time.
    And a last thing: I know it sucks compared to the original version, but this one is public

    How does it work? When the tank pass over a path_track, the plugin moves the cart to that path_track. So it 'jumps' on every path_track.

    I have problems with the attachments system so here is a mediafire link
    NOT ANYMORE!! Thanks for unban Argentinian IPs!
    Attached Files
    File Type: zip MvT.zip (34.6 KB, 882 views)

    Last edited by ClassicGuzzi; 05-19-2014 at 01:08.
    ClassicGuzzi is offline
    ClassicGuzzi
    Veteran Member
    Join Date: Oct 2013
    Location: Argentina
    Old 02-22-2014 , 18:39   Re: [TF2] Stop That Tank
    Reply With Quote #2

    (Reserved for later)
    ClassicGuzzi is offline
    Oshizu
    Veteran Member
    Join Date: Nov 2012
    Location: Warsaw
    Old 02-22-2014 , 20:32   Re: [TF2] Stop That Tank
    Reply With Quote #3

    Sounds great.
    I'il try it out tommorow

    Thought about problems with tank's path following you could try calling a function:
    PHP Code:
    CTFTankBoss::SetStartingPathTrackNode(char *) 
    It sets up first path_track which tank would follow

    Also:

    Quote:
    Originally Posted by ClassicGuzzi View Post
    • Add giant robots, sentrybuster and the bomb from mvm.
    __________________
    ...

    Last edited by Oshizu; 03-04-2014 at 06:31.
    Oshizu is offline
    ClassicGuzzi
    Veteran Member
    Join Date: Oct 2013
    Location: Argentina
    Old 02-22-2014 , 20:34   Re: [TF2] Stop That Tank
    Reply With Quote #4

    Quote:
    Originally Posted by Oshizu View Post
    Sounds great.
    I'il try it out tommorow

    Thought about problems with tank's path following you could try calling a function:
    PHP Code:
    CTFTankBoss::SetStartingPathTrackNode(char *) 
    It sets up first path_track which tank would follow

    Whooo that's awesome, I can use it in 3-rounds based map. Thanks!
    ClassicGuzzi is offline
    pheadxdll
    AlliedModders Donor
    Join Date: Jun 2008
    Old 02-22-2014 , 22:34   Re: [TF2] Stop That Tank
    Reply With Quote #5

    Hey there, this is linux_lover, the creator of Stop that Tank!

    We've been asked by many people what our plans are for the mod- whether it will be public or private. The plan has been to get the mod to the point where it is completed, balanced, and relatively bug-free and release it to the public. Very similar to the route Darkimmortal took with PropHunt and that became a very popular TF2 mod. We would like to see the same thing for STT!

    The game mode has drastically changed since we debuted the mod on reddit back in September. We've added giants a few months ago and have been working hard on gathering community feedback and the response has been overwhelmingly positive. We've had several major updates and fixed server crashes. We're still working on one particular client crash. Most of the balancing is finished and then we would like to add a few more giants into the mix. The bugs are getting fewer and fewer so we are moving closer to a release.

    Those are our plans- get the mod complete and let you guys start hosting servers. Thanks Guzzi for your interest in the mod. I wanted to make this reply before you invest more time into your mod.
    __________________

    Last edited by pheadxdll; 02-22-2014 at 22:36.
    pheadxdll is offline
    ClassicGuzzi
    Veteran Member
    Join Date: Oct 2013
    Location: Argentina
    Old 02-22-2014 , 23:27   Re: [TF2] Stop That Tank
    Reply With Quote #6

    Quote:
    Originally Posted by pheadxdll View Post
    Hey there, this is linux_lover, the creator of Stop that Tank!

    We've been asked by many people what our plans are for the mod- whether it will be public or private. The plan has been to get the mod to the point where it is completed, balanced, and relatively bug-free and release it to the public. Very similar to the route Darkimmortal took with PropHunt and that became a very popular TF2 mod. We would like to see the same thing for STT!

    The game mode has drastically changed since we debuted the mod on reddit back in September. We've added giants a few months ago and have been working hard on gathering community feedback and the response has been overwhelmingly positive. We've had several major updates and fixed server crashes. We're still working on one particular client crash. Most of the balancing is finished and then we would like to add a few more giants into the mix. The bugs are getting fewer and fewer so we are moving closer to a release.

    Those are our plans- get the mod complete and let you guys start hosting servers. Thanks Guzzi for your interest in the mod. I wanted to make this reply before you invest more time into your mod.
    I don't want to bother you with my plugin. Do you have any problem if i keep updating and working on this? I'm learning so much, and i have new ideas that will differ from your plugin (my round will ALWAYS end if the red team stop the tank, the sentrybuster/giant robots will be sent between the round, and maybe without even carrying a bomb).

    I know your plugin will be greater and wont have any harcoding (like mine), but i still want to work on this, i love doing this, even if i have so many problems to access the forums and the API, I can't eve use the attachment system properly (because the problem with the blocked Argentinian IPs).

    Sorry for the trouble but, diversity is better, right?
    ClassicGuzzi is offline
    pheadxdll
    AlliedModders Donor
    Join Date: Jun 2008
    Old 02-22-2014 , 23:57   Re: [TF2] Stop That Tank
    Reply With Quote #7

    No trouble at all, I don't want to come in and stomp on your hard work.

    If your mod is going to be different than ours, could you use a different name? We don't want to confuse the public when they visit both of our mods. Thanks!
    __________________
    pheadxdll is offline
    ClassicGuzzi
    Veteran Member
    Join Date: Oct 2013
    Location: Argentina
    Old 02-23-2014 , 00:00   Re: [TF2] Stop That Tank
    Reply With Quote #8

    Sure, I will think in another name and will change it as soon as I can, thanks!

    Edit:

    Quote:
    Originally Posted by Oshizu View Post
    Sounds great.
    I'il try it out tommorow

    Thought about problems with tank's path following you could try calling a function:
    PHP Code:
    CTFTankBoss::SetStartingPathTrackNode(char *) 
    It sets up first path_track which tank would follow
    Sorry but, how do i use this function exactly? It's not an Entity Imput right?
    When I work with entities I use imputs/outputs/keyvalues.
    Where did you get that function exactly?
    I use this to read entity's sources but I couldn't find any source for the tank.
    https://github.com/ValveSoftware/sou...rc/game/server

    Last edited by ClassicGuzzi; 02-23-2014 at 02:12.
    ClassicGuzzi is offline
    Oshizu
    Veteran Member
    Join Date: Nov 2012
    Location: Warsaw
    Old 02-23-2014 , 06:53   Re: [TF2] Stop That Tank
    Reply With Quote #9

    Quote:
    Originally Posted by ClassicGuzzi View Post
    Sure, I will think in another name and will change it as soon as I can, thanks!

    Edit:



    Sorry but, how do i use this function exactly? It's not an Entity Imput right?
    When I work with entities I use imputs/outputs/keyvalues.
    Where did you get that function exactly?
    I use this to read entity's sources but I couldn't find any source for the tank.
    https://github.com/ValveSoftware/sou...rc/game/server
    Here's example how to use this function:
    PHP Code:
    #include <sdkhooks>
    #include <sdktools>
     
    new Handle:hGameConf;
    new 
    Handle:hSetTrack;

    public 
    Plugin:myinfo =
    {
        
    name "[TF2] Set Trank~~",
        
    author "Misaka Mikoto",
        
    description "Worth The Weight, Worth The Weight, Worth The Weight, Worth The Weight, Worth The Weight, GABEN Gaben GABEN G.A.B.E.N GA GA GA BE BE EN EN AT VALVE SOFTWARE D.O.T GABEN GABEN C.O.M",
        
    version "ur mom",
        
    url "none"
    };
     
    public 
    OnPluginStart()
    {

        
    hGameConf LoadGameConfigFile("stopthatgaben");
        
    StartPrepSDKCall(SDKCall_Entity);
        
    PrepSDKCall_SetFromConf(hGameConfSDKConf_Signature"CTFTankBoss::SetStartingPathTrackNode");
        
    PrepSDKCall_AddParameter(SDKType_StringSDKPass_Pointer);
        
    hSetTrack EndPrepSDKCall();
    }

    public 
    OnEntityCreated(entity, const String:classname[])
    {
        if(
    StrEqual(classname"tank_boss"))
        {
            
    SDKCall(hSetTrackentity"path_gaben__4chan_was_here"// Sets up spawned tank_boss to follow path_track named path_gaben__4chan_was_here"
        
    }

    Gamedata:
    PHP Code:
    "Games"
    {
        
    /* Team Fortress 2 */
        
    "tf"
        
    {
            
    "Signatures"
            
    {
                
    "CTFTankBoss::SetStartingPathTrackNode"
                
    {
                    
    "library"            "server"
                    "windows"            "\x55\x8B\xEC\x8B\x45\x08\x56\x6A\x00\x68\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\x6A\x00\x6A\x00"
                    "linux"                "@_ZN11CTFTankBoss24SetStartingPathTrackNodeEPc"
                
    }                
            }
        }

    Followed plugin was untested so it might not work,
    __________________
    ...

    Last edited by Oshizu; 02-23-2014 at 06:58.
    Oshizu is offline
    ClassicGuzzi
    Veteran Member
    Join Date: Oct 2013
    Location: Argentina
    Old 02-23-2014 , 12:14   Re: [TF2] Stop That Tank
    Reply With Quote #10

    It works like a charm! I can create in every track I want! Thanks!
    Now with this, I can start working in 3-round-based maps and plr_ ones!
    ClassicGuzzi 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 10:04.


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