Mapmaker's Toolkit // August 27 Update

Singleplayer Maps here.

Mapmaker's Toolkit // August 27 Update

Postby Venemous » 12 July 2018, 20:41



Table of Contents


1 Introduction
  • 1.1 How to cheese your way through the entire PB2 campaign
  • 1.2 Changelog
2 Setup & Essential Concepts
3 Using Toolkit
4 Mapmaker's Toolkit Manual
  • 4.1 Toolkit Management
  • 4.2 Basic Commands
  • 4.3 Gun Manipulator
  • 4.4 Level Design Tweaker
  • 4.5 Variable Manipulator
5 Conclusion & The Future

1 Introduction


Mapmaker's Toolkit is not a map designed to be played - rather, it is an open-source set of tools and triggerwork designed to give greater efficiency to mapmakers in doing what they do, by injecting certain abilities of the Level Editor into the in-game environment itself.



As you can see, with Toolkit, you can tweak a map's layout and logics during playtesting. Obviously, once you decide the changes to the systems you make in-game deserve to be made permanent, you'll need to return to the level editor and actually make that triggerwork/level design manually - but you can see what you can do with these tools. They're divided into text commands and gun tools.

These features were constructed with a low performance impact on playtests, and - more importantly - utter ease of use as a mapmaker in mind. If you're asking how heavy the process of including all (or some) of these features into a map you're working on will be, don't worry - most of the commands featured above will work straight out of the box, all the triggerwork pasted into your map, and the Variable Manipulator commands - those prefixed with -vm. - take only a copy and pasting of a single trigger, and editing 3 lines of text, to have a desired variable be manipulated in-game by command.

Almost all variables used within Toolkit's internal functioning are prefixed with "mmtk.", so there won't be any collisions with variables used by the map you want all this in, with a few exceptions that slipped through due to my own negligence: these unprefixed variables are Text, CText, UserSlot, and PlayerSlot.

All this is functional in both multiplayer and singleplayer, but a likely elephant in the room is that chatting isn't permitted by default in singleplayer, because that was originally implemented into the game for cheats for the singleplayer campaign. You'll need to beat said campaign in order to gain access to that, and then set your username as "root" without the quote marks when you play. Fear not, you can make the process painless if necessary:

1.1 How to cheese your way through the entire PB2 campaign

Spoiler: Show More
Clear your save data in the PB2 main menu's options. Then, start a new campaign on Easy difficulty, which will cause enemies to not feel like shooting you most of the time.

The campaign awards credits to your character based on 2 factors: Damage dealt vs damage taken in the level. The max credits awarded for each level is up to 500$ - to get it, you'll need to deal at least 5x the damage you take, or you'll get less.

If you mash click with your swords instead of just holding down LMB, you can attack with them as fast as you can click. Combine this with slowmotion, and you will be able to deflect as many bullets as you wish as well as cut any nearby enemy into pieces instantly, rendering you pretty much invincible for the early levels.

Do not buy anything, instead using this strategy to get through each level and make the 500 cred requirements. Rinse and repeat until you've beaten 8 levels and have 4000$ in the bank. Use grenades only to kill vehicles.

You will then have enough credits to get the BNG, which once fully upgraded, will let you shred through the remaining levels with ease. Spend all your excess credits on getting and upgrading the Ray Gun, which will let you shoot through thick walls to further make the playthrough faster, and to upgrade Proxy's heavy railgun to make that headache a bit lighter. One level, involving the invisible enemies, requires some special treatment: Spray your assault rifle around to identify the enemies and push them back, then BNG them. You'll be done in no time.


1.2 Changelog

Spoiler: Show More
August 27, 2018
  • Manual
    • Section numbering scheme changed
    • Added paragraph in section 3 devoted to the new toolkit logics updates
  • Toolkit Logics 1.3
    • New command processor; Variable distribution will make troubleshooting easier, and in multiplayer, other players can no longer interrupt you when you are inputting commands for a non-TK management command.
    • Gun Tools are now affected by admin privileges
  • Basic Commands 1.3
    • Support for new command processor
    • Support for gun tool admin privileges
    • -bc.spd and -bc.zom now have 1 more option for each of their respective game settings
    • -bc.debug has been removed
    • Added -bc.sc
  • Gun Manipulator 1.3
    • Support for new command processor
    • Support for gun tool admin privileges
    • Data load optimizations
  • Level Design Tweaker 1.3
    • Support for new command processor
    • Support for gun tool admin privileges
    • Data load optimizations
  • Variable Manipulator 1.3
    • Support for new command processor
    • Data load optimizations

July 22, 2018
  • Variable Manipulator 1.2.1
    • A strange issue was fixed whereby various commands of various plugged suites would recieve arguments used by different commands if VM was also plugged

