Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Papang-

Pages: [1]
1
Stealth scripts / Re: Magery Trainer
« on: December 27, 2017, 12:03:07 PM »
me.skills.Meditation.use() should work.

 :D

2
Stealth scripts / [v8.6.4 C# 0.9.7] Papang- CastingTrainer
« on: December 27, 2017, 11:34:11 AM »
After a first week full of C # and Stealth discoveries, I share my first contribution to the community.
I want to thank Crome969 for his invaluable help and all the team of "Stealth".

This is a trainer for Magery, Chivalry, Necro and Mysticism skills (maybe sooner).
You do not need to equip a weapon



I wanted to create a console application, so I added a menu from the console.

I hope that this project will help you to train your characters,
All ideas for innovation and feedback are welcome.

Code: [Select]
using System;
using StealthAPI;
using ScriptSDK.Mobiles;
using ScriptSDK.Targets;

namespace PapangTrainer
{
     class Program
     {
        public static PlayerMobile Me = PlayerMobile.GetPlayer();
        public static bool IsBusy = false;
       
        public static void Main(string[] args)
        {
            var table = new[]
{                  @" ///////////////////////////////////////////////////",
                   @" ██████╗  █████╗ ██████╗  █████╗ ███╗   ██╗ ██████╗ ",
                   @" ██╔══██╗██╔══██╗██╔══██╗██╔══██╗████╗  ██║██╔════╝ ",
                   @" ██████╔╝███████║██████╔╝███████║██╔██╗ ██║██║  ███╗",
                   @" ██╔═══╝ ██╔══██║██╔═══╝ ██╔══██║██║╚██╗██║██║   ██║",
                   @" ██║     ██║  ██║██║     ██║  ██║██║ ╚████║╚██████╔╝",
                   @" ╚═╝     ╚═╝  ╚═╝╚═╝     ╚═╝  ╚═╝╚═╝  ╚═══╝ ╚═════╝ ",
                   @" Casting Trainer EA Shards               27/12/2017 ",
                   @" Version 0.1////////////////////////////////////////",
                   @" Magery / Chivalry / Necromancy / Mysticism ////////",
                   @" Your character need FC2 / FCR 6 ///////////////////",
                   @" LMC 40 and a maximum of MR ////////////////////////",
                   @" //////////////////////////Papang- @www.scriptuo.com",
            };
            Console.WriteLine("\n\n");
            foreach (string PapangDesign in table)
                Console.WriteLine(PapangDesign);
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Hey " + Me.Name + " , what we train today ?");
            Console.ForegroundColor = ConsoleColor.DarkYellow;
            Console.WriteLine("Press [1] for Magery (Buy skill 40)");
            Console.WriteLine("Press [2] for Chivalry (Buy skill 30)");
            Console.WriteLine("Press [3] for Necromancy (Buy skill 40)");
            Console.WriteLine("Press [4] for Mysticism (Buy skill 40)");

            string SelectedOption = Console.ReadLine();

            var Target = new EntityTarget(1000);

            while (Me.Client.Connected) {
                switch (SelectedOption)
            {
                case "1":
                    IsBusy = true;
                    while (IsBusy)
                    {
                        var _MageMax = Me.Skills.Magery.Cap;
                        var _CurMage = Me.Skills.Magery.Value;

                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.Write("\r " + "[magery @ " + _CurMage + "/" + _MageMax + "]");

                        if (Me.Mana < 25)
                           Medit();
                       
                        if (_CurMage >= 0 && _CurMage < 34)
                        {
                            Me.Cast("Bless");
                            Stealth.Client.Wait(850);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 34 && _CurMage < 45)
                        {
                            Me.Cast("Greater Heal");
                            Me.Targeting.WaitForTarget(1000);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 45 && _CurMage < 67)
                        {
                            Me.Cast("Dispel Field");
                            Me.Targeting.WaitForTarget(1250);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 67 && _CurMage < 82)
                        {
                            Me.Cast("Invisibility");
                            Me.Targeting.WaitForTarget(1500);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 82 && _CurMage < 95)
                        {
                            Me.Cast("Mass Dispel");
                            Me.Targeting.WaitForTarget(2000);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 95 && _CurMage < 120)
                            {
                                if (Me.Mana < 40)
                                    Medit();
                                Me.Cast("Earthquake");
                                Stealth.Client.Wait(1500);
                            } 
                        else
                        {
                            Console.WriteLine("Magery Cap Raised ! Congratulation.");
                            IsBusy = false;
                        }
                    }
                    break;
                case "2":
                    IsBusy = true;
                    while (IsBusy)
                    {
                        var _ChivMax = Me.Skills.Chivalry.Cap;
                        var _CurChiv = Me.Skills.Chivalry.Value;

                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.Write("\r " + "[chivalry @ " + _CurChiv + "/" + _ChivMax + "]");

                        if (Me.Mana < 25)
                            Medit();

                        if (_CurChiv >= 0 && _CurChiv < 25 || _CurChiv >= 41 && _CurChiv < 51)
                        {
                            Me.Cast("Dispel Evil");
                            Stealth.Client.Wait(100);
                        }
                        else if (_CurChiv >= 25 && _CurChiv < 41)
                        {
                            Me.Cast("Remove Curse");
                            Me.Targeting.WaitForTarget(1000);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurChiv >= 51 && _CurChiv < 70)
                        {
                            Me.Cast("Enemy of One");
                            Stealth.Client.Wait(650);
                        }
                        else if (_CurChiv >= 70 && _CurChiv < 90)
                        {
                            Me.Cast("Holy Light");
                            Stealth.Client.Wait(1750);
                        }
                        else if (_CurChiv >= 90 && _CurChiv < 120)
                        {
                            Me.Cast("Noble Sacrifice");
                            Stealth.Client.Wait(1750);
                        }
                        else
                        {
                            Console.WriteLine("Chivalry Cap Raised ! Congratulation.");
                            IsBusy = false;
                        }
                    }
                    break;
                case "3":
                    IsBusy = true;
                    while (IsBusy)
                    {
                        var _NecroMax = Me.Skills.Necromancy.Cap;
                        var _CurNecro = Me.Skills.Necromancy.Value;

                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.Write("\r " + "[necromancy @ " + _CurNecro + "/" + _NecroMax + "]");

                        if (Me.Mana < 25)
                            Medit();

                        if (_CurNecro >= 40 && _CurNecro < 50)
                        {
                            Me.Cast("Wraith Form");
                            Stealth.Client.Wait(1250);
                        }
                        else if (_CurNecro >= 50 && _CurNecro < 70)
                        {
                            Me.Cast("Horrific Beast");
                            Stealth.Client.Wait(1500);
                        }
                        else if (_CurNecro >= 70 && _CurNecro < 90)
                        {
                            Me.Cast("Wither");
                            Stealth.Client.Wait(1000);
                        }
                        else if (_CurNecro >= 90 && _CurNecro < 100)
                        {
                            Me.Cast("Lich Form");
                            Stealth.Client.Wait(850);
                        }
                        else if (_CurNecro >= 100 && _CurNecro < 120)
                        {
                            Me.Cast("Vampiric Embrace");
                            Stealth.Client.Wait(850);
                        }
                        else
                        {
                            Console.WriteLine("Necromancy Cap Raised ! Congratulation.");
                            IsBusy = false;
                        }
                    }
                    break;
                case "4":
                    IsBusy = true;
                    while (IsBusy)
                    {
                        var _MystMax = Me.Skills.Mysticism.Cap;
                        var _CurMyst = Me.Skills.Mysticism.Value;

                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.Write("\r " + "[mysticism @ " + _CurMyst + "/" + _MystMax + "]");

                        if (Me.Mana < 25)
                            Medit();

                        if (_CurMyst >= 40 && _CurMyst < 65)
                        {
                            Me.Cast("Stone Form");
                            Stealth.Client.Wait(1000);
                        }
                        else if (_CurMyst >= 65 && _CurMyst < 85)
                        {
                            Me.Cast("Cleansing Winds");
                            Me.Targeting.WaitForTarget(1800);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMyst >= 85 && _CurMyst < 95)
                        {
                            if (Me.Mana < 40)
                                Medit();
                            Me.Cast("Hail Storm");
                            Me.Targeting.WaitForTarget(2000);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMyst >= 95 && _CurMyst < 120)
                        {
                            if (Me.Mana < 40)
                                Medit();
                            Me.Cast("Nether Cyclone");
                            Me.Targeting.WaitForTarget(2000);
                            Target.Action(Target.Entity);
                            }
                        else
                        {
                            Console.WriteLine("Mysticism Cap Raised ! Congratulation.");
                            IsBusy = false;
                        }
                    }
                    break;
                default:
            break;
            }
        }
        }
        public static void Medit()
        {
            do {
                Console.ForegroundColor = ConsoleColor.DarkCyan;
                Console.Write("\r" + "Meditating ... MWaah !");
                Stealth.Client.CancelTarget();
                Me.Skills.Meditation.Use();
                Stealth.Client.Wait(500);
            } while (Me.Mana < Me.MaxMana);
        }
    }
}

3
Stealth scripts / Re: [V6,ScriptSDK] Egg Farmer - v2.0.0.3 (stable)
« on: December 22, 2017, 03:43:55 PM »
The project that unisharp offered us is gold, It shows us how to work with Paths.

With a little more time (for me) next week, I really want to create a "Champ Checker "(Move character to all champions spawn and give the state).
I think there is already enough information to build this. it just remains the part for "Recall" and "Write on an interface" to gather the information.

4
Stealth scripts / Re: Magery Trainer
« on: December 22, 2017, 04:12:49 AM »
Crome969,
I'm using the latest ScriptSDK from the git and compiledit.
About PlayerMobile.Skills.Magery.Value  and PlayerMobile.Skills.Magery.Cap,  i switched to Me.Skills.Magery.Cap & Value and it's worked as intented :)

Maybe the crash is due of some corruptions with "UO files", maybe i must take a look or build an environment only dedicated for Ultima Online coding. I will work on this next week-end, have to prepair Xmas with family :)

By the way, Mery X-mas to the team hehe.

Post Merge: December 22, 2017, 04:51:01 AM
Another question, for medit i have to use Me.UseSkill(ScriptSDK.Data.SkillName.Meditation) instead Me.UseSkill("Meditation").
There is an missing info on SDK or i did something wrong?

5
Stealth scripts / Re: Magery Trainer
« on: December 21, 2017, 02:11:21 PM »
yes, i can reoppen it just after without bug and see the work doing.

6
Stealth scripts / Magery Trainer
« on: December 21, 2017, 11:33:52 AM »
Hello again   8)

After a few hours of work (looking for tutorials), I finally managed to make a little mage trainer for EA Shards.
after a few tests on "Test Center", it works!

Only a little problem...
If i run the program from Visual Studio 2017 I have no crash.
But If i open the build release with Admin right, it will insta crash the Client.exe but continue working on stealth.

Code: [Select]
using System;
using StealthAPI;
using ScriptSDK.Mobiles;
using ScriptSDK.Targets;


namespace PapangTrainer
{
    class Program
    {
        public static PlayerMobile Me = PlayerMobile.GetPlayer();
        public static bool IsBusy = false;

        public static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.DarkYellow;
            Console.WriteLine("Press [1] for Magery");
            string Select = Console.ReadLine();
           
            switch (Select)
            {
                case "1":
                    IsBusy = true;
                    while (IsBusy)
                    {
                        var _MageMax = Stealth.Client.GetSkillCap(Skill.Magery);
                        var _CurMage = Stealth.Client.GetSkillValue(Skill.Magery);
                        var Target = new EntityTarget(1000);

                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.Write("\r " + "[magery @ " + _CurMage + "/" + _MageMax + "]");

                        if (Me.Mana < 25)
                            Medit();

                        if (_CurMage >= 0 && _CurMage < 34)
                        {
                            Me.Cast("Bless");
                            Stealth.Client.Wait(850);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 34 && _CurMage < 45)
                        {
                            Me.Cast("Greater Heal");
                            Me.Targeting.WaitForTarget(1000);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 45 && _CurMage < 67)
                        {
                            Me.Cast("Dispel Field");
                            Me.Targeting.WaitForTarget(1000);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 67 && _CurMage < 82)
                        {
                            Me.Cast("Invisibility");
                            Me.Targeting.WaitForTarget(1500);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 82 && _CurMage < 95)
                        {
                            Me.Cast("Mass Dispel");
                            Me.Targeting.WaitForTarget(2000);
                            Target.Action(Target.Entity);
                        }
                        else if (_CurMage >= 95 && _CurMage < 120)
                        {
                            Me.Cast("Earthquake");
                            Stealth.Client.Wait(1500);
                        }
                        else
                        {
                            Console.WriteLine("Magery Cap Raised ! Congratulation.");
                            IsBusy = false;
                        }
                    }
                    break;
            }
        }
        public static void Medit()
        {
            do
            {
                Console.ForegroundColor = ConsoleColor.DarkCyan;
                Console.Write("\r" + "Meditating ... MWaah !");
                Stealth.Client.CancelTarget();
                Stealth.Client.UseSkill(Skill.Meditation);
                Stealth.Client.Wait(500);
            } while (Me.Mana < Me.MaxMana);
        }
    }
}

Post Merge: December 21, 2017, 11:46:32 AM
If you are shocked by the code structure, all tips will be welcome, I have never done anything like this before.

My goal is to learn and share, each advice received will allow me to evolve and share my achievements on the forum.

7
Stealth Client / Equp weapon
« on: December 21, 2017, 05:46:58 AM »
After a little analysis of the ScriptSDK, I am not sure how to open a cursor, target the object and then equip the target object.

I suppose it is obvious to create a "List", invoke a virtual cursor, retrieve the ID of the target object and put it in the "List", then find the function that allows to equip the object of the list by indicating its "Serial".

If anyone could enlighten me or give me a sample on how the procedure works?  I will be really grateful.

Post Merge: December 22, 2017, 02:47:32 PM
My idea was :

Quote
private static PlayerMobile Me = PlayerMobile.GetPlayer();
var weap = Me.Targeting.VCursorToObjectID();
Me.Equip(0x01, weap);

is VCursorToObjectID not the good option ? 

Post Merge: December 22, 2017, 02:52:17 PM
Edited the first post




8
Stealth Client / Re: Questions from a noob
« on: December 21, 2017, 05:36:55 AM »
Crome969, Thank you for answer.

After thinking well, I'll go to C #.
Why ? I think C # is one of  largest community across the internet, so I think if I have any basic issues or questions that are not related to the ScriptSDK.dll I can ask for help somewhere else.


9
Stealth Client / Questions from a noob
« on: December 20, 2017, 05:45:46 PM »
I just visited a good part of the forum and I just discovered that there was even more exciting than "Easyuo". Stealth!

So if I understand correctly, it is possible to use this tool without have to open the client of the game? That's wonderful ! it means that we can use it on an old pc and run lots of accounts at the same time, it's whew!

Now, I have some questions if I do not abuse,
- Do I have to learn the same language that Easyuo uses?
- I saw that he accepted other programming languages ​​Python, C # & Pascal. Am I obliged to learn all three, or would only one language suffice? If so, which would be the most suitable for a novice like me?
- Is it possible to learn to code by reading existing codes on the site or it is possible by following tutorials on the internet? (I do not know if I'll have time to read all the documentation)
- Is Stealth playable as a "UO Assistant"?
- is Stealth an finished project?

I have never programmed yet but, but I want to give a little spice to the daily of my accounts, or why not share creations of my way of thinking about the game.

I thank you for your answers.

10
New member introductions / Papang- Introduction
« on: December 19, 2017, 12:15:10 PM »
Hi,

My name is Papang and I live in Central Europe. Sorry, I do not speak English very well ..

I play Ultima Online (OSI Shards) for 4 years, I do a lot of treasure hunt, farm Boss (Roof, Exodus, Champs ...) with my Tamer and my Sampire.
Recently, I was looking for a third-party software to perform tasks on the game and I discovered Easyuo who then redirected me to this site.
After a first analysis, I would like to thank the entire team for the work done because it is simply awsome. The amount of Scripts that you propose, I think I would have for several years of playing :)

I live with my wife and my 2 children, so my time is pretty tight. That does not stop me from doing my daily farm.
I'm really bad for programming/scripting,  but I'm ready to learn and contribute or help the people .

Finally, i thank you for accepting me in this community.
Best Regards.
Papang-

Pages: [1]