QuestCore Script Generator Documentation


Version 2.0
5/28/2022
http://www.centaur.pw


1. About QuestCore Script Generator
2. Version Information
3. General Script Information
4. Weapon Scripts
5. Armor Scripts
6. Food Scripts
7. Ammo Scripts
8. Monster Scripts
9. Oracle Scripts
10. User Interface
11. Script Editor
12. Keyboard Shortcuts

1. ABOUT QUESTCORE SCRIPT GENERATOR

QuestCore Script Generator is a Windows program for creating weapon, armor, food, ammo, monster, and Oracle auto-building scripts for QuestCore2 MUDs. Once a script has been installed, objects can be created which derive from the object created by the script, eliminating the need to create individual items manually. An Oracle script can be used to automatically create large areas in the MUD according to user-specified parameters.

For more information about QuestCore2, visit: http://www.centaur.pw/questcore

This version of QuestCore Script Generator can be downloaded at:

http://www.centaur.pw/software/quest/quest-script-gen-win-2.0.zip

The files included in the ZIP archive are QuestScriptGen.exe and QuestScriptGen.txt. No installation is required; however, it is recommended to copy these files to a new directory.

2. VERSION INFORMATION

This program was previously called "QuestCore2 Item Generator" (version 1.0). It was written in C++; version 2.0 has been entirely rewritten in C# and includes many new features:

* A bug in the monster script generator of version 1.0 causing Spawn Time to be set to the same value as Rot Time is not present in this version.

* Oracle tab has been added for QuestCore2 Oracle automatic room building scripts.

* Tooltips have been added for every control in the program. Hover over the label of any control for more information about how the value is used. Tooltips can be turned off and on as desired.

* A menu strip and more user-friendly button interface with keyboard shortcuts has been added.

* General improvements to user interface (aesthetic, tab indexes set correctly, better organized controls, etc.).

* User input is validated when Generate is used, preventing the user from creating improper scripts.

* Scripts can be saved directly to a file and/or copied to the clipboard easily.

* Scripts can be opened in a separate window for manual editing. The new script can update the script from the main window, be saved to a file, or be copied to the clipboard.

* Variable references (e.g. $dagger) can be used instead of object numbers where applicable.

* Weapon verbage is now controlled entirely by the user; the previous version allowed the user to set the verb only.

* Armor body area has been limited to the five areas recognized by default in the database: Torso, Head, Arm, Legs, and Hand.

* Food type can now be set by the user to $food1 or $food2; this was limited to $food2 in version 1.0.

* Monster hostility maximum value has been raised from 5 to 6.

* Optionally require user confirmation before resetting a tab or exiting the program.

* Optionally keep the program on top of other windows.

A patch has also been released for QuestCore2 which addresses an issue in the @kgen command, causing it to fail execution when using it on a projectile weapon with infinite ammo and no ammo type.

This patch is recommended if using projectile weapons with infinite ammo. It can be viewed and/or downloaded at:

http://www.centaur.pw/questcore/patches/questcore2_patch_001.txt

3. GENERAL SCRIPT INFORMATION

A script is a collection of MUD commands placed in a specific order. The scripts generated by the program only need to be run once in the MUD. To run a script, simply paste its contents into the MUD client's input window and press Enter.

You must be logged into an account with wizard permissions for each command in the script to execute successfully. Command success or failure is displayed in the client's output window.

Once a script has been successfully installed (excluding Oracle scripts; see below), child objects of the newly created objects can be more easily created and managed. It is only necessary to make a script for each type of item or monster, rather than a script for each individual item or monster. This makes game development much faster and easier.

Oracle scripts do not create a singular object; they only set Oracle parameters and run the @oracle command.

Note: This program is not intended for use with databases other than QuestCore2.

4. WEAPON SCRIPTS

The Weapon tab (F7) is automatically loaded at startup. It is used to create both melee and projectile weapons.

When creating projectile weapons that will be used with an ammo object, it is recommended that the ammo object be created first.

Damage Base and Value Base must be set to decimals.
Ammo object must be set to an object reference in the form of a variable name on #0 or an object number (e.g. $arrows, #209).

Weapon Script Form Items

