Trying out [Orionuo]

Name says it all
Post Reply
User avatar
Pie
Expert Scribe
Posts: 31
Joined: Mon Oct 03, 2011 7:53 pm

Trying out [Orionuo]

Post by Pie »

SO I thought I would share some stuff I learned about orionuo

one thing that made me switch over to it was the pet health bars will stay after your pet dies

and then after playing with the client some I found in the options you can save friendly health bars on logout .....so when you relog it will be there so again pet health bars

i just came back with no macros so it was easy to switch after only using steam/easyuo for like 3 -4 days but its taking some time to learn

you can record a macro and then look at the script for that macro make changes if you know how to and make it into a script that runs just like easyuo (i suc at coding)

not trying to sell it to yahs just want you to know mostly about the health bars ......its been talked about before

lots of other cool options like zoom and and ability to just pull the edge of the play window to make bigger

also found you can hold ctrl and left click drag just like a RTS game and pull health bars that way

pretty cool woot

lots of other stuffs ill post more to this if I find any thing else


o and i did see something weird with graphics with it ..............when in fel I seen a werewolf not sure what that was about ill screen shot next time it was weird................hope that's not a game breaker I kind of like this one

Edit: got some one to look at it also with uosteam (ty Mr.J) he seen it so nm about that

that's all for now
Attachments
snapshot_d(2020.11.10)_t(12.20.9_243).png
snapshot_d(2020.11.10)_t(12.20.9_243).png (745.9 KiB) Viewed 8832 times
Orionesss
Apprentice Scribe
Posts: 14
Joined: Fri Oct 16, 2020 12:39 am

Re: Trying out [Orionuo]

Post by Orionesss »

I have also tried OrionUO. Its so good and everything runs so smooth on 60 fps.

The only thing that drags me out is the lack of macros and the fact that I have to write everything again from scratch. All my hotkeys (whole keyboard, almost without exceptions) and all agents, recorded macros etc...

Also one thing I didnt like is the names of the corpses showing all the time. Is there an option to turn this off?
User avatar
+Colibri
Administrator
Posts: 3958
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Re: Trying out [Orionuo]

Post by +Colibri »

Thanks for sharing. I've heard some good things about Orion, and from the youtube videos it seems pretty nice.

Since it acts as a regular client, it should be possible to use it with any other 3rd party helper app - like Razor/EasyUO/UOSteam, but I don't know if there's some compatibiliy issues that prevent it. These helper apps act as a kind of proxy between the client and server, but not only relaying data, but also reading it to understand the state of the client, and also to add/inject various packets like clicks, drag/drop requests, etc... to make it seem as if you clicked something. So if the client can connect to the server, that means it's compatible also to be connected with one of these apps being in between.
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
User avatar
Alamiester
Legendary Scribe
Posts: 279
Joined: Wed Jan 04, 2017 8:49 pm

Re: Trying out [Orionuo]

Post by Alamiester »

ive only just got orion running on my new laptop recently, and i have to say the uo client runs alot smoother with orion. oh, and the gazillion customization options it has, i love it already and i havnt even hardly messed with it at all. i can already see this as being the new uosteam. im a little unsure about some of the plugin options, as stated by wil in previous comments about codeing, but i really do like the way this third party app runs uo on the user end.

once i get a few basic macros working in orion, i will try to see if easyuo can still run with it. from what i can see and understand i doubt the other 3rd party clients will work with it, they would be butting heads the whole time. easyuo is different then the others. :P
Opopanax
Legendary Scribe
Posts: 262
Joined: Sun Jun 30, 2013 10:25 am

Re: Trying out [Orionuo]

Post by Opopanax »

After reading this and meaning to try it for a while, I also decided to install and try it after getting a new laptop.

I must say I do like it!

What I'm having trouble with though is getting Easyuo or razor to work with it. If anyone has any tips, please do let me know.

I have been working to make a healing script to start with and I've got a working version for if you have 220 dex, but I need to adapt it to work with the dex of the character. I can code very basic stuff as I have written a few easyuo macros, but the JS language for this is different to EasyUO so there is a bit of a learning curve.