July 21, 2018
  • Gun Manipulator 1.2
    • Fixed an issue with how -gn.dev displayed the version of GN plugged
    • Slight data load optimization
  • Variable Manipulator 1.2
    • Two new Variable Operations! You may now set the value of variables to the X or Y coordinates of your cursor. See manual section 4.5. for details.
    • -vm.dev no longer reports the value of an unused variable
    • Fixed an issue with how -vm.dev displayed the version of VM plugged

July 14, 2018
  • Toolkit Logics 1.1
    • -.dev now displays the version of Toolkit Logics plugged
    • Data load has recieved a small reduction through a change to the way the command processor checks for the user's admin rights
    • Fixed a bug where various variables would have their values reverted to their default settings defined in #ToolkitConfig when a certain event was executed
  • Basic Commands 1.1
    • -bc.dev now displays the version of Basic Commands plugged
    • There has been an issue where mmtk.UtilityActor has not been doing its job properly when a feature summons it for use because it happened to be in a ragdoll state upon teleportation. All BC features that use UtilityActor will now help restore its stability points upon use.
    • -bc.stop has been renamed to -bc.x
    • Fixed the -bc.ndg logics targeting a nonexistant trigger
  • Gun Manipulator 1.1
    • -gn.dev has been re-added, and now displays the version of Gun Manipulator plugged
    • All GN features that use UtilityActor will now help restore its stability points upon use
  • Level Design Tweaker 1.1
    • -lt.dev now displays the version of Level Design Tweaker plugged
    • Fixed a bug where a tiny, invisible door would be left at the last position the Wall Delete Tool was used on
    • -lt.stop has been renamed to -lt.x
  • Variable Manipulator 1.1
    • -vm.dev now displays the version of Variable Manipulator plugged
    • -vm.stop has been renamed to -vm.x

July 12, 2018
  • Toolkit Logics 1.0 Release
  • Basic Commands 1.0 Release
  • Gun Manipulator 1.0 Release
  • Level Design Tweaker 1.0 Release
  • Variable Manipulator 1.0 Release


2 Setup & Essential Concepts


"So, how could a mapmaker such as myself utilize Mapmaker's Toolkit?" Good question. You will need to copy and paste the appropriate objects, or plug them, from the map's source into your own map in order to enable these features, and arrange them as instructed. Toolkit is composed of 2 major parts:

Spoiler: Show More

This triggerwork, known as the Toolkit Logics, are the foundation of all Toolkit-powered features and are required to exist in any map that uses all this goodness.


With the foundation in place, the programming for the features themselves are held in source as seperate pieces of triggerwork, organized modularly into suites of related tools.

Spoiler: Show More

The logics of the Variable Manipulator suite. Everything within a suite's lined borders will be functional as long as it exists in a map that also contains Toolkit logics.


All preparation of triggerwork that is required before a feature of Toolkit can be used is collectively referred to as setup. Each suite requires a different amount of setup before use; out of those within this post the Level Design Tweaker suite requires the least and Variable Manipulator the greatest. The other aspect of suites to watch out for is plug compatibility. No tools featured in this thread will require concern about this, but future ones may. A suite's plug compatibility indicates what map elements a suite may conflict with if it is plugged into a map that has them. They'll be listed in the suite's manual section if it ever comes up.

The minimum setup needed to operate Toolkit, without any other suites plugged, is needed within the toolkit logics themselves - you'll need to edit these guys right here and make the following modifications:

Spoiler: Show More

  • 1. As a text command system, you will need a message reciever. You will need to set this up so that it doesn't conflict with text command systems already present in your map, and keep the variables Toolkit sets up within the trigger intact. If this won't be an issue, simply set the trigger as Message Reciever.
  • 2. Config triggers like this one are found in Toolkit suites all around as well as in the logics here. They contain "settings" for the suite you're dealing with that you might want to customize. Toolkit's config contains 9 variables you can modify:
    • mmtk.adminNeeded: This determines if a player must be in the Administrators list below in order to use commands and gun tools within the map. Any player can use any command if the variable is set to 0 - if its set to 1, admin will be necessary. Admin will not be necessary if Toolkit is used in Singleplayer even if this is enabled, for obvious reasons.
    • mmtk.displayErrors: If set to 1, announces errors the logics encounter in the chat, usually when Toolkit detects you used a command incorrectly.
    • mmtk.admin1Login, mmtk.admin2Login, ... : The names of the 4 Administrators who will be able to use Toolkit in your map if mmtk.adminNeeded is set to 1.
    • mmtk.displayExecs: Only relevant to developers looking to modify Toolkit. If set to 1, announces execution of events in the chat.
    • mmtk.displayIniNick: Only relevant to developers looking to modify Toolkit. If set to 1, announces the character name of the player targeted by PlayerIdentification in the chat.
    • mmtk.displayReturns: Only relevant to developers looking to modify Toolkit. If set to 1, announces variables returned by functions that have been executed in the chat.
  • 3. The final thing required to get everything ready. PlayerIdentification is a function composed of 4 triggers used by many Toolkit features when a tool needs to target a specific player to affect in some way. You must configure each as instructed:

