View Single Post
Author Message
Peace-Maker
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 04-06-2011 , 17:22   [CS:S/CS:GO] SM:Conquest - Conquer flags on maps to win (Version 1.4.1, 19.11.2013)
Reply With Quote #1

SM:Conquest
What's this?
SM:Conquest is a rewrite of L.Duke's abandoned MM:S plugin "Conquest" in SourcePawn. I didn't have access to his code nor did i actively play his plugin, so it's mainly based off videos and descriptions of others.

This game modification removes the ordinary bombing/rescue objectives and adds flags at preset positions to the map. A player can conquer a flag by standing near to it. The team which controls all flags first wins the round.
Some flags require more than one player near to it to get conquered.

Have a go at 89.163.166.134:27015

You may also be interested in SM:CTF!

How to play
Joining players choose a team as normal and are offered to choose a class. The classes don't provide any special abilities like speed or extra health by default - they only differ in the weapons. (Server admins may add those though) Each class has it's default weapon set and more options with "better" weapons, players can purchase for money.

It's possible to repick a class/weapon set with sm_class or just !class in chat.

Depending on the server config, players are able to use sm_buy (or !buy) to open up a buying menu with different pistols or items to purchase.

The flags are colored depending on the owning team. Blue for CT, white for neutral and red for terrorists respective. Players will have to defend the flags, their team already conquered, while trying to get all the other flags.

Each player is able to disable some features individually by typing !settings in chat.

Special HUD in CS:S only

Players who would like to have a better overview of the flag status are offered to download an optional client fix, which enables the HudMsg usermessage again in CS:S, allowing plugins to write text at any position on the screen.

Download the clientfix.zip at the bottom and follow the instructions in the readme.txt.


Server Admins
This mod is packed with some preset configs for random maps, which still have to get optimized! Some CS:S configs are a straight convertion from the original Conquest map configs, so the trigger zones may not be optimal.
You can add and manage flags on-the-fly ingame with the admin command sm_flagadmin or edit the respective /configs/smconquest/[css|csgo]/maps/de_mapname.cfg manually.

Map Config layout
There are several keys you can set manually, but i encourage you to use the ingame admin menu to manage your flags, if you don't want a certain special value.

There are 2 special keys for use in custom maps. Mappers have the option to create logic_relays on their maps and specify the targetname in the smconquest map config. When a team captures a flag the respective logic_relay receives the "Trigger" input, so you can interact in your map, like opening new passages, if a team controls a certain amount of flags etc. You can check out cq_king_b2 by L.Duke for an example (The small overview map at each spawn).

The following is a short example of a config file.
Keys in italic are optional and load with default values if unset.
Code:
"FlagsAreas"
{
    "0"
    {
        "description"    "Lower Blue" // The name of the flag to show in chat on capture
        "position"    "-1663.0 2001.0 -503.0" // The xyz coordinates of the flag
        "team"    "3" // The default team, this flag already belongs to on round start (0=unassigned, 2=T, 3=CT) (Default: 0)
        "num_to_cap"    "1" // The amount of players required to conquer this flag (Default: 1)
        "time_to_cap"    "3" // The time players have to stay near this flag until they conquer (Default: 5)
        "rotation"    "0" // The rotation angle of the flag (Default: 0)
        "zonemins"    "-100.0 -100.0 -20.0" // The mins bound of the trigger_multiple around the flag (This is the default value)
        "zonemaxs"    "100.0 100.0 150.0" // The maxs bound of the trigger_multiple around the flag (This is the default value)
        "ct_capture_relay"    "lowerct_flag_ct" // Name of logic relay to trigger when CTs capture this flag (Default: "")
        "t_capture_relay"    "lowerct_flag_t"   // Name of logic relay to trigger when Ts capture this flag (Default: "")
    }
    "1"
    {
        ...
    }
    ...
}
You are able to add as many flags you want on a map.

Managing Classes and Weapon Sets
Opening the configs/smconquest/[css|csgo]/smconquest_classes.cfg you're able to modify/add/remove an unlimited amount of classes and respective weapon sets to the menu. The config file is commented and self-explanatory, you should only check to set a default class at any time. If you specify a default class for only one team, remember to set a default class for the other team either.