Also, I've tried to walk into the area in Moonglow that you need to have the patch to enter, and even though my client is fully patched (I tried this using Razor and regular client and it worked no problen) when I try walking in with Orion it tells me i need the latest patch to enter, so not sure what I need to do here?
In game name: Abarai
User avatar
Pie
Expert Scribe
Posts: 31
Joined: Mon Oct 03, 2011 7:53 pm

Re: Trying out [Orionuo]

Post by Pie »

With orion you you cant run other stuff, so far as iv found ....well i do use uoam with it (they have a patch for it on orion download page i think)
but no easyuo ;( ....but all im missing out on from that is the healer I would use and the fighting ones (primary, divine fury and all that) nunja armer or whatever

i found a healing one somewhere and i had to edit it so it wouldn't do it hidden or dead ill post it...you prob got same one :( no fancy dex stuffs

Code: Select all

function HealingSelf3() {
    while (true) {
        if (Player.Hits() < Player.MaxHits() && !Player.Dead() && !Player.Hidden()){
            Orion.BandageSelf();
            Orion.Wait(500);
            while (Orion.BuffExists('healing skill')) {
                Orion.Wait(100);
            }
        }
        Orion.Wait(10)
    }
}

and this is the first one i made so it might be messed up but it will cast divine fury if my stam goes below 230 ......

Code: Select all

function divine(){
while (true) {
	if (Player.Stam() <230 && !Player.Dead() && !Player.Hidden()){
    Orion.Cast('205');{
	Orion.Wait(1000);
} 
                }   
Orion.Wait(50)
  }    
}
but yah the rest i just hotkey and hit my self

and with making scripts you can make a macro and look at the script and mess with it that way (help function in scripts is very helpful also)

edit:****also if you don't add enough pause it will make you processor run way fast so be carful with that*****

i don't know anything about java(or reg coding)also so I'm still learning what theses mean {{{{{ }}}} in it or when to add them to make it loop or what not I got lucky with that one and iv been using others I found on the orion discord as references


I also found a spot I could not get in ....Ilishenar mistas when doing on of the belt quests said I needed ex patch 11 for evil troll room I just did the quest in steam and then before leaving the room logged back into orion and was still in the area and killed some and then left but could not go back in ......just a block or something not sure

but all in all I'm staying with orion it looks soooo nice after seeing the stutter in razer/steam again I cant go back....pet bars also
woot
User avatar
Pie
Expert Scribe
Posts: 31
Joined: Mon Oct 03, 2011 7:53 pm

Re: Trying out [Orionuo]

Post by Pie »

so I just went to xmas area and got locked out again like troll room ....did the switch to steam quick got in switched back and was able to chill there with orion.....so after that I went to patch room and found I'm on patch 0 ......oooo noooos..... but I can see all stuffs good ....any help from anyone that knows hehe

.o must be the same area oops ....moonglow

EDIT; So I feel I'm running the correct patch with orion but its not passing the info needed .....maybe

I'll do more tests when event opens (break in and see if I can complete it and if looks dif then steam/razer)
Opopanax
Legendary Scribe
Posts: 262
Joined: Sun Jun 30, 2013 10:25 am

Re: Trying out [Orionuo]

Post by Opopanax »

Thanks for the info and scripts Pie, it has all been useful!

I've been making my scripts from scratch, which has been giving me a bit of a headache as I try to understand how the code works, so it's good to see some examples.

The other thing that I added into mine is to heal when poisoned, but if you're going to heal at below 99% health, the healing will kick in as soon as you're poisoned anyway. I sometimes set mine to activate at 90% or 75% HP depending where I am so I don't burn through so many bandages, so it help that the script can recognise when poisoned.

One thing I want to build in eventually is have it stop when mortally wounded and cast touch of life instead! But this works for now:

while (true)
{
if (!Player.Dead() && (!Player.Hidden()) && (Player.Hits()*100) / Player.MaxHits() <= 90 || Player.Poisoned())
{
Orion.Say("[bandself");
Orion.Wait (200);
}
}

I've also been using a macro I found to target nearest grey to stop having to click all the time as I hated having to click all the time before and this works pretty well:

function attackClosest()
{
Orion.IgnoreReset();
Orion.Ignore(self);
while (true)
{
var enemy = Orion.FindType("-1 | !0x0191 | !0x0190 ", -1, "ground", "mobile | near | ignorefriends", "15", "gray | criminal | enemy | red");
Orion.Wait(50);
if (enemy.length > 0)
{
Orion.Wait(50);
Orion.Attack(enemy[0]);
}
}
}

If I find more that's useful I'll post.

I still can't figure out how to get into patched areas though, but like you said, all the correct files are there as we can see the objects.
In game name: Abarai
Gates
Passer by
Posts: 2
Joined: Fri Aug 28, 2020 12:42 am

Re: Trying out [Orionuo]

Post by Gates »

In order to access Mistvale or the winter event using Orion, you must manually set the client version to 5.0.9.12. In the Orion launcher, click Configure Client Version, then click Open Editor. The drop-down menu doesn't have 5.0.9.12 as a pre-set option, you will have to type it in manually.

The Orion discord channel has tons of pre-written scripts, and HotRide and the other admins are super helpful.
User avatar
Pie
Expert Scribe
Posts: 31
Joined: Mon Oct 03, 2011 7:53 pm

Re: Trying out [Orionuo]

Post by Pie »

wow great tyty I'm back on orion now ......... wouldn't have figured that out........woot.......been using steam since the event start
Orionesss
Apprentice Scribe
Posts: 14
Joined: Fri Oct 16, 2020 12:39 am

Re: Trying out [Orionuo]

Post by Orionesss »

Opopanax wrote:After reading this and meaning to try it for a while, I also decided to install and try it after getting a new laptop.

I must say I do like it!

What I'm having trouble with though is getting Easyuo or razor to work with it. If anyone has any tips, please do let me know.

I have been working to make a healing script to start with and I've got a working version for if you have 220 dex, but I need to adapt it to work with the dex of the character. I can code very basic stuff as I have written a few easyuo macros, but the JS language for this is different to EasyUO so there is a bit of a learning curve.

Also, I've tried to walk into the area in Moonglow that you need to have the patch to enter, and even though my client is fully patched (I tried this using Razor and regular client and it worked no problen) when I try walking in with Orion it tells me i need the latest patch to enter, so not sure what I need to do here?
You have to tell it the exact version of your client. There is a setting to select your client version. Write the exact version and it should work.
Waron
Passer by
Posts: 3
Joined: Wed Dec 30, 2020 4:34 pm

Re: Trying out [Orionuo]

Post by Waron »

Well, i'm using OrionOU for about a month or so and i like it!
Very flexible and easy scripting when you know what exactly character should do.

Yes, OrionUO uses JavaScript language and for someone it could be complicated to understand, but when you understand you be the god! Now i learning scripting while playing Ultima online and have some scripts written or remastered.

Its good that OrionUO have Discord channel where you can ask for help and explanation or find basic function scripts to do your own or more complex.

If someone is interested, i can share or help with scripts in exchange for ingame help (Yes, i'm new in the shard).

Here is autoheal script you can use:

Code: Select all

function Auto_Heal_Bandages() 
{
var Timer, Msg = "You put the bloody bandage|failed";
while (!Player.Dead() && Orion.Count("bandage"))
	{
	if (Player.Hits() < Player.MaxHits() - 1) 
		{
		Orion.ClearJournal(Msg);
		Orion.BandageSelf();
		Timer = Orion.Now() + 5000;
		while (!Orion.InJournal(Msg) && Orion.Now() < Timer) 
			{
			Orion.Wait(5000);
			}
		}
	else 
		{
		Orion.Wait(5000);
		}
	}
}
Explanation: Script will work while your chracter is alive and you have bandeges in backpack.
If your HP drops below MaxHP-1 you start healing. Healing check is done every 5 sec.
davethemage
Grandmaster Scribe
Posts: 89
Joined: Sun Aug 09, 2020 2:13 pm

Re: Trying out [Orionuo]

Post by davethemage »

Been trying out Orionuo on my windows 10 partition and love how smooth it is. Of course it's a bit of a new learning curve and setting up macro's and functions (big thanks to those that have posted some. It's been a big help in getting me up and going)

Does anyone use this in the Linux environment (I have mint on my other partition) ? If so does it need wine, or virtual machine to run, or does it work right off Linux?

so after using this for 2 or so weeks... i can't see me ever going back to steam/easyuo again. it is quite literally the best, and easiest of bother worldz. If anyone needs help in getting it up an running, or how things work you can PM edwin roach and I would be happy to help you all.
IGN: Edwin Roach
crocetti
Passer by
Posts: 2
Joined: Thu Feb 15, 2018 4:56 am

Re: Trying out [Orionuo]

Post by crocetti »

Maybe these could be useful for someone.

Code: Select all

function trainMeditation() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var skillValue = Orion.SkillValue('meditation', 'real');

    while (Orion.SkillValue('meditation', 'real') < skillValueGoal) {
		Orion.DragItem('0x4892A324');
		Orion.Wait('300');
		Orion.EquipDraggedItem();
		Orion.Wait('300');
		Orion.Wait(5000);
    }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainBushido() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var SkillValue = Orion.SkillValue('bushido', 'real');

    while (Orion.SkillValue('bushido', 'real') < skillValueGoal) {
			if (SkillValue < 600)
					var spell = 'Confidence';
			else if (SkillValue < 750)
					var spell = 'Counter Attack';
			else
					var spell = 'Evasion';

			
			while (Player.Mana() < 10) {
            var meditating = false;
           while (!meditating) {
                Orion.ClearJournal();
                Orion.UseSkill('meditation');
                Orion.Wait(250);
               if (Orion.InJournal('You cannot focus your concentration|You stop meditating'))
                   Orion.Wait(useSkillDelay);
               else
                    var meditating = true;
            }
            Orion.WaitJournal('You are at peace', 0, Orion.Now() + 60000);
        }
        
        Orion.Cast(spell, target);
        Orion.Wait(castSpellDelay);

        skillValue = Orion.SkillValue('bushido', 'real');
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainMusicianship() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var skillValue = Orion.SkillValue('musicianship', 'real');

    while (Orion.SkillValue('musicianship', 'real') < skillValueGoal) {
			//Instrument : drums. For other instrument change UseType('',''(
			Orion.UseType('0x0E9C', '0xFFFF');
			Orion.Wait(5000);
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainMagery() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 7250;
    var skillValue = Orion.SkillValue('magery', 'real');

    circuitBreaker(skillValue);

    while (skillValue < skillValueGoal) {
        if (skillValue < 450)
        		var spell = 'Bless';
        else if (skillValue < 550)
            var spell = 'Mana Drain';
        else if (skillValue < 700)
            var spell = 'Invisibility';
        else
            var spell = 'Mana Vampire';
        while (Player.Mana() < 30) {
            var meditating = false;
            while (!meditating) {
                Orion.ClearJournal();
                Orion.UseSkill('meditation');
                Orion.Wait(250);
                if (Orion.InJournal('You cannot focus your concentration|You stop meditating'))
                    Orion.Wait(useSkillDelay);
                else
                    var meditating = true;
            }
            Orion.WaitJournal('You are at peace', 10, Orion.Now() + 60000);
        }
        Orion.Cast(spell, target);
        Orion.Wait(castSpellDelay);

        skillValue = Orion.SkillValue('magery', 'real');
    }
}

function circuitBreaker(skillValue) {
    if (skillValue < 30) {
        Orion.Print('[Error] trainMagery: Train skill to 45.0 before proceeding.');
        Orion.Terminate('trainMagery');
    }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainChivalry() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var skillValue = Orion.SkillValue('chivalry', 'real');
    var delay = 500; // server-imposed delay between actions
    var ping = 100; // round-trip latency between client and server
 		var weapon = Orion.FindType('0x0F52', '0xFFFF', 'backpack', 'item|fast|recurse')
    circuitBreaker(skillValue);
   
    if (weapon) {
        Orion.Wait(delay + ping);
        Orion.Equip(weapon);
    }		
    while (skillValue < skillValueGoal) {
        if (skillValue < 400)
        		var spell = 'Consecrate Weapon';
        else if (skillValue < 550)
            var spell = 'Divine Fury';
        else if (skillValue < 700)
            var spell = 'Enemy of One';
        else
            var spell = '	Holy Light';

        while (Player.Mana() < 10) {
            var meditating = false;
            while (!meditating) {
                Orion.ClearJournal();
                Orion.UseSkill('meditation');
                Orion.Wait(250);
                if (Orion.InJournal('You cannot focus your concentration|You stop meditating'))
                    Orion.Wait(useSkillDelay);
                else
                    var meditating = true;
            }
            Orion.WaitJournal('You are at peace', 0, Orion.Now() + 60000);
	var findItems0 = Orion.FindType('0x0F52', '0xFFFF', 'backpack', 'item|fast|recurse');
	if (findItems0.length())
	{
		Orion.DragItem(findItems0[0], 1);
		Orion.Wait('300');
	}
	Orion.EquipDraggedItem();
	Orion.Wait('300');
        }
        Orion.Cast(spell, target);
        Orion.Wait(castSpellDelay);

        skillValue = Orion.SkillValue('magery', 'real');
    }
}

function circuitBreaker(skillValue) {
    if (skillValue < 30) {
        Orion.Print('[Error] trainChivalry: Train skill to 30.0 before proceeding.');
        Orion.Terminate('trainMagery');
    }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainNecromancy() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var skillValue = Orion.SkillValue('necromancy', 'real');

    while (skillValue < skillValueGoal) {
       	if (skillValue < 600)
        		var spell = 'Wraith Form';
        else if (skillValue < 800)
            var spell = 'Horrific Beastn';
        else (skillValue < 1000)
            var spell = 'Lich Form';
            
        while (Player.Mana() < 10) {
            var meditating = false;
            while (!meditating) {
                Orion.ClearJournal();
                Orion.UseSkill('meditation');
                Orion.Wait(250);
                if (Orion.InJournal('You cannot focus your concentration|You stop meditating'))
                    Orion.Wait(useSkillDelay);
                else
                    var meditating = true;
            }
            Orion.WaitJournal('You are at peace', 0, Orion.Now() + 60000);
        }
        Orion.Cast(spell, target);
        Orion.Wait(castSpellDelay);

        skillValue = Orion.SkillValue('necromancy', 'real');
    }
}

function circuitBreaker(skillValue) {
    if (skillValue < 30) {
        Orion.Print('[Error] trainNecromancy: Train skill to 30.0 before proceeding.');
        Orion.Terminate('trainMagery');
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainHiding() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var skillValue = Orion.SkillValue('hiding', 'real');

    while (Orion.SkillValue('hiding', 'real') < skillValueGoal) {
			Orion.UseSkill('21');
			Orion.Wait(5000);
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainDetectingHidden() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var skillValue = Orion.SkillValue('detecting hidden', 'real');

    while (Orion.SkillValue('detecting hidden', 'real') < skillValueGoal) {
			Orion.UseSkill('14');
			if (Orion.WaitForTarget(1000))
			Orion.TargetObject('self');
			Orion.Wait(5000);
    }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainSpiritSpeak() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var skillValue = Orion.SkillValue('spirit speak', 'real');

    while (Orion.SkillValue('spirit speak', 'real') < skillValueGoal) {
				Orion.UseSkill('32');
				Orion.Wait(5000);
    }   
  }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  
function trainStealth() {
    const skillValueGoal = 1000;
    const useSkillDelay = 10250;

    while (Orion.SkillValue('hiding', 'real') < 800) {
        Orion.UseSkill('hiding');
        Orion.Wait(useSkillDelay);
    }

    while (Orion.SkillValue('stealth', 'real') < skillValueGoal) {
        if (!Player.Hidden()) {
            Orion.UseSkill('hiding');
            Orion.Wait(useSkillDelay);
        }
        Orion.UseSkill('stealth');
        Orion.Wait(useSkillDelay);
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function trainHealing() {
    const castSpellDelay = 3000;
    const skillValueGoal = 1000;
    const target = Player.Serial();
    const useSkillDelay = 10250;
    var skillValue = Orion.SkillValue('healing', 'real');

    while (Orion.SkillValue('healing', 'real') < skillValueGoal) {
// modify Dragitem for some str item.
		Orion.DragItem('0x42DE13E8');
		Orion.Wait('500');
		Orion.EquipDraggedItem();
		Orion.Wait('500');
		Orion.Say('[bandself');
		Orion.Wait('1000');
		if (Player.Hits() < Player.MaxHits()) {
		Orion.Wait('10000');
		}
		 else if (Orion.WaitJournal('You finish',0 , 0, ['my|sys'], ['0'], ['0xFFFF']))
  		{
					Orion.Wait('1000');
  		}

		Orion.ClearJournal();
    }   
  }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Post Reply