Site Tools


tutorial:smithbox-map-editor-property-mass-edit

Smithbox: Property Mass Edit

Authors: Vawser

Disclaimer: this information is accurate for Smithbox 1.0.25.

Preamble

The Property Mass Edit tool allows you to apply a programmatic edit to a property throughout a set of maps (can be 1 map up to all maps).

Note, for non-programmers, the usage of <string> in the following sections means any text input.

Input

There are three inputs you need to fill out before you can execute a Property Mass Edit:

  • Map Target: this determines which maps you want to target.
  • Selection Criteria: this determines which map objects within the map you want to target.
  • Edit Commands: this determines the edit you want to apply to the targeted map objects.

Once you can setup these inputs, you can click Apply and the mass edit will be executed.

Note, you can have any number of terms for each input.

You can add a new input box with the Plus button.

You can remove the last added input box with the Minus button.

Map Target

The Map Target input determines which maps are targeted.

There are two configuration options for this represented by the two combo boxes:

  • Criteria Processing
    • All must match: all the map target criteria must be true for the map to be included.
    • One must match: only one of the map target criteria must be true for the map to be included.
  • Map Target Source
    • Local: only maps that are currently loaded will be targeted.
    • Global: all maps will be targeted.

You can then add as many map target criterias are you like, each which accept the following inputs:

  • <string>
    • Select map whose name matches, or partially matches the specified string. Leave blank to target all maps.
  • exclude: <string>
    • Exclude the map whose name matches, or partially matches the specified string.

Example: if you want to target the Chapel of Anticipation, you would add the following map target criteria:

m10_01_00_00

Example: if you want to target all base open-world tiles, you would add the following map target criteria:

m60

Selection Criteria

The selection criteria determines which map objects are affected by the mass edit.

There is one configuration option, represented by the combo box:

  • Criteria Processing
    • All must match: all the selection criteria must be true for the map object to be targeted.
    • One must match: only one of the selection criteria must be true for the map object to be targeted.

You can then add as many selection criterias are you like, each which accept the following inputs:

  • <string>
    • Select map object whose name matches, or partially matches the specified string.
  • prop: <property name> [<index>] <comparator> <value>
    • Select map objects who possess the specified property, and where the property's value is equal, less than, or greater than the specified value.
    • <property name>: the name of the property to target. Target a slot in an array property with the [] syntax.
    • <comparator>: the comparator to use. Can be = (Equal), < (Less Than) or > (Greater Than).
    • <value: the value to check for.

Example: if you wanted to target all map objects with an Entity ID equal to 1, you would add the following selection criteria:

prop:EntityID = 1

Example: if you wanted to target all map objects with an Entity ID above 1000, you would add the following selection criteria:

prop:EntityID > 1000

Example: if you wanted to target all map objects with an Entity Group ID at index 1 below 999, you would add the following selection criteria:

prop:EntityGroupID[1] < 999

Edit Commands

The edit commands determine the properties that are edited within the targeted map objects.

You can add as many edit commands as you like, each which accept the following inputs:

  • <property name> [<index>] <operation> <value>
    • Edit the specified property using the operation and value specified for the targeted map objects
    • <property name>: the name of the property to target. Target a slot in an array property with the [] syntax.
    • <operation>: the operation to apply with the value. Can be = (Set), + (Add), - (Subtract), * (Multiply), / (Divide)
    • <value: the value to use with the operation. If the operation is not Set, then the existing property value is used on the left-hand side of the operation (e.g. <existing value> + <new value>)

Example: if you want to set the Entity ID to 1000, you would add the following edit command:

EntityID = 1000

Example: if you want to increment the existing Entity ID by 1, you would add the following edit command:

EntityID + 1
tutorial/smithbox-map-editor-property-mass-edit.txt · Last modified: by admin