As of 1.1 there are some special keys beside the default weapon_.
  • "item_kevlar" - Set the amount of kevlar that class has
  • "item_assaultsuit" - Same as kevlar just with helmet
  • "health" - Set the health of the class
  • "speed" - Set the speed. 1.0 is normal speed. 2.0 would be as twice as fast
  • "admin_flags" - Restrict the class or weaponset to admins with certain flag(s). (admin levels)

You may want to assign a model to a class by specifying the model files in configs/smconquest/[css|csgo]/smconquest_models.cfg and setting the "model" key in the smconquest_classes.cfg to the section name of the model. You only need to specify the path to the .mdl file, if you use an existant model and set "no_download" to 1.

You can change the flag model and win overlay materials in smconquest_models.cfg too.

Managing the Buymenu
Opening the configs/smconquest/[css|csgo]/smconquest_buymenu.cfg you're able to modify/add/remove an unlimited amount of categories with an unlimited amount of items per category. There are no special keys, so you should be ready to go with just reading the file.

You're able to add item_kevlar and item_assaultsuit either, but the kevlar amount is at the fixed value of 100. You're just able to specify the price as with the other weapons.

Change the sounds
You may change the sounds the plugin uses. Editing the configs/smconquest/[css|csgo]/smconquest_sounds.cfg will add the sounds to the downloadables, precache them and play at the certain events. Leaving a sound empty disables it. If you use sounds, that are already shipped with the game, set "is_game_sound" to "1". This disables the downloading and check for existance.

ConVars

  • sm_conquest_version - ...
  • sm_conquest_respawn - Should a player respawn after x seconds? (Default: 1)
  • sm_conquest_respawntime - How long should the player be dead until getting respawned? (Default: 5 seconds)
  • sm_conquest_spawnprotection - How long should the player be invincible after spawn? (Default: 5)
  • sm_conquest_noweapondrop - Should players be disallowed to drop their weapons and remove them on death? (Default: 1)
  • sm_conquest_dropammo - Should a dead player drop some ammo pack depending of his weapon? (Default: 1)
  • sm_conquest_droppedprimaryammo - How much ammo should a primary ammo pack (big) give? (Default: 10)
  • sm_conquest_droppedsecondaryammo - How much ammo should a secondary ammo pack (small) give? (Default: 10)
  • sm_conquest_enablebuymenu - Use the custom buymenu and disable the default ones? (Default: 1)
  • sm_conquest_inbuyzone - Only allow buying with the custom menu in buyzones? (Default: 1)
  • sm_conquest_enableclasses - Enable the player class system? (Default: 1)
  • sm_conquest_showwinoverlays - Should we display an overlay with the winning team logo? (CS:S only) Don't enable this on runtime - only in config. (downloading) (Default: 1)
  • sm_conquest_enablecontest - Should enemies interrupt the capture process when entering a zone? (Default: 1)
  • sm_conquest_handicap - Should we decrease the amount of required players to the team count, if there are less players in the team than required? (Default: 1)
  • sm_conquest_handicapcountbots - Should we count bots when counting the players in a team for the handicap? (Default: 1)
  • sm_conquest_capturescore - How many frags should a player receive when conquering a flag? (Default: 1)
  • sm_conquest_teamscore - How many points should a team earn when conquering all flags? (Default: 1)
  • sm_conquest_removeobjectives - Remove all bomb/hostage related stuff to prevent round end? (Default: 1)
  • sm_conquest_capturemoney - How much money should all players earn for capturing a flag? (Default: 500)
  • sm_conquest_removedroppedweapons - How often should we remove dropped weapons in x seconds interval? (Default: 20)
  • sm_conquest_enforcetimelimit - End the game when the mp_timelimit is over - even midround? (Default: 1)
  • sm_conquest_fadeonconquer - Fade the screen in the flag color for all players on conquer? (Default: 1)
  • sm_conquest_showonradar - Should enemies near an conquered flag appear on the radar of the team controlling the flag? (Default: 1)
  • sm_conquest_striplosers - Strip the losing team to knife on round end? (Default: 0)
  • sm_conquest_ammolifetime - Remove dropped ammo packs after x seconds? (Default: 60)
  • sm_conquest_advertisecommands - Advertise the !class and !buy commands in chat? (Default: 1)
  • sm_conquest_stripbots - Strip bots to knife and set to default class on spawn? (Default: 1)
  • sm_conquest_endmap - End the whole map when a team conquers all flags instead of only one round? (Default: 0)