Spoiler: Show More

  • 1. All these triggers contain is a repeating chain of this var action...
  • 2. Then this region action.
    Parameter B of each var action represents a player slot. With each region action below, you must set parameter B as the character in the slot represented. Repeat until all 4 triggers have been configured in this fashion. If the map you're plugging Toolkit into supports less than 16 players, you will need to leave the list incomplete - simply don't modify the region actions underneath var actions representing player slots that aren't included in the map, leaving their B as mmtk.UtilityActor.


The Toolkit logics are fully functional. Next, you will need to include one of the 4 suites available with this publication of Toolkit, in the source - your options are Basic Commands, a very general set of tools used for all sorts of simple quality-of-life playtesting improvements; Variable Manipulator, the most robust suite that allows you to manipulate any variable within the map logic with ease; Gun Manipulator, which allows you to move guns around and clone guns with any stat modifications you wish; and Level Design Tweaker, which speaks for itself.

Simply copy and paste it into the map anywhere. Unless that suite specifically states that it requires setup, all the tools within it will be ready for use. The remainder of this forum post will function as a manual for your newfound abilities, introducing each suite that currently exists, describing the setup it requires and the config it contains, and providing documentation for each command and gun tool's use and function. Take a suite in the source, read up on it, and you'll be on your way.

3 Using Toolkit

This will be a guide to interpreting the manual below so that you may learn how a specific feature works and how to use it. Many suites have features based on gun tools, as you saw in the video, that mimic functions of the level editor - they won't need explanation. The majority of the manual info focuses on commands.

One-Liners

A one-liner is a command that simply creates a desired effect when you chat its name. If you have Basic Commands plugged, you chat "-bc.bom" and an explosion occurs. Simple as that. Commands that require arguments are more interesting.

Argument Commands

Obviously, many commands will need you to enter more info into the chat than just their name to function. This is reminiscient of text commands in other games; You say "/SetHealth Me 250", you get 250 HP. Unfortunately, due to limitations in the PB2 engines, I can't replicate this. Instead, you must speak each additional piece of info required in a subsequent chat message after saying the command's name, as you saw. You type "-bc.tele", chat it, then chat "500," in a new message, then chat "-150", and you're teleported to the coordinates x 500 y -150. These commands are referred to as argument commands, and pieces of information that must be supplied through individual chats, arguments.

-bc.srd (e Value)
Toggles character swords on or off.
  • (e Value)
    0 - Disables swords.
    1 - Enables swords.

This is how a description of a command that needs arguments is formatted in the manual. (e Value) indicates that you must chat 0 or 1 after chatting "-bc.srd" to tell the map to either disable or enable swords. The "e" denotes that it is an Enum argument: when input of an Enum argument is required from you, you chat a number to select a certain option out of a numbered list of options, as seen in the example above.

-bc.tele (n XPosition) (n YPosition)
Teleports the user to the location defined by XPosition and YPosition.

Number arguments usually have no limits to their options, instead using the numbers inputted to define much more fluid characteristics for the command. You may teleport to any position you want with -bc.tele, using the two number arguments to specify the coordinates.

The last piece of jargon used in description of a suite is data load, the degree to which a suite will lengthen the time it takes to save a map and load it to playtest it, measured in objects. Any well-made suite will not accrue any significant active load, or effect on in-game framerate - such will only occur if a logic needs to be constantly making many regular calculations even when it is not actively in use, which none of the suites featured here do.

On August 27 '18, a new command processor was released that prevented other players from interrupting someone in chat who was inputting arguments for a command - their chat wouldn't be entered as the argument. Copies of MMTK and co. released before this date will not support this. Each suite will have its support for this feature listed in its manual entry. Another update was released at that date that allowed only admins to use gun tools when mmtk.adminNeeded was enabled, where before even players without admin rights could use them. That's all the initiation you will need before diving in.

4 Mapmaker's Toolkit Manual


4.1 Tookit Management


The Toolkit Logics themselves come with their own built-in commands, that are functional within any map with the logics plugged. They are all prefixed simply with "-.". These commands can be executed even when a command from a suite is requesting an argument - if you've chatted "-bc.tele" but want to then use the "-.dev" command, that command will function as normal without Toolkit thinking you're trying to teleport to the "-.dev location".

4.1.4 Commands

