User Tools

Site Tools


contribute

Contributing to Project Brains

Play!

The most helpful thing you can do for the shard is playing an interesting character, and having fun doing it. If your character has meaningful goals and works towards them, this creates a ripple effect of RP that goes towards creating a living, breathing world.

Contributing to the Wiki

There's a lot of interesting lore in Ultima Online, and things are getting more and more interesting with the plethora of characters we have running around. Character profiles don't just have to be about how your character grew up, they can also be about how your character lives. Feel free to write wiki pages for your character's business, and keep their history updated to the current day.

Contributing Code

To contribute code to project brains, there's a few things you'll need.

  1. A copy of the server.
  2. A decent text editor. I recommend Sublime Text (unrestricted trial), Notepad++ (free/libre) is also good.
  3. Optional, recommended: A GitHub account. This is the system I use to store/version control the code. If you submit your changes via GitHub, it makes it easier for me to see who's doing what, and whether the code you're submitting is good (both in terms of code quality, and in terms of being shard/setting appropriate).
  4. Some programming knowledge (or willingness to learn), the language C# in particular. Most of the code is pretty easy to get to grips with, and I'm happy to help anyone with any questions.

Running the Test Server

  • Download and extract TestServer.zip
  • In Scripts/Misc/DataPath.cs change line 16 to your own ZUOmbies Client Folder
  • Open the folder and execute RunUO.exe
  • If all goes well, it should compile the scripts and finish with “Listening: <ip>:2593”
  • Point Razor the address “localhost”, port 2593, and log in with the Project Brains client
  • Log in with user Test / Test
  • You can now change any files in the “Scripts” folder and restart the server to test your changes

Adding to the Shard's Code

Now that you have the client, the code, and the server, you can get stuck in with some development! In my experience, the three most important folders are:

  • Misc/ - Contains the scripts that don't necessarily fit in anywhere else
  • Items/ - Contains all of the item scripts
  • Mobiles/ - Contains all of the scripts for players/creatures/npcs

Even for an experienced coder, this is a common sight:

 Scripts: Compiling C# scripts...failed (1 errors)
 Errors:
   + Misc/Defiled/DefiledCommands.cs:
     CS1002: Line 45: ; expected

When your code has one or more compile errors, you will generally be told a) what line the error was found on and b) the type of error the compiler found. Most of the time, the error will be simple. A missed semi-colon at the end of the line, as seen in the error above, or giving a function letters when it expects numbers.

Useful GM Commands

  • [add <itemname> <quantity>
  • [delete
  • [hide, [unhide
  • [set <propname> <value> (can contain multiple {propname, value} pairs)
  • [get <propname>
contribute.txt · Last modified: 2014/10/24 05:24 by egbert