Well, it is subjective to say that is the "only" issue. It already raises the statcap to 300, but look in ApproachObsidian.cs. That should be the only file you need to edit...oh...and ObeliskTip.cs. That file tells the player what they get for a reward so you need to say something different there. If you end up putting stat scrolls in your game, you will have to fix more things with this.

Excellent!

I can't say how much time i spent looking through "titan*" scripts and "quest*" scripts trying to find out there that reward was placed.

I haven't decided what the reward could be... might just have it be a townhouse, or create something new like a "Karma orb" which allows you to change the polarity of your karma at will (from -5000 to 5000 and vice versa like your traps do).

... djeryv, i posted this in the think tank... i think it would made a great addition to odyssey...

//

I always hate how when you stable a pet it just disapears and you never see it.
Why not have a stable post that is attached to a holding pen, and when you stable the pet it just appears in the holding pen and walks around?

This would be a good way to show off your pets as a display of sorts, and look at them, instead of just having them in the nether somewhere else....
 
I haven't decided what the reward could be... might just have it be a townhouse, or create something new like a "Karma orb" which allows you to change the polarity of your karma at will (from -5000 to 5000 and vice versa like your traps do).
If you just up the stat cap, that should be enough. Not only do you get a shit ton of money...but you also get a moongate for your house. Well...it is actually a "black gate" of obsidian but it works like a moongate.
 
If you just up the stat cap, that should be enough. Not only do you get a shit ton of money...but you also get a moongate for your house. Well...it is actually a "black gate" of obsidian but it works like a moongate.


I see - well okay then - might give 50 new stat or so. thanks for finally pointing me to those scripts.

By the way, i tied the new savings/interest system to the preset timers you told me about earlier in this thread. it's a great idea to minimize random timers.
One question: since i don't use itemdecay in my world (its just me after all), where can i disable it? Is that a core change? Itemdecay only changes the time of the decay (not the decay=true bool), and i can't seem to find it anywhere else (there is no "baseitem" type of script to modify)
 
I don't understand this question. You say here you disabled it but are asking me where to disable it?

I've changed itemdecay to be 6000 hours.

meaning every item on the ground will have a 6000 hour timer ticking... i'd much rather have decay=false as a standard for items that are created, but can't find where this is set by default... i would have to manually add that to every item script in the server... :D
 
I can't remember for the life of me what that is, but I remember having a script with a few lines that solved it and I didn't need a core mod. My server got dirty quick so I removed it years ago. I also had it (at one point) that anything on the floor of a house never decayed, but that ruined the point of buying a bigger house with more storage. You can obviously do a core mod. The way you are doing it...it keeps adding items that are ticking away at the processor, each for 6000 hours before they disappear.
 
damn... i'd be happy to see that script that disabled itemdecay... i can see it being a problem for shards with multiple players, but every item i put down it's me that is putting it down.

or a script that (on command, or once a day using your timers) goes through all items and makes sure they have decay=false?
that would work...
Post automatically merged:

this got me thinking! :D
Post automatically merged:

can't be done... says that the attribute Decays is read-only.
 
Last edited:
I can't remember for the life of me what that is, but I remember having a script with a few lines that solved it and I didn't need a core mod. My server got dirty quick so I removed it years ago. I also had it (at one point) that anything on the floor of a house never decayed, but that ruined the point of buying a bigger house with more storage. You can obviously do a core mod. The way you are doing it...it keeps adding items that are ticking away at the processor, each for 6000 hours before they disappear.

djeryv, you wouldn't happen to have the /server/ director for runuo2.1 would you? intem.cs is the only way to change decay on a permanent basis, without adding a timer for every item left on the ground. i've tried to google it but my google-fu has failed...
 
he put /scripts/server

which doesn't contain intem.cs (e.g. i think it's not a folder containing the core scripts in order to recompile the core?)
Post automatically merged:

Success! found it in an old github depository...


contains the server folder and core files... and the runme.bat file to compile :D

now hopefully djeryv didn't make any core modifications...
Post automatically merged:

hmm.. looks like he did.... *sadface*
the newly recompiled runuo is missing some "type or namespaces"
 