Spoiler: Show More
  • -.dev
    Displays the version of the Toolkit Logics plugged, as well as information on the status of various variables used by Toolkit's core functioning relevant to developers.
  • -.cancel
    Cancels the current input of arguments that is being requested by a command.
  • -.debug
    Attempts to repair possible issues with various parts of toolkit logics, and its default assets that some other suites also utilize. If this doesn't solve a problem you're experiencing, the suite in use can't seem to with its own debug command, or you find yourself needing to use it too often, a bug report would be appreciated.
  • -.de
    Enables Toolkit's desync mode. While activated, command effects will apply only to the user's client.
  • -.sy
    Deactivates desync mode.


4.2 Basic Commands


The Basic Commands suite, prefixed with "-bc.", is a very diffuse set of tools that generally allow you to skip around sections of your map for further ease of playtesting and manipulate the map in a very basic manner. It's good to have on hand, but serves no particular specialized purpose, and is a good suite to let you ease in to learning the use of Toolkit.

4.2.1 Information

Data Load: 13 Walls 1 Door 1 Region of significant size 3 Guns 58 Triggers 5 Timers
Active Load: 4016 units of region area
Plug Compatibility: No requirements
1.3 Command Processor?: Yes

4.2.2 Gun Tools

  • Kill Tool: Kills things where you click. Never have to make yourself an OP gun again when you want to get through a map faster to test certain elements of it. It has two different modes that are described in the documentation for the -bc.tm command below. Slot 9 by default.
  • Blink Tool: Teleports the user to the cursor. Slot 8 by default.
  • Revive Tool: Defibrillates the character at the cursor. Uses an actor to do this, so it may only revive characters of the actor's team, Beta. Slot 6 by default.
4.2.3 Setup

No setup is required. The following configuration is available within the suite logics' Setup section:
  • A bc.DefaultToolLocation region, where all gun tools are teleported to at when the map is played
Variables within the Config trigger:
  • bc.killToolMode: The default mode the Kill Tool is set to.
  • bc.boomPower: The power of the explosion created by -bc.bom.
4.2.4 Commands

Spoiler: Show More
  • -bc.dev
    1. Displays the version of Basic Commands plugged, as well as information on the status of various variables used by BC's core functioning relevant to developers.
    2. Gives a fair bit of information on the map state you may find useful: coordinates of the cursor.
  • -bc.sky (e Image)
    Sets the sky image to Image.
    • (e Image)
      1 - Purple default sky
      2 - Yellow default sky
      3 - Solid white
      4 - Solid black
      5 - Galaxy
      6 - Red default sky
      7 - Mountains
      8 - Dawn
      9 - Desert day
      10 - Slightly more obnoxious Desert Day
      11 - Night
      12 - Plazma Burst 1: FTTP background
  • -bc.tol
    Teleports all suite gun tools to your character.
  • -bc.ret
    Returns all suite gun tools to bc.DefaultToolLocation.
  • -bc.tm (e Mode)
    Changes the mode of the Kill Tool to Mode.
    • (e Mode)
      1 - Deals lethal damage at the cursor.
      2 - Deals lethal damage within a large radius around the cursor.
  • -bc.ndg
    Teleports and then continuously moves a large door towards the user's cursor, allowing you to move entities around. Use of other commands that involve the user's cursor will temporarily disrupt this.
  • -bc.x
    Stops the effects of -bc.ndg.
  • -bc.regr (n Value)
    Sets global health regeneration rate multiplier to Value.
  • -bc.regd (n Value)
    Sets global health regeneration delay time multiplier to Value.
  • -bc.kill
    Same effect as the suite's Kill Tool, including the modifications of its tool mode.
  • -bc.rev
    Same effect as the suite's Revive Tool.
  • -bc.bl
    Teleports the user to their cursor.
  • -bc.bom
    Creates an explosion at the user's cursor. The power of the explosion can be modified in the suite's Config.
  • -bc.srd (e Value)
    Toggles character swords on or off.
    • (e Value)
      0 - Disables swords.
      1 - Enables swords.
  • -bc.spd (e Value)
    Sets the game speed to one of a few different settings.
    • (e Value)
      -3 - 1% speed
      -2 - 25% speed
      -1 - 50% speed
      0 - Normal speed
      1 - 200% speed
  • -bc.zom (e Zoom)
    Zooms the camera out to Zoom.
    • (e Zoom)
      The zoom level to set the camera to. Valid values are:
      1
      25
      50
      80
      100
  • -bc.tele (n XPosition) (n YPosition)
    Teleports the user to the location defined by XPosition and YPosition. -bc.dev can help you figure out coordinates in-game for it.
  • -bc.tela (n XPosition) (n YPosition)
    Teleports all players to the location defined by XPosition and YPosition.
  • -bc.diff (e Difficulty)
    Changes difficulty of all AI characters to Difficulty.
    • (e Difficulty)
      1 - Easy
      2 - Normal
      3 - Hard
  • -bc.nofall
    Disables fall damage.
  • -bc.sc
    Reports the slot, login name, displayed name, and team of the character at the cursor.


