Topic: [MOD] TW+ - iFreeze and Instagib-Mod
Hello Tees!
Started as experiment and just for fun, even in remembrance of Tom94's legendary TeeWorlds+-Mod I'm glad to present you now the final version of my TW+-Mod.
This modification is mainly directed to Instagib-players but of course Vanilla is supported too.
TW+ contains a lot of features which might be useful for one or two and is highly customizable, what means that you can disable features which you dont want or need.
Features:
New Gametypes (Possible: DM+, TDM+, CTF+, iDM+, iTDM+, iCTF+, iFreeze+, gDM+, gTDM+, gCTF+)
Mute-On-Spam
Anti-Capslock
Anticamper
Chat-commands to control the game
Private message
Spawnprotection
Logging player stats (useful for wars)
Loltext (by fisted)
Message loops for chat
Killing-spree and killing-spree award
Live-stats for every player
Emotional Tees
Laserjumps
... many more
iFreeze+
As you see it also includes the iFreeze-gametype which was very popular in old 0.5.
The gameplay is similar to (open-)fng and TDM. You have just one weapon; your laser. If you kill a player he becomes frozen and cant move anymore. Your team will score when every tee of the opponent team is frozen, then all frozen players become melted and it starts again.
Of course you can also melt your teammates: When you stand near to a frozen teammate, after some time he becomes melted and can continue playing.
You will score both by freezing a opponent and melting a teammate. It is very important to melt your teammates, otherwise your team will probably loose.
Variables
# General things
sv_vote_forcereason
Description: "Allow only votes with a reason (except settings)"
Default: 1
Minimum: 0
Maximum: 1
sv_go_time
Description: "The restart time for the go-command"
Default: 5
Minimum: 0
Maximum: 600
sv_stopgo_feature
Description: "Enable stop/go-feature in chat"
Default: 1
Minimum: 0
Maximum: 1
sv_xonx_feature
Description: "Enable chat-commands like /1on1 - /6on6 for wars"
Default: 1
Minimum: 0
Maximum: 1
sv_war_time
Description: "Default warmup-time before a war"
Default: 15
Minimum: 0
Maximum: 600
sv_laserjumps
Description: "Enable laserjumps (only in instagib)"
Default: 0
Minimum: 0
Maximum: 1
sv_emotional_tees
Description: "Enable emotional tees"
Default: 1
Minimum: 0
Maximum: 1
sv_private_message
Description: "Enable/Disable private message"
Default: 1
Minimum: 0
Maximum: 1
sv_spawnprotection
Description: "Spawnprotection in seconds (0 disables)"
Default: 0
Minimum: 0
Maximum: 5
sv_laser_reload_time
Description: "Reload-time for laser when you are not at killing-spree (Default: 800)"
Default: 800
Minimum: 0
Maximum: 2400
_____________________________________________________________________________________________
# Mute-on-spam and Chat-settings
sv_chat_value
Description: "A value which is added on each message and decreased on each tick"
Default: 250
Minimum: 100
Maximum: 1000
sv_chat_threshold
Description: "If this threshold will exceed by too many messages the player will be muted"
Default: 1000
Minimum: 250
Maximum: 10000
sv_mute_duration
Description: "How long the player will be muted (in seconds)"
Default: 60
Minimum: 0
Maximum: 3600
sv_chat_max_duplicates
Description: "How many duplicates of a chat message is allowed to send in a row (-1 for no limit)"
Default: 3
Minimum: -1
Maximum: 25
sv_vote_mute
Description: "Allow voting to mute players"
Default: 1
Minimum: 0
Maximum: 1
sv_vote_mute_duration
Description: "How many seconds to mute a player after being muted by vote."
Default: 180
Minimum: 0
Maximum: 600
sv_chat_message
Description: "A message which will be periodically shown in chat"
Default: ""
sv_chat_message_interval
Description: "The interval in minutes where the chatmessage is sent to the chat"
Default: 15
Minimum: 7
Maximum: 1000000
# Anti-Capslock
sv_anticapslock
Description: "If all letters of a chat-message are capitalized they will be lowercased"
Default: 1
Minimum: 0
Maximum: 1
sv_anticapslock_tolerance
Description: "How many letters of 10 are allowed to be lowercased that it just work"
Default: 5
Minimum: 0
Maximum: 10
sv_anticapslock_minimum
Description: Minimum number of letters that the anti-capslock feature works"
Default: 4
Minimum: 1
Maximum: 15
_____________________________________________________________________________________________
# Anticamper
sv_anticamper
Description: "0 disables, 1 enables anticamper in all modes and 2 only in instagib gamemodes"
Default: 0
Minimum: 0
Maximum: 2
sv_anticamper_freeze
Description: "If a player should freeze on camping (and how long) or die"
Default: 0
Minimum: 0
Maximum: 15
sv_anticamper_time
Description: "How many seconds to wait till the player dies/freezes"
Default: 9
Minimum: 5
Maximum: 20
sv_anticamper_range
Description: "Distance how far away the player must move to escape anticamper"
Default: 200
Minimum: 0
Maximum: 1000
_____________________________________________________________________________________________
# Stats
sv_stats_file
Description: "Name of the file where the statistics are stored in"
Default: "stats.txt"
sv_stats_outputlevel
Description: "How much informations in the statistics-file should be saved (0 to disable saving)"
Default: 0
Minimum: 0
Maximum: 3
_____________________________________________________________________________________________
# Loltext
sv_loltext_show
Description: "Show loltext"
Default: 1
Minimum: 0
Maximum: 1
sv_loltext_hspace
Description: "Horizontal offset between loltext 'pixels'"
Default: 14
Minimum: 10
Maximum: 25
sv_loltext_vspace
Description: "Vertical offset between loltext 'pixels'"
Default: 14
Minimum: 10
Maximum: 25
sv_loltext_lifespan
Description: "How long the loltext is shown"
Default: 50
Minimum: 25
Maximum: 100
_____________________________________________________________________________________________
# Grenade-Gamemode(s)
sv_grenade_min_damage
Description: "Minimum damage the grenade must make to kill the player (depends how far away the bullet explodes)"
Default: 4
Minimum: 3
Maximum: 6
sv_grenade_ammo
Description: "How much ammo for the grenade"
Default: 6
Minimum: -1
Maximum: 10
sv_grenade_ammo_regen
Description: "Time till one bullet regenerates"
Default: 1000
Minimum: 800
Maximum: 2000
_____________________________________________________________________________________________
# iFreeze
sv_ifreeze_automelt_time
Description: "Time till the player respawn automatically when he's frozen"
Default: 30
Minimum: 10
Maximum: 120
sv_ifreeze_melt_range
Description: "Maximum range to melt a player"
Default: 100
Minimum: 10
Maximum: 1000
sv_ifreeze_melt_time
Description: "Time (in ms) the player must stand next to a player to melt him"
Default: 1200
Minimum: 500
Maximum: 5000
sv_ifreeze_melt_respawn
Description: "If a player respawns after he was being melted"
Default: 1
Minimum: 0
Maximum: 1
sv_ifreeze_frozen_tag
Description: "If frozen players have "[F]" in front of their name"
Default: 1
Minimum: 0
Maximum: 1
_____________________________________________________________________________________________
# Killing-spree
sv_kspree_kills
Description: "How many kills are needed to be on a killing-spree"
Default: 5
Minimum: 3
Maximum: 20
sv_kspree_award
Description: "If players with more than "sv_killingspree_kills" kills get the killingspree award"
Default: 0
Minimum: 0
Maximum: 1
sv_kspree_ifreeze
Description: "Give the killingspree award only in iFreeze"
Default: 1
Minimum: 0
Maximum: 1
sv_kspree_award_laser
Description: "How many lasers will shot when you got the award"
Default: 3
Minimum: 1
Maximum: 10
sv_kspree_award_laser_split
Description: "Split of the lasers while having the award"
Default: 1
Minimum: 1
Maximum: 10
sv_kspree_award_laser_firedelay
Description: "Firedelay of the weapon when you got the award"
Default: 100
Minimum: 0
Maximum: 800
Rcon-Commands
Note: The letters behind a command determines what kind of argument and how many are required. i = number, r = string.
freeze ii
Description: Freeze a player for x seconds
Usage: freeze <ClientID> <Time in sec>
unfreeze i
Description: Unfreeze a player
Useage: unfreeze <ClientID>
melt i
Description: Melt a player (same effect like unfreeze)
Useage: melt <ClientID>
mute ii
Description: Mute a player for x sec
Useage: mute <ClientID> <Time in sec>
unmuteid i
Description: Unmutes a player by its client id
Useage: unmute <ClientID>
unmuteip i
Description: Remove a mute by its index (see "mutes")
Useage: unmuteip <Index>
mutes
Description: Show all mutes
Useage: mutes
mute_spec ?i
Description: All messages written in spectators will be redirect to teamchat for this round (Note: Can be also used as callvote)
Useage: mute_spec <"0" or "1" or nothing>
stop
Description: Pause the game
Useage: stop
go ?i
Description: Continue the game
Useage: go <Time in sec or nothing>
set_name ir
Description: Set the name of a player
Useage: set_name <ClientID> <New Name>
set_clan ir
Description: Set the clan of a player
Useage: set_clan <ClientID> <New Clanname>
kill i
Description: Kills a player
Useage: kill <ClientID>
whois
Description: Show a list of players which are currently logged in in rcon
Useage: whois
Chat-Commands
/info
-> Show information about this mod
/credits
-> Show some credits...
/stats
-> Show player statistics
Useage: /stats <Playername> shows the stats of any other player. But you dont need to write your own name for your own statistics.
/sayto , /st , /pm
-> Send a private message to a player in the server
Useage: /sayto <Name/ID> <Message>
/ans , /r
-> Answer to a private message. The receiver is the player from where the last message was received or sent
Useage: /ans <Message>
/emote
-> Set an emote. Available are "surprise", "blink", "happy", "pain", "angry" or "normal".
Useage: /emote <Emotename> <Time in sec>
/stop
-> Pause the game
/go
-> Start the game
/restart
-> Restart the game
/1on1 - /6on6
-> Start a war and set spectator slots
/reset
-> Reset spectator slots
Also included is an extended version of the banmasters, so you have easy control and you can ban players of all your servers.
Please note that in the default-settings I will be notified if a player on your server gets a ban. The sent information (name and ip) will be used to ban botters from a bigger amount of servers so that they can't simply change the server to continue cheating there. But there are definitely no automated bans. If you anyway dont want this, set "sv_global_bantime" to 0 to disable the banmaster-feature. If you dont want to abandom banmasters write in the first line of your banmasters.cfg "clear_banmasters" and add your own addresses in the following lines.
Download
Current Version: 0.7.5
Example Configs:
iCTF+
iFreeze+
(They are also part of the ZIP-folder)
Note: I finished the Anti-Capslock-feature with 0.7.3. It should work now for the most latin letters.
Important: In the last version of teeworlds and thus in TW+ was a critical bug, which has been fixed now. Please update the mod to 0.7.5 (current)
If you find any bugs or if you have an awesome idea just write it here or open an issue on GitHub. I'm looking forward to every comment
Much fun <3