Stupid's Team Deathmatch

Hey everyone, over the past little while I started working on a Team Deathmatch style gamemode, which is kind of a cross-over of Call of Duty 4 and Counter-Strike: Source.
This is my first lua project, and I started it in an attempt to learn lua and glua. If anyone wants to assist me, that would be great, especially in making sure everything was coded properly and efficiently.
I am a rookie coder so mistakes are to be expected.

The gamemode is currently fully functioning and in alpha stage. I stopped working on it in February but have recently started to finish off key features.

Last Update

  • November 23, 2015


  • Advanced spawning and spawn protection system.
  • Player Classes with Customizable Loadouts
  • Competitive
  • Smooth gameplay, high fps and low latency
  • Quick Connect, low downloads ( 3-4 Sound files and some fonts )
  • Customizable

Requirements to play:

  • Counter-Strike: Source

Whats left:

  • Polishing
  • Balancing Weapons and Classes
  • Polish Hud and vgui elements
  • Optimize code, add customization
  • Bug fixes and improvements
  • Custom ULX commands and Quick Commands

Special Thanks / Credits

GitHub URL

Pictures (Outdated)[/T]

Concept Mockups

Official Server

  • Coming Soon

I like this, i want more competitive gamemodes in Gmod, and one with a class system is even better!

Any chance of a copy of this? Ive been looking for a deathmatch gamemode that supports classes for a long time, want to make a private gamemode for my community, of course all credit would be given :slight_smile:

It’s not entirely finished, maybe when I get more time. I am not the best programmer either, I started this gamemode as a learning experience.

It should be fully functional, though if you encounter any errors let me know, the gamemode is not tested in the latest version of Garry’s Mod.

Also if anyone wants to point out any inefficient code I’d be glad to learn from any mistakes.


I’ll be glad to help out, if there are eny errors i’ll document them, if i can fix them I will and then share it.

[editline]24th March 2015[/editline]

Well first thing I’ve found that I’m not sure how to fix, you cannot change teams once you’ve joined. No errors or anything, looking at the code everything looks like it should work.

You can change teams, theres a 30 second cooldown.

Ah thanks, didn’t realise that. Maybe a chat message when trying to change team within the cooldown would be a good idea, so people realise they have to wait.

You gonna keep continuing working on it though? I’d love to help out, i’m gonna be making a server of this gamemode :slight_smile: I look forward to the class system, I saw the F3 menu and it looked amazing.

From time to time I’ll probably provide some updates, especially in the summer.

Looks sick dude, anyone know if any servers are operating with this gamemode?

Justed tested this out on my vm, It works although what map prefixes does the map voting system use? Good Work, looking forward to future updates

Would be cool to combine this with a lobby system and create a matchmaking system like CS:GO’s with an Elo system.

The current voting system was set to use ttt_ it wouldn’t allow me to use two prefixes (de_ and cs_ ) so the one I’m running is just using CS_ maps.

You select your maps in the config, I’m not entirely sure if all of the config works, I didn’t get that far, but in config/config.lua

TDM_PlayableMaps = {


Each of these maps I added custom spawn points, much like how they are made in TTT.

In gamemodes/tdm/content/maps you can find text files, like cs_office_tdm which has custom spawns. You can use the TTT rearm script to generate files like these for maps.

# Team Deathmatch Extra Spawns
# For map: cs_office
# Exported by: Stupid
info_mobile_spawn	887.623596 892.054321 -159.449554	0.159 -0.066 -0.002
info_mobile_spawn	1503.101929 901.114746 -159.470169	-0.223 -173.581 -0.000
info_mobile_spawn	1502.761230 1008.601501 -159.459091	-0.003 -168.489 0.156
info_mobile_spawn	551.710938 415.612671 -159.531418	-0.025 -0.440 -0.053
info_mobile_spawn	551.102539 642.980469 -159.400040	-0.022 -6.375 -0.022
info_mobile_spawn	48.408432 251.391846 -159.499634	0.004 -89.100 -0.004
info_mobile_spawn	135.119186 252.178757 -159.503708	-0.264 -96.141 0.231
info_mobile_spawn	-358.805176 459.291901 -159.427353	0.001 -173.061 0.087
info_mobile_spawn	-367.886505 694.051880 -159.464157	0.204 -175.916 0.000
info_mobile_spawn	-842.383057 -204.826965 -159.460999	0.241 0.442 0.220
info_mobile_spawn	-861.720886 -80.886200 -159.439774	-0.004 -0.000 0.004
info_mobile_spawn	-698.321838 521.800781 -367.400177	-0.000 -77.370 0.000
info_mobile_spawn	-703.543762 164.548676 -367.414886	-0.066 -91.746 -0.093
info_mobile_spawn	-1623.274536 -780.710144 -239.476624	-0.075 -0.000 0.075
info_mobile_spawn	-1648.510010 -99.431648 -239.411423	-0.228 -48.836 0.264
info_mobile_spawn	-1743.309448 -1512.889648 -327.400177	-0.199 43.113 -0.199
info_mobile_spawn	-543.716064 -1153.806030 -239.400177	-0.000 131.344 0.000
info_mobile_spawn	-854.105591 -1148.891479 -239.454330	-0.329 53.449 0.148
info_mobile_spawn	-6.397543 -2121.114014 -335.402496	-0.247 58.011 -0.254
info_mobile_spawn	413.452271 -2123.489990 -335.433197	-0.100 122.208 -0.205
info_mobile_spawn	309.398560 -1331.189087 -279.478882	-0.000 2.466 -0.145
info_mobile_spawn	1140.208130 -843.972961 -159.465012	-0.073 -132.041 0.006
info_mobile_spawn	1564.660522 -580.716431 -159.427689	-0.055 125.761 0.142
info_mobile_spawn	1348.839355 -588.470764 -159.458908	0.000 32.062 -0.187
info_mobile_spawn	2302.943848 62.234886 -159.443527	-0.000 -152.398 -0.138
info_mobile_spawn	2266.676270 -341.076385 -159.498672	0.143 139.891 0.004
info_mobile_spawn	-127.634224 -1123.284058 -223.511642	0.028 67.854 0.064
info_mobile_spawn	1422.716309 -122.227219 -159.473709	0.002 -144.526 -0.236
info_mobile_spawn	-8.707770 -1639.749146 -335.446014	0.073 -55.660 -0.073
info_mobile_spawn	279.987915 -1617.338501 -335.458435	0.001 -104.585 -0.186

The timer and stuff in the bottom right hand corner of the HUD doesn’t appear to work on my server,
It all displays as zero and waiting.

No errors in the console, client or server side.

Interesting, it will continue “Waiting” until more than one player is present. Were you on alone?

Had at least 4 players, even tried putting in around 15 bots too.

I’ll look into that, but try updating your server.

Theres been some secret hotfixes to garrysmod that mess with the timers

Very interesting, this was the problem. I had installed the gamemode from a fresh install of a Gmod server, I guess the hot fixes were not included in that.

I’m actually gonna be running a server of this once I tweak it some more, although theres something wrong with mine too, never starts the round or anything, stuck on waiting. Might be a recent gmod update that broke it. Not sure.

[editline]10th April 2015[/editline]

Also sprint bar is invisible, not sure what’s causing this.

Update your server, also sprinting won’t work if it is a local server.

Looks pretty entertaining, I’ll look up for servers with this gamemode.