This plugin adds a "conquest" tag to the sv_tags convar for easier server finding.

Logged Events
There are 2 events logged to be parsed by a log parser statistic program like HLstats:CE or psychostats:
  • Player event "scq_flag_captured" - Triggered when a player finished conquering a flag. Fired for all players, if more than one player required.
  • Player event "scq_flag_contested" - Triggered when a player interrupts the conquering process of the enemy.

Admin Commands
  • sm_flagadmin - Opens the flag management menu for adding, editing and deleting flags.
  • sm_spawnammo <p|s> - Spawns an ammo pack where you aim. p for primary, s for secondary
Requirements
Server Admins:
Developers:
This plugin includes a few open librarys you need to place into your include folder in order to compile this plugin.
You may want to follow development in the SVN hosted by googlecode.com

Planned Features
  • Native interface for classes and flags
  • Special classes
    • Medic - Heal mates with a range-limited laser beam
    • Support - Drop ammo boxes for your mates
  • Resource feature? Controlling a flag increases the amount of points your team has. More flags -> faster increasing. Team with 100% points wins.
  • Speed up capturing, if more players than required try to capture it.
  • Show percentage of capturing and team and decrease it to 0% slowly if there is no player capturing it anymore.
  • Multilingual flag names.
Installation
  1. Download the smconquest.zip archive from this post.
  2. Extract the content into your cstrike/csgo folder.
  3. CS:GO only: Download and extract the csgo_resources.zip to add missing HL2 sounds and models.
  4. Upload the materials, models and sound folder to your fastdownload server, if you have one.
  5. Restart your server. The following config is generated on first plugin load.
  6. Configure the plugin in /cfg/sourcemod/plugin.smconquest.cfg.

CS:S Mappack
Most of the maps are easily available at fpsbanana if you google them. I've repacked the conquest specific maps i found on my computer anyways;)

Download CS:S mappack
Quote:
Including:
  • cgc_dust_leet_cq
  • cgc_dust_rev_cq
  • con_dust2
  • con_rails_a2
  • con_rails_a3 (fixed textures)
  • cq_italy
  • cq_king_b2
  • cq_lockdown_b1
  • de_cbble_run_cq
  • de_dust2_cq
  • de_dust2002_cq
  • de_kabul2_cq
  • fy_iceworld_cq
  • gg_cq_csbase
Credits
  • L.Duke: Original idea, sounds (and flag model?)
  • Rediem: Recreated the flag materials, winning overlays and client font. Helped with the default classes config and overall testing and vision. Russian translation.
  • LioNeS: Lot's of map configs and french translation.
  • Groger: Dutch translation

Changelog
Spoiler


When updating to version 1.4: The configuration files have moved to seperate folders for CS:S and CS:GO!
  • configs/smconquest_classes.cfg etc. -> configs/smconquest/[css|csgo]/smconquest_classes.cfg
  • configs/smconquest/de_dust2.cfg -> configs/smconquest/[css|csgo]/maps/de_dust2.cfg
Move your old config files over into the new places.


Donations

Since i'm just a poor student and always need some money, i'd appreciate any support if you like this mod. You'll keep me happy to put more time into this

Attached Files
File Type: zip clientfix.zip (78.8 KB, 1371 views)
File Type: zip csgo_resources.zip (278.0 KB, 1209 views)
File Type: zip smconquest1.4.1.zip (675.6 KB, 1802 views)
__________________

Last edited by Peace-Maker; 11-19-2013 at 07:20. Reason: Release 1.4.1
Peace-Maker is offline