RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

ObjectPropertyList on Pre-AOS & A player friendly experience.

Xavier_WER

Sorceror
So I wanted to setup a homeserver to screw around abit but mostly I wanted to streamline the UO experience
so it's abit easier to understand for new players.

I have never been a fan of AOS, just complicated things to much.
Picture of a standard weapon
aoskatana.PNG
Or even worse, a magic weapon.
aosmagicweapon.PNG
The amount of information thrown in your face really just complicates things and sometimes you can't even tell
if the item is crafted, magic or what attributes it actually adds onto the default.

However some instances of Pre-AOS has a really steep learning curve
Picture of Mid Pre-AOS magic weapon
mid uo magic weapon.jpg
Somewhat short and succinct, however you can't tell what the added attributes actually does
or what the basic properties the weapon has.

Iam however a large fan of early UO item names that servers have used (For example Rebirth or uosecondage)
oldschool magic weapon.jpg
The roleplay aspect of the name really entices me.


So to simplify the ingame presentation of items I wanted to mix these, so my server is currently using Expanion.UOR
but sending the AOS packet info to enable ObjectPropertyList.
I've used code from
Nockars Colored Item Name Properties
Zippys UOGamers: Rebirth complete server
ALOT of Vorspires posts about Objectpropertylist and his ItemRank definitions (I never could get Extended Localizer to work though)

So this is how far I've gotten so far,
All items have a ItemRank that colors the name, which also can be changed ingame on the fly.
This is so players easily can identify the value, use and/or rarity of the item.
colordefinitions.jpg

Some item examples
items.jpg
Notice the use of Zippys item name code
"A Bread loaf" "12 Bread loaves"

I just finished of baseweapons, this is where the text design comes into play.
I've removed as many lines as possible and simplified them as such,
weapon examples.jpg
Magic weapon and attributes are colored as green but crafted additions like Poison are colored blue
(I just notices I forgot to remove the standard line for poison charges ^^)


So that's what I got so far, I felt like sharing.
I'd gladly post the code if wanted however I'm not a programmer... I read it and Copy/Paste around mostly
which is why I'm hesitant towards publicly posting my horrible code, I could probably use some help to clean it up
down the line but as it stands now... it compiles!!!
 

Vorspire

Knight
Yes, I love modding the OPL's, lots of fun! Here's what I did a couple years ago with my WoW-style shard:

Props.png
RPK_CROWN_OF_RPK.pngSetBonus.jpg
 

Xavier_WER

Sorceror
Yes, I love modding the OPL's, lots of fun! Here's what I did a couple years ago with my WoW-style shard:
Nice!
However I inteded this OPL mod to be used on a Pre-AOS server and only using that eras magic properties.
BTW, Did you ever manage to use alignment inside OPLs? I must have tried just about everything to get two alignments on the same row
 

Nockar

Sorceror
Looks neat. You should post your code.

We use xml spanwers on our server. So I have been trying to think of a good way to use xml to spawn rare sealable items. The thing is when they spawn them you cant tell they are acutely sealable. The best thing I have been about to think of so far is to color the name like you did and spawn it sealable with a color name.
 

Xavier_WER

Sorceror
Looks neat. You should post your code.

We use xml spanwers on our server. So I have been trying to think of a good way to use xml to spawn rare sealable items. The thing is when they spawn them you cant tell they are acutely sealable. The best thing I have been about to think of so far is to color the name like you did and spawn it sealable with a color name.
What exactly do you mean sealable?
Im using xmlspawner aswell, but if your thinking about coloring the name by using the name property you'll run into a problem where CTRL + SHIFT balloons ingame will display the htmlcode
 

Nockar

Sorceror
When you set it to stealable the item looks and acts just like a frozen item. You cant pick it up and it does the sling shot thing back to its original position. There is not any way to visually tell that’s you can use the stealing skill on it.

I don’t have any problems with using ctrl-shift. It works fine for me.
 

Xavier_WER

Sorceror
When you set it to stealable the item looks and acts just like a frozen item. You cant pick it up and it does the sling shot thing back to its original position. There is not any way to visually tell that’s you can use the stealing skill on it.