Last edited:
oh, he did!! i didn't think to look in utilities
kind of ashamed of myself now.. thanks pyro!
Post automatically merged:

im changing (in item.cs)

C#:
        public virtual bool Decays
        {
            get
            {
                return false;
            }
        }

but i would much rather make item decay somehting that can be toggled without a core mod... do you know of any way to do this? currently it's "return (movable && visible);"

we have a myserversettings in server.misc which can be used to toggle things on and off, but its outside the core - will referencing to it in the core work?

I am just going to have 2 .exe's - one that has itemdecay and another that doesn't for now. people can choose that way.

// pyro, (and djeryv), thank you very much!!

1588767263862.png
 
Last edited:
Since it is virtual in the item.cs you could also just override it in baseweapon and so on, basically the files that inherit directly from Item
 
that would have meant editing a number of different files... and i wouldn't know which ones. this is much easier. from what i understand, i can force decay by overwriting the false individually if i want certain items to decay.

how about the timer? can i set decaytime to -1 now?
 
I am in the process of loading map markers for the world... i've mapped most of sosaria, and (currently working on the sea pirates ships).
attached is the latest version for those who want to keep up with the progress. Also, will update the dropbox today with the no decay executable. I'm also including the (withdecay) original executable so its an option that is totally toggable now (with the setting in myserversettings).

having no decay really helps with server load. When you drop an item there is no timer associated with it now. :D
 

Attachments

  • Client.rar
    881.8 KB · Views: 3
Sounds fun! :) And I'll tweak my PV a little bit in the upcoming weekend and possibly make a generic RunUO version too, not sure if I have enough time :) Also, kind of inspired to try my hand at editing the map similar to how you're doing it... Are you using CentrED+ to edit the map and UO Architect to place the houses?
 
yessss.... its super fun!...

load up architect (should work fine with the version you have with the UO adventures package), connect to server (password is admin).
go ingame, load a building and click build. tons of tutorials out there.

then you [freeze the area, COPY THE FILES FROM /FILES/ to CLASSICUO, then load up centred+ for map editing. don't forget this step here...
when done centred, run the batch file in the centred directory and you're good to go.

centred is loaded for sosaria.. you can change the map in the .xml file there map1.mul is sosaria... i think 0 is lodoria, 4 is the islands..
 
If you can do lodoria/pirate isles i'll basically take on any changes you do...

Sosaria is pretty much populated now... at least in my opinion.
Post automatically merged:

as a side note: i am adding a completely new system to this server... a PvM monster gauntlet system.
I added a huge arena in ambrosia. you will be able to take part in a PvM gauntlet there, i'm trying to see if i can have a leaderboard to keep track of stats.
Post automatically merged:

 
Nice! :) I'll see what I can come up with, hehe :)
Post automatically merged:

Oh, a PvM monster gauntlet system sounds interesting! Will be happy to check it out once it's up! :D
 
Last edited:
yeah im excited about it... no monster loot, and no death. just a bunch of monsters and a clock to try and beat. clearing out a gauntlet and trying to beat your best time will be fun... also good way to test builds, etc. as far as i know this hasn't been done yet...

another addition id REALLY love would be a hitching post that shows the animal that is stabled... so you can stable animals to the post and they would still be there. you could have a huge taming cave displaying all your tames... i hate how you can't see them now when they are stabled.
 
Ah, indeed, that sounds very interesting too! :)


Gadget.. just a hint... Lodoria is filled with large areas with nothing in them... like this wood area
1588879626901.png

or these mountain area

1588879663455.png

the mountain areas are multiple screens of empty space and that forest above has no reasons for anyone to visit.... prime places for additions.
 
Hehe, nice, I'll eventually get to it, though I need some practice with CentrED - I tried placing a road and it looks like I have to place the center tiles, the leftmost tile and the rightmost tile separately (since they are different)... do you know if there's an easy enough way to copy the entire pattern and place it at once? :)

Also, I found this old script yesterday that looks like a fitting idea for placing player vendors outside of houses: https://www.servuo.com/archive/player-vendor-tile.517/ I'll look into how adaptable it'll be to Odyssey and my PV.

