Full UOX3 Package ( UOX3 0.98-3.5 ) All-In-One (3/08/2006) - Contains all files needed to run UOX3.
Seperate packages Exe Only (3/08/2006) - UOX3.EXE ver 0.98-3.5 Basic UOX3 files (02/20/2006) - Only the basic UOX3 scriptfiles, docs, etc. v0.98-3.4 DFNs Only (3/08/2006) - Only the DFN-files, v0.98-3.5 JScripts Only (3/08/2006) - Only the Javascript-files, v0.98-3.5 UOX3 Source (3/08/2006) - The UOX3 source-code, ver 0.98-3.5
NOTE! If you download uox3.exe only, remember to check for updated DFNs/JScripts from above as well, or you might not be able to run the latest version without problems! Also, these files are all available from the CVS at http://www.sf.net/projects/openuo, though the anonymous CVS might be lagging behind the proper one with up to 24 hours.
Changelog for Latest Released UOX3 Version: UOX3 Changelog (3/08/2006)
[color=yellow]2/11/2006 - giwo (0.98-3.3)[/color]
Added 'set DEF (items), ARMOR (chars), and LAYER (items) commands.
Modified 'setscptrig so it accepts 0 as a value even if no script 0 exists.
[color=yellow]
2/11/2006 - grimson[/color]
Updated the CPUpdateStat function to use the GetMaxHP, GetMaxStam and GetMaxMana
for sending the respective values instead of sending the strenght, dexterity and
intelligence values.
Edit:
Had to commit another update on this, there was a second location where those stats have been send wrong.
[color=yellow]
2/12/2006 - grimson[/color]
The current HP and (if present) the fixed maxHP will now be saved on worldsaves.
Added two new DFN tags for NPCs and Items: CUSTOMSTRINGTAG and CUSTOMINTTAG with
them you can specify custom tags inside the DFNs and use them in JS scripts.
For the new DFN tags, they should be used in the form:
CUSTOMSTRINGTAG=tagnametagvalue
CUSTOMINTTAG=tagnametagvalue
The space seperates the tagname from the tagvalue.
Downloads for UOX3 0.98-3.3 is up. Your two latest cvs commits were just too late for 3.3, Grimson - but they instead managed to be the two first of 3.4! wee.
[color=yellow]
2/12/2006 - grimson[/color]
Added two new JS functions:
FindItem( x, y, z, world, id) - returns the item with the "id" that is on the
"z" level and closest to the coordinates of x and y. Or NULL if no item is found.
GetItem( x, y, z, world) - returns the item that is on the given coordinates or
NULL if there is no item.
[color=yellow]
2/12/2006 - grimson[/color]
Added another JS function:
GetItems( x, y, z, world, range) - returns a list containing all items withing
"range" of the given coordinates in the given world. You can go through the list
by using the FirstItem()/NextItem()/FinishedItems() syntax.
[color=yellow]2/12/2006 - giwo (0.98-3.3a [3.4 BETA])[/color]
Fixed an issue causing Large Dragon Ship deeds to not function.
Stopped CChar from saving HP as CBaseObject handles saving hitpoints.
Removed GetItems() as it could cause data corruption.
Modified getItem() and findItem() a bit and renamed them to GetItemAtXYZ() and FindItemAtXYZ()
Fixed some issues with pitcher.js
Fixed some minor cooking issues, and removed cSkills::HandleCooking() as JS now handles cooking.
[color=yellow]2/12/2006 - giwo (0.98-3.3a [3.4 BETA])[/color]
Stopped CChar from saving HP as CBaseObject handles saving hitpoints.
Is it working right? I added the saving of HP because if I stopped the server with my HP at 10 of 100 and started it again I instantly had full HP. So I assumend they weren't saved.
I've never had any reports that it wasn't working...
If you notice, you saved HP= with GetHP() (which is actually a CBaseObject call), in CBO we do HITPOINTS= hitpoints which is exactly what GetHP() returns. Thus it wouldn't have changed any, just performed the same task twice.
[color=yellow]
2/12/2006 - giwo (0.98-3.3b [3.4 BETA])[/color]
Modified DFN reloading so it reloads teleport.scp as well.
Modified CheckSkill() so GM's can now gain skills by using them. (Note they will still never fail).
Added NPCMOVEMENTSPEED to the UOX.ini to allow customization of NPC movement speeds.
Changed CORPSEDECAYTIMER to default to 900 seconds, and made use of it in CreateCorpseItem().
Removed CServerData::PlayerCorpseDecayMultiplier() as it had no matching uox.ini entry.
Added JS character property .attackFirst
Moved Peacemaking skill out to JS.
Moved Musicianship skill out to JS.
Moved Enticement skill out to JS (Note that OSI seems to have replaced this with Discordance).
Moved Provocation skill out to JS.
[color=yellow]2/13/2006 - giwo (0.98-3.3c [3.4 BETA])[/color]
Fixed an issue causing stats to almost never increase.
Modified skills.dfn SKILLPOINT to use ,'s for seperators.
Added an additional option to SKILLPOINT to specify for each level how much skill to gain on success.
Moved Meditation skill out to JS.
Moved Inscription skill out to JS.
Removed EngraveAction() as it did not function and custom skills can be added in JavaScript.
Moved MAKESHOP command out to JS.
[color=yellow]2/13/2006 - grimson (0.98-3.3d [3.4 BETA])[/color]
Made shure to start world timers on server startup.
Changed startChar() to do a checkRegion() directly after a login.
Changed CWorldMain::doWorldLight to actually take the current time into account
when calculating the light level.
I'm not quite shure if the first two changes are really needed, but they can't hurt eighter.
With the changed CWorldMain::doWorldLight() function we have now somewhat real day/night cycles.
Don't think we really need to run the checkRegion() in startChar.
If you notice we do a Dirty( UT_LOCATION ) in startChar, which will run CChar->Teleport() at the end of the main() loop, Teleport() runs checkRegion() for us.
[color=yellow]2/14/2006 - grimson[/color]
Removed checkRegion() from startChar() as it isn't needed.
Fixed the GM Locations menu in travelmenu.dfn so you can travel to the jail cells again.
Fixed the release time check in JailCell::PeriodicCheck().
[color=yellow]2/14/2006 - grimson[/color]
Changed CWorldMain::doWorldLight again, so the light level will actually reach
the LIGHTBRIGHTLEVEL and LIGHTDARKLEVEL values.
[color=yellow]2/14/2006 - grimson[/color]
Changed the checkRegion() function to prevent useless guard messages when you
go from one unguarded region to another unguarded region.
Made a few changes to regions.dfn.
Changed the getlight command, so it returns the correct value when the region
has a weather system.
[color=yellow]2/14/2006 - grimson (0.98-3.3e [3.4 BETA])[/color]
Added a rounding function for numbers and use it in the doLight(), command_getlight() and
doWorlLight() functions.
Moved WillResultInCriminal() from combat.cpp to uox3.cpp as it is not limited to combat situations.
Changed cMagic::MagicDamage() so that attackers can become criminal and murderers.
Changed CHandleCombat::StartAttack() so that attacking NPCs can become criminal.
[color=yellow]2/15/2006 - giwo (0.98-3.3f [3.4 BETA])[/color]
Moved Lockpicking skill out to JS.
Fixed an issue causing newbie clothing to be dropped on the ground if the character had scripted starting armor.
Added Multiple-ID resource handling for create.dfn.
Fixed some create.dfn items that had overlapping numbers.