4.3 Gun Manipulator


Prefixed with "-gn.", these features allow you to manipulate guns within the map in a variety of ways. They have limitations that make them most suited for the kinds of weaponry used in standard MP arena maps.

4.3.1 Information

Data Load: 3 Walls 45 Guns 101 Triggers 6 Timers
Active Load: 71 units of region area
Plug Compatibility: Again, GN will likely not be of help regarding very complex, trigger-reliant weapon systems, if you happen to be working with something akin to that.
1.3 Command Processor?: Yes

4.3.2 Gun Tools

  • Gun Move Tool: Allows you to click and drag on guns in the map and move them around. It uses a character of team Beta to do this, so it will only be able to pick up guns of Any Team. It has four different modes that are described in the documentation for the -gn.tm command below. Slot 8 by default.
  • Gun Cloning Tool: Spawns a gun of the desired model and stat profile at the cursor. Slot 9 by default.

4.3.3 Setup


A formation of walls within the Setup section, along with the tiny region inside of it, must be moved to some off-map location where it won't be rendered. Beware; If it does start rendering due to failure to move it or a very far camera zoom, and Force Ragdoll Disappearment is enabled, guns used by the Gun Cloning Tool could despawn and break stuff. The following configuration is available within the suite logics' Setup section:
  • A gn.DefaultToolLocation region, where all suite gun tools are teleported to at when the map is played
Variables within the Config trigger:
  • gn.gunToolMode: The default mode the Gun Move Tool is set to. muh var consistency
  • gn.cloneModsModel: The default gun model the Gun Cloning Tool spawns.

4.3.4 Commands

Spoiler: Show More
  • -gn.dev
    Displays the version of Gun Manipulator plugged, as well as information on the status of various variables used by GN's core functioning relevant to developers.
  • -gn.tol
    Teleports suite gun tools to the cursor.
  • -gn.ret
    Returns all suite gun tools to gn.DefaultToolLocation.
  • -gn.tm (e Mode)
    Changes the mode of the Gun Move Tool.
    • (e Mode)
      1 - Standard Mode
      2 - Collection Mode - Captured guns will be immediately teleported to a dropoff point defined by -gn.dof. Good for moving a large amount of guns of the same slot.
      3 - Collection Mode; Kills any characters at your cursor as well, effectively combining the tool with Basic Commands's Kill tool.
      4 - Collection Mode; Automatically moves the dropoff point to the tool user's character with each use.
  • -gn.dof
    Moves the dropoff point, used by the Gun Move Tool's alternate modes, to the cursor.
  • -gn.mtslot (n Slot)
    Changes the slot of the Gun Move Tool to Slot. Slots outside of 1-9 will fail to be applied.
  • -gn.ctslot (n Slot)
    Changes the slot of the Gun Cloning Tool to Slot. Slots outside of 1-9 will fail to be applied.
  • -gn.gun (e GunModel)
    Selects the weapon model to be spawned by the Gun Cloning Tool. A list of models can be found in the suite introduction.
  • -gn.stat (e Stat) (n Value) (e GunModel)
    Edits the stats of weapon models spawned by the Gun Clone Tool. GunModel, when spawned by the tool, will behave
    with these modified stats, and all subsequent spawns of the same model will continue to share the modded characteristic until GunModel is changed again with another -gn.stat directed at it.
    • (e Stat)
      The weapon stat to be modified.
      1 - Projectiles Per Shot
      2 - Accuracy
      3 - Projectile Power
      4 - Fire Rate Multiplier
      5 - Recoil Multiplier
    • (n Value)
      The value Stat will be set to.
    • (e GunModel)
      The gun model data, utilized by the Gun Cloning Tool, to modify the characteristics of. A list of models can be found in the suite introduction.
  • -gn.proj (e ProjectileModel)
    -gn.stat is responsible for 43 trigger's worth of data load alone. Unfortunately, I had to compromise in order to further expand the degree to which you can modify guns.
    Sets the projectile model of all guns spawned by the Gun Cloning Tool to ProjectileModel. A list can be found at https://www.plazmaburst2.com/level_edit ... dices.html


4.3.5 Gun Model ID Numbers
If you don't want to refer to this manual all the time, keep a .txt with all these handy. The Hound Walker Cannon, Vehicle Grenade Launcher, and Vehicle Minigun unfortunately cannot be cloned, from what it looks like.