Currently I'm looking at the RandomEncounters system - I tested it on your server build and I noticed that almost nothing ever spawns from RandomEncounters specifically, so I started exploring why, and I figured out there were some mistakes in the XML definition file, I'm not sure if you're aware of them. One of the mistakes is that you used "AnyLand" as the name of the region, while the name of the region should either be the actual name (e.g. The City of Britain), per Regions.xml or whatever that file defining regions is called, or "default", which means "all regions" - if you don't have a default specification, nothing will ever spawn for that region. The land type specification (AnyLand, OffRoad, etc.) is made in the landType parameter of the encounter. Another mistake is that you used a space after a comma in a list of mobiles (e.g. "YoungPlayer, BluePlayer"), but unfortunately, it doesn't work that way - there has to be no space ("YoungPlayer,BluePlayer"), or it won't work... The third issue is that Odyssey uses a lot more region types, and Odyssey towns don't count as a Guarded region by default - they're set up as VillageRegion, which is why I had to add a case for VillageRegion to Helpers.cs in order to enable the use of "Guarded" for that type of regions in RandomEncounters, it's a one-line change.

I came up with a small test XML file that seems to be set up correctly - this file spawns random reds and blues all over the map with a small delay (10 sec), it's just for testing purposes, but this proves that this kind of setup works and it also demonstrates how to set up the parameters properly inside the XML definition file.

Unfortunately, I'm experiencing a rather interesting issue with it - the blue players definitely spawn, but their names are colored in red for some silly reason I can't figure out, both in ClassicUO and in the original EA client. Functionally they work correctly (they don't attack the player, they attack reds and monsters, etc.), but their name tag color is really confusing, you have go understand that they're "blue" by their name tag - they use specific suffixes. Not sure how easy this issue is to fix, I couldn't figure it out yet.

Here's an example Helpers.cs (modified to treat VillageRegion as "Guarded") and an example RandomEncounters.xml for testing - note that it doesn't include most of your spawners, only Reds and Blues, and it has its delay set to very small values since I wanted to see the effect as soon as possible to be able to determine if it works correctly or not.
Post automatically merged:

Ok, it looks like I need to add an exception for BaseBlue in the NameColor method of BaseCreature.cs so that NameHue is set to -1 for all BaseBlue creatures if I want their name tags to be colored appropriately :)
 

Attachments

  • RandomEncounters.xml
    12.1 KB · Views: 2
  • Helpers.cs
    12.6 KB · Views: 2
Last edited:
Hehe, nice, I'll eventually get to it, though I need some practice with CentrED - I tried placing a road and it looks like I have to place the center tiles, the leftmost tile and the rightmost tile separately (since they are different)... do you know if there's an easy enough way to copy the entire pattern and place it at once? :)

Also, I found this old script yesterday that looks like a fitting idea for placing player vendors outside of houses: https://www.servuo.com/archive/player-vendor-tile.517/ I'll look into how adaptable it'll be to Odyssey and my PV.

Currently I'm looking at the RandomEncounters system - I tested it on your server build and I noticed that almost nothing ever spawns from RandomEncounters specifically, so I started exploring why, and I figured out there were some mistakes in the XML definition file, I'm not sure if you're aware of them. One of the mistakes is that you used "AnyLand" as the name of the region, while the name of the region should either be the actual name (e.g. The City of Britain), per Regions.xml or whatever that file defining regions is called, or "default", which means "all regions" - if you don't have a default specification, nothing will ever spawn for that region. The land type specification (AnyLand, OffRoad, etc.) is made in the landType parameter of the encounter. Another mistake is that you used a space after a comma in a list of mobiles (e.g. "YoungPlayer, BluePlayer"), but unfortunately, it doesn't work that way - there has to be no space ("YoungPlayer,BluePlayer"), or it won't work... The third issue is that Odyssey uses a lot more region types, and Odyssey towns don't count as a Guarded region by default - they're set up as VillageRegion, which is why I had to add a case for VillageRegion to Helpers.cs in order to enable the use of "Guarded" for that type of regions in RandomEncounters, it's a one-line change.