Name: The name of the weapon.
Damage Base: The damage value of the weapon.
Value Base: The purchase price of the weapon.
Description: The description of the weapon.
Verbage: The verbage printed when the weapon is used (e.g. % %p %D at).
The verb should always be enclosed in angle brackets preceded by % and end in "s" or "es".
In the MUD, the name of the user is printed before this string and the name of the target is printed after it.
Spaces should not be put at the beginning or end of the string; the program does this automatically.
%p is the player's possessive pronoun (his, her).
%D is the name of the weapon.
Can Stun: If checked, this weapon can stun the target.
Can Paralyze: If checked, this weapon can paralyze the target.
Projectile: If checked, this is a projectile weapon rather than a melee weapon.
Max. Load: (Projectile only) Maximum number of rounds the weapon holds before it must be reloaded. Use 0 for infinite ammo.
Ammo Object: (Projectile only) An object reference to the type of ammo this weapon requires (e.g. $arrows, #209).
This may be only one object; spaces are not allowed. Leave blank for infinite ammo.

5. ARMOR SCRIPTS

The Armor tab (F8) is used to create all types of armor.

Armor and Value Base must be set to decimals.

Armor Script Form Items

Name: The name of the armor.
Armor: The armor bonus provided by the armor when equipped.
Value Base: The purchase price of the armor.
Description: The description of the armor.
Body Area: Choose one from Torso, Head, Arm, Legs, or Hand.

6. FOOD SCRIPTS

The Food tab (F9) is used to create healing items for eating or drinking.

Healing and Value Base must be set to decimals.
Rounds must be set to an integer.

Food Script Form Items

Name: The name of the food/drink.
Healing: The number of hit points healed when the food/drink is eaten or drank from.
Value Base: The purchase price of the food/drink.
Description: The description of the food/drink.
Units: The number of times the food/drink can be eaten from.
Solid/Liquid: Solid requires the player to use the "eat" command; Liquid requires the player to use the "drink" command.
Type: Choose $food1 or $food2.
$food1 objects will combine with other objects in the player's inventory of the same type.
$food2 objects will not combine and will remain separate objects.

7. AMMO SCRIPTS

The Ammo tab (F10) is used to create ammo objects for use with projectile weapons explicitly requiring them.

Rounds must be set to an integer.
Value Base must be set to a decimal.

Ammo Script Form Items

Name: The name of the ammo object.
Rounds: The number of rounds contained in the ammo object.
Value Base: The purchase price of the ammo object.
Description: The description of the ammo object.

8. MONSTER SCRIPTS

The Monster tab (F11) is used to create computer-controlled enemies.

STR, DEX, INT, HEA, COM, Gold, and Healing must be set to decimals.
Hostility, XP, Rot Time, and Spawn Time must be set to integers.

For Spawn Msg. and Death Msg., %N is the name of the monster.

Monster Script Form Items

Name: The name of the monster (e.g. Kobold).
Description: The description of the monster.
Spawn Msg.: The message printed when a monster spawns in the room.
Death Msg.: The message printed when a monster dies in the room.
Weapons: Any number of object references separated by a comma and space (e.g. $dagger, $club, #218, #222).
Natural Attack: Choose one from Bite, Claw or Hand.
Hostility: The aggressive nature of the monster. Set to an integer between 0 and 6.
0 - does not attack
1 - returns attack only
2-6 - attacks without provocation;
frequency of attack is lowest at 2 and highest at 6
STR: The Strength stat of the monster.
DEX: The Dexterity stat of the monster.
INT: The Intelligence stat of the monster.
HEA: The Health stat of the monster.
COM: The Combat stat of the monster.
XP: The number of experience points the player gains from killing the monster.
Gold: The amount of gold the player receives from killing the monster.
Rot Time: The number of seconds before the body of the monster disappears.
Spawn Time: The number of seconds until the monster respawns after it has disappeared.
Healing: The number of hit points gained from eating the body of the monster.
Can Wander: If checked, the monster can wander in rooms that are not bot-locked.
Takes Items: If checked, the monster can take items from the room.
Edible: If checked, the monster can be eaten to restore health.
Magic Immunity: If checked, the monster is immune to magic.

9. ORACLE SCRIPTS

The Oracle tab (F12) is used to create scripts for use with the Oracle building system included in QuestCore2 which can automatically build large or small areas of the MUD based on user-specified parameters.

Note: Do not run an Oracle script in a room with no existing exits.

Once the @oracle command has been executed, it will continue until it has created the specified number of rooms and cannot be interrupted.

When using a Monster Object Name containing _ (indicating a space in the name), Oracle will create monsters using _ rather than the desired space in the name. After the script is complete, this can automatically fixed by executing "@fixname ", where is the name of a variable on #0 pointing to an object, without the preceding $ sign (e.g. gray_wolf).

Rooms must be set to an integer.
Monster Chance and Treasure Chance must be set to integers between 0 and 100.
Treasure amount must be set to a decimal.

Oracle Script Form Items

Room Name: The name given to each room created by Oracle.
Room Description: The description for each room created by Oracle.
Monster Object Name: The name of a variable on #0 pointing to a monster object, without the preceding $ sign (e.g. kobold)
Monster Chance: The chance of a monster being placed in a room by percentage.
Rooms: The total number of rooms to be created by Oracle.
Include Treasure: If checked, there is a chance that Oracle will place treasure in random rooms as they are created.
Treasure Chance: The chance of treasure being included in a room by percentage.
Treasure Amount: The value of the treasure.

10. USER INTERFACE

The buttons at the top of the window handle all script operations, and each has a keyboard shortcut (listed in section 12). Each button works differently depending on the currently selected tab, except Exit. These operations are also listed in the Script menu, and work the same as the buttons:

Generate: Generate a script in the current tab using the current settings, outputting to the Script text box.
The settings will be validated before outputting.
If an error is detected, a detailed error message is displayed and no script is generated.
Copy: Copy the script from the Script text box in the current tab to the clipboard.
Save: Save the script from the Script text box in the current tab to a file.
Edit: Edit the script from the Script text box in the current tab in a separate internal Script Editor window.
The script can be modified in any way and sent back to the main window using the Update button.
Additionally, it can be saved to a file or copied to the clipboard from the Script Editor window.
Further information is contained in section 11.
Reset: Reset the current tab to its initial (blank) settings.
Exit: Exit QuestCore Script Generator

The Tabs menu lists each tab with its keyboard shortcut, and changes the tab to Weapons, Armor, Food, Ammo, Monster, and Oracle, respectively.

The Options menu contains program settings the user can modify. All items are checked or unchecked when clicked:

Always On Top: If checked, keeps the program's main window above all other windows when it loses focus.
Show Tooltips: If checked, displays tooltips for buttons and all form control labels. Pointing at a label gives more detailed information regarding the corresponding control.
Confirm Reset: If checked, the user will be prompted for confirmation before resetting any script.
Confirm Exit: If checked, the user will be prompted for confirmation before exiting the program.

The Help menu contains program documentation and information. Both items will open in a separate window.

11. SCRIPT EDITOR

The Script Editor is an internal text editor for modifying generated scripts. It will not open if there is no script in the Script text box.

When editing a script, anything in it can be modified, as with any text editor.

The new script can be sent back to the main window using the Update button. It will be copied to whichever tab is currently selected. It can also be saved to a file or copied to the clipboard using the corresponding buttons. The Close button exits the Script Editor. The above-described functions are also listed in the Script Editor's File menu.

The Script text box font can be changed in the Script Editor's Font menu.

12. KEYBOARD SHORTCUTS

Script Operations (Main window)

Ctrl+G - Generate
Ctrl+P - Copy Script
Ctrl+S - Save Script
Ctrl+E - Edit Script
Ctrl+R - Reset
Ctrl+Q - Exit

F7 - Switch to Weapon tab
F8 - Switch to Armor tab
F9 - Switch to Food tab
F10 - Switch to Ammo tab
F11 - Switch to Monster tab
F12 - Switch to Oracle tab

F1 - Documentation

Alt Codes for Menu Items

(Press each key separately)

Main Window:

Alt-T - Script menu
Alt-T-G - Generate
Alt-T-C - Copy Script
Alt-T-S - Save Script
Alt-T-E - Edit Script
Alt-T-R - Reset
Alt-T-X - Exit

Alt-A - Tabs menu
Alt-A-W - Weapon
Alt-A-A - Armor
Alt-A-F - Food
Alt-A-O - Ammo
Alt-A-M - Monster
Alt-A-R - Oracle

Alt-O - Options menu
Alt-O-A - Always On Top
Alt-O-T - Show Tooltips
Alt-O-R - Confirm Reset
Alt-O-E - Confirm Exit

Alt-H - Help
Alt-H-D - Display program documentation in a separate window
Alt-H-A - Display program information

Script Editor:

Alt-F - File menu
Alt-F-U - Update Script
Alt-F-S - Save Script
Alt-F-O - Copy Script
Alt-F-E - Close

Alt-O - Font menu
Alt-O-F - Select Font

Revision 0