Spoiler: Show More
  • 1 - C9 Rifle
  • 2 - C9 Pistol
  • 3 - CS Pistol
  • 4 - Vehicle Rocket Launcher
  • 5 - Grenade Launcher
  • 6 - Rocket Launcher
  • 7 - Lite Railgun
  • 8 - Heavy Railgun
  • 9 - C9 Shotgun
  • 10 - Alien Pistol
  • 11 - Alien Rifle
  • 12 - Alien Shotgun
  • 14 - Defibrillator
  • 15 - BNG
  • 16 - Raygun
  • 17 - Rayrifle
  • 20 - CS Shotgun
  • 21 - CS Rifle
  • 22 - Combat Rifle
  • 23 - Plasma Gun
  • 24 - Minigun
  • 25 - Drone Gun
  • 26 - Sniper Rifle
  • 27 - Hand Grenade
  • 28 - Teleport Grenade
  • 29 - Shield Grenade
  • 30 - Glock
  • 31 - M4
  • 32 - Falkonian Shotgun
  • 33 - Star Defender Rocket Launcher
  • 34 - CP Rifle
  • 35 - LMG
  • 36 - Phanx
  • 37 - AV
  • 38 - Needle
  • 39 - Little Bastard SMG
  • 40 - RMK
  • 41 - RPG
  • 42 - Alien Laser Rifle
  • 43 - Crossfire Rifle
  • 44 - Energy Rifle
  • 45 - Falkonian Rifle
  • 46 - Falkonian Pistol


4.4 Level Design Tweaker


Prefixed with "-lt.", Level Design Tweaker lets you place walls in-game and delete them thereafter if necessary, operating primarily on gun tools. You may work with a limited pool of various types of walls, each of different dimensions. Switching between types is done by changing the Tool Mode of the Place Tool with -lt.tm. to the numerical ID of the desired type. If you have reached a placable limit of a particular wall type, deleting one of the same type will free up some space. Your options:

Numerical ID: Dimensions, in units X-Y - Amount that can be placed
  • Type 1: 30x30 - 15 placable
  • Type 2: 20x20 - 20 placable
  • Type 3: 30x110 - 10 placable
  • Type 4: 110x30 - 10 placable
  • Type 5: 100x100 - 5 placable

4.4.1 Information

Data Load: 67 Doors 102 Triggers 2 Guns 4 Timers
Active Load: 143 units of region area
Plug Compatibility: No requirements
1.3 Command Processor?: Yes

4.4.2 Gun Tools

  • Wall Place Tool: Places a wall; its upper-left corner will be located at the cursor.
  • Wall Delete Tool: Deletes the placed wall located at the cursor. You must aim at the upper-left of the desired wall.

4.4.3 Setup


No setup is required. The following configuration is available within the suite logics' Setup section:
  • A lt.DefaultToolLocation region, where all suite gun tools are teleported to at when the map is played

4.4.4 Commands

Spoiler: Show More
  • -lt.dev
    Displays the version of Level Design Tweaker plugged, as well as information on the status of various variables used by LT's core functioning relevant to developers.
  • -lt.tol
    Teleports all suite gun tools to the cursor.
  • -lt.ret
    Returns all suite gun tools to lt.DefaultToolLocation.
  • -lt.gr
    Attaches a visual guide to your cursor that previews what a wall of the selected type would look like at the cursor. This visual is solid and can collide with entities.
  • -lt.x
    Stops the effects of -lt.gr.
  • -lt.tm (e Type)
    Changes the type of wall to be placed by the Wall Place Tool to Type.


4.5 Variable Manipulator


Variable Manipulator, prefixed with "-vm.", is the most robust of these 4 suites, but also requires the most involved setup. It allows you to view and change the value of any variable in the map, or utilize the neat variable "breaking" feature described below. Variables used within any part of the Toolkit logics or the suites themselves are all fair game, by the way, if you want to toggle adminNeeded on the fly. VM contains no gun tools.

4.5.1 Information

Data Load: 21 minimum triggers, + 1 for each variable; 4 timers
Active Load: 21 minimum units of region area, + 2 for each variable
Plug Compatibility: No requirements
1.3 Command Processor?: Yes

4.5.2 Setup


Each variable you want to be able to be modified by VM must be set up. The instructions for including a single new variable to manipulate into the suite are as follows:

Spoiler: Show More

  • 1. Variable Logic Skeleton
  • 2. Column Guide
  • 3. Prefab Variable Logics

Whenever you want to add a new variable to VM, you must copy and paste the Variable Logic Skeleton, and the 2 tiny regions inside of it. In order to make it functional, you will need to edit 3 parameters of its trigger actions:

Spoiler: Show More

#vm.ProcessVar trigger actions


Parameters filled in with "O" must be erased and then filled in with the exact name of the desired variable.

The parameter filled in with "-vm.N" will define the name of the command you will use to manipulate the variable. N stands for nickname; replacing it with the exact name of your variable is not required (although you may not simply leave it as "-vm.N"). Personally, I abbreviate the variable to its initials, for example, "bc.peaceZoomService" -> "-vm.pzs".