I came up with a small test XML file that seems to be set up correctly - this file spawns random reds and blues all over the map with a small delay (10 sec), it's just for testing purposes, but this proves that this kind of setup works and it also demonstrates how to set up the parameters properly inside the XML definition file.

Unfortunately, I'm experiencing a rather interesting issue with it - the blue players definitely spawn, but their names are colored in red for some silly reason I can't figure out, both in ClassicUO and in the original EA client. Functionally they work correctly (they don't attack the player, they attack reds and monsters, etc.), but their name tag color is really confusing, you have go understand that they're "blue" by their name tag - they use specific suffixes. Not sure how easy this issue is to fix, I couldn't figure it out yet.

Here's an example Helpers.cs (modified to treat VillageRegion as "Guarded") and an example RandomEncounters.xml for testing - note that it doesn't include most of your spawners, only Reds and Blues, and it has its delay set to very small values since I wanted to see the effect as soon as possible to be able to determine if it works correctly or not.
Post automatically merged:

Ok, it looks like I need to add an exception for BaseBlue in the NameColor method of BaseCreature.cs so that NameHue is set to -1 for all BaseBlue creatures if I want their name tags to be colored appropriately :)


Did you use a virgin version of my build, or did you merge? I already dealt with the name color - all my blues spawn as blue nametags and i already made that edit in basecreature :)

also, its odd since i do get (some) random enounters. the dungeons work well, i do have renadom blues and reds show up, which adds a little fun to it all. I was fighting a very hard demon and had a blue show up to help. I haven't had a look at random encounters, i just adapted it to the server, made sure it worked, and left it at that. its a system that has tons of potential.

You also don't need to reinvent the wheel, someone in the original odyssey thread posted some recommended changes to helpers.cs

I spent the day yesterday populating the worldmap markers and i also changed all the guards in lodoria to blueguards and added animal breeders in the towns. Lodoria is now - Ultima Adventures "friendly". I"ll post an updated server today. IF you don't want to overwrite save folder you can just copy the Spawns.map and do a [spawngen remove and [spawngen spawns.map to have them all load up.

yes theres an easy fix in centred - bring this down (make sure statics and textures are UNTICKED)
1588937801605.png

roads are a bitch to make though hahaha.
 
Last edited:
Ah, I'm most likely just on an older build, so I haven't seen those changes yet - this is exactly where synchronizing efforts over Git becomes a nice idea :)) I'll update to your latest release and test what the situation is like with RandomEncounters there, maybe my xml file was older too. Note though that I haven't tried dungeons yet, I was only looking at overland wilderness spawners and I noticed that almost nothing ever spawned through them. I'll get back to you with testing it on the latest server update ;)) Thanks a lot for both the Helper.cs tweak and the Centred tip!:)
 
wait before you update. I'm going to update everything in an hour or so... i'd do a full update if i were you since it appears its been a while - lots changed since that basecreature edit...

this morning i added a pit in the pit

1588943668458.png

1588943696218.png


people will have to figure out how to escape!

I'll package everything now so you can update
 
Alrighty, looking at the RandomEncounters.xml in the current server update - it seems that it has similar issues to the ones I mentioned above, please test to see if you get any spawns in the wilderness. I see that the dungeons will indeed work correctly without any change, at least more or less, since they use the "default" name for the region, but the Wilderness ones are named "OffRoad", which most likely won't work. Also, you have a few entries there with a space after a comma ("Ratman, RatmanArcher, RatmanMage"), unless you made some modifications to the system itself to support those, it's likely that they won't work either - I haven't run the updated server yet to confirm/deny, just examining the XML for now :) And also, looks like your copy of Helpers.cs doesn't yet contain the edit to support regions such as VillageRegion (like outlined in that post) - maybe the relevant update is just not posted yet?
Post automatically merged:

Ah, alrighty, will wait for today's update and test that update in action then :)
The pit looks really cool! :D
 
