Firts of all, WE ARE NOT EXPLOITERS, i came back to UO after a long hiatus and i refuse to use steam because of the 10fps limit. Im using UO3D (third dawn since the launch and the packets was there, used UOKR (kingdom reborn too), UOSA (the one in question here). NEVER PLAYED ON OSI, so i do not know how things used to work there. When i started to do SG, the orchard was that way, simple, as english is not my primary language, i confess that i read uoguide and dont completely understand it at all, but, after a lot of piece of papers, taking notes about the trees, i decided to make a pdf to make it simple (that pdf is open to everyone here in the forums to download), then come one and said that we was exploiting, Dan and Dexter fixed, and we still do the same way. About the packets, YES I WAS USING IT HERE FOR ALMOST A YEAR, without knowing that on EA has a delay to everything, to be honest i was just asking myself why people still use steam this nowadays, because EVERY OTHER CLIENT, OFFICIAL OR NOT, has those packets. And, before i started to use Orion, ive asked Dan if i could use it, so it was all with his consent , idk if he was aware about those packets. But anyway, i was using not as an exploiter, it was just a tool that every other client has and steam dont. To be honest i never expected all of this mess because of this, once i reapeat EVERY CLIENT HAS IT. Uos has Automatcally remount option, orion dont... so can i call the people who use this option as exploiters? Thats not fair at all! But lets get back to the point. Dan and Dexter are fixing this, the delay will be on server side, NOTHING CAN BE MORE FAIR THAN THAT! So, stop crying, stop finding hair on a egg shell, lets have fun and keep playing and fixing the server the way we could.
here is the section of my script that unequip, drink potion and reequip.
//////////////
'use strict';
function drinkPotion(potionGraphic) {
var delay = 500; // server-imposed delay between actions
var ping = 100; // round-trip latency between client and server
if (Orion.ObjAtLayer('LeftHand') && Orion.ObjAtLayer('RightHand')) {
var weapon = Orion.ObjAtLayer('LeftHand').Serial();
Orion.Unequip('LeftHand');
Orion.Wait(delay + ping);
} else if (Orion.ObjAtLayer('LeftHand') && (!Orion.ObjAtLayer('RightHand'))) {
var weapon = Orion.ObjAtLayer('LeftHand').Serial();
Orion.Unequip('LeftHand');
Orion.Wait(delay + ping);
}
Orion.UseType(potionGraphic);
if (weapon) {
Orion.Wait(delay + ping);
Orion.Equip(weapon);
}
}
*** as you can see, i have two variables that rules my delay, (var delay = 500 and var ping =100), they rule all my function. And i know you all can make simple math calculations, 500+100=600, 600ms SO WAS NEVER INSTANT EQUIP!. All this cry because the other 400ms that EA has it.
Dan and Dexter, to debug, here is my first test after the first attempt to fix! Once my delay is 600, i cant assure that your fix is working.