Okay, maybe the topic name is a tad hyperbolic but I wanted to get your attention.
This is an update of the original Nightscape Staff Assistant tool originally posted on these forums by Danielle. She was kind enough to post the source code as well. I haven't made too many changes to the tool itself (see below for a list of many of the changes). What I have done though is create a package which contains the companion eScript programs (POL commands) needed to work with the Assistant. Many of the commands already exist as "standard" commands such as .info or .kill. Some did not exist and so I wrote them. Some still don't exist because either I don't know the original way they were supposed to work. Others require more time to write than I have right now.
Before using the Assistant you need to do a few things. First you might need to add the location of your Ultima Online installation info to the Windows registry. This depends on whether the setup program for your version of Ultima added this info to the Windows registry. If the Staff Assistant kicks out an exception error when you try to view NPCs in the NPCs preview area of the Assistant then you will need to add the info to your registry. To do this you must copy the following to a text file. Enter the path to your UO install folder where it is appropriate. Save it as UOInfo.reg double-click it to import it into the registry. This must be done in order for the item and NPC previews to work. If you fail to set this then you cannot use the Staff Assistant to create items. It will throw an exception error.
Code: Select all
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Origin Worlds Online\Ultima Online]
[HKEY_LOCAL_MACHINE\SOFTWARE\Origin Worlds Online\Ultima Online\1.0]
"ExePath"="c:\\Program Files (x86)\\Ultima Online\\UOCH_n0p3_Client00.exe"
"InstCDPath"="c:\\Program Files (x86)\\Ultima Online"
"PatchExePath"="c:\\Program Files (x86)\\Ultima Online\\uopatch.exe"
"StartExePath"="c:\\Program Files (x86)\\Ultima Online\\uo.exe"
"Upgraded"="Yes"
Then open the Staff_Assistant folder you just copied to your hard drive and run the Assistant and click on the "settings" tab and at the "UO Client Location:" box browse to your UO installation directory.
You can also check the Advanced Settings to set additional options such as the option to have Staff Assistant automatically launch your UO client when you open the Staff Assistant.
Finally, you need to open the StaffAssistant.zip file and copy the folder inside to your \pkg directory. On my server I have a Tools subdirectory and that's where I put the StaffAssistant folder. Be sure to compile the scripts.
The Staff Assistant injects text commands into the UO client to accomplish tasks in-game. These text commands are heirarchical based on the command level of the user. This means that you can give every member of your staff a copy of the Assistant and it will only let the user execute commands that she or he has permission to use. So a Seer cannot execute a GM level command etc.
This brings up a point I want to mention. The commands contained within the StaffAssistant package are placed in different command level folders. The program has no control over what command level is authorized to use a command. That is handled by the server just as with any <dot> text command. Feel free to rearrange them as you see fit for your shard. For example you might want to give Seers access to some commands that I have in the GM folder. If so just move those commands from the GM folder to the Seer folder.
Included with the Staff Assistant is a list editor for editing the various lists that the Assistant uses. You can select the list you wish to edit. There are four lists that are used by the Assistant: Building Creator List, Items List, NPC List and Travel Locations List. I don't need to offer instructions on how to use the editor. Fortunately for us the creators provided a native help dialog box rather than sending us to a website because the Nightscape website does not exist any longer. Once again this reinforces my argument that help pages should be included in a program rather than being web linkls to external (read here Internet) websites.
I haven't done anything to the original source code for the List Editor.
Here are some of the changes that I made to the Staff Assistant:
I removed most of the Nightscape branding from both programs. However I left the original copyright info in place. Even though Danielle made the source code available I don't know if her intent was to release it to the public domain or as Open Source. There is no license information that I can find. So I don't feel at liberty to remove the copyright. I did however feel that since there is no Nightscape shard or website in existence that removing the branding was permissable. Danielle if you are around and wish to PM me or post a reply to clarify these issues please do. It's not hard to replace the Nightscape branding if my removing it is a violation of the copyright.
The account ban button I changed to "Disable Account". I also created a companion POL command to perform the function. It sets the "disabled" property on the account rather than banning it.
I disabled the "Wipe Account" button because many shards have custom items that are associated with a user's account that would need cleaned-up if an account was wiped; ie. houses owned by that account etc. Because of this I felt it was better to leave that alone. This is also the reason I changed the "Ban Account" button to "Disable Account".
The "Set Skill" and "Set Stat" buttons are disabled because they both throw an exception error when used. I looked at the source code and wasn't able to see why this was happening.
Under the Building Creator tab:
The "Foundation" button is disabled.
I added the roof creator back in after Danielle pointed me to the postings of those commands. I updated the eScript program to be compliant with the current POL Core, ie. realm support. I did not test it to see how they work.
Under the Items Tweak tab:
The "List Rects." button is removed because there is no accompanying eScript command and there is no info as to what it did.
I added "Mass Move", "Copy & Paste", and "Paste Items" back in after Danielle pointed me to the postings of those commands. I updated the eScript programs to be compliant with the current POL Core, ie. realm support. I did not test them to see how they work.
"Create Group" under the NPCs tab is disabled. I think this would work with the World of Dreams shard scripts because I think there's a command for it. However, I am trying to make this as generic as possible I disabled the button. WoD breaks the NPCs into groups which makes this easier to do on WoD based servers.
Under the NPC Tweak tab:
"Barber" button is disabled because there is no accompanying eScript command for it.
"Run To" is disabled for now.
"Set Skill" and "Set Stat" buttons are disable due to exception errors.
On the GM tab the six buttons under the "Prop Edit" button were disabled. So I left them that way. "Add GoLoc" is disabled because that command is already available in the .go gump.
I added the "Open Pack" button. It seemed odd to me that it was missing especially since there is an Open Bank button.
Under the Tools tab I added a button to launch UO Fiddler.
Under the Settings tab I added the UO Fiddler location Browse button and Text box so the program knows where you have UO Fiddler installed.
If you have some favourite staff level text commands you want added in to the program, PM me with your suggestion. I am just beginning to learn Visual Basic. So be patient if you do want something added.
Please feel free to post any general feedback here.
[12-26-2015 - Updated POL scripts: case mismatch issues in Linux.]
[01-19-2016 - Added UO Fiddler to the Tools tab and added Mass Move and the various Copy and Paste commands.]
[01-24-2016 - Fixed a bad "include" reference in the sa_counpage" program.]