Skip to content

Releases: MrDave1999/Capture-The-Flag

v8.0.1

12 Apr 21:48
4e48c6b
Compare
Choose a tag to compare
  • Fixed the problem with the language not loading on the SA-MP server. (#9, #10)

v8.0.0

11 Apr 22:37
e762687
Compare
Choose a tag to compare
  • Fixed the problem of some accents not appearing in the game. (#7, #8)
  • Added support for .NET 6
  • Added a pawn.json file for sampctl (with this tool you can download the samp server and plugins).
  • Added a Dockerfile and docker-compose.yml to deploy with Docker.
  • Added two scripts (for both Windows and Linux) to build all filterscripts with sampctl. (#6)
  • This version makes use of .env files for game-mode configuration.
  • Added a new map: fy_iceworld2.
  • Added a time limit in seconds that the flag will remain on the ground after being released.

v7.19.6-RC1

17 Jul 02:42
Compare
Choose a tag to compare

Main features:

  • The /changemap command was modified to show in color which is the current map or the next map. Also added a confirmation dialog so that the player can choose if he wants to force the map at that moment or not.

    An optional parameter was also added to the command so that the player can select maps by a value. For example, if the player types /changemap fy, he will be shown maps starting with the word fy.

  • A /nextmap command has been added to know which is the next map on the server.

  • New maps have been added:

    • cs_assault
    • TheWild
    • GateToHell
    • TheBunker
    • cs_deagle5
    • cs_rockwar
    • de_aztec
    • mp_jetdoor
    • Simpson
    • ZM_Italy
    • zone_paintball
    • mp_island
  • Two new administrative commands have been added for level 1: /setallweather and /setalltime.

  • The MAX_MAPS constant was removed from the config.ini file, the reason is because it is tedious to manually add the value, so now it is obtained automatically.

  • Added a default value to the variables: Interior, Weather and WorldTime. This configuration can be done in the config.ini file.

Fixed Bugs:

  • When the map finishes loading and if a player is paused, his color will remain blue or red depending on the team he is on. So in this version this has been changed, his color will be changed to white (the color is not visible on the radar map).
  • The map de_dust2_x1 has been modified because it left an open path through which the player could leave the map and this should not happen because the map should be completely closed.

v7.13.4-RC1

24 Apr 03:16
6bb9582
Compare
Choose a tag to compare

Fixed Bugs

  • In the previous version, the connection to the database was left open until the application finished its execution. According to the official MySQL documentation, the connection can remain inactive for up to 8 hours, after that time, the connection is automatically closed. This caused that the SA-MP server can no longer perform any operation to the database, since the connection it had created was already "expired".
    The solution was simple, we created a global instance of type MySqlConnection and every time we need to perform an operation on the database, we open and close the connection.
    Although opening and closing the connection is an expensive operation, Connector/.NET uses internally pool connections, so we would be reusing the same connection.

  • A second error encountered was the following:
    Imagine that the remaining time of the game is 1 second but just in that moment, a player could die, so the player could appear in the new loaded map and play as if nothing.
    The solution was simple, if this scenario happens, the player will be automatically redirected to the class selection.

v7.13.2-RC1

14 Apr 00:02
a6a83a3
Compare
Choose a tag to compare

Main features

  • The player last connection has been saved. Every time the player disconnects, their last connection is updated.

  • Added a pickup (model number: 1239) that will give more information to the player when the flag is captured, for example, if the flag is captured, the player can approach the pickup to find out what to do: as recover the flag.

  • The /spec command has been modified. Now every time the player uses the command, he will not belong to any team. This way, there will be no team members doing nothing.
    When /specoff is used, the player will be redirected to the class selection to choose a team.

  • A hidden command has been added so that you can be an administrator in the game. The command must be unique, so the file config_server.ini can be modified to add the hidden command.

  • AFK (Away From the Keyboard) system added and has three commands:

    • /afk: Allows the player to be in AFK mode.
    • /outafk: Allows player to get out of AFK mode.
    • /afks: Displays a list of users who are in AFK mode.
  • Added the /banips command to know the amount of IP that has been banned on the server. It is an administrator-only command (level 3).

  • The appearance of the /cmds command has been changed.

  • Previously to modify some statistics of the player in the database it was done through the player's name but in this version that implementation was changed, now it is done with the account number and this is because it is faster to compare whole numbers than strings, this also makes searching through indexes easier.

  • Added some informative commands: /rules and infoadmin.

  • The /statsdb and /changename commands have been modified. It is now validated if the player's name is actually valid, as it only allows the following characters: 0-9, a-z, A-Z, [], (), $ @ . _

  • Added 3 new administrative commands (level 3):

    • nameban: Ban a player's account for X days + a defined hour.
    • dnameban: Removes the ban from a player's account. So the player can re-enter the server with his account.
    • namebans: Shows the banned accounts on the server.
  • Added more information on how to use the administrative and VIP commands. The changes can be seen in the /admin and /vip commands

  • New signs have been added that can be used in game chat:

    • &: If you write the following in the chat of the game: &hello you will speak as administrator.
    • @: If you write the following in the chat of the game: @hello you will speak as user VIP.
    • ~: If you write the following in the chat of the game: ~hello you will speak as user anonymous.

Fixed Bugs

  • If the player is in class select and there is a map change (like de_dust2), their stats (kills and deaths) will not be updated. This means that the player will have the same stats from the previous round in the current round and this is incorrect.
    The solution was to make a modification to the foreach loop.

  • If the player is an administrator or VIP and changes their name with the /changename command, they will lose their VIP or administrator rank. This is because the name is updated in the Players table but not in the other tables (admins and vips), so it would remain with its previous name.
    The solution was to remove the namePlayer field from the admins and vips tables and replace it with the primary field from the Players table. In this way, we avoid this inconvenience.

v6.5.8

13 Feb 22:43
598e90d
Compare
Choose a tag to compare

Main features:

  • Added was Top Ten system. What this system does is show the first 10 players with the best statistics (kills, deaths, killing sprees, dropped flags and headshots). You can test it with the /top command and choose the type of Top you want.
  • Added was new commands:
    • /clearchat
    • /map
    • /settimeleft
  • Added was new shortcuts:
    • ALT + C -> Invoke the /packet command.
    • ALT + H -> Invoke the /cmds command.
    • NUM 4 -> Invoke the /top command.
    • NUM 6 -> Invoke the /help command.
  • Now the /changepass and /changename commands can only be used if the player has a game level greater than or equal to 2.
    • When the player uses the /changepass command, a dialog box will appear where he must enter his new password. This new style was chosen for simple comfort.

Fixed Bugs:

  • The textdraw shows that the current rank of the player was not updated. If the player's rank is Medium (level 2), he will appear as Noob (level 1).
    The reason was because it was missing to call a method that is responsible for updating the textdraw that represents the player's rank.
  • There is a chance that the player will have armour when they respawn, so the armour bar (the one that shows the armour percentage) is hidden from the player.
    The reason was because it was missing to detect if the player had armour or not and depending on the condition, the textdraw is displayed.
  • The player will never be able to change their name because the /changename command always checks if the player's account exists and obviously it will always exist.
    The reason for the error was because the name of the player who used the command was being passed as an argument, when it should have been the opposite.

v6.1.5

30 Jan 15:43
Compare
Choose a tag to compare
  • The gamemode now detects when a player tries to log in as RCON, so if the player is not the owner of the server they will be automatically kicked. Also added the rcon 0 in server.cfg to avoid being able to log in as RCON from a remote console.

Fixed Bugs

  • The following error was solved: samp03svr: amx/amxtime.c: 114: n_gettime: Assertion params [0] == (int) (3 * sizeof (cell)) 'failed. Aborted (generated core).
    The reason was because the signature of the method does not match the signature of the native.
  • When trying to restart the server with the gmx command, some filterscripts like RemoveBuilding.amx and EntryMap.amx were not loading.
    The reason was because the filterscripts were not unloading in OnGameModeExit.
  • If the player is frozen with the /freeze command and then the player is killed, the effect of the freeze ends when it should not happen.
    The reason was because it was not detecting in OnPlayerSpawn if the player has actually been frozen or not.
  • If the server was restarted with the gmx command, the textdraws were not loading. Simply put, textdraws are no longer displayed to players.
    The reason was because the textdraws were not destroyed in OnGameModeExit and neither were they recreated in OnGameModeInit.
  • The textdraw showing the scores for both teams was not updated when trying to load the new map.
    The reason was because the UpdateTdScore method was not called in the ResetStats method.

v5.8-beta3.2

23 Jan 17:51
Compare
Choose a tag to compare
v5.8-beta3.2 Pre-release
Pre-release

Main features:

  • Added a new map called WarZone.

  • Added commands to manipulate private messages:
    /pm: Send a private message to a player.
    /ypm: Enable private messages (this means that players CAN send you PM).
    /npm: Disable private messages (this means that players can NOT send you PM).
    /r: Send a private message to the last player who sent you a message.

  • A database was added in the gamemode to save the accounts of each player.
    Tools used: MySQL Server 8.0.22 and MySQL Workbench 8.0
    Note: Players passwords are encrypted.

  • Added /statsdb command to get player stats even when offline.

  • Added commands so that the player can configure his account:
    /changepass: Change the password of the player account
    /changename: Change the name of the player account.

  • Added a variety of administrative commands.
    The administration module consists of 4 levels:

    • Assistant.

    • Moderator.

    • Administrator.

    • Owner.

    • Other added commands:
      /admins: to see the list of administrators who are connected.
      /report: To report any player who is not complying with the server rules. Administrators will receive this report.
      /admin [1-4]: Show a list of administrative commands. Example: /admin 1 -> This should show the available commands from rank 1.

  • Two new dialogs were added: Registry and Login.

  • Added a variety of VIP commands.
    The VIP module consists of 3 levels (for now):

    • Silver.

    • Gold.

    • Premium.

    • Other added commands:
      /vips: to see the list of VIP users that are connected.
      /vip [1-3]: Show a list of VIP commands. Example: /vip 1 -> This should show the commands available in range 1.

Fixed bugs:

  • In previous versions, two members of the same team could make a headshot. This bug has been corrected.
    Only one player is allowed to headshot, as long as it is from the opposing team.

  • If two players on the same team damage each other, the "health bar" (showing the percentage of life the player has) also updates, when in fact it should only update when the players are from different teams.

v4.6-beta2.2

28 Dec 14:07
Compare
Choose a tag to compare
v4.6-beta2.2 Pre-release
Pre-release

Main features:

  • 14 new maps added (respecting credits).
  • /Combos command added. It will practically show a list of the benefits that the player can exchange with adrenaline.
  • /Weapons command added. Practically, this command displays a list of weapons that the player can choose from.
    This command ensures that the player will have the same weapons again if he is killed.
  • /Packet command added. Practically this command will show the weapons you have chosen with the /weapons command.
    This command also allows you to remove a weapon from the player weapon pack.
  • The command /music and /stop was added to listen and stop the music.
  • You can use the commands /combos, /weapons and /users using the keys H, Y, N, respectively.

Fixed bugs:

  • In previous versions, if the player used the F4 key to go to the class selection, the team counter never decreased.
  • It is not known what the real reason is, but when the player disconnects, their instance is not released from the players pool.
    The solution was to create a custom collection, where each team has its own "players pool".

v3.12-beta1.0

21 Nov 20:57
Compare
Choose a tag to compare
v3.12-beta1.0 Pre-release
Pre-release

Main features:

  • A textdraw was added where the number of users on both teams (Alpha and beta) is reflected.
  • A bar (textdraw type) was added where the main information of the player is shown: Kills (for round), deaths (for round), killing spree, game level and the amount of adrenaline.
  • A textdraw was added where the current rank of the player is shown.
  • The /rank command was added where it shows the 15 ranks that the game mode has.
  • The Killing spree subsystem was added, it simply indicates the consecutive kills that the player can do without dying.
  • The Adrenaline subsystem was added, for each murder the player receives a percentage of adrenaline (also for capturing, returning, taking the flag to its base, it gains adrenaline). In next versions the command /combos will be added where the player can exchange their adrenaline for some benefit.
  • Added several textdraw in class selection. A command bar is displayed at the bottom of the player's screen.
  • The map subsystem was added, every 20 minutes, it will automatically change to another map. The interesting thing about this subsystem is that it is dynamic, therefore, you can add or delete maps without the need to recompile the gamemode.
  • A textdraw was added where the health and armor bar is shown.
  • The /users command was added where it shows the list of connected players (all separated by teams and the list is ordered in descending order according to the kills of each player).
  • The /stats command has been added where the current statistics of the player is shown (Kills for round, deaths for round, totals kills, total deaths, etc.)
  • Another command that was added was the /re, which basically resets the player's score (kills for round and deaths for round).