Giter Club home page Giter Club logo

lasttankstanding's Introduction

Last Tank Standing

GitHub release Minimum BZFlag Version License

A BZFlag FFA game mode, where the player with the lowest score gets eliminated until there's the last tank standing.

A match of Last Tank Standing (LTS) consists of multiple rounds, where a round is defined as the time period where someone gets eliminated (defined by _ltsKickTime). When a match is started, all tanks are rendered immobile and cannot shoot until the match has begun. During the countdown, players are allowed to join or rejoin if they are not satisfied with their starting position. Once a game has started however, all players will automatically be moved to the observer team and must wait for the next game to start whether they just joined or were rejoining. Everyone's scores are reset to 0 at the start of the match, when the countdown reaches 0. After every 60 seconds (defined by _ltsKickTime), the player with the lowest score will be eliminated (i.e. moved to the observer team) and in the case of a tie for last place, no player will be eliminated.

Compiling Requirements

Usage

Loading the plug-in

This plug-in accepts the path to a configuration file when loaded. This configuration file is not mandatory but is needed for some configuration.

-loadplugin lastTankStanding,/path/to/lastTankStanding.cfg

Custom BZDB Variables

These custom BZDB variables must be used with -setforced, which sets BZDB variable <name> to <value>, even if the variable does not exist. These variables may changed at any time in-game by using the /set command.

-setforced <name> <value>
Name Type Default Description
_ltsKickTime int 60 The number of seconds between each elimination round
_ltsCountdown int 15 The default number of seconds for the countdown before a game of LTS starts. This can be changed by specifying the number of seconds with /start <seconds>
_ltsIdleKickTime int 30 The numer of seconds to eliminate a player for idling or pausing during a match
_ltsResetScoreOnElimination bool false When set to true, all of the remaining players' scores will be reset to 0

Custom Slash Commands

Command Permission Description
/start <seconds> vote Start a new match of Last Tank Standing
/gameover endgame End the current game of Last Tank Standing

Tip: The permissions required for these commands may be changed by using the configuration file.

Configuration File

Field Type Description
GAME_START_PERM string The permission required for the /start command
GAME_END_PERM string The permission required for the /gameover command
RECORD_MATCHES bool Whether or not to record LTS matches and save them as replays; enabling this functionality requires that -recdir be set in the BZFS configuration

Warning: Do not use single or double quotes when defining string values in the configuration file.
Tip: Permissions are case-insensitive.
Tip: You may use custom permissions such as 'LTS' or 'Bacon' and the plug-in will still behave correctly

License

MIT

lasttankstanding's People

Contributors

allejo avatar righthandson avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

righthandson

lasttankstanding's Issues

Keep track of PvP scores somewhere

When _ltsResetScoreOnElimination is true, scores are reset every round but due to that, you lose your overall score and also PvP stats too.

Requirements

  • Introduce new /playerstats command to display your current PvP scores against other players (even eliminated players)
    • Additionally, allow /playerstats <id or callsign> to see the stats of another player
  • Update ending announcement to have aggregate K/D score from all rounds

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.