Description
Touchdown is a gamemode from online game S4 League.
I'm trying my best to bring this gamemode to CSGO, so I take the sound effects, bgms, and overlays from original game.
You can play with bots in this gamemode with kento_touchdown_bot.smx installed.
How To Play
Capture the ball and take it to the opposing team's goal, it's very similar to American Football.
S4 League Wiki http://s4league.wikia.com/wiki/Touchdown
Install
Simply upload all the files to your server and fastdl.
sm_touchdown_respawn "8.0" //Respawn Time sm_touchdown_reset "15.0" //How long to reset the ball if nobody takes the ball after ball drop sm_touchdown_ball_position "1" //Where to attach the ball when player get the ball? 0 = front, 1 = head sm_touchdown_taser "1" //Give player taser? sm_touchdown_healthshot "1" //Give player healthshot? sm_touchdown_stats_enabled "0" //Enable stats or not? (MYSQL only!) sm_touchdown_stats_min "4" //Min player to count stats. sm_touchdown_stats_table "touchdown" //MySQL table name for touchdown."); sm_touchdown_points_enabled "0" //Enable points or not? sm_touchdown_points_td "10" //How many points player can get when he touchdown? sm_touchdown_points_kill "2" //How many points player will get when he kill? sm_touchdown_points_assist "1" //How many points player can get when he assist kill? sm_touchdown_points_bonus "2.0" //Offense / Defence bonus multiplier sm_touchdown_points_death "0" //How many points player will lose when he killed? sm_touchdown_points_dropball "0" //How many points player will lose when he drop ball? sm_touchdown_points_killball "0" //How many points player will get when he kill ball holder? sm_touchdown_points_pickball "2" //How many points player will get when he pick up the ball? sm_touchdown_points_start "0" //Starting points sm_touchdown_points_min_enabled "1" //Enable minimum points? sm_touchdown_points_min "0" //Minimum points sm_touchdown_bgm_enabled "1" //Enable BGM or not? sm_touchdown_quake_enabled "1" //Enable quake sounds or not? (all kill sounds)
Web Interface
I have edited this rankme interface for this gamemode.
Spoiler
For Developers
I have created some natives and forwards for this plugin. You can make 3rd party plugin for this gamemode. (Maybe zep store credits?)
Spoiler
kento_touchdown.inc
Spoiler
PHP Code:
#if defined _Touchdown_included #endinput #endif #define _Touchdown_included
/** * Gets the ball holder. * * @return client id. */ native int Touchdown_GetBallHolder();
/** * Gets which team drop the ball. * * @return TR = 2, CT = 3. */ native int Touchdown_GetBallDropTeam();
/** * Is client ball holder? * * @param client Client id. * @return True if client holding the ball. */ native bool Touchdown_IsClientBallHolder(int client);
/** * Called when a player drop the ball. * * @param client Player index. * @return No return */ forward Action Touchdown_OnPlayerDropBall(int client);
/** * Called when a player kill the ball holder. * * @param ballholder Ball Holder. * @param attacker Attacker. * @return No return */ forward Action Touchdown_OnPlayerKillBall(int ballholder, int attacker);
/** * Called when the ball reset. * * @return No return */ forward Action Touchdown_OnBallReset();
/** * Called when a player get the ball. * * @param client Player index. * @return No return */ forward Action Touchdown_OnPlayerGetBall(int client);
/** * Called when a player touchdown. * * @param client Player index. * @return No return */ forward Action Touchdown_OnPlayerTouchDown(int client);
/** * Gets the ball origin. * * @return true on success, otherwise false. */ native bool Touchdown_GetBallOrigin(float origin[3]);
/** * Gets the team's flag origin. * * @param team Flag of team. * @param origin Flag origin. * @return true on success, otherwise false. */ native bool Touchdown_GetFlagOrigin(int team, float origin[3]);
Example plugin: kento_touchdown_test
Spoiler
PHP Code:
#include <sourcemod> #include <kento_touchdown>
#pragma newdecls required
// Teams #define SPEC 1 #define TR 2 #define CT 3
public Plugin myinfo = { name = "[CS:GO] Touch Down Sample 3rd Party Plugin", author = "Kento from Akami Studio", version = "1.0", description = "Test touchdown natives and forwards", url = "https://github.com/rogeraabbccdd/CSGO-Touchdown" };
public void OnPluginStart() { RegConsoleCmd("sm_tdtest", Command_Test, "Test"); }
PrintToChatAll("%s kill the ball holder %s", attackername, ballholdername); }
public Action Command_Test(int client, int args) { char ballholdername [PLATFORM_MAX_PATH]; GetClientName(Touchdown_GetBallHolder(), ballholdername, sizeof(ballholdername));
PrintToChat(client, "Ball Drop Team %i", Touchdown_GetBallDropTeam()); PrintToChat(client, "Ball Holder %s", Touchdown_GetBallHolder());
if(Touchdown_IsClientBallHolder(client)) PrintToChat(client, "You are the ball holder"); else if(!Touchdown_IsClientBallHolder(client)) PrintToChat(client, "You are NOT the ball holder"); }
Changelog
Spoiler
1.0
Released.
1.1
Freeze all players except who touchdown in round end. (like original S4)
Only the player who touchdown can fire his weapon in round end. (like original S4)
Fixed sm_ballreset.
Fixed ball bounce sound, sound should from the ball, not the player.
1.2
Fixed bugs.
1.3
Fixed bugs.
1.4
Fixed bugs.
All players can't fire weapon and move if time is up.
1.5
Fixed warmup, now you can add warmup in this gamemode.
New bgm "Come On" which is played in map "Tunnel" in S4.
New bgm "Access" which is played in map "Neoniac" in S4.
New bgm "Grave Consequence" which is played in map "Colosseum" in S4.
New bgm "Syriana" which is played in map "Side 3" in S4.
New bgm "StarFish" which is played in map "Warp Ship" in S4.
New bgm "NB Power" which is played in map "Circle" in S4.
2.0
Added Stats and rank system.
Removed respawn timer in warmup.
Added healthshot and taser. (You can disable this by cvar.)
Added more natives.
2.1
Removed insert sql query in error log. (I forgot to remove this before release.)
Fixed kill timer bug.
2.2
Fix kill messages display wrong point.
Fix mp_ignore_round_win_conditions cause warmup not end problem.
2.3
Fix pistol menu.
2.4
Fix no touchdown in databases.cfg plugin failed to load.
Change !vol limit from "0.2~1.0" to "0.0~1.0".
Points and stats are disabled by default now.
Start cleaning my shit code.
2.5
Add player dead sound. (Use original S4 sound.)
Add dissolve effect to dead bodies. (Like original S4.)
2.6
Optimize.
Bug fix.
2.7
Optimize.
Fix workshop map name.
Now spec can hear kill, death, attack, defence, respawn and match end sounds.
2.8
Disable bot_quota 0.
Added new natives.("Touchdown_GetBallOrigin" and "Touchdown_GetFlagOrigin", Big thanks to Zeisenx)
Now require Steamworks to get Steam64 ID. (Sometimes GetClientAuthId returns "STEAM_ID_STOP_IGNORING_RETVALS" in my test server, but Steamworks don't.)
2.9
Make gamemode easier to configure.
New admin command "sm_td".
2.10
Fix player spawn with no weapon and can't get ball.
Add random weapon for bots.
Add sm_touchdown_bgm_enabled
Add sm_touchdown_quake_enabled
Add MP5-SD
Add 7 new bgms
2.11
Fix bot not freeze and can fire after round end.
Remove test codes.
2.12
Change "sm_touchdown_healthshot" from bool to int, you can set how many healthshot should player have when player spawn.
Fix how round MVP work, MVP will give to player who touchdown.