Born out of my dislike with the unorganized and jumbled mess the original TF2Jail plugin was, I went out and did a complete rewrite of it, opening up Jailbreak gameplay into a useable API that is very developer-friendly. The entirety of the plugin is built with developers in mind with the goal of making Last Request creation and event management as streamlined as possible.
Take a look at the wiki for not only a complete guide on custom Last Request configuration, but detailed instructions and explanations for each aspect of the plugin.
Special thanks to:
Nergal/Assyrian with several aspects (plus the LR module) taken from VSH2.
Drixevel with the original plugin.
FlaminSarge with the Be the Horsemann plugin.
-MCG-retsam & Antithasys with Aim Names.
And others.
WeaponBlocker - A weapon blocker that actually works with this plugin.
Mechanized Mercenaries - A last request where everyone turns into tanks!
Search - Allows guards to search prisoners.
Detailed installation can be found in the wiki along with config design.
The entire plugin is organized into files associated with what functionality is found within them:
TF2Jail_Redux.sp- Contains the core structure of the plugin, CVars, native engineering, and functions called to and from jailhandler.
jailhandler.sp- Handles most major gameplay functions. Mostly calls into forwards
jailevents.sp- Event management.
jailcommands.sp- Commands obviously. Menus associated with them are also held in here.
jailbase.sp- Methodmap structure for players that contains the logic for natives found in player.inc.
jailgamemode.sp- Methodmap struction for the gamemode that contains the logic for natives found in gamemode.inc.
stocks.inc- Several handy stock functions.
jailforwards.sp- Private forward calls. This also executes Last Request function hooks.
functable.sp- Holds the manager for Last Request function hooks.
natives.sp- Manages all native calls.
targetfilters.sp- Handles callbacks and creation of custom target filters.
tf2jailredux.inc- The main plugin API, includes player.inc, gamemode.inc, hook.inc, and lastrequest.inc.
TF2JR_BaseLRs.sp- This is the included Last Request manager. Each included Last Request type pertains to its own file in the BaseLRs folder.
Although the base plugin is well organized, sub-plugins are still an effective way to manage gameplay. There's a slew of private forwards that can be hooked into, and a massive set of natives for managing players, gameplay, and Last Requests. Check out the wiki for more information.