Hi!

I've just come back to playing UO and am staffing on a friend's server. I am currently enrolled in college for a degree in Information Technology. My degree focuses heavily on programming languages as well, so I thought I would start helping my friend with custom UO scripts. I was wondering if their were any cheat sheets with ServUO's custom methods, class names, etc. that would help me to familiarize myself with ServUO's structure. It'd be nice if I didn't have to browse half the scripts in the server folder to get familiar. I checked the tutorials section of the website, but didn't see anything there. Sorry if this was asked somewhere else in the forums.

Thanks,
~NytemareTV
 
Welcome!

It may be hard at first to guess where things can be, but after a while it gets really easier.
You could generate an UML diagram out of the ServUO classes, so you could have a wider look at what inherits from what, then taking a look at most of the files will be more than required.
You should also search for the class calls to familiarize yourself too, ex: The loot system which uses BaseRunicTools.cs to apply attributes to weapons/armors, how the crafting/harvesting is made, the skill and stat system (skillcheck.cs, and the Skill folder), etc.

It is normal to be confused at first but it's easy once you go with the flow.
Is that answering your question?

(Also, i'm a RunUO dude, so i'm not "qualified" to say he the ServUO operates under the hood, even if it's a branch of it.)
 
It helps a bit. I'm still very new to all this though. I've been taking a beginners C# class from Microsoft Virtual academy, as my C# class will not start until my fall semester this year. So, I'm still getting used to Visual studio and Visual Studio Code. (These are what I am using to do all my scripting stuff at the moment)
 
It helps a bit. I'm still very new to all this though. I've been taking a beginners C# class from Microsoft Virtual academy, as my C# class will not start until my fall semester this year. So, I'm still getting used to Visual studio and Visual Studio Code. (These are what I am using to do all my scripting stuff at the moment)

I don't think we have any commonly used classes/methods ATM.
As in most other things, just dive in and check stuff out. Create making items, see how the items are made from others in there.
Folders are pretty properly named and put in specific locations to help you understand where everything goes.

After items, make a monster, then tweak stuff, keep tweaking, you'll eventually start understanding where everything is and the methods to use.

You have tens of thousands of player made scripts and resources between RunUO/ServUO and the other emulators. If you want to do something, I'd do a google search first with what you wanna do, see if there's a script and just check it out, modify it to your liking, etc.

I've been programming for a year now from absolute scratch. During that year, I can say I can tell you where basically everything is in ServUO or where I can find it.

You'll build your familiarity up with ServUO astronomically, especially if you are working on it like you are on your friends freeshard.

GL and I hope you enjoy it! Its quite fun!
 
It's good experience for you as well. I've been a professional software engineer for nearly ten years. Every time I start working on a new product I feel like a rat in a maze, trying to understand what goes where. Developing the tools and techniques to deal with this situation is valuable in your career :)
 
Thanks for the replies guys! I've just started with a fresh ServUO server and am working at merging in OWLTR at the moment. I'm going to have to really focus on this, as it is a lot different from writing the small simple programs I've been doing in class.
 
I have not seen a cheat sheet for classes etc, I looked for one, too. After you play around with it though, it starts to make sense pretty quickly. The more familiar you are with the game may help as well.

But most of what I do is minimal. Say, making a fancy knife, my new script would refer to baseknife.cs, which already refers back to basemeleeweapon.cs, which refers back to baseweapon.cs. By the time I am making a fancy knife there is little to do. I give it a body style, a hue, durability, and any special properties.

I don't mess with actual game mechanics. So for items, quests, and other simple customization stuff it makes sense pretty quickly. I just find a script that has similar attributes I want - and see how they do it. The good news is a lot of the work has already been done for us...just have to dive in and find it. :)
 
If you use the [gendocs command it will generate some documents including a list of all classes.
 
Oh, very cool. I had not seen that one before. The docs look interesting. A whole bunch of nicely linked html pages. I like it. Thanks.

Command was [DocGen :)
 
Thanks for all the further replies. I've hit a dead end with OWLTR. I got too frustrated to continue for now. I will come back to it with fresh eyes and mind a little bit later. It appears to use different syntax than the ServUO server I have downloaded so it will take me some time to sort out what is going on lol.
 
Back