Next, the logics must be organized properly within the borders. This is important: If you don't physically move the pasted logics into the correct place, you won't be able to manipulate the variable. Each filled skeleton must be placed into columns, each trigger within the column being offset 30y from the next, and each column, 40x from the next one. The third item in the diagram, 3, Prefab Variable Logics, are a set of pre-pasted logics arranged in this fashion, all filled in with O and N as we went over, that you may set up out of the box.

Spoiler: Show More


  • Fig 1. A fine arrangement
  • Fig 2. VM will not be able to manipulate the variables held within these logics


4.5.4 Commands

Spoiler: Show More
  • -vm.dev
    Displays the version of Variable Manipulator plugged, as well as information on the status of various variables used by VM's core functioning relevant to developers.
  • -vm.Name of variable (e VarOperation) (n/s TargetValue)
    "Name of variable" as designated in the suite setup required above.
    Performs VarOperation on the desired variable - and in the cases of e 1 and 3, setting the variable to TargetValue, which may be a string or a number value.
    • (e Var Operation)
      1 - SetNum - Sets the variable to TargetValue, accepting a number value as TargetValue.
      2 - Show - Displays the value of the variable in chat.
      3 - Break - Breaks the variable. This will continuously set it to TargetValue at the beginning of each frame. Break is quite hard on VM's internal functioning and -vm.Name of variable will be rendered completely unusable until you end it with -vm.x.
      4 - SetString - Sets the variable to TargetValue, accepting a string value as TargetValue.
      5 - SetVarCurX - Sets the variable to the coordinates of the user's cursor on the X axis.
      6 - SetVarCurY - Sets the variable to the coordinates of the user's cursor on the Y axis.
  • -vm.x
    Stops the effects of the Break feature.


5 Conclusion & The Future

Everything about Toolkit was designed to be highly modular. New features can be added to the foundation provided by Toolkit logics with ease, and then used - by anyone. I intend for the community to be able to add on to the core concepts i've presented here in such a manner over time, building up a wider selection of mapmaking tools and make some stuff happen on a larger scale. I myself will, in the future, be bringing new suites to the table, each with their own forum thread and independent development, but with an inclusion process as painless as with the 4 original Suites here. Perhaps you will take a fancy to the idea yourself, hm? Without further adieu:

You may freely take, modify, and redistribute any part of the Mapmaker's Toolkit source and use it for any purpose, without need for any accreditation.

What will this forum thread be used for in the future? I've decided to have it solely serve the purpose of reporting updates on the core Toolkit logics and these 4 suites, plus discussion. Further additions I make to Toolkit will be made with their own threads, likely within the format "Mapmaker's Toolkit: Name of Suite".

On the off chance that someone needs more than 60 variables simultaneously available for manipulation with VM, the maximum the setup section can hold, let me know.

5.1 Credits

  • Ditzy contributed a major mathematical system used by Level Design Tweaker's internal functioning.
[/list][/list]
Last edited by Venemous on 27 August 2018, 21:35, edited 14 times in total.
MAPMAKER'S TOOLKIT v1.3
Last update: August 27 2018

http://www.plazmaburst2.com/forum/viewtopic.php?f=134&t=21832
User avatar
Venemous
Usurpation Soldier [50]
 
Posts: 59
Joined: 16 November 2013, 02:33

Re: Mapmaker's Toolkit

Postby GiraRay » 12 July 2018, 20:56

With this much information, I don't think I need to read it in order to say it's awesome. Good job as always, Venemous (i think)
http://plazmaburst2.com/?s=9&a=&m=giraray-riddle1&id=826345
User avatar
GiraRay
Usurpation Soldier [50]
 
Posts: 72
Joined: 25 June 2015, 16:26

Re: Mapmaker's Toolkit

Postby Venemous » 14 July 2018, 19:03

Update notes:

July 14, 2018
  • Toolkit Logics 1.1
    • -.dev now displays the version of Toolkit Logics plugged
    • Data load has recieved a small reduction through a change to the way the command processor checks for the user's admin rights
    • Fixed a bug where various variables would have their values reverted to their default settings defined in #ToolkitConfig when a certain event was executed
  • Basic Commands 1.1
    • -bc.dev now displays the version of Basic Commands plugged
    • There has been an issue where mmtk.UtilityActor has not been doing its job properly when a feature summons it for use because it happened to be in a ragdoll state upon teleportation. All BC features that use UtilityActor will now help restore its stability points upon use.
    • -bc.stop has been renamed to -bc.x
    • Fixed the -bc.ndg logics targeting a nonexistant trigger
  • Gun Manipulator 1.1
    • -gn.dev has been re-added, and now displays the version of Gun Manipulator plugged
    • All GN features that use UtilityActor will now help restore its stability points upon use
  • Level Design Tweaker 1.1
    • -lt.dev now displays the version of Level Design Tweaker plugged
    • Fixed a bug where a tiny, invisible door would be left at the last position the Wall Delete Tool was used on
    • -lt.stop has been renamed to -lt.x
  • Variable Manipulator 1.1
    • -vm.dev now displays the version of Variable Manipulator plugged
    • -vm.stop has been renamed to -vm.x