I don’t have any problems with using ctrl-shift. It works fine for me.
Well if you ONLY wanna use xmlspawner your somewhat limited, you can add a animation like sparkles or something smaller around the item
If your spawning something with a custom name you can name it "example name (stealable)" and after it's stolen the spawner can rename it remove the "(stealable)" tag

If your not afraid to script though you can add a line to your item.cs to display a OPL if the item is stealable and on the ground
 

Nockar

Sorceror
Having the (stealable) tag added and then removed sounds like a good idea. Do you know off the top of your head how to do that with the xml spanwers?
 

Xavier_WER

Sorceror
Challange accepted

Create a new spawner with MinDelay and MaxDelay set to zero
Set SequentialSpawn to 1, spawnrange 0

SUBGROUP 1: katana/name/My katana!/STEALABLE/true/movable/false P.S. uncheck the Clear Box
SUBGROUP 2: SETVAR,OriginalName/{GETONSPAWN,1,name}
SUBGROUP 2: SETVAR,OriginalSerial/{GETONSPAWN,1,Serial}
SUBGROUP 3: SETONSPAWN,1/name/{GETVAR,OriginalName} (stealable)
SUBGROUP 4: #CONDITION,GET,{GETVAR,OriginalSerial},movable=true ; GOTO/6
SUBGROUP 5: GOTO/4
SUBGROUP 6: SET,{GETVAR,OriginalSerial}/name/{GETVAR,OriginalName}
SUBGROUP 6: SETONTHIS/Nextspawn/24:00:00

This will spawn the katana, set it to be stealable and movable false (remember you have to had followed the xmlspawner installation step to enable spawning stealable items)
Create two variables, one for the original name of the item to reset it to that later on
second varibale for the serial of the item. You can't use GETONSPAWN since after it's been picked up its no longer part of the spawner, that's why it needs to be changed via serial.

Also note that whenever you spawn custom stealables with xmlspawner you have to have the spawner set the nextspawn time AFTER the item has been removed from the spawner
else if your only using MinDelay/MaxDelay this will continiously tick down even if the item hasn't been taken yet, so if someone took the item 23 hours after it was spawned, a new will spawn after 1 hour.
 

Nockar

Sorceror
Thanks for the info!

I gave that a whirl and not sure i have this setup right.

==Everything is copied and pasted==
- Nothing ever spawns
- After a few refreshes the SequentialSpawner goes form 1 to 4 and then stops there.

==Setting Max to 0's with Sub#1 to 1.==
- If i set all Max's to 0 but Sub1. It randomly bounces around 1-6 and some times spawns 1.
- When I do that it does spawn the katana (when it hits Sub1) but it does not get the (stealable)
 

Attachments

  • 001.jpg
    001.jpg
    167.4 KB · Views: 81
  • 002.jpg
    002.jpg
    149.9 KB · Views: 82

Xavier_WER

Sorceror
oh, set your maxcount to like 5, should work. Then hit reset and then hit respawn
The sequentialspawner property is supposed to jump around like that
 

Nockar

Sorceror
Hm, set the maxcount to 5. It's still not doing anything. And it says 4 for the sequentialspawner.
Additionally, it now is giving the error.. GET,0x40078B4F,movable :

Not sure were that error came form.

I tried creating a new one from scratch and got the exact same results.
 

Xavier_WER

Sorceror
heres my spawner
export it to your main runuo folder and do
[xmlloadhere stealablearty.xml
 

Attachments

  • stealablearty.rar
    860 bytes · Views: 6

Nockar

Sorceror
Thanks! It works like a charm.

I added the spawner and kept stealing the sword over and over. As soon as it gets stolen it respawns the sword again. Is that how yours is working?
 

Nockar

Sorceror
Thanks you. I think that did the trick. I'll give it 24h and see what happens.

When you click the respawn button is it setting the timer to 24h and counting down till it spawns?
 

Xavier_WER

Sorceror
nah when you hit respawn it will respawn the current subgroup and the nextspawn will be set to the Min/MaxDelay... So don't ^^
btw, I think this thread derailed abit :)
 

Nockar

Sorceror
Ya, the thread did get off a bit. Hahahah
But thanks for showing me how to do that!

Not many people know how to use xml spawners like that.
 
Top