Trening Magery a Necromancery

Skripty týkající se tohoto externího programu

Moderátor: Caleb

Odpovědět
Koryn
Misspelling Chicken
Misspelling Chicken
Příspěvky: 6
Registrován: 26 dub 2012 19:41

Trening Magery a Necromancery

Příspěvek od Koryn »

Můj prvni překopaný script od smoceho snad mu to nebude vadit trochu sem upravil jeho script na trening magery a přidal par věci. Zatím s C# jen žačínám tak kdyžtak omluvte případné nedostatky.

Popis: přimo ve scriptu si můžete nastavit jakym způsoben se při tréningu bude doplňovat mana a to u každé verze treningu zvlášt.
1 - Total Mana refresh potion.(když neni total mana refres kad ani prazdna lahev začne meditovat)
2 - Když dojde mana vypije jeden mana refresh a pokračuje v kastění zas dojde mana zas vypije atd.(když neni mana refres kad ani prazdna lahev začne meditovat)
3 - Když dojde mana začne meditovat.
4 - Když dojde mana vypije jednu mana refresh potku a zbytek domedituje.

Spouštění:
,exec train_clumsy - spusti trening Necromancery
,exec train_svetlo - spusti trening Magery
,exec train_sipka - spusti trening Magery, zároven je potřeba u sebe mit bandáže

Kód: Vybrat vše


 //////////////////////////////////////////////////////////////////////////////
 //
 //     www.ultima.smoce.net
 //     Name: Train magery - svetlo,sipka , necromancery - clumsy
 //     Popis: 3 scripty pro trening Magery a Necromancery původně autor smoce
 //            jen sem to trochu upravil a doplnil (Koryn)
 //     Verze Phoenixu: 0.7.x
 //  
 //////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;
using System.Linq;
using Phoenix.Communication;
using Phoenix.Runtime;
using Phoenix.Runtime.Reflection;

namespace Phoenix.Scriptq
{
    public class TrainMN
    {
        #pragma warning disable 162
        //Nasteveni zpusobu obnovy many//----------------------------------------------------------------------------
        public const int methoden = 4;//Necro - Clumsy: 1-TMR;2-MR;3-Meditace;4-Vypije manapotku zbytek domedituje    
        public const int methode = 3;//Magery - Svetlo: 1-TMR;2-MR;3-Meditace;4-Vypije manapotku zbytek domedituje 
        public const int methodes = 4;//Magery - Sipka: 1-TMR;2-MR;3-Meditace;4-Vypije manapotku zbytek domedituje 
        //-----------------------------------------------------------------------------------------------------------
        public const ushort TMR_MR_KAD = 0x1843;
        public const ushort TMR_MR_pot = 0x0F09;
        public const ushort TMR_barva = 0x0003;
        public const ushort MR_barva = 0x0005;
        public const ushort CL_svitek = 0x0E35; 
        public const ushort CL_barva = 0x0079; 
        public const ushort jedenReg = 0x0F8B; 
        public const ushort druhyReg = 0x0F8F; 
       