Alrighty, looking at the RandomEncounters.xml in the current server update - it seems that it has similar issues to the ones I mentioned above, please test to see if you get any spawns in the wilderness. I see that the dungeons will indeed work correctly without any change, at least more or less, since they use the "default" name for the region, but the Wilderness ones are named "OffRoad", which most likely won't work. Also, you have a few entries there with a space after a comma ("Ratman, RatmanArcher, RatmanMage"), unless you made some modifications to the system itself to support those, it's likely that they won't work either - I haven't run the updated server yet to confirm/deny, just examining the XML for now :) And also, looks like your copy of Helpers.cs doesn't yet contain the edit to support regions such as VillageRegion (like outlined in that post) - maybe the relevant update is just not posted yet?
Post automatically merged:

Ah, alrighty, will wait for today's update and test that update in action then :)

im packaging up everything as i type this, wait before comparing as i have made some changes to randomencounters (not the XML though, only to helpers)
Post automatically merged:

okay, may 8th version up. I"m also updating the client to match the muls and it will also have all the markers. I recommend you do a [spawngen flush since the guards in lodoria have all been changed.
Post automatically merged:

i appreciate any help with randomencounters... in the customs folder you will find some "camps" in /mobiles/OSI that can also be changed/edited and generated with randomencounters
 
Last edited:
hmm.. no you'd have to set itemdecay at 1 minute (or -1 for instant) in myserversettings, then use the runuo.exe.withitemdecay executable.
once that's done you can revert to the other .exe to have item decay disabled.
 
i'll do a "clean" release with a save without items at some point, until then you can decay all of them manually. I guess that will be release 1.0 once we've slowed down all the changes we're making!! :D
 
things that would be great:
1. randomencounters with cool random spawns
2. convo system populated
3. playervendor outside of homes
4. gauntlet system


i think i'll be pretty happy once all that's done... :D
 
I tested RandomEncounters in the latest build with a 10-sec spawn rate and I don't get anything spawned in the City of Britain or outside of it beyond what was already spawned there (through other means, perhaps? I'm not sure). Either things spawn very very rarely, or they don't spawn in certain regions, most likely for the reasons outlined above - I looked at the XML and it has the same problematic spots as I identified before, namely, the name of the region doesn't match (OffRoad can't be used as a region name) for the Wilderness and Guarded zones (for Dungeons it's OK), and some lines have unneeded spaces. OffRoad can be specified as an encounter parameter :)
 
yeah i didn't make any changes to the xml file... only the scripts. if you look at the post above, that person changed the region definitions and strings in the helpers.cs file. it would just be a matter of changing the ones in the xml to match those i think?
 
What that change to Helpers.cs does is it makes the RandomEncounters system treat various Odyssey region types as if they were either Guarded (e.g. towns, cities, villages), House (e.g. houses and maybe public areas), Dungeon (e.g. caves etc.) or Wilderness (everything that's not a Guarded, a House, or a Dungeon), so you don't really need to use any other types than those in the XML - you can use Guarded for towns and cities, Wilderness for outdoor areas, and Dungeon for stuff like dungeons and caves :)
Post automatically merged:

Here's an example change for the Trammel facet:
In our current XML file, it says:

C#:
    <Facet name="Trammel">
        <Region type="Wilderness" name="OffRoad">
            <Encounter p=".1" distance="10">
                <Mobile pick="SpawnHelper"/>
            </Encounter>

But it'll need to be changed to:

C#:
    <Facet name="Trammel">
        <Region type="Wilderness" name="default">
            <Encounter p=".1" distance="10" landType="OffRoad">
                <Mobile pick="SpawnHelper"/>
            </Encounter>

With the Helpers.cs change in place, you can use Region type "Guarded" to indicate what is to be spawned inside cities and towns (e.g. Townsperson, random Blues, etc.)
Post automatically merged:

Btw, in original Odyssey, it's possible to turn in the thieves' and assassins' heads to guards for some money :) Probably impossible with the new guards, right? (unless you imported the relevant code recently, I haven't checked yet...) You may want to look into OnDragDrop in the original TownGuards.cs if you'd like to retain this functionality.
 
Back