View Single Post
Author Message
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 10-12-2011 , 23:53   [ANY] Tetris (Version 1.1)
Reply With Quote #1

A tetris minigame simulation. (Because i'm bored)

This plugin ports the well known russian Tetris game to SourceMod. Players are able to play Tetris in a menu and compare their highscores.

Just type !tetris (sm_tetris) in chat and start a new game. Try to clear as many lines as possible and reach a high score until your blocks reach the top.

Controls are intuitive. Just use your walking keys. Left and right move the current tetrimino in that direction, up rotates it clockwise and down speeds up the falling.
Players may also press jump (spacebar) or use (e) to hard drop the tetrimino and let it fall to the floor immediately.

There are some stats on the right, showing your current level, number of cleared lines, score and the next tetrimino.

Scoring is based on this tables. T-Spins aren't rewarded though..

There are 3 difficulties differing in the tetrimino fallingspeed. Each difficulty has it's own TOP 5 highscore list, which may be accessed from the !tetris main menu. Next to the global top5, players are able to check their own best scores for each difficulty.

This plugin uses clientprefs to save the sound settings of each player. Each player may individually enable/disable the sound effects or music.

  • sm_tetris_disableharddrop - Disable hard dropping the tetrimino instantly to the floor with the spacebar? (Default: 0)
  • sm_tetris_disablesounds - Disable all tetris sounds? (Default: 0)
  • sm_tetris_onlydead - Player has to be dead to play tetris? (Default: 0)
  • sm_tetris_disableinfopanel - Disable showing stats like score/cleared bars in a (Key)Hint panel while playing? (Default: 0)
  1. Upload the tetris.smx into you sourcemod/plugins folder.
  2. If you want to enable the tetris sounds, extract the into your modfolder and upload it on your fastdl, if you use one. If you don't want sounds set sm_tetris_disablesounds to 1!
  3. Edit your databases.cfg and add a "tetris" section to save the highscores in. If you don't add one, it uses the "storage-local" sqlite database as a fallback.
    1. SQLite:
              "driver"            "sqlite"
              "database"            "tetris"
    2. MySQL:
              "driver"            "mysql"
              "host"                "localhost"
              "database"            "tetris"
              "user"                "youruser"
              "pass"                "yourpass"
              //"timeout"            "0"
              "port"            "3306"
    3. If you use mysql, execute this query to create the table:
      PHP Code:
      CREATE TABLE `tetris_players` (
      steamidVARCHAR64 NOT NULL,
      nameVARCHAR64 NOT NULL,
      score_easyINT NOT NULL DEFAULT '0',
      score_normalINT NOT NULL DEFAULT '0',
      score_hardINT NOT NULL DEFAULT '0',
      PRIMARY KEY ( `steamid` )
      ENGINE InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
  4. Change the map to load the plugin and configure it in the newly generated config file in cfg/sourcemod/plugin.tetris.cfg.
Known issues:
Some users' machines are unable to display UTF-8 chars ingame, so they won't be able to play this game as they will only see messy squares all over. It's clientside and i don't know how to fix that ;)


The include provides one native to be implemented into ALL afk managers out there!!!1


Thanks to:

Did you see...:

Sounds from

Note: This plugin won't compile on the forum due to it's custom include. Use the provided .smx or compile yourself.
Attached Images
File Type: jpg tetrisgamepanel.jpg (18.2 KB, 2788 views)
File Type: jpg tetrissidepandel.jpg (17.6 KB, 2766 views)
Attached Files
File Type: sp Get Plugin or Get Source (tetris.sp - 496 views - 44.6 KB)
File Type: smx tetris.smx (37.2 KB, 355 views)
File Type: inc (1.0 KB, 343 views)
File Type: zip (200.0 KB, 1358 views)

Last edited by Peace-Maker; 09-27-2016 at 21:50. Reason: Upload new screenshots
Peace-Maker is offline