AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [TF2] Mann vs. Mann (1.15.0, 2023-04-19) (https://forums.alliedmods.net/showthread.php?t=336765)

Mikusch 03-10-2022 10:36

[TF2] Mann vs. Mann (1.15.0, 2023-04-19)
 
[TF2] Mann vs. Mann

https://repository-images.githubuser...7-bf0809723735

A custom Team Fortress 2 gamemode that mixes Mann vs. Machine mechanics with regular gameplay.

Have you ever wondered what it would be like to use your Mann vs. Machine upgrades to fight real players instead of robots? Do you hate respawning and wish you could just buy back into the game, or be revived by a friendly Medic? If you answered yes to any of these questions, this gamemode got your back.

Inspired by the scrapped Bounty Mode, players may purchase upgrades at resupply lockers with money earned from fallen enemies.

🡺 Source Code on GitHub


Features
  • Fully functioning Mann vs. Machine mechanics in regular gameplay
    • Player and Item Upgrades
    • Power Up Canteens
    • Money Pickups
    • Buybacks
    • Revive Markers
    • ...and much more
  • Compatible with all official gamemodes (except Mann vs. Machine)
  • Support for custom upgrade files
  • Configurable using plugin ConVars

Download

You can find the latest release package on the Releases tab of the GitHub repository.
You can also find the change log between versions there.

🡺 Download Latest Release


Requirements

Custom Upgrades

The gamemode fully supports custom upgrade files. Usually, this would only be possible if the file is packed into the map, but due to a bug in the parsing code we are able to load our own file on both the server and the client. (fixed as of 2022-12-01)

Custom upgrade files are quite limited in functionality due to Valve hardcoding all applicable upgrades for each weapon. As a result, adding new weapon upgrades is not possible. You can, however, add new player upgrades and edit/remove all default upgrades.

Step by Step Instructions
  1. Create a copy of the default upgrades file found at scripts/items/mvm_upgrades.txt and copy it to scripts/items/ on your server
  2. Edit the file to suit your needs
  3. Give the file a unique name along with a version number (e.g. mvm_upgrades_mikusch_v1.txt)
    • This is very important because clients have to download the upgrades file in order to see the upgrade menu
    • Having a unique and versioned name ensures that you can update the file at a later point
  4. Set the value of the convar sm_mvm_custom_upgrades_file to the path of your new file (e.g. sm_mvm_custom_upgrades_file "scripts/items/mvm_upgrades_mikusch_v1.txt")
  5. ???
  6. Profit!

Events

Instead of creating dozens of forwards, this plugin fires Mann vs. Machine events which you can hook in your own plugins.

List of Mann vs. Machine Events
  • revive_player_notify
  • revive_player_stopped
  • revive_player_complete
  • player_buyback
  • player_used_powerup_bottle
  • player_directhit_stun
  • player_currency_changed
  • player_upgraded
  • medigun_shield_blocked_damage
  • mvm_sniper_headshot_currency
  • mvm_quick_sentry_upgrade
  • mvm_pickup_currency
  • mvm_medic_powerup_shared
  • upgrades_file_changed

ConVars

Console output from the find command (because I'm lazy):
Code:

"sm_mvm_resupply_upgrades" = "1"
 - When set to 1, the resupply locker will act as an upgrade station.
"sm_mvm_respec_enabled" = "1"
 - When set to 1, players can refund their upgrades.
"sm_mvm_player_sapper" = "1"
 - When set to 1, Spy can place sappers on players.
"sm_mvm_setup_quickbuild" = "1"
 - When set to 1, Engineer can quickbuild during setup.
"sm_mvm_backstab_armor_piercing" = "1"
 - When set to 1, backstabs use armor piercing upgrades to determine the damage.
"sm_mvm_arena_canteens" = "1"
 - When set to 1, Power Up Canteens may be used in arena mode.
"sm_mvm_defender_team" = "any"
 - Determines which team is allowed to use Mann vs. Machine Defender mechanics. {any, blue, red, spectator}
"sm_mvm_death_responses" = "0"
 - When set to 1, players will announce their teammate's deaths.
"sm_mvm_custom_upgrades_file" = ""
 - Custom upgrade menu file to use, set to an empty string to use the default.
"sm_mvm_broadcast_events" = "0"
 - When set to 1, the 'player_buyback' and 'player_used_powerup_bottle' events will be broadcast to all players.
"sm_mvm_revive_markers" = "1"
 - When set to 1, players will create revive markers on death.
"sm_mvm_radius_spy_scan" = "1"
 - When set to 1, Spy will reveal cloaked enemy Spies in a radius.
"sm_mvm_medigun_shield_damage_modifier" = "0"
 - Multiplier to damage of the shield created by the Medi Gun's 'Projectile Shield' upgrade.
"sm_mvm_explosive_sniper_shot_damage_modifier" = "1.0"
 - Multiplier to damage of the explosion created by the 'Explosive Headshot' upgrade.
"sm_mvm_gas_explode_damage_modifier" = "0.5"
 - Multiplier to damage of the explosion created by the 'Explode On Ignite' upgrade.
"sm_mvm_players_are_minibosses" = "1"
 - When set to 1, all upgrades will function as if players are MvM giants.
"sm_mvm_music_enabled" = "1"
 - When set to 1, Mann vs. Machine music will play at the start and end of a round.
"sm_mvm_spawn_protection" = "1"
 - When set to 1, players are granted ubercharge while they leave their spawn.
"sm_mvm_showhealth" = "0"
 - When set to 1, shows a floating health icon over enemy players.
"sm_mvm_upgrades_reset_mode" = "0"
 - How player upgrades and credits are reset after a full round has been played. 0 = Reset if teams are being switched or scrambled. 1 = Always reset. 2 = Never reset.
"sm_mvm_currency_rewards_player_modifier_medieval" = "0.33"
 - Multiplier to dropped currency in medieval mode.
"sm_mvm_currency_rewards_player_modifier_arena" = "2.0"
 - Multiplier to dropped currency in arena mode.
"sm_mvm_currency_rewards_player_catchup_max" = "1.5" min. 1.000000
 - Maximum currency bonus multiplier for losing teams.
"sm_mvm_currency_rewards_player_catchup_min" = "0.66" min. 0.000000 max. 1.000000
 - Maximum currency penalty multiplier for winning teams
"sm_mvm_currency_rewards_player_count_bonus" = "2.0" min. 1.000000
 - Multiplier to dropped currency that gradually increases up to this value until all player slots have been filled.
"sm_mvm_currency_rewards_player_killed" = "15"
 - The fixed number of credits dropped by players on death.
"sm_mvm_currency_starting" = "1000" min. 0.000000
 - Number of credits that players get at the start of a match.
"sm_mvm_enabled" = "1"
 - When set, the plugin will be enabled.
"sm_mvm_version" = "1.15.0"
 notify singleplayer replicated
 - Mann vs. Mann plugin version


PC Gamer 03-10-2022 17:00

Re: [TF2] Mann vs. Mann (1.6.0, 2022-03-10)
 
Interesting idea! I'll give this a try.

How do I implement custom upgrade files? What location do I put the file? What format?

Mikusch 03-10-2022 20:32

Re: [TF2] Mann vs. Mann (1.6.0, 2022-03-10)
 
Quote:

Originally Posted by PC Gamer (Post 2773766)
How do I implement custom upgrade files? What location do I put the file? What format?

I've added a "Custom Upgrades" section to the original post. I hope this explains it well enough.

Mikusch 03-15-2022 20:09

Re: [TF2] Mann vs. Mann (1.6.0, 2022-03-10)
 
A new version of the plugin has been released: 1.6.1

I highly advise updating to this version because it fixes a major bug where no virtual hooks would exist after a map change, thus disabling a lot of functionality.

I won't be giving information on updates like this very frequently in here, so I recommend watching the GitHub repository for releases instead.

BorealBlizzard 08-27-2022 13:37

Re: [TF2] Mann vs. Mann (1.7.0, 2022-03-30)
 
Any known servers that run this mode? I was thinking about starting one but i want to play it first lol

BorealBlizzard 08-29-2022 21:55

Re: [TF2] Mann vs. Mann (1.7.0, 2022-03-30)
 
Quote:

Originally Posted by BorealBlizzard (Post 2787537)
Any known servers that run this mode? I was thinking about starting one but i want to play it first lol

Currently Running a server with this plugin @ 173.237.13.230:27015

Hells Redeemer 12-15-2022 17:04

Re: [TF2] Mann vs. Mann (1.9.1, 2022-11-01)
 
For reasons I would hope to be self evident, could you add a convar for damage multiplier for explosive headshots similar to the gas passer? As much as I understand this is hardly a balance mod I don't want to force all my players to get explosive resist to not die to their own teammates poor positioning.

Hells Redeemer 12-16-2022 00:46

Re: [TF2] Mann vs. Mann (1.9.1, 2022-11-01)
 
Another thing some players and I noticed is the sentry insta-placement is very difficult and frustrating to play against, would it also be possible to add a convar/settings to disable this?

Also sorry for a second post I hopefully won't have anything else immediately concerning in the near future.

Side note: This plugin is pretty dang cool and it seems to function smoothly. I am pretty new to configuration concerning mvm so I'm not sure how to implement custom upgrades in general and if anyone has a guide for that I'd be gratueful.

Mikusch 12-22-2022 05:29

Re: [TF2] Mann vs. Mann (1.9.1, 2022-11-01)
 
I can probably make these configurable whenever I'm updating the plugin next.

There is a small guide on setting up custom upgrades above, and the upgrades themselves are just attributes. Should be fairly easy to grasp by looking at the default upgrades file.


All times are GMT -4. The time now is 08:08.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.