MAPMAKER'S TOOLKIT v1.3
Last update: August 27 2018

http://www.plazmaburst2.com/forum/viewtopic.php?f=134&t=21832
User avatar
Venemous
Usurpation Soldier [50]
 
Posts: 59
Joined: 16 November 2013, 02:33

Re: Mapmaker's Toolkit // July 21 Update

Postby Venemous » 22 July 2018, 00:08

Update notes:

July 21, 2018
  • Gun Manipulator 1.2
    • Fixed an issue with how -gn.dev displayed the version of GN plugged
    • Slight data load optimization
  • Variable Manipulator 1.2
    • Two new Variable Operations! You may now set the value of variables to the X or Y coordinates of your cursor. See manual section 4.5. for details.
    • -vm.dev no longer reports the value of an unused variable
    • Fixed an issue with how -vm.dev displayed the version of VM plugged

I have decided to doublepost, following the sentiment silverteen11 expressed regarding the state of the game's community, that has gotten a response and pass by DoomWrath. If you're a different staff member and are concerned, the post can be found in Singleplayer Maps > PB2: Opposing Force Series.
MAPMAKER'S TOOLKIT v1.3
Last update: August 27 2018

http://www.plazmaburst2.com/forum/viewtopic.php?f=134&t=21832
User avatar
Venemous
Usurpation Soldier [50]
 
Posts: 59
Joined: 16 November 2013, 02:33

Re: Mapmaker's Toolkit // July 22 Hotfix

Postby Venemous » 22 July 2018, 22:29

Hotfix notes:

July 22, 2018
  • Variable Manipulator 1.2.1
    • A strange issue was fixed whereby various commands of various plugged suites would recieve arguments used by different commands if VM was also plugged
  • Level Design Tweaker 1.1.1
    • Fixed Wall Delete Tool executing the -lt.tol command under rare circumstances
MAPMAKER'S TOOLKIT v1.3
Last update: August 27 2018

http://www.plazmaburst2.com/forum/viewtopic.php?f=134&t=21832
User avatar
Venemous
Usurpation Soldier [50]
 
Posts: 59
Joined: 16 November 2013, 02:33

Re: Mapmaker's Toolkit // July 22 Hotfix + Manual Revision

Postby eru_ » 24 August 2018, 21:33

You seems genuis and cool , you deserves the role of "contributor" for making this
User avatar
eru_
Civil Security Heavy [300]
 
Posts: 316
Joined: 18 April 2017, 18:57
Location: Safaqis/Tunisia

Re: Mapmaker's Toolkit // July 22 Hotfix + Manual Revision

Postby Venemous » 25 August 2018, 22:10

I recently lost a huge amount of work in a bug involving the level editor's processing of new map IDs. The 2 new suites that were being planned for release will be delayed, but a large unrelated update should be coming soon.
MAPMAKER'S TOOLKIT v1.3
Last update: August 27 2018

http://www.plazmaburst2.com/forum/viewtopic.php?f=134&t=21832
User avatar
Venemous
Usurpation Soldier [50]
 
Posts: 59
Joined: 16 November 2013, 02:33

Re: Mapmaker's Toolkit // August 27 Update

Postby Venemous » 27 August 2018, 21:25

Update notes:

August 27, 2018
  • Manual
    • Section numbering scheme changed
    • Added paragraph in section 3 devoted to the new toolkit logics updates
  • Toolkit Logics 1.3
    • New command processor; Variable distribution will make troubleshooting easier, and in multiplayer, other players can no longer interrupt you when you are inputting commands for a non-TK management command.
    • Gun Tools are now affected by admin privileges
  • Basic Commands 1.3
    • Support for new command processor
    • Support for gun tool admin privileges
    • -bc.spd and -bc.zom now have 1 more option for each of their respective game settings
    • -bc.debug has been removed
    • Added -bc.sc
  • Gun Manipulator 1.3
    • Support for new command processor
    • Support for gun tool admin privileges
    • Data load optimizations
  • Level Design Tweaker 1.3
    • Support for new command processor
    • Support for gun tool admin privileges
    • Data load optimizations
  • Variable Manipulator 1.3
    • Support for new command processor
    • Data load optimizations
MAPMAKER'S TOOLKIT v1.3
Last update: August 27 2018

http://www.plazmaburst2.com/forum/viewtopic.php?f=134&t=21832
User avatar
Venemous
Usurpation Soldier [50]
 
Posts: 59
Joined: 16 November 2013, 02:33


Return to Singleplayer Maps

Who is online

Users browsing this forum: No registered users