        public static void pitimr(ushort ManaColor)
        {
            ushort MMR_barva = ManaColor;

            if (World.Player.Backpack.AllItems.Count(TMR_MR_pot, MMR_barva) > 0)
                {
                    UO.UseType(TMR_MR_pot, MMR_barva);
                    UO.Print(0x0435, "Vypil(a) si Mana refresh potion.");
                }
                else
                {
                    if (World.Player.Backpack.AllItems.Count(TMR_MR_KAD, MMR_barva) > 0)
                    {
                        if ((World.Player.Backpack.AllItems.Count(0x0F0E, 0x0000) > 0) || (World.Player.Backpack.AllItems.Count(0x0F09, 0x0000) > 0))
                        {
                            UO.UseType(TMR_MR_KAD, MMR_barva);
                            if (World.Player.Backpack.AllItems.Count(0x0F0E, 0x0000) == 0)
                            {
                                UO.WaitTargetType(TMR_MR_pot, 0x0000);
                                UO.Wait(500);
                            }
                            else
                            {
                                UO.WaitTargetType(0x0F0E, 0x0000);
                                UO.Wait(500);
                            }
                            UO.UseType(TMR_MR_pot, MMR_barva);
                            UO.Print(0x0435, "Vypil(a) si Mana refresh potion.");
                            UO.Wait(500);
                        }
                        else
                        {
                            UO.Print("Nemas prazdnou lahev !");
                            UO.Wait(3000);
                            meditka();
                            return;
                        }
                    }
                    else
                    {
                        UO.Print("Nemas kad s Mana refresh!");
                        UO.Wait(3000);
                        meditka();
                        return;
                    }
                }
       
        }
//----------------------------------------------------------------------------------------
        public static void meditka()
        {
            while (World.Player.Mana < World.Player.MaxMana)
            {
                UO.UseSkill("Meditation");
                if (World.Player.Mana <= 100)
                {
                    UO.Print("Medituji Mana: " + World.Player.Mana + " / " + World.Player.MaxMana);
                }
                else
                {
                    UO.Print(0x00B3, "Medituji Mana: " + World.Player.Mana + " / " + World.Player.MaxMana);
                }
                UO.Wait(3500);
            }
        }
//--------------------------------------------------------------------------------------

        [Executable]
        public static void train_clumsy()
        {
            
            UO.PrintInformation("Script Train Necromancery");
        clumsy:

            if (UO.Count(jedenReg) == 0 || (UO.Count(druhyReg) == 0))
            {
                UO.Print("Dosli regy !");
                return;
            }
            if (World.Player.Backpack.AllItems.Count(CL_svitek, CL_barva) == 0)
            {
               UO.PrintError("Dosly Clumsy svitky, pouzij knihu k doplneni svitku !!!");
               return;
            }
            if (World.Player.Mana >= 20)
            {

                if (World.Player.Backpack.AllItems.Count(CL_svitek, CL_barva) > 15)
                {
                    UO.Print(0x00B3, "Zbyva {0} Clumsy svitku !", World.Player.Backpack.AllItems.Count(CL_svitek, CL_barva));
                }
                else
                {
                    UO.Print("Zbyva {0} Clumsy svitku !", World.Player.Backpack.AllItems.Count(CL_svitek, CL_barva));
                }
                if (World.Player.Backpack.AllItems.Count(jedenReg) > 15)
                {
                    UO.Print(0x00B3, "Zbyva {0} Pumice !", World.Player.Backpack.AllItems.Count(jedenReg));
                }
                else
                {
                    UO.Print("Zbyva {0} Pumice !", World.Player.Backpack.AllItems.Count(jedenReg));
                }
                if (World.Player.Backpack.AllItems.Count(druhyReg) > 15)
                {
                    UO.Print(0x00B3, "Zbyva {0} Volcanic Ash !", World.Player.Backpack.AllItems.Count(druhyReg));
                }
                else
                {
                    UO.Print("Zbyva {0} Volcanic Ash !", World.Player.Backpack.AllItems.Count(druhyReg));
                }

             
                UOItem svitek = World.Player.Backpack.AllItems.FindType(CL_svitek, CL_barva);
                UO.WaitTargetObject(Aliases.Self);
                UO.UseObject(svitek);
                UO.Wait(4000);
                goto clumsy;

            }


            if (World.Player.Mana <= 20)
            {

                switch (methoden)
                {
                    case (1):
                        pitimr(TMR_barva);
                        goto clumsy;

                    case (2):

                        pitimr(MR_barva);
                        goto clumsy;

                    case (3):


                        meditka();
                        goto clumsy;

                    case (4):

                        pitimr(MR_barva);
                        meditka();
                        goto clumsy;


                }
                goto clumsy;
            }
        }
//----------------------------------------------------------------------------------------------------------------
        [Executable]
        public static void train_svetlo()
        {

            int pocitani = 0;
            UO.PrintInformation("Script Train Magery - Svetlo");
        svetlo:
            if (UO.Count(0x0F8D, 0x0000) == 0 || UO.Count(0x0F8C, 0x0000) == 0)
            {
                UO.Print("Dosli regy !");
                return;
            }


            if (World.Player.Mana >= 20)
            {
                UO.Cast("Night Sight", Aliases.Self);
                if (World.Player.Backpack.AllItems.Count(0x0F8D) > 15)
                {
                    UO.Print(0x00B3, "Zbyva {0} Spider silk !", World.Player.Backpack.AllItems.Count(0x0F8D));
                }
                else
                {
                    UO.Print("Zbyva {0} Spider silk !", World.Player.Backpack.AllItems.Count(0x0F8D));
                }
                if (World.Player.Backpack.AllItems.Count(0x0F8C) > 15)
                {
                    UO.Print(0x00B3, "Zbyva {0} Sulfurous Ash !", World.Player.Backpack.AllItems.Count(0x0F8C));
                }
                else
                {
                    UO.Print("Zbyva {0} Sulfurous Ash !", World.Player.Backpack.AllItems.Count(0x0F8C));
                }
                pocitani++;
                UO.Wait(2000);
                goto svetlo;
            }

            if (World.Player.Mana <= 20)
            {

                switch (methode)
                {
                    case (1):

                        pitimr(TMR_barva); 
                        goto svetlo;

                    case (2):

                        pitimr(MR_barva);
                        goto svetlo;

                    case (3):

                        meditka();
                        goto svetlo;
                    
                    case (4):

                        pitimr(MR_barva);
                        meditka();
                        goto svetlo;

                }
                goto svetlo;
            }
        }

//----------------------------------------------------------------------------------------
        [Executable]
        public static void train_sipka()
        {

           
            UO.PrintInformation("Script Train Magery - Sipka");
        sipka:
            if (World.Player.Hits <= 30)
        {
            int bandage = World.Player.Backpack.AllItems.Count(0x0E21);
            
                if (bandage > 0)
                {
                    while (World.Player.Hits < World.Player.MaxHits)
                    {
                        if (bandage == 0)
                        {
                            UO.Print("Nemas bandy !!!");
                            return;
                        }

                        if (World.Player.Backpack.AllItems.Count(0x0E21) > 10)
                        {
                            UO.Print(0x00B3, "Zbyva {0} bandazi !", World.Player.Backpack.AllItems.Count(0x0E21));
                        }
                        else
                        {
                            UO.Print( "Zbyva {0} bandazi !", World.Player.Backpack.AllItems.Count(0x0E21));
                        }
                        

                        int pred = World.Player.Hits;
                        UO.WaitTargetSelf();
                        UO.UseType(0x0E21);
                        UO.Wait(4000);
                        int po = World.Player.Hits;
                        if (pred != po)
                        {
                            int vyleceno = po - pred;
                            UO.Print(0x0435, "Vylecil si +" + vyleceno);
                        }
                    }
                    
                }
                else
                {
                        UO.Print("Nemas zadne bandy !!!");
                        return;
                    
                }
        }

            if (UO.Count(0x0F7A, 0x0000) == 0 || UO.Count(0x0F88, 0x0000) == 0 /*|| UO.Count(0x0F8D, 0x0000) == 0*/)
            {
                UO.Print("Dosli regy !");
                return;
            }


            if (World.Player.Mana >= 20)
            {
                UO.Cast("Magic Arrow", Aliases.Self);
                if (World.Player.Backpack.AllItems.Count(0x0F7A) > 15)
                {
                    UO.Print(0x00B3, "Zbyva {0} Black Pearls !", World.Player.Backpack.AllItems.Count(0x0F7A));
                }
                else
                {
                    UO.Print("Zbyva {0} Black Pearls !", World.Player.Backpack.AllItems.Count(0x0F7A));
                }
                if (World.Player.Backpack.AllItems.Count(0x0F88) > 15)
                {
                    UO.Print(0x00B3, "Zbyva {0} Nightshade !", World.Player.Backpack.AllItems.Count(0x0F88));
                }
                else
                {
                    UO.Print("Zbyva {0} Nightshade !", World.Player.Backpack.AllItems.Count(0x0F88));
                }
               
                UO.Wait(2500);
                goto sipka;
            }

            if (World.Player.Mana <= 20)
            {

                switch (methodes)
                {
                    case (1):

                        pitimr(TMR_barva);
                        goto sipka;

                    case (2):

                        pitimr(MR_barva);
                        goto sipka;

                    case (3):

                        meditka();
                        goto sipka;

                    case (4):

                        pitimr(MR_barva);
                        meditka();
                        goto sipka;

                }
                goto sipka;
            }
        }

    }

}


PS: kdyby se našel nějaký problém dejte vědět.....Enyoj.
Martin
Slime Flourisher
Slime Flourisher
Příspěvky: 15
Registrován: 18 srp 2010 13:53
Kontaktovat uživatele:

Re: Trening Magery a Necromancery

Příspěvek od Martin »

chcelo by to condition - meditacia prebieha aj pocas WorldSave, a potom to hodi hlasku o lagovani servru, cize by to tam chcelo nejaky WorldSafeFinished? handler
Uživatelský avatar
Ján Páleš
Book Snake
Book Snake
Příspěvky: 92
Registrován: 16 zář 2013 18:38
Kontaktovat uživatele:

Re: Trening Magery a Necromancery

Příspěvek od Ján Páleš »

v jednom skripte som si našiel:

Kód: Vybrat vše

if (UO.InJournal("World save has been initiated"))
neviem ale ani, či sa to môže dosadiť na ktorékoľvek miesto skriptu, ani že či to bude fungovať, keďže je táto funkcia vytrhnutá z kontextu.

to už bude musieť zodpovedať niekto múdrejší ako ja. ;-)
Naposledy upravil(a) Ján Páleš dne 26 bře 2014 12:56, celkem upraveno 1 x.
moja armáda núbov zahŕňa - Ecki (vamp), Joneleth (necro), Nubik Obycajny (loladin), Astar (cleric), Katrina (craft), Silverblade (craft), Beregond (warr), Elliara (mage), Asminia (ranger). because I can... ICQ = 261129403, email = eckister@gmail.com
Uživatelský avatar
Ján Páleš
Book Snake
Book Snake
Příspěvky: 92
Registrován: 16 zář 2013 18:38
Kontaktovat uživatele:

Re: Trening Magery a Necromancery

Příspěvek od Ján Páleš »

*ahem* tak som nejako pozabudol tú najhlavnejšiu časť tej podmienky. :-D sorry!

Kód: Vybrat vše

if (UO.InJournal("World save has been initiated"))
						{
							UO.Wait(30000);
                  }
moja armáda núbov zahŕňa - Ecki (vamp), Joneleth (necro), Nubik Obycajny (loladin), Astar (cleric), Katrina (craft), Silverblade (craft), Beregond (warr), Elliara (mage), Asminia (ranger). because I can... ICQ = 261129403, email = eckister@gmail.com
Uživatelský avatar
Tommy
Paper Elemental
Paper Elemental
Příspěvky: 319
Registrován: 24 říj 2006 21:06

Re: Trening Magery a Necromancery

Příspěvek od Tommy »

Nebylo by lepsi tam dat podminku, misto pevne nastaveneho casu? :]
Neberte život tak vážně, stejně z něj nevyváznete živí.
UO - Dark Paradise - YoutubeChannel
https://www.youtube.com/channel/UCDX--rk_wDwG-gYSUyOE_FA
Uživatelský avatar
Ján Páleš
Book Snake
Book Snake
Příspěvky: 92
Registrován: 16 zář 2013 18:38
Kontaktovat uživatele:

Re: Trening Magery a Necromancery

Příspěvek od Ján Páleš »

ďakujem za skvelý skript! necro už leze. :-)

a Tommy .... však to prepíš. ;-) ja som iba dal čo mám. a navyše je to ešte aj vytrhnuté z kontextu, takže to bolo možno aj off-topic.
moja armáda núbov zahŕňa - Ecki (vamp), Joneleth (necro), Nubik Obycajny (loladin), Astar (cleric), Katrina (craft), Silverblade (craft), Beregond (warr), Elliara (mage), Asminia (ranger). because I can... ICQ = 261129403, email = eckister@gmail.com
Bobicek
Slime Flourisher
Slime Flourisher
Příspěvky: 15
Registrován: 11 srp 2016 09:16

Re: Trening Magery a Necromancery

Příspěvek od Bobicek »

Dobre ranko!
Možná to bude znít dost hloupě ale i přesto se chci zeptat.
Mám Phoenix, nějaké skripty ze smoce.net, líbí se mě některé od raziela co jsou zde na forum, nebo přímotady ten na magerku.
Má otázka zní, jak ty zkopírováne scripty vložím do nějakého souboru CS nebo tak nějak, aby byly použitelný pro Phoenix?
Aahz
Elder Letter
Elder Letter
Příspěvky: 200
Registrován: 05 zář 2015 10:38
Kontaktovat uživatele:

Re: Trening Magery a Necromancery

Příspěvek od Aahz »

Bobicek píše:Dobre ranko!
Možná to bude znít dost hloupě ale i přesto se chci zeptat.
Mám Phoenix, nějaké skripty ze smoce.net, líbí se mě některé od raziela co jsou zde na forum, nebo přímotady ten na magerku.
Má otázka zní, jak ty zkopírováne scripty vložím do nějakého souboru CS nebo tak nějak, aby byly použitelný pro Phoenix?
Obsah scriptu uložíš do souboru. Pojmenuj ho stejně jako se jmenuje třída, at pak víš kde co máš, to je řádek někde na začátku public class XXX -> XXX.cs Ten soubor nahraješ do složky scripts do phoenixu. Pokud máš phoenix spuštěný tak ještě klikneš v záložce scripts na compile, jinak se to dělá samo při startu feny. To je vše.
Advanced : nemusíš kopírovat uplně celý obsah souboru, jednotlivé scripty začínají bud [Command] a nebo [Executable] podle toho jak se pak z phoenixe spouštějí, takže jestli nechceš uplně všechny, tak můžeš ty nechtěné ze souboru smazat.
"Já po vás nechci abyste věděli, že 5*4 je 20... mi stačí... když budete vědět... že to je 'Asi' 21."
--Nejmenovaný profesor matematiky
Bobicek
Slime Flourisher
Slime Flourisher
Příspěvky: 15
Registrován: 11 srp 2016 09:16

Re: Trening Magery a Necromancery

Příspěvek od Bobicek »

Mě jde právě o to uložení do souboru, do jakého souboru? Yoko scripty jsem ukládal např do poznámkoveho bloku, tady v tom případě měbnejde docílit aby měl koncovku CS :? Díky :wink:
Uživatelský avatar
Gilraen
Dark Paradise GM
Příspěvky: 264
Registrován: 09 čer 2016 22:48

Re: Trening Magery a Necromancery

Příspěvek od Gilraen »

Bobicek píše:Mě jde právě o to uložení do souboru, do jakého souboru? Yoko scripty jsem ukládal např do poznámkoveho bloku, tady v tom případě měbnejde docílit aby měl koncovku CS :? Díky :wink:
Nový soubor si vytvoříš i v puštěném Phoenixu: v záložce Scripts klikneš pravým na libovolnou složku - add - new file - C# Class // pojmenuješ soubor, otevřeš, překopíruješ si tam script od Raziela, uložíš a v záložce Scripts klikneš na Compile.
FACEBOOK
YOUTUBE
DSC: Gilraen #0605
Bobicek
Slime Flourisher
Slime Flourisher
Příspěvky: 15
Registrován: 11 srp 2016 09:16

Re: Trening Magery a Necromancery

Příspěvek od Bobicek »

Ano tohle jsem potřeboval vědět, díky moc :wink:
Programos
Orc Writer
Orc Writer
Příspěvky: 69
Registrován: 07 dub 2016 23:43

Re: Trening Magery a Necromancery

Příspěvek od Programos »

Co vim, tak staci i do toho poznamkoveho bloku a ulozit to misto .txt s .cs ;)
Obcas prej moc kecam. Kdyztak me zastavte.
Bobicek
Slime Flourisher
Slime Flourisher
Příspěvky: 15
Registrován: 11 srp 2016 09:16

Re: Trening Magery a Necromancery

Příspěvek od Bobicek »

Čaute ja už nevím kde dělám chybu :D založím si ten soubor v jake koli slozce, pojmenoval jsem ho TrainMN, dal jsem do něj script ulozil. Dal Compile..a jak ho chci najit v prikazech tak tam neni, a navic me zmizne polovina scriptu ktere jsem tam mel. Al kdyz smauzu ten TrainMN co jsem tam daval zase se objevi ty co zmizely..?:D
Programos
Orc Writer
Orc Writer
Příspěvky: 69
Registrován: 07 dub 2016 23:43

Re: Trening Magery a Necromancery

Příspěvek od Programos »

C:\Program Files\Ultima Online\Phoenix muuuj\Scripts\TVUJSCRIPT.CS
Adaptuj na svoji scestu a sem dej skript

nezapomen ze MUSI byt pojmenovany .cs!!
Obcas prej moc kecam. Kdyztak me zastavte.
Programos
Orc Writer
Orc Writer
Příspěvky: 69
Registrován: 07 dub 2016 23:43

Re: Trening Magery a Necromancery

Příspěvek od Programos »

Pokud ti to porad nejde, tak tady:
https://ulozto.cz/!rLFtXCSye/necro-mgr-cs

Jinak, skript nedoplnuje sam svitky.
Obcas prej moc kecam. Kdyztak me zastavte.
Uživatelský avatar
Edward Cullen
Book Snake
Book Snake
Příspěvky: 112
Registrován: 02 říj 2009 09:59
Bydliště: Česká republika
Kontaktovat uživatele:

Re: Trening Magery a Necromancery

Příspěvek od Edward Cullen »

Při pití mana refů tam chybí pauzička a lehce to laguje server.
Koupimstring
Inkless
Inkless
Příspěvky: 26
Registrován: 16 pro 2018 23:23

Re: Trening Magery a Necromancery

Příspěvek od Koupimstring »

Čaute,

hned na začátek říkám že scripty a vše kolem tohoto programu je pro mě španělská vesnice.
Ale, proč něco tak jednoduchého se vždy dělá tak složitě. Všechny scripty co jsem zde našel na train magerky se šipkou sice fungují ale pro mě až závratně složitě a né moc dobře.(možná je to moje chyba, že si ho neumím nastavit). Potřebuji jednoduchý script na train mgr se šipkou a to - hází šipku, pokud není mana vypije TMR a házi znova (nedoplňuje manu do fullu) a pokud je HP např pod hranici 30 tak bandí do fullu. Co jsem zkoušel scripty tak vždy se snažil doplnit manu do fullu takže vypil TMR pak meditoval a zase pil TMR, nebo pod hranici 30 HP hodil jednu bandu a zase šipkoval..

Jak říkám je možné, že ten kdo je divný jsem tady já :D ale kdyby někdo měl zcela jednoduchý script na train mgr_šipka prosím sem s ním! :unibrow:

Děkuji
Odpovědět