Razielovy scripty

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

Moderátor: Caleb

Líbí se vám scripty ?

Ano, některé použiju.
86
82%
Ne, žádný jsem nepoužil.
10
10%
Mám svoje scripty.
9
9%
 
Celkem hlasů: 105

Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Razielovy scripty

Příspěvek od Raziel »

pro mapkáře na odemykání pokladů
,lockpick
ještě to není testlé na pokladu přímo ale to bude za chvíli :)
E: otestováno, jede to

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Lockpicking
    {
        [Command]
        public void lockpick(){
            UO.Print("Co lockovat?");
            UOItem source = World.GetItem(UIManager.TargetObject());
            UO.DeleteJournal();            
            while (!UO.InJournal("cannot be lockpicked")){
                    if (UO.InJournal("World save has been"))
                        UO.Wait(45000);
          			UO.DeleteJournal();
          			UO.UseType(0x14FB);
          			source.WaitTarget();
          			UO.Wait(500);
            }
            UO.Print("Hotovo!");
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:20, celkem upraveno 3 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

Pro lidi, kteří mají rádi tento Quest. Okecává to všechny NPC tím správným textem pro zadání dalšího ukolu-> jen přijdete k NPC a pustíte makro. Mi to pošetřilo spousty času.

,alida

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Alida
    {
        public Dictionary<String, String> jmena=new Dictionary<String, String>();
        public Alida()
        {
            jmena.Add("Caleb","uslysi");
            jmena.Add("Darnell","vydelat");
            jmena.Add("Eli","pomoct");
            jmena.Add("David","protahnout");
            jmena.Add("Alida","pracicku");
            jmena.Add("Velitel Strazi","praci");jmena.Add("Franta","sveta");
            jmena.Add("Kasen","potrebujes");jmena.Add("Lear","dojem");
            jmena.Add("Narmada","neco");jmena.Add("Bruce","zahrajem");
        }
        
        [Command]
        public void alida()
        {
            foreach (UOCharacter character in World.Characters) {
                if (jmena.ContainsKey(character.Name)) {
                
                    UO.Say(character.Name+" "+jmena[character.Name]);
                    UO.Say(character.Name+" hi");
                    if (character.Name.Equals("Alida")) {
                        UO.Say(character.Name+" pridat");
                    }
                }
            }
        }
    }
}
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

psani svitků
,psani kruh spell
kruh 1-8 spell s podtržítkama např ,psani 3 wall_of_stone

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Inscript
    {
        //spell se píše s podtržítkama
        [Command]
        public void psani(String level, String spell)
        {
            int pokusu=0, uspesne=0;
            UOPlayer player=World.Player;
            spell=spell.Replace("_", " ");
            UO.Print(spell);
            DateTime casposl=DateTime.Now;
            casposl=casposl.AddMinutes(-1);
            
            UO.Print("Vyber bagl kde mas blank svitky.");
            UOItem baglsvitky=new UOItem(UIManager.TargetObject());
            UO.Print("Vyber bagl kde davat napsane.");
            UOItem baglnapsane=new UOItem(UIManager.TargetObject());
            UO.Print("Vyber napsany svitek.");
            UOItem hotovy=new UOItem(UIManager.TargetObject());
            Graphic ghotovy=hotovy.Graphic;
            UOColor chotovy=hotovy.Color;
            
            baglsvitky.Use();            
            while (!baglsvitky.Opened)
                UO.Wait(500);                   
            
            while (true) {
                if (UO.InJournal("World save has been"))
                    UO.Wait(45000);
                UO.DeleteJournal();
                
                if (UO.Count(0x0E34, 0x0000)==0) {
                   UOItem svitky=UO.FindType("svitky", 0x0E34, 0x0000, baglsvitky.Serial);
                   UO.MoveItem(svitky.Serial, 20, Aliases.Backpack); 
                   UO.Wait(500);
                }
                if (UO.Count(0x0E34, 0x0000)==0) {
                    UO.Print("Dosly svitky");
                    return;
                }
                
                if (player.Mana>30) {
                    UO.UseType(0x0E34);
                    UO.WaitMenu("Spell Circles", level, level, spell);
                    while (!UO.InJournal("fail to inscribe") &&!UO.InJournal("in your pack")&&!UO.InJournal("any spells")){
    		    	    UO.Wait(500);
    		        }
    		        pokusu++;
    		        if (UO.InJournal("in your pack")) {
    		            uspesne++;
    		            UO.MoveItem(UO.FindType("hotove", ghotovy, chotovy, Aliases.Backpack).Serial, 0, baglnapsane.Serial); 
    		        }
    		        UO.Print("Psani svitku zatim bylo: "+pokusu+" pokusu z toho uspesne: "+uspesne);
    		    }
    		    
    		    if (UO.InJournal("any spells")||player.Mana<40||(player.Mana<50 && level=="8")) {
    		        UO.DeleteJournal();
    		        while (casposl>DateTime.Now) {
    		            UO.UseSkill(StandardSkill.Meditation);
    		            UO.Wait(2500);
    		        }
    		            
    		        UO.UseType(0x0F09, 0x0003);
    		        casposl=DateTime.Now;
    		        casposl=casposl.AddSeconds(18);
    		        
    		        cepni();
    		   }
            }
        }
        
        [Executable]
        public void cepni(){
                UO.DeleteJournal();
                UO.Wait(500);
                UO.WaitTargetType(0x0F0E, 0x0000);
                UO.UseType(0x1843, 0x0003);
    		    UO.Wait(500);
    		    while (!UO.InJournal("Total Mana Refresh Potion in your")) {
    		            UO.Wait(500);
    		    }
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:20, celkem upraveno 1 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

míchání lektvarů přes mortar
,mich "zkratka" například ,mich "tmr" - seznam zkratek ve scriptu (jsou to první písmena názvu potionu nebo u jednoslovných první dvě písmena)
míchání na GM mortaru
,gmmortar

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    using System;
    using System.Collections.Generic;
    using System.Text;
    using Phoenix;
    using Phoenix.WorldData;
    public class Alchemy
    {
        public class Potion
        {
            public string Zkratka { get; set; }
            public string Menu { get; set; }
            public Graphic Graphic { get; set; }
            public UOColor Color { get; set; }
            public Graphic KegGraphic { get; set; }
            public UOColor KegColor { get; set; }

            public Potion(string z, string a, Graphic g, UOColor c, Graphic kg, UOColor kc)
            {
                Zkratka = z;
                Menu = a;
                Graphic = g;
                Color = c;
                KegGraphic = kg;
                KegColor = kc;
            }
        }
        private List<Potion> seznam = new List<Potion>();

        public Alchemy()
        {
            seznam.Add(new Potion("tmr", "Total Mana Refresh", 0x0F09, 0x0003, 0x1843, 0x003));
            seznam.Add(new Potion("mr", "Mana Refresh Potion", 0x0F09, 0x0005, 0x1843, 0x005));
            seznam.Add(new Potion("gs", "Greater Strength", 0x0F09, 0x0000, 0x1843, 0x0481));
            seznam.Add(new Potion("gh", "Greater Heal", 0x0F0C, 0x0000, 0x1843, 0x08A7));
            seznam.Add(new Potion("gc", "Greater Cure", 0x0F07, 0x0000, 0x1843, 0x0842));
            seznam.Add(new Potion("tr", "Total Refresh", 0x0F0B, 0x0000, 0x1843, 0x014D));
            seznam.Add(new Potion("sh", "Shrink", 0x0F09, 0x045E, 0x1843, 0x0724));
            seznam.Add(new Potion("dp", "Deadly Poison", 0x0F0A, 0x0000, 0x1843, 0x08A2));
            seznam.Add(new Potion("in", "Invisibility", 0x0F09, 0x0000, 0x1843, 0x000));
            seznam.Add(new Potion("lb", "Lava Bomb", 0x0F0D, 0x00E, 0x1843, 0x00E));
            seznam.Add(new Potion("ni", "Nightsight", 0x0F06, 0x0000, 0x1843, 0x03C4));
            seznam.Add(new Potion("ga", "Greater Agility", 0x0F08, 0x0000, 0x1843, 0x00BD));
            seznam.Add(new Potion("ag", "Agility Potion", 0x0F08, 0x0000, 0x1843, 0x00BF));
            seznam.Add(new Potion("cu", "Cure Potion", 0x0F07, 0x0000, 0x1843, 0x0090));
            seznam.Add(new Potion("he", "Heal Potion", 0x0F0C, 0x0000, 0x1843, 0x08A8));
            seznam.Add(new Potion("ge", "Greater Explosion", 0x0F0D, 0x0000, 0x1843, 0x0018));
            seznam.Add(new Potion("gp", "Greater Poison", 0x0F0A, 0x0000, 0x1843, 0x08A1));
            seznam.Add(new Potion("lp", "Lesser Poison", 0x0F0A, 0x0000, 0x1843, 0x089F));
            seznam.Add(new Potion("po", "Poison Potion", 0x0F0A, 0x0000, 0x1843, 0x08A0));
            seznam.Add(new Potion("le", "Lesser Explosion Potion", 0x0F0D, 0x0000, 0x1843, 0x001A));
            seznam.Add(new Potion("ex", "Explosion Potion", 0x0F0D, 0x0000, 0x1843, 0x0019));
            seznam.Add(new Potion("ha", "Hallucination", 0x0F06, 0x0B90, 0x1843, 0x0B90));
            seznam.Add(new Potion("lh", "Lesser Heal Potion", 0x0F0C, 0x0000, 0x1843, 0x08A9));
            seznam.Add(new Potion("lc", "Lesser Cure Potion", 0x0F07, 0x0000, 0x1843, 0x0091));
            seznam.Add(new Potion("re", "Refresh Potion", 0x0F0B, 0x0000, 0x1843, 0x014E));
            seznam.Add(new Potion("st", "Strength Potion", 0x0F09, 0x0000, 0x1843, 0x0B87));
        }

        [Command]
        public void mich(string zkratka)
        {
            int pokusu = 0, povedenych = 0;
            UO.DeleteJournal();
            Potion michat = seznam.Find(x => x.Zkratka == zkratka);
            if (michat == null)
            {
                UO.Print("Nenalezen potion se zkratkou " + zkratka);
                return;
            }

            while (true)
            {
                if (UO.InJournal("World save has been"))
                    UO.Wait(45000);
                UO.DeleteJournal();

                UO.UseType(0x0E9B);
                UO.WaitMenu("Vyber typ potionu", michat.Menu);
                while (!UO.InJournal("You completed") && !UO.InJournal("You toss") && !UO.InJournal("Nemas dost") && !UO.InJournal("World save has been"))
                {
                    UO.Wait(500);
                }
                if (UO.InJournal("Nemas dost"))
                {
                    UO.Print("Dosly regy...");
                    return;
                }
                pokusu++;
                if (UO.InJournal("You completed"))
                {
                    UO.UseType(0x0E9B);
                    UO.Wait(500);
                    while (!UO.InJournal("You pour"))
                    {
                        UO.Wait(100);
                    }
                    povedenych++;
                    UO.UseType(michat.KegGraphic, michat.KegColor);
                    UO.WaitTargetType(michat.Graphic, michat.Color);
                    Journal.WaitForText("Prelil jsi lahvicku do kade");
                }
                UO.Print("Michani: " + pokusu + " pokusu z toho se michlo " + povedenych);
            }
        }

        [Command]
        public void gmmortar()
        {
            string menu = "";
            ushort graphic = 0;
            ushort color = 0x0000;
            int limit = 0;
            ushort regGraphic = 0;
            ushort colorGraphic = 0;

            UO.Print("Vyber gm mortar");
            UOItem gmmortar = World.GetItem(UIManager.TargetObject());
            UO.Print("Vyber keg kam prelivat potiony");
            UOItem keg = World.GetItem(UIManager.TargetObject());

            if (keg.Color == 0x0003) //tmr
            {
                menu = "Total Mana Refresh";
                graphic = 0x0F09;
                color = 0x0003;
                limit = 612;
                regGraphic = 0x0F87;
            }
            if (keg.Color == 0x08A7) //gh
            {
                menu = "Greater Heal";
                graphic = 0x0F0C;
                limit = 714;
                regGraphic = 0x0F85;
            }
            if (keg.Color == 0x0481) //gs
            {
                menu = "Greater Strength";
                graphic = 0x0F09;
                limit = 612;
                regGraphic = 0x0F86;
            }
            if (keg.Color == 0x014D) //tr
            {
                menu = "Total Refresh";
                graphic = 0x0F0B;
                limit = 510;
                regGraphic = 0x0F7A;
            }
            if (keg.Color == 0x0724) //shrink
            {
                menu = "Shrink";
                graphic = 0x0F09;
                color = 0x045E;
                limit = 306;
                regGraphic = 0x0F78;
            }
            if (keg.Color == 0x08A2) //deadly poison
            {
                menu = "Deadly Poison";
                graphic = 0x0F0A;
                limit = 1020;
                regGraphic = 0x0F88;
            }
            if (keg.Color == 0x000E) //Lava Bomb
            {
                menu = "Lava Bomb";
                graphic = 0x0F0D;
                color = 0x000E;
                limit = 612;
                regGraphic = 0x0F8F;
            }
            if (keg.Color == 0x00BD) //Greater Agility
            {
                menu = "Greater Agility";
                graphic = 0x0F08;
                limit = 306;
                regGraphic = 0x0F7B;
            }

            UO.DeleteJournal();
            while (!World.Player.Dead && UO.Count(regGraphic, colorGraphic) >= limit)
            {
                UO.DeleteJournal();
                gmmortar.Use();
                UO.WaitMenu("Vyber typ potionu", menu);
                Journal.WaitForText("You vylil hotovy lektvar do kade");
                UO.Wait(500);
                UO.DeleteJournal();

                foreach (UOItem item in World.Player.Backpack.AllItems)
                {
                    if (item.Graphic == 0x1843 && item.Color == keg.Color && item.Serial != keg.Serial)
                    {
                        item.Use();
                        break;
                    }
                }

                UO.WaitTargetObject(keg);
                Journal.WaitForText("Prelil jsi 50 lektvaru");
                UO.Wait(500);
                UO.DeleteJournal();
                foreach (UOItem item in World.Player.Backpack.AllItems)
                {
                    if (item.Graphic == 0x1843 && item.Color == keg.Color && item.Serial != keg.Serial)
                    {
                        item.Use();
                        break;
                    }
                }

                UO.WaitTargetType(0x0F0E);
                Journal.WaitForText("in your pack");
                UO.Wait(500);
                UO.DeleteJournal();

                keg.Use();
                UO.WaitTargetType(graphic, color);
                Journal.WaitForText("in your pack");
                UO.Wait(500);
            }
            UO.Print("Uz nemas dost regu.");
        }
    }
}
Naposledy upravil(a) Raziel dne 13 led 2018 14:37, celkem upraveno 7 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

scripty na automatické vybírání mrkvol - bere loot pytlík, skillpoint, šípy a šipky.
nyní jde spustit s příznakem jestli má řezat těla, pokud řežete nb kudlou bere zpět zbraně do ruky (automaticky hledá jestli máte nb dýku nebo draw knife)

,lootuj vybere cílovou mrtvolu
,autoharv vybírá mrtvoly kolem do vzdálenosti 1
,harving vybírá mrtvoly kolem a ještě se léčí

každý script je možné pouštět i s true nebo false jestli chcete nebo nechcete řezat těla např ,lootuj true je vybrání i s řezáním

možno upravit co má script sbírat například:

Kód: Vybrat vše

        List<Graphic> coSbiratItem = new List<Graphic> { 0x1BD1/*peri*/, 0x0E76/*loot pytel*/, 0x0F3F/*arrow*/, 0x0F3F/*sipy*/, 0x1BFB/*cro.bolt*/, 0x1F13/*SP*/, 0x1078/*dark hide*/, 0x0E21/*bandy*/, 0x0F0E/*bottle*/,0x0F8F/*Volcanic Ash*/, 0x0F7F/*Brimstone*/, 0x0F8B/*Pumice*/, 0x0F83/*Exe.Cap*/, 0x0F80/*Daemon Bones*/, 0x0F79/*Blackmoor*/, 0x0F7C/*Bloodspawn*/, 0x0F91/*Wyrm's Heart*/, 0x0F89/*Obsidian*/, 0x0F8E/*Serpent's Scales*/, 0x0F7D/*Daemon Blood*/, 0x0F7E/*Bones*/, 0x0F78/*Batwings*/, 0x0F87/*Eyes of Newt*/, 0x0E76/*a bag*/};
        List<UOColor> coSbiratColor = new List<UOColor> { blank/*peri*/, 0x049A/*loot pytel*/, blank/*arrow*/, blank/*sipy*/, blank/*cro.bolt*/, blank/*SP*/, 0x0615/*dark hide*/, blank/*bandy*/, blank/*bottle*/, blank/*Volcanic Ash*/, blank/*Brimstone*/, blank/*Pumice*/, blank/*Exe.Cap*/, blank/*Daemon Bones*/, blank/*Blackmoor*/, blank/*Bloodspawn*/, blank/*Wyrm's Heart*/, blank/*Obsidian*/, blank/*Serpent's Scales*/, blank/*Daemon Blood*/, blank/*Bones*/, blank/*Batwings*/, blank/*Eyes of Newt*/, blank/*a bag*/};

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class AfkHarv
    {
        static UOColor blank = new UOColor();
        List<Graphic> coSbiratItem = new List<Graphic> { 0x1BD1/*peri*/, 0x0E76/*loot pytel*/, 0x1BFB/*sipky*/, 0x0F3F/*sipy*/, 0x1F13/*SP*/, 0x1078/*dark hide*/};
        List<UOColor> coSbiratColor = new List<UOColor> { blank/*peri*/, 0x049A/*loot pytel*/, blank/*sipky*/, blank/*sipy*/, blank/*SP*/, 0x0615/*dark hide*/};

        [Command]
        public void lootuj()
        {
            lootuj(false);
        }

        [Command]
        public void lootuj(bool rezat)
        {
            UO.Print("Koho zlotit?");
            UOItem mrkvola = new UOItem(UIManager.TargetObject());
            vyber(mrkvola, rezat);
        }

        [Command]
        public void harving()
        {
            autoharv(false, true);
        }

        [Command]
        public void harving(bool rezat)
        {
            autoharv(rezat, true);
        }

        [Command]
        public void autoharv()
        {
            autoharv(false, false);
        }

        [Command]
        public void autoharv(bool rezat, bool lecit)
        {
            while (true)
            {
                UO.Wait(700);

                foreach (UOItem mrkvola in World.Ground)
                {
                    if (coSbiratItem.Contains(mrkvola.Graphic) && (coSbiratColor[coSbiratItem.IndexOf(mrkvola.Graphic)]==blank ||
                        coSbiratColor[coSbiratItem.IndexOf(mrkvola.Graphic)] == mrkvola.Color) )
                    {
                        mrkvola.Move(0, UO.Backpack);
                        UO.Wait(500);
                        continue;
                    }
                    if (mrkvola.Distance < 2 && mrkvola.Graphic == 0x2006 && !mrkvola.Opened)
                    {
                        vyber(mrkvola, rezat);
                    }
                }
                if (lecit && World.Player.Hits < 70)
                {
                    UO.DeleteJournal();
                    UO.BandageSelf();
                    while (!UO.InJournal("barely") && !UO.InJournal("bloody") && !UO.InJournal("mumii"))
                    {
                        UO.Wait(100);
                    }
                    UO.Warmode(!World.Player.Warmode);
                }
            }
        }

        public void vyber(UOItem mrkvola, bool rezat)
        {
            mrkvola.Use();
            while (!mrkvola.Opened)
                UO.Wait(500);
            foreach (UOItem item in mrkvola.AllItems)
            {
                if (coSbiratItem.Contains(item.Graphic) && (coSbiratColor[coSbiratItem.IndexOf(item.Graphic)] == blank ||
                    coSbiratColor[coSbiratItem.IndexOf(item.Graphic)] == item.Color))
                {
                    item.Move(0, UO.Backpack);
                    UO.Wait(500);
                }
            }
            if (rezat)
            {
                bool reequip = false;
                UOItem reequip1 = World.Player.Layers[Layer.LeftHand];
                UOItem reequip2 = World.Player.Layers[Layer.RightHand];
                if (UO.Count(0x0F51) > 0)
                {
                    reequip = true;
                    UO.UseType(0x0F51);
                }
                else
                    UO.UseType(0x10E4);
                mrkvola.WaitTarget();
                UO.Wait(500);
                vyber(mrkvola, false);
                if (reequip)
                {
                    reequip1.Equip();
                    UO.Wait(500);
                    reequip2.Equip();
                    UO.WaitTargetCancel();
                }
            }
        }
    }
}
Naposledy upravil(a) Raziel dne 24 kvě 2020 20:19, celkem upraveno 5 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

musicianship

,music
,disordance - ani nevím k čemu ten skill je, mám dojem že k ničemu, ale když už ho tu mám ...

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Music
    {
        [Command]
        public void music()
        {
            UO.Print("Na co hrat?");
            UOItem nastroj=new UOItem(UIManager.TargetObject());
            
            while (true) {
                UO.DeleteJournal();
                nastroj.Use();
                UO.Wait(2500);
                if (UO.InJournal("World save has been"))
                    UO.Wait(45000);
            }
        }
        
        [Command]
        public void disordance()
        {
            int cas=0;
            while (true) {
                UO.DeleteJournal();
                UO.UseSkill("Discordance");
                UO.WaitTargetSelf();
                UO.Wait(2100);
                if (UO.InJournal("World save has been"))
                    UO.Wait(45000);                
                cas=0;
                while ( !UO.InJournal("music")&& cas<5){
    			    UO.Wait(300);
    			    cas++;
    		    }
            }
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:22, celkem upraveno 1 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

hodí ivm svitek a hned potom bandage na vybraný cíl

,ivmBanda

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class IVMBanda
    {
        [Command]
        public void ivmBanda()
        {
            int pocet = UO.Count(0x1F52  , 0x0000);
            if (pocet == 0)
            {
                UO.Print("dosly IVM svitky");
                return;
            }

            UO.Print("Vyber cil ivm+banda");
            UOCharacter cil = new UOCharacter(UIManager.TargetObject());
            UO.Print(cil.Serial+" "+cil.Hits);
            if (!cil.Exist || cil.Hits<1)
            {
                UO.Print("spatny cil");
                return;
            }

            UO.UseType(0x1F52, 0x0000);
            cil.WaitTarget();
            UO.Wait(500);
            while (pocet == UO.Count(0x1F52  , 0x0000))
                UO.Wait(100);
            UO.UseType(0x0E21);
            cil.WaitTarget();
        }
    }
}
Naposledy upravil(a) Raziel dne 28 lis 2017 07:26, celkem upraveno 4 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

pití všech potionů s výpisem timeru kdy jde pít další
,vypij graphic color
např: vypij 0x0F0C 0x0000 je tuším gh, graphic a color zjistíte normálně přes ,info a zacílujete potion pro který chcete napsat makro

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class DungPotion
    {
        [Command]
        public void vypij(Graphic graphic, UOColor color)
        {  
            UO.DeleteJournal();
            if (UO.Count(graphic, color)>0) {
                UO.UseType(graphic, color);
                UO.Wait(100);
                while (!UO.InJournal("drink another")&&!UO.InJournal("bottle"))
                    UO.Wait(500);
                if (UO.InJournal("drink another")){
                    UO.Print("Jeste nemuzes pit");
                    return ;
                }
                UO.Print("Zbyva lahvi: "+UO.Count(graphic, color));
                UO.Wait(17000);
                UO.Print("Dalsi potion!!!");
            }
            else {
                UO.Print("Dosly potiony!!");
            }
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:22, celkem upraveno 2 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

hiduje dokud nehidnete
,hid
světlo z kádě, pokud ji nemáte tak hodí spell
,svetlo

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class NightSight
    {
        [Command]
        public void hid()
        {        
            UO.DeleteJournal();
            
            while (!UO.InJournal("hidden")) {
                UO.UseSkill("Hiding");
            
                UO.DeleteJournal();
                while (!UO.InJournal("hidden")&&!UO.InJournal("seem")){
                    UO.Wait(500);
                }
            }
        }
        
        [Command]
        public void svetlo()
        {
            if (UO.Count(0x1843 , 0x03C4)>0) {
                UO.WaitTargetSelf();
                UO.UseType(0x1843 , 0x03C4);
            }
            else {
                UO.WaitTargetSelf();
                UO.Cast("Night Sight");
            }
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:23, celkem upraveno 1 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

pro dělení lootu - sečte všechny gp a deedy co máte u sebe dokupy a podělí počtem pro vypočtení podílu pro každého
,penize počet
např ,penize 5

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Penize
    {
        [Command]
        public void penize(int pocet)
        {   
            int podil;
            int soucet = UO.Count(0x0EED, 0x0000);
 
            int pocetdeedu = UO.Count(0x14ED, 0x0658);
            if (pocetdeedu > 0)//deed 50k
            {
                soucet += pocetdeedu * 50000;
            }
            pocetdeedu = UO.Count(0x14ED, 0x0B87);
 
            if (pocetdeedu > 0)//deed 250K
            {
                soucet+= pocetdeedu * 250000;
            } 
            pocetdeedu = UO.Count(0x14ED, 0x0B7A);
 
            if (pocetdeedu > 0)//deed 1m
            {
                soucet+= pocetdeedu * 1000000;
            }
            
            UO.Print("soucet: "+soucet);
            podil=soucet/pocet;
            UO.Print("kazdemu: "+podil);
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:23, celkem upraveno 1 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

,vyberklamaky levely
vybere z jednoho báglu klamáky všech levelů které uvedete a přesune je do jiného (pro třídění podle levelů je to dobré)
např: ,vyberklamaky 124 vybere klamáky levelů 1, 2 a 4
pokud to nějakého nepřesouvá dejte echo a já ho tam dopíšu (maj hrozně barev a typů i když jde o jedno zvíře)

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class TrideniKlamaku
    {
        private List<Klamak> uroven1=new List<Klamak>();
        private List<Klamak> uroven2=new List<Klamak>();
        private List<Klamak> uroven3=new List<Klamak>();
        private List<Klamak> uroven4=new List<Klamak>();
        private List<Klamak> uroven5=new List<Klamak>();
        
        private class Klamak : IEquatable<Klamak>{
            Graphic graphic;
            UOColor color;
            public Klamak(Graphic g, UOColor c){
                graphic=g;
                color=c;
            }
            
            public bool Equals(Klamak klamak){
                if (klamak.graphic==graphic && klamak.color==color)
                    return true;
                return false;
            }
        }
        
        public TrideniKlamaku()
        {
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x083F)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0841)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x084C)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x084F)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x083A)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0852)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0836)));            
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0843)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x083E)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0846)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0847)));            
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0849)));            
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x083E)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0849)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0840)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0901)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0901)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x083F)));   
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0846)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0847)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0849)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x083D)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0848)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x083C)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0839)));            
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x083A)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0846)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x084B)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x084D)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0901)));
            uroven1.Add(new Klamak(new Graphic(0x20EE), new UOColor(0x0839)));            
            uroven1.Add(new Klamak(new Graphic(0x20D1), new UOColor(0x0000)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x0906)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x0902)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x08FE)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x0900)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x090A)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x090C)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x0908)));
            uroven1.Add(new Klamak(new Graphic(0x2123), new UOColor(0x01BB)));
            uroven1.Add(new Klamak(new Graphic(0x2123), new UOColor(0x01BB)));
            uroven1.Add(new Klamak(new Graphic(0x20D0), new UOColor(0x0000)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x0907)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x08FD)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x0909)));
            uroven1.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x0904)));
            
            uroven2.Add(new Klamak(new Graphic(0x2130), new UOColor(0x0000)));
            uroven2.Add(new Klamak(new Graphic(0x2101), new UOColor(0x0000)));
            uroven2.Add(new Klamak(new Graphic(0x2101), new UOColor(0x0000)));
            uroven2.Add(new Klamak(new Graphic(0x2D97), new UOColor(0x0000)));
            uroven2.Add(new Klamak(new Graphic(0x211C), new UOColor(0x0902)));
            uroven2.Add(new Klamak(new Graphic(0x211C), new UOColor(0x08FD)));
            uroven2.Add(new Klamak(new Graphic(0x211C), new UOColor(0x0900)));
            uroven2.Add(new Klamak(new Graphic(0x211C), new UOColor(0x090C)));
            uroven2.Add(new Klamak(new Graphic(0x211C), new UOColor(0x090D)));
            uroven2.Add(new Klamak(new Graphic(0x211C), new UOColor(0x0909)));
            uroven2.Add(new Klamak(new Graphic(0x211B), new UOColor(0x0902)));
            uroven2.Add(new Klamak(new Graphic(0x20EA), new UOColor(0x03B2)));
            uroven2.Add(new Klamak(new Graphic(0x20EA), new UOColor(0x03B3)));
            uroven2.Add(new Klamak(new Graphic(0x20E2), new UOColor(0x01BB)));
            uroven2.Add(new Klamak(new Graphic(0x2108), new UOColor(0x0481)));
            uroven2.Add(new Klamak(new Graphic(0x20E6), new UOColor(0x08FD)));
            uroven2.Add(new Klamak(new Graphic(0x211B), new UOColor(0x0001)));
            uroven2.Add(new Klamak(new Graphic(0x2103), new UOColor(0x0000)));
            uroven2.Add(new Klamak(new Graphic(0x211B), new UOColor(0x0907)));
            uroven2.Add(new Klamak(new Graphic(0x211B), new UOColor(0x090E)));
            
            uroven3.Add(new Klamak(new Graphic(0x2103), new UOColor(0x0000)));
            uroven3.Add(new Klamak(new Graphic(0x20EF), new UOColor(0x08FD)));
            uroven3.Add(new Klamak(new Graphic(0x20EF), new UOColor(0x01BB)));
            uroven3.Add(new Klamak(new Graphic(0x20EB), new UOColor(0x08FD)));
            uroven3.Add(new Klamak(new Graphic(0x20EB), new UOColor(0x0388)));
            uroven3.Add(new Klamak(new Graphic(0x2108), new UOColor(0x0000)));
            uroven3.Add(new Klamak(new Graphic(0x20F5), new UOColor(0x0000)));
            uroven3.Add(new Klamak(new Graphic(0x20F1), new UOColor(0x0000)));
            uroven3.Add(new Klamak(new Graphic(0x20F7), new UOColor(0x0000)));
            uroven3.Add(new Klamak(new Graphic(0x20D4), new UOColor(0x0000)));
            uroven3.Add(new Klamak(new Graphic(0x20D4), new UOColor(0x0000)));
            uroven3.Add(new Klamak(new Graphic(0x20CF), new UOColor(0x01BB)));
            uroven3.Add(new Klamak(new Graphic(0x2118), new UOColor(0x0901)));
                        
            uroven4.Add(new Klamak(new Graphic(0x20EA), new UOColor(0x0000)));
            uroven4.Add(new Klamak(new Graphic(0x20EA), new UOColor(0x08FD)));
            uroven4.Add(new Klamak(new Graphic(0x2119), new UOColor(0x0901)));
            uroven4.Add(new Klamak(new Graphic(0x211D), new UOColor(0x0000)));
            uroven4.Add(new Klamak(new Graphic(0x2119), new UOColor(0x0000)));
            uroven4.Add(new Klamak(new Graphic(0x2119), new UOColor(0x08FD)));
            
            uroven5.Add(new Klamak(new Graphic(0x211E), new UOColor(0x0000)));
            uroven5.Add(new Klamak(new Graphic(0x20E1), new UOColor(0x08FD)));
            uroven5.Add(new Klamak(new Graphic(0x20FC), new UOColor(0x07D8)));
            uroven5.Add(new Klamak(new Graphic(0x20FC), new UOColor(0x07D4)));
            uroven5.Add(new Klamak(new Graphic(0x20FC), new UOColor(0x07E1)));
            uroven5.Add(new Klamak(new Graphic(0x20FC), new UOColor(0x07DF)));
            uroven5.Add(new Klamak(new Graphic(0x20FC), new UOColor(0x07DE)));
            uroven5.Add(new Klamak(new Graphic(0x20FC), new UOColor(0x07D2)));
            uroven5.Add(new Klamak(new Graphic(0x20FC), new UOColor(0x07E2)));
            uroven5.Add(new Klamak(new Graphic(0x2119), new UOColor(0x0972)));
            uroven5.Add(new Klamak(new Graphic(0x2131), new UOColor(0x0000)));
        }
        
        [Command]
        public void vyberklamaky(String uroven)
        {
            int pocet=0;
            List<Klamak> pouzite=new List<Klamak>();
            if (uroven.Contains("1"))
                pouzite.AddRange(uroven1);
            if (uroven.Contains("2"))
                pouzite.AddRange(uroven2);
            if (uroven.Contains("3"))
                pouzite.AddRange(uroven3);
            if (uroven.Contains("4"))
                pouzite.AddRange(uroven4);
            if (uroven.Contains("5"))
                pouzite.AddRange(uroven5);                

            UO.Print("Odkud brat klamaky?");
            UOItem zdroj=new UOItem(UIManager.TargetObject());
            UO.Print("Kam je dat?");
            UOItem cil=new UOItem(UIManager.TargetObject());
            if (!zdroj.Opened) {
                zdroj.Use();
                while (!zdroj.Opened) 
                    UO.Wait(100);
            }
            
            foreach (UOItem item in zdroj.AllItems){
                if (pouzite.Contains(new Klamak(item.Graphic, item.Color))) {
                    pocet++;
                    UO.MoveItem(item.Serial, 0, cil.Serial);
                    while (item.Container==zdroj.Serial)
                        UO.Wait(500);
                }
            }
            UO.Print("Presunuto "+pocet+" klamaku levelu "+uroven);
        }
    }
}
Naposledy upravil(a) Raziel dne 21 čer 2014 21:43, celkem upraveno 1 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

trénink magery a necro s léčením pokud kouzlo zranuje pije tmr - nejsme troškaři přece ;)
,necro
,magery spell
spell je název spellu s podtržítky takže např ,magery magic_arrow

je to i s házením světla(můj script taky na tomhle foru), pokud ho nemáte(nebo nechcete) tak si celý ten if kde je světlo umažte(nebo přepište na svoje) jsou to tyhle řádky to tento if

Kód: Vybrat vše

                if (UO.InJournal("needs a target")) {
                    UO.RunCmd("svetlo");
                    UO.Wait(1500);
                }

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class MageryNecro
    {
        [Command]
        public void necro()
        {
            DateTime casposl = DateTime.Now;
            casposl = casposl.AddMinutes(-1);

            UO.Print("Kam kastit?");
            UOCharacter ch = new UOCharacter(UIManager.TargetObject());
            UO.Print("Jakymi svitky?");
            UOItem svitky = new UOItem(UIManager.TargetObject());

            while ((UO.Count(svitky.Graphic, svitky.Color) > 0) && (World.Player.Skills["Necromancy"].RealValue < 1100))
            {
                if (UO.InJournal("World save has been"))
                    UO.Wait(45000);
                if (UO.InJournal("any spells") || World.Player.Mana < 20)
                {
                    UO.DeleteJournal();
                    if (UO.Count(0x0F09, 0x0003) > 0)
                    {
                        UO.UseType(0x0F09, 0x0003);
                        while (!UO.InJournal("in your"))
                        {
                            UO.Wait(500);
                        }

                        if (UO.InJournal("World save has been"))
                            UO.Wait(45000);
                        UO.DeleteJournal();
                        casposl = DateTime.Now;
                        casposl = casposl.AddSeconds(18);

                        UO.UseType(0x1843, 0x0003);
                        UO.WaitTargetType(0x0F0E);
                        while (!UO.InJournal("in your"))
                        {
                            UO.Wait(500);
                        }
                    }
                    else
                    {
                        while (World.Player.Mana < World.Player.Intelligence)
                        {
                            UO.UseSkill(StandardSkill.Meditation);
                            UO.Wait(2600);
                        }
                    }
                }

                UO.UseType(svitky.Graphic, svitky.Color);
                ch.WaitTarget();
                UO.Wait(4000);
                if (UO.InJournal("requires"))
                {
                    UO.Print("Nejsou regy");
                    return;
                }
                if (UO.InJournal("needs a target"))
                {
                    UO.RunCmd("svetlo");
                    UO.Wait(1500);
                }
            }
            UO.Print("Uz mas 100 nebo nejsou svitky.");
        }

        [Command]
        public void magery(String spell)
        {
            int mana = 0;
            DateTime casposl = DateTime.Now;
            casposl = casposl.AddMinutes(-1);
            spell = spell.Replace("_", " ");

            UO.Print("Na koho kastit?");
            UOCharacter ch = new UOCharacter(UIManager.TargetObject());

            while (World.Player.Skills["Magery"].RealValue < 750)
            {
                if (UO.InJournal("World save has been"))
                    UO.Wait(45000);
                if (UO.InJournal("any spells") || World.Player.Mana < 20)
                {

                    UO.DeleteJournal();
                    if (UO.Count(0x0F09, 0x0003) > 0)
                    {
                        UO.UseType(0x0F09, 0x0003);
                        while (!UO.InJournal("in your"))
                        {
                            UO.Wait(500);
                        }

                        if (UO.InJournal("World save has been"))
                            UO.Wait(45000);
                        UO.DeleteJournal();
                        casposl = DateTime.Now;
                        casposl = casposl.AddSeconds(18);

                        UO.UseType(0x1843, 0x0003);
                        UO.WaitTargetType(0x0F0E);
                        while (!UO.InJournal("in your"))
                        {
                            UO.Wait(500);
                        }
                    }
                    else
                    {
                        while (World.Player.Mana < World.Player.Intelligence)
                        {
                            UO.UseSkill(StandardSkill.Meditation);
                            UO.Wait(2600);
                        }
                    }
                }
                while (ch.Hits < 50)
                {
                    UO.DeleteJournal();
                    UO.UseType(0x0E21);
                    ch.WaitTarget();
                    while (!UO.InJournal("in your") && !UO.InJournal("barely"))
                    {
                        UO.Wait(500);
                    }
                }
                mana = World.Player.Mana;
                UO.Cast(spell);
                ch.WaitTarget();
                while (mana <= World.Player.Mana)
                {
                    UO.Wait(100);
                    if (UO.InJournal("World save has been"))
                    {
                        UO.Wait(45000);
                        break;
                    }
                    if (UO.InJournal("lack reagents"))
                    {
                        UO.Print("Nejsou regy");
                        return;
                    }
                }
                if (UO.InJournal("needs a target"))
                {
                    UO.RunCmd("svetlo");
                    UO.Wait(1500);
                }
            }
            UO.Print("Uz mas 100.");
        }
    }
}
Naposledy upravil(a) Raziel dne 24 kvě 2020 21:05, celkem upraveno 5 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

pro trénink sparryingem, utočí na cíl a zároven ho léčí
,utok

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Utok
    { 
        [Command]
        public void utok()
        {
            UO.Print("Vyber na koho utocit");
            UOCharacter ch=new UOCharacter(UIManager.TargetObject());
            UO.Attack(ch.Serial);
            
            while (true){
                if (UO.InJournal("World save has been")) {
                    UO.Wait(45000);
                    UO.DeleteJournal();
                }
                UO.Attack(ch.Serial);
                UO.Wait(1000);
                if (ch.Hits<50){
                    UO.Warmode(false);
                    UO.Wait(500);
                    UO.Warmode(true);
                    while (ch.Hits<ch.MaxHits){
                        UO.DeleteJournal();
                        if (UO.Count(0x0E21)==0) {
          		            UO.Print("Dosly bandy.");
          		            UO.Wait(4000);
          		            continue;
          		        }

                        UO.UseType(0x0E21,0x0000);
                        ch.WaitTarget();                            
          		        while (!UO.InJournal("barely") &&!UO.InJournal("put the bloody band")&&!UO.InJournal("mumii")){
           			        UO.Wait(100);
           		        }
                    }
                }
             }
        }
    }
}
léčí sebe do plna (sem to psal pro nové postavy protože to byl dost opruz se s 5 healingem léčit ručně ... sem si zalez do kouta a pustil tohle makro), přepište si když tak cestu k wavu byl
,healmax

pro sparrying léčí sebe, pokud má málo poodejde kousek jak se doléčí přijde zpátky
// přepište si cestu k alarmu na málo band řádek UO.PlayWav("D:\\games\\uo\\generic_error.wav");
,bandself

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class BandageSelfMakro
    {
        [Command]
        public void healmax(){
            UOPlayer player=World.Player;
            while (player.Hits<player.MaxHits){
       		        if (UO.Count(0x0E21)==0) {
       		            UO.Print("Dosly bandy.");
       		            return ;
       		        }

                    UO.BandageSelf();
          			UO.DeleteJournal();
            		while (!UO.InJournal("barely") &&!UO.InJournal("You put the bloody band")&&!UO.InJournal("mumii")){
            			UO.Wait(100);
            		}
            }
            UO.Print("A jsme vyleceni.");
        }
        
        [Command]
        public void bandself()
        {
            UOPlayer player=World.Player;        
            while (true){
          	    UO.DeleteJournal();
          	    if (player.Hits<60){
          		    UO.Press(Keys.Down);
          		    UO.Wait(500);
          		    UO.Press(Keys.Down);
          		    UO.Wait(500);
          		    UO.Press(Keys.Down);
          		    while (player.Hits<player.MaxHits){
          		        if (UO.Count(0x0E21)==0) {
          		            UO.Print("Dosly bandy.");
          		            return ;
          		        }
          			    UO.BandageSelf();
          			    UO.DeleteJournal();
            		    while (!UO.InJournal("barely") &&!UO.InJournal("You put the bloody band")&&!UO.InJournal("mumii")){
            			    UO.Wait(100);
                		}
              		}
              		UO.Press(Keys.Up);
          	    	UO.Wait(500);
          		    UO.Press(Keys.Up);
          		    UO.Wait(500);
          		    UO.Press(Keys.Up);
          	    }
          	    if (UO.Count(0x0E21)<10) {
            	    UO.PlayWav("D:\\games\\uo\\generic_error.wav");
            	    UO.Press(Keys.Down);
          		    UO.Wait(500);
         		    UO.Press(Keys.Down);
          		    UO.Wait(500);
          		    UO.Press(Keys.Down);
                }
                while (player.Hits==player.MaxHits) {
            	    UO.Wait(500);
        	    }
                UO.BandageSelf();
                UO.DeleteJournal();
            
                while (!UO.InJournal("barely") &&!UO.InJournal("You put the bloody band")&&!UO.InJournal("mumii")){
            		UO.Wait(100);
                }      
        	    UO.Wait(500);
        	}
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:24, celkem upraveno 5 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

přesouvání věcí v báglu na místa kde normálně nejdou (na nasetování nb itemů at nepřekáží při hledání v báglu) x-vodorovná osa, y-svislá osa
,posun x y
např ,posun 100 10

Nahození a sundání mikulaskeho nahrdelniku
,statynahrdelnik

Nasedání/sesedání případně pokud není žádné jezdítko tak vytažení shrinklého a nasednutí
,jezditko

změna zbraní
,zbrane nasetování zbraní štít +zbran a dvouruční zbraně
,eqzbran1 vybavení zbran+štít
,eqzbran2 vybavení obouručky

kouzlení stěna svitek, pokud svitky došly kouzlí z hlavy
,stena

tréní armslore skill
,armslore

vybrání všech itemů z jednoho kontejneru a přesunutí do jiného
,vyber

reffnutí základních regů na počet "číslo" např ,reff 5000
,reff číslo

makro nejspíš převážně pro mapkáře, vybere všechny pytlíky v kontejneru a jejich obsah vyhodí kam chcete (tzn ideální pro vybrání XX pytlíků s regama z mapek, ale taky abyste vybrali pytlíky s čímkoliv a hodili obsah jinam) musíte mít container package na pytlíky, protože vybrané pytlíky se hned ukládají tam
,vyberpytle

přesunutí všech necro regů, pokud chcete aby se braly i jiné itemy než necro regy stačí je přidat do seznamu regy.Add("dalsi item");
,bordel

přesunutí ingotů
,ing

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Support
    {
        [Command]
        public void posun(ushort x, ushort y)
        {
            UO.Print("Co posunout?");
            UOItem item=new UOItem(UIManager.TargetObject());
            
            UO.MoveItem(item.Serial, 0, UO.Backpack, x, y);
        }
        
        [Command]
        public void statynahrdelnik()
        {
            UOItem nahr=UO.FindType("Mikulas", 0x1F08, 0x0493, UO.Backpack);
            nahr.Use();
            while (nahr.Layer!=Layer.Neck)
                UO.Wait(100);            
            UO.MoveItem(nahr.Serial, 0, UO.Backpack, 100, 10);
        }

        [Command]
        public void jezditko()
        {
            if (World.Player.Layers[Layer.Mount].Exist)
            {
                World.Player.Use();
                return ;
            }
            
            nasedni();
            if (!World.Player.Layers[Layer.Mount].Exist){
                World.Player.ChangeWarmode(WarmodeChange.Switch);
                if (UO.Count(0x211F)>0)//kun bily
                    UO.UseType(0x211F);
                else
                if (UO.Count(0x20F6)>0)//lama
                    UO.UseType(0x20F6);
                else 
                if (UO.Count(0x2135)>0)//oclock
                    UO.UseType(0x2135);
                else 
                if (UO.Count(0x2136)>0)//zost
                    UO.UseType(0x2136);
                else 
                if (UO.Count(0x2137)>0)//zost
                    UO.UseType(0x2137);
                                    
                else 
                if (UO.Count(0x2124)>0)//kun ice
                    UO.UseType(0x2124);   
                else 
                if (UO.Count(0x2121)>0)//kun hnedy
                    UO.UseType(0x2121);   
                else
                if (UO.Count(0x211F)>0)//dark
                    UO.UseType(0x211F);  
                else 
                if (UO.Count(0x20DD)>0)//beige
                    UO.UseType(0x20DD);                         
                else {
                    UO.Print("Nemas zadne jezditko.");
                    return ;
                }
                    
                UO.Wait(250);
                World.Player.ChangeWarmode(WarmodeChange.Switch);
                nasedni();
            }
        }
        
        private void nasedni(){
            foreach (UOCharacter character in World.Characters){
                if ( (character.Model>0x00AA && character.Model<0x00FF) && (character.Distance < 7) ) {                    
                    character.RequestStatus(5000);
                    if (character.Renamable) {
                        character.Use();
                        UO.Wait(50);
                        if (World.Player.Layers[Layer.Mount].Exist) {                        
                            return ;
                        }
                    }
                }
            }
        }
        
        public static UOItem zbran1;
        public static UOItem zbran2;
        public static UOItem stit;
        
        [Command]
        public void zbrane()
        {
            UO.Print("Zbran + stit vyber zbran.");
            zbran1=new UOItem(UIManager.TargetObject());
            UO.Print("Zbran + stit vyber stit.");
            stit=new UOItem(UIManager.TargetObject());
            UO.Print("Vyber obourucni zbran.");
            zbran2=new UOItem(UIManager.TargetObject());
        }
        
        [Command]
        public void eqzbran1()
        {
            zbran1.Use();
            stit.Use();
        }

        [Command]
        public void eqzbran2()
        {
            zbran2.Use();
        }
        
        [Command]
        public void stena()
        {
            if (UO.Count(0x1F44)>0) {
                UO.UseType(0x1F44);
            }
            else {
                UO.Print("Dosly svitky.");
                UO.Cast("Wall of Stone");
            }
        }
        
        [Command]
        public void armslore()
        {
            UO.Print("Co zkoumat?");
            UOItem item=new UOItem(UIManager.TargetObject());
            while (true) {
                if (World.Player.Skills["Arms Lore"].RealValue==1000) {
                    UO.Print("Uz mas 100");
                    return ;
                }
                UO.DeleteJournal();
                UO.UseSkill("Arms Lore");
                item.WaitTarget();
                while ( !UO.InJournal("[")){
    			    UO.Wait(500);
    		    }
            }
        }

        [Command]
        public void vyber()
        {
            UO.Print("Co vybrat?");
            UOItem pytel=new UOItem(UIManager.TargetObject());
            UO.Print("Kam to hodit?");
            UOItem pytelcil=new UOItem(UIManager.TargetObject());
            pytel.Use();
            UO.Wait(500);
            ItemsCollection col=pytel.AllItems;
            IEnumerator<UOItem> en=col.GetEnumerator();
            
            while (en.MoveNext()) {
                UOItem item=en.Current;
                UO.MoveItem(item.Serial, 0, pytelcil.Serial);
            }
        }
        
        [Command]
        public void reff(ushort pocet)
        {
            List<String>regy=new List<String>();
            regy.Add("0x0F8D");//SS
            regy.Add("0x0F7B");//BM
            regy.Add("0x0F7A");//BP
            regy.Add("0x0F84");//GA
            regy.Add("0x0F85");//GI
            regy.Add("0x0F86");//MR
            regy.Add("0x0F88");//NS
            regy.Add("0x0F8C");//SA
        
            String [] presunute=new String[100];
            UO.Print("Odkud refnout?");
            UOItem pytel=new UOItem(UIManager.TargetObject());
            UO.Print("Kam to hodit?");
            UOItem pytelcil=new UOItem(UIManager.TargetObject());
            if (!pytel.Opened)
                pytel.Use();
            UO.Wait(500);
            ItemsCollection col=pytel.AllItems;
            IEnumerator<UOItem> en=col.GetEnumerator();
            int lastindex=0;
            
            while (en.MoveNext()) {
                UOItem item=en.Current;
                int kde = Array.LastIndexOf(presunute, item.Graphic.ToString());
                if (item.Container==pytel.Serial && kde==-1 && regy.Contains(item.Graphic.ToString())) {
                    presunute[lastindex]=item.Graphic.ToString();
                    lastindex=lastindex+1;
                    UO.MoveItem(item.Serial, pocet, pytelcil.Serial);
                }
            }
            
            col=pytelcil.AllItems;
            en=col.GetEnumerator();
            lastindex=0;            
            presunute=new String[100];
            while (en.MoveNext()) {
                UOItem item=en.Current;
                int kde = Array.LastIndexOf(presunute, item.Graphic.ToString());
                if (kde==-1 && regy.Contains(item.Graphic.ToString()) && item.Amount>pocet) {
                    presunute[lastindex]=item.Graphic.ToString();
                    lastindex=lastindex+1;
                    ushort odebrat=Convert.ToUInt16(item.Amount-pocet);
                    UO.MoveItem(item.Serial, odebrat, pytel.Serial);
                }
            }
        }
        
        [Command]
        public void vyberpytle()
        {
            UO.Print("Kde jsou pytliky?");
            UOItem pytelhlavni=new UOItem(UIManager.TargetObject());
            UO.Print("Kam hodit jejich obsah?");
            UOItem pytelcil=new UOItem(UIManager.TargetObject());
            pytelhlavni.Use();
            while (!pytelhlavni.Opened){
                UO.Wait(500);
            }
            
            ItemsCollection colhlavni=pytelhlavni.AllItems;
            IEnumerator<UOItem> enhlavni=colhlavni.GetEnumerator();
            
            while (enhlavni.MoveNext()) {
                UOItem itemhlavni=enhlavni.Current;
                if (itemhlavni.Graphic.ToString().Equals("0x0E76")){
                    itemhlavni.Use();
                    while (!itemhlavni.Opened){
                        UO.Wait(500);
                    }
                    ItemsCollection col=itemhlavni.AllItems;
                    IEnumerator<UOItem> en=col.GetEnumerator();
                    while (en.MoveNext()) {
                        UOItem item=en.Current;
                        UO.MoveItem(item.Serial, 0, pytelcil.Serial);
                    }
                    UO.MoveItem(itemhlavni.Serial, 0, UO.Backpack);
                    UO.UseType(0x0E3F);
                    itemhlavni.WaitTarget();
                    UO.Wait(500);
                    while (itemhlavni.Exist){
                        UO.Wait(500);
                    }
                }
            }
        }
        
        [Command]
        public void bordel()
        {
            List<String>regy=new List<String>();
            regy.Add("0x0F91");
            regy.Add("0x0F8F");
            regy.Add("0x0F7E");
            regy.Add("0x0F87");
            regy.Add("0x0F7C");
            regy.Add("0x0F7F");
            regy.Add("0x0F8B");
            regy.Add("0x0F8E");
            regy.Add("0x0F78");
            regy.Add("0x0F79");
            regy.Add("0x0F80");
            regy.Add("0x0F81");
            regy.Add("0x0F89");
            regy.Add("0x0F83");
            regy.Add("0x0F7D");         
                                
            String [] presunute=new String[100];
            UO.Print("Odkud vyhodit bordel?");
            UOItem pytel=new UOItem(UIManager.TargetObject());
            UO.Print("Kam to hodit?");
            UOItem pytelcil=new UOItem(UIManager.TargetObject());
            if (!pytel.Opened)
                pytel.Use();
                while (!pytel.Opened){
                    UO.Wait(500);
            }
            ItemsCollection col=pytel.AllItems;
            IEnumerator<UOItem> en=col.GetEnumerator();
            int lastindex=0;
            
            while (en.MoveNext()) {
                UOItem item=en.Current;
                int kde = Array.LastIndexOf(presunute, item.Graphic.ToString());
                if (item.Container==pytel.Serial && kde==-1 && regy.Contains(item.Graphic.ToString())) {
                    presunute[lastindex]=item.Graphic.ToString();
                    lastindex=lastindex+1;
                    UO.MoveItem(item.Serial, 10000, pytelcil.Serial);
                }
            }
        }
        [Command]
        public void ing(){
            UO.Print("Kde jsou ingy?");
            UOItem pytelhlavni=new UOItem(UIManager.TargetObject());
            UO.Print("Kam je hodit?");
            UOItem pytelcil=new UOItem(UIManager.TargetObject());

            while (!pytelhlavni.Opened){
                UO.Wait(500);
            }
            
            ItemsCollection colhlavni=pytelhlavni.AllItems;
            IEnumerator<UOItem> enhlavni=colhlavni.GetEnumerator();
            
            while (enhlavni.MoveNext()) {
                UOItem itemhlavni=enhlavni.Current;
                String typingot=itemhlavni.Graphic.ToString();
                if (typingot.Equals("0x1BEF")||typingot.Equals("0x1BE9")||typingot.Equals("0x1BF5")
                    ||typingot.Equals("0x1BE3")){

                    UO.MoveItem(itemhlavni.Serial, 0, pytelcil);
                    UO.Wait(500);
                }
            }
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:24, celkem upraveno 5 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

zapamatuje si a používá všechny reflex ringy a great reflex ringy které máte u sebe a zároven vypisuje timer jestli zrovna žádný další nejde použít, netestoval jsem to moc tak kdyby tam nějaké ty pauzy nebyly dobře, tak řekněte
,pouzijreflexy

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class ReflexRings
    {
        List<ReflexType> reflexy;
        
        private class ReflexType {
            private static int timermeziprstenama=21;
            private static int timercelkovy=181;
            public static UOItem posledni=null;
            public UOItem ring;
            public DateTime cas;
            public static DateTime globaltimer=DateTime.Now.AddSeconds(-timermeziprstenama);
            public static TimeSpan nejmensitimer=new TimeSpan(0);
            
            public ReflexType(UOItem item){
                cas=DateTime.Now.AddSeconds(-timercelkovy);
                ring=item;
            }
            
            public bool pouzij(){
                if (!ring.Exist) {
                    return false;
                }
                if (cas==null){
                    ring.Use();
                    while (ring!=World.Player.Layers[Layer.Ring]&&ring.Exist)
                        UO.Wait(100);
                    if (ring.Exist)
                        ring.Move(1, UO.Backpack.Serial);
                    cas=DateTime.Now;
                    globaltimer=DateTime.Now.AddSeconds(timermeziprstenama);
                    nejmensitimer=new TimeSpan(0);
                    posledni=ring;
                    return true;
                }
                else {
                    DateTime novy=cas.AddSeconds(timercelkovy);
                    if (DateTime.Now>novy){
                        ring.Use();
                        while (ring!=World.Player.Layers[Layer.Ring]&&ring.Exist)
                            UO.Wait(100);
                        if (ring.Exist)
                            ring.Move(1, UO.Backpack.Serial);
                        cas=DateTime.Now;
                        globaltimer=DateTime.Now.AddSeconds(timermeziprstenama);
                        nejmensitimer=new TimeSpan(0);
                        posledni=ring;
                        return true;
                    }
                }
                DateTime novyrozdil=cas.AddSeconds(timercelkovy);
                TimeSpan rozdil=novyrozdil.Subtract(DateTime.Now);
                if (nejmensitimer.Seconds==0 || rozdil<nejmensitimer){
                    nejmensitimer=rozdil;
                }
                return false;
            }
        }
        
        private void reflexringsinit()
        {
            if (reflexy==null){
                reflexy=new List<ReflexType>();
                foreach (UOItem item in UO.Backpack.AllItems){
                    if ( (item.Graphic==0x108A && item.Color==0x0496)||(item.Graphic==0x108A && item.Color==0x0B21) )
                        reflexy.Add(new ReflexType(item));
                }
                UO.Print("Nalezeno "+reflexy.Count+" reflex ringu.");
                foreach (ReflexType item in reflexy) {
                    UO.Print(item.ring.Serial);
                }
            }
        }
        
        [Command]
        public void pouzijreflexy()
        {
            bool reflexpouzit=false;
            bool posledni=false;
            if (reflexy==null){
                reflexringsinit();
            }
            if (ReflexType.globaltimer>DateTime.Now){
                TimeSpan dt=ReflexType.globaltimer.Subtract(DateTime.Now);
                UO.Print("Jeste nemuzes pouzit jiny prsten. Zbyva sekund "+dt.Seconds);
                return ;
            }
            foreach (ReflexType item in reflexy){
                if (!posledni&&!item.ring.Equals(ReflexType.posledni)) {
                    continue;
                }
                else {
                    if (posledni==false){
                        posledni=true;
                        continue;
                    }
                }
                if (item.pouzij()) {
                    UO.Print("Reflex ring pouzit");
                    reflexpouzit=true;
                    return ;
                }
            }
            
            foreach (ReflexType item in reflexy){
                if (item.pouzij()) {
                    UO.Print("Reflex ring pouzit");
                    reflexpouzit=true;
                    break;
                }
            }
            
            if (!reflexpouzit)
                UO.Print("Pouzity vsechny prsteny, nejmensi timer (sec) je "+ReflexType.nejmensitimer.TotalSeconds);
        }
    }
}
Naposledy upravil(a) Raziel dne 17 bře 2017 17:31, celkem upraveno 1 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

kouzlení sumů pro mága a necra, podle výšky skillu (tzn jak to jde kouzlí draky / death vorty, jak to nejde tak vipery a skel warriory)
,sumon - vykouzlení sumona s targetem
,sumonnasebe - vykouzlení sumona na sebe

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Summon
    {
        [Command]
        public void sumon()
        {
            sumon(false);
        }
        
        [Command]
        public void sumonnasebe()
        {
            sumon(true);
        }

        
        [Command]
        public void sumon(Boolean nasebe)
        {
            int necro=World.Player.Skills["Necromancy"].RealValue;
            int magery=World.Player.Skills["Magery"].RealValue;
            
            UO.Cast("Summon Creature");
            
            if (necro>99) {
                if (necro>=1150)
                    UO.WaitMenu("What do you want to summon", "Death Vortex");
                else
                    UO.WaitMenu("What do you want to summon", "Skeleton Warrior");
            }
            else {
                if (magery>=1150)
                    UO.WaitMenu("What do you want to summon", "Magic Drake");
                else
                    UO.WaitMenu("What do you want to summon", "Giant Viper");           
            }
            
            if (nasebe)
                UO.WaitTargetSelf();
          
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:25, celkem upraveno 1 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

upravené základní scripty z odkazu na DP webu

doplněná horní lišta

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Phoenix;
using Phoenix.WorldData;
using System.Runtime.CompilerServices;

namespace Scripts.Status
{
    [RuntimeObject]
    public class ClientTitleBar
    {
        class ItemInfo
        {
            public string Name;
            public int Amount;

            public override string ToString()
            {
                return Name + ":" + Amount;
            }
        }

        private int lastHits;
        private int lastMana;
        private int lastStam;
        private int lastWeight;
        private UOPlayer player;
        private readonly List<object> data = new List<object>();

        public ClientTitleBar()
        {
            Core.LoginComplete += new EventHandler(Core_LoginComplete);
            Core.Disconnected += new EventHandler(Core_Disconnected);

            if (Core.LoggedIn)
                Initialize();
        }

        void Core_Disconnected(object sender, EventArgs e)
        {
            player.Changed -= new ObjectChangedEventHandler(Player_Changed);
            data.Clear();
        }

        void Core_LoginComplete(object sender, EventArgs e)
        {
            Initialize();
        }

        private void Initialize()
        {
            data.Clear();

            data.Add("|");
            AddItem("bm", 0x0F7B, 0);
            AddItem("bp", 0x0F7A, 0);
            AddItem("ga", 0x0F84, 0);
            AddItem("gs", 0x0F85, 0);
            AddItem("mr", 0x0F86, 0);
            AddItem("ns", 0x0F88, 0);
            AddItem("sa", 0x0F8C, 0);
            AddItem("ss", 0x0F8D, 0);
            
            data.Add("|");
            AddItem("gh", 0x0F0C, 0);
            AddItem("gs", 0x0F09, 0x0000);
            AddItem("tmr", 0x0F09, 0x0003);

            player = World.Player;
            player.Changed += new ObjectChangedEventHandler(Player_Changed);

            UpdateText();
        }

        public void AddItem(string name, Graphic type, UOColor color)
        {
            var sc = new SupplyCounter(UO.Backpack, type, color);
            var item = new ItemInfo { Name = name, Amount = sc.CurrentAmount };

            data.Add(item);

            sc.AmountChanged += delegate(object sender, EventArgs e)
            {
                item.Amount = sc.CurrentAmount;
                UpdateText();
            };
        }

        void Player_Changed(object sender, ObjectChangedEventArgs e)
        {
            if (lastWeight!= player.Weight || player.Hits != lastHits || player.Mana != lastMana || player.Stamina != lastStam) {
                UpdateText();
                
                lastWeight=player.Weight;
                lastHits = player.Hits;
                lastMana = player.Mana;
                lastStam = player.Stamina;
            }
        }

        private void UpdateText()
        {
            StringBuilder sb = new StringBuilder();

            // Player stats
            sb.AppendFormat("UO h:{0}/{1} m:{2}/{3} s:{4}/{5} ar:{6} w:{7}", player.Hits, player.MaxHits, player.Mana, player.MaxMana, player.Stamina, player.MaxStamina, player.Armor, player.Weight);

            // Items
            foreach (var i in data) {
                sb.Append(" ");
                sb.Append(i);
            }

            sb.AppendFormat("|g:{0}", World.Player.Gold);

            Client.Text = sb.ToString();
        }
    }
}
přejmenovávání sumonů - upraveno at to nepřejmenovává necro sumy, koně atd prostě klamáky
(nevím jestli sem tam přidával něco dalšího ale myslím že ne)
použití :
exec saykill
nezapomente si doplnit svá jména pro sumy sem (oddělené čárkama):

Kód: Vybrat vše

public static readonly string Names = "jmeno1, jmeno2, ...;

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Phoenix.WorldData;
using Phoenix;
using Phoenix.Communication;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Diagnostics;

namespace Scripts.DarkParadise
{
    [RuntimeObject]
    public class PetControl
    {//trocha uprav by Raziel
        public const bool IncludeAll = false;
        public static readonly Graphic[] necrosumi= new Graphic[] { 0x0003, 0x0032, 0x0018 };
        public static readonly Graphic[] barevninecrosumi= new Graphic[] { 0x001F };
        public static readonly Graphic[] jezditka= new Graphic[] { 0xE4, 0xC8, 0xE2, 0xD2, 0xDC, 0xDB, 0xDA, 
        0x0123, 0x0124 };
        public static readonly Graphic[] lidiupiri=new Graphic[] { 0x190, 0x191, 0x0004 };
        public static readonly string Names = "jmeno1, jmeno2, jmeno3, jmeno4, jmeno5, jmeno6, jemno7, jmeno8,
         jmeno9, jmeno10, jmeno11, jmeno12, atd";
        private int lastUsed;
        private int lastCalled;
        private string[] names = Names.Split(',').Distinct().ToArray();

        public static bool Enabled
        {
            get;
            [Command("petcontrol")]
            set;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="T:PetControl"/> class.
        /// </summary>
        public PetControl()
        {
            World.CharacterAppeared += new CharacterAppearedEventHandler(World_CharacterAppeared);
            Enabled = true;
        }

        void World_CharacterAppeared(object sender, CharacterAppearedEventArgs e)
        {
            if (!Enabled)
                return;

            UOCharacter mob = World.GetCharacter(e.Serial);
            
            // Neprejmenovavej kone
            if (mob.Model == 0x00CC)
                return;
            //barevni necro                
            if (barevninecrosumi.Contains(mob.Model))
                return;    
                
            // A taky vsechny ostatni jezditka
            if (jezditka.Contains(mob.Model))
                return;
            // Lidi a upiry taky preskakuj rovnou
            if (lidiupiri.Contains(mob.Model))
                return;
                
            if (mob.MaxHits < 0) {
                if (!mob.RequestStatus(5000)) {
                    return;
                }
            }
            //necrosumy taky preskakuj rovnou
            if (necrosumi.Contains(mob.Model)&&mob.Color==0x0000)
                return;
            
            if (!mob.Renamable) {
                return;
            }

            // Zaregistruj handler na update jmena

            if (mob.Name != null) {
                // Prejmenuj, pokud uz je jmeno zname
                Init(mob);
            }
            else {
                //Log("Mob {0} je registrovan pro prejmenovani.", e.Serial);
                mob.Changed += new ObjectChangedEventHandler(mob_Changed);
            }
        }

        void mob_Changed(object sender, ObjectChangedEventArgs e)
        {
            UOCharacter mob = World.GetCharacter(e.Serial);

            if (mob.Name != null) {
                //Log("Ziskano jmeno {0}", e.Serial);
                mob.Changed -= new ObjectChangedEventHandler(mob_Changed);

                // Prejmenuj
                Init(mob);
            }
        }

        private void Init(UOCharacter mob)
        {
            if (!Monitor.TryEnter(this, 20000))
                throw new TimeoutException("Rename");

            try {
                if (names.Contains(mob.Name)) {
                    return;
                }
                
                for (int i = 0; i < names.Length; i++) {
                    string name = NextName(ref lastUsed, false);

                    if (!FindByName(name).Exist) {                        
                        mob.Rename(name);

                        UO.Wait(500);
                        byte[] data = PacketBuilder.CharacterSpeechUnicode(mob.Serial, mob.Model, name, 
                        SpeechType.Regular, SpeechFont.Normal, Env.ConsoleColor, "[ " + name + " ]");
                        Core.SendToClient(data, true);

                        return;
                    }
                }

                UO.PrintWarning("No unused name found.");
            }
            finally {
                Monitor.Exit(this);
            }
        }

        [Executable("saykill")]
        [Obsolete]
        public void Kill()
        {
            CommandPet("Kill");
        }

        [Executable]
        public void CommandPet(string command)
        {
            for (int i = 0; i < names.Length; i++) {
                string name = NextName(ref lastCalled, IncludeAll);
                UOCharacter mob = FindByName(name);

                if (name == "All" || (mob.Renamable && mob.Distance < 18)) {
                    // Substitute the name
                    UO.Say(name + " " + command);
                    return;
                }
            }

            UO.Say("All " + command);
        }

        private string NextName(ref int index, bool includeAll)
        {
            if (++index >= names.Length) {
                if (includeAll) {
                    index = -1; // Pri pristim volani se to dostane krasne na nulu
                    return "All";
                }
                else {
                    index = 0;
                }
            }

            return names[index];
        }

        private UOCharacter FindByName(string name)
        {
            foreach (var m in World.Characters) {
                if (m.Name != null && String.Compare(m.Name, name, true) == 0)
                    return m;
            }

            return new UOCharacter(Serial.Invalid);
        }
    }
}
Naposledy upravil(a) Raziel dne 13 led 2018 14:18, celkem upraveno 3 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

upravený fishing od kohosi, přidal sem jenom at sbírá nové ryby a sám ovládá lod
jak vychytá tak jede dopředu, tak se ujistěte že máte dost místa

,fishing

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;
using System.Linq;

namespace Phoenix.Scripts
{
    public class Fishing
    {
        [Executable]
        public void fishing()
        {
        int xx;
        int yy;
        ushort[] ryba = new ushort[12];
        ushort[] cryba = new ushort[12];
        string hid, steaky, bagl;
        /*  *************************  */
        /*  Nastaveni - "Ano" / "Ne"   */
        /*  *************************  */
        
        /*         Hidovat ?           */
        hid = "ne";
        
        /* Rezat ryby a sbirat steaky? */
        steaky = "ne";
        
        /* Ukladat do specialni baglu? */
        bagl = "ne";
        
        /*  *************************  */
        
        
        ryba[0] = 0x09CC;
        ryba[1] = 0x09CD;
        ryba[2] = 0x09CE;
        ryba[3] = 0x09CF;
        ryba[4] = 0x09CD;
        ryba[5] = 0x09CD;
        ryba[6] = 0x09CD;
        ryba[7] = 0x099B;
        ryba[8] = 0x097A;
        ryba[9]=0x09CD; // Shamanska vzacna ryba
        ryba[10]=0x09CD; // Shamanska vzacna ryba
        ryba[11]=0x09CD; // Shamanska vzacna ryba
        
        cryba[0] = 0x0000;
        cryba[1] = 0x0000;
        cryba[2] = 0x0000;
        cryba[3] = 0x0000;
        cryba[4] = 0x0850;
        cryba[5] = 0x0482;
        cryba[6] = 0x084C;
        cryba[7] = 0x08A4;
        cryba[8] = 0x0000;
        cryba[9]=0x0481;
        cryba[10]=0x0799;
        cryba[11]=0x0B7C;
        
        hid=hid.ToUpper();
        steaky=steaky.ToUpper();
        bagl=bagl.ToUpper();
        
        UOItem b = new UOItem(Aliases.GetObject("fishbag"));
        if (!(b.Exist) && (bagl == "ANO"))
        {
            UO.Print(0x480, "Nastav bagl kam maji padat ryby:");
            UO.Exec("addobjectzalozkascript", "fishbag", UIManager.TargetObject());
        }
        
        UO.PrintWarning("Hiding: {0}, Sbirani steaku: {1}, Bagl: {2}", hid, steaky, bagl);
        
            while (!World.Player.Dead)
            {
                if ((World.Player.Backpack.AllItems.Count(0x0DBF, 0x0000) > 0) || 
                (World.Player.Layers[Layer.LeftHand].Graphic == 0x0DBF))
                {
                    UO.DeleteJournal();
                    for (int x = -6; x < 7; x++)
                    {
                        for (int y = -6; y < 7; y++)
                        {
                            UO.DeleteJournal();
                            do
                            {
                                if (hid == "ANO")
                                {
                                    while (!World.Player.Hidden)
                                    {
                                        UO.UseSkill("Hiding");
                                        UO.Wait(1000);
                                        if (UO.InJournal("preoccupied with"))
                                        {
                                            World.Player.ChangeWarmode(WarmodeChange.Switch);
                                            UO.Wait(500);
                                            if (!World.Player.Hidden) UO.UseSkill("Hiding");
                                        }
                                        UO.Wait(1500);
                                        Journal.WaitForText("hidden yourself well", "to hide here.", "preoccupied with");
                                    }
        
                                }
        
                                UO.DeleteJournal();
                                UO.PrintWarning("Chytam na {0}, {1}", x, y);
                                UO.WaitTargetTileRel(x, y, World.Player.Z, 0);
                                UO.UseType(0x0DBF);
                                UO.Wait(500);
        
                                Journal.WaitForText("no fish here", "location", "far away", "in water", "You pull", "You fish a while");
                                if (UO.InJournal("Kraken") || UO.InJournal("Sea Serpent"))
                                {
                                    UO.Print(SpeechFont.Bold, 0x0481, "Detekovano monstrum");
                                    UO.PlayWav("c:\\windows\\media\\ringin.wav");
                                    while (!(UO.InJournal("pokracovat")))
                                    {
                                        UO.Print("Detekovano monstrum, skript je pausnut!");
                                        UO.Wait(2500);
                                    }
                                }
                                    if (UO.InJournal("no fish here"))
                                    {
                                        if (steaky == "ANO")
                                        {
                                            for (int i = 0; i < 5; i++)
                                            {
                                                if (!(World.Player.Layers[Layer.RightHand].Graphic == 0x0F51))
                                                {
                                                    UO.Print("oblikam kudlicku");
                                                    UO.WaitTargetCancel();
                                                    UO.UseType(0x0F51);
                                                }
         
                                                foreach (UOItem item in from q in World.Ground where q.Distance < 2 
                                                && q.Graphic == ryba[i] && q.Color == cryba[i] select q)
                                                {
                                                    UO.WaitTargetObject(item.Serial);
                                                    UO.UseObject(World.Player.Layers[Layer.RightHand].Serial);
                                                    UO.Wait(500);
                                                }
                                            }
                                        }
                                    }
                                        for (int i = 4; i < 12; i++)
                                        {
                                            foreach (UOItem item in from q in World.Ground where q.Distance < 2 
                                            && q.Graphic == ryba[i] && q.Color == cryba[i] select q)
                                            {
                                                if (bagl == "ANO")
                                                {
                                                    item.Move(100, Aliases.GetObject("fishbag"));
                                                }
                                                else
                                                {
                                                    item.Move(100, World.Player.Backpack);
                                                }
                                                UO.Wait(500);
                                            }
                                        }                               
                            }
                            while (UO.InJournal("You pull") || UO.InJournal("You fish a while"));
                        }
                    }
                    UO.Print("-6x6 Vychytano!");
                   
                    //posunem se
                    xx=World.Player.X;
                    yy=World.Player.Y;
                    UO.Say("Forward");
                    while ((World.Player.X!=xx+12)&&(World.Player.X!=xx-12)&&
                        (World.Player.Y!=yy+12)&&(World.Player.Y!=yy-12)){
                        UO.Wait(200);
                    }
                    UO.Say("Stop");
                    
                }
                else
                {
                    UO.Print("Nemas prut!");
                    break;
                }
            }
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:25, celkem upraveno 2 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

Vyroba pro crafta verze 3.1.
krom výroby obsahuje i skripty na trénink
,blacksmithing
,bowcraft
,tailoring

Nově vyrábí všechny suroviny, které potřebuje na výrobek (jen na něj musíte mít script)

standardní podoba výrobního scriptu - aneb jak si snadno napsat další výrobní scripty (pokud jste měli moji předchozí verzi stačí jen upravit):

Kód: Vybrat vše

        [Command]
        public void boards(int vyrobpocet)
        {
vyrob(vyrobpocet, //tohle jen kopírujte

new Graphic(0x1BD7), new UOColor(0x0000), //grafika a barva výrobku v tomhle případě boards

new List<Surka>() { new Surka("", gdrevo, cdrevo, 3) }, //seznam surovin pro výrobu pokud je potřeba více než jedna, prostě přidáte
další surku ve stejném formátu (příklad třeba v dalších scriptech na formy, kegy atd)
první text (v uvozovkách) je název scriptu pro výrobu (pokud je potřeba předmět vyrobit jinak nechte prázdné), pak je grafika a barva
suroviny a poslední parametr je počet kolik těchto surovin které potřebujete pro výrobu

"Carpentry", "Miscellaneous", "Miscellaneous", "Boards"); // cesta v menu - až 6 řetězců
        }
složitější příklad - loď:

Kód: Vybrat vše

vyrobpocet // kopírujte
new Graphic(0x14F1), new UOColor(0x0000) - získáte přes ,info a zatargetíte vyrobený deed to a ship
new List<Surka>(){new Surka("boards", new Graphic(0x1BD7), new UOColor(0x0000), 250),

new Surka("nails", new Graphic(0x102E), new UOColor(0x0000), 35), 
new Surka("hinges", new Graphic(0x1055), new UOColor(0x0000), 20),
new Surka("", new Graphic(0x175D), new UOColor(0x0000), 20), new Surka("", gdrevo, cdrevo, 30)
tady je už větší skupina surovin, na pořadí nezáleží (jen v tomhle pořadí jak ste je napsali se budou brát z truhly případně 
vyrábět - všimnětě si hned první surovina má text "boards" - což odpovídá názvu commandu pro výrobu boards, stejně tak 
ostatní vyráběné suroviny - "nails" a "hinges", 

"Carpentry", "Deeds to Ships", "Deeds to Ships", "Deed to a Small Ship" // cesta v menu
napsal jsem scripty pro výrobu loďě, krabice kegů a univerzal animal box se všemi podscripty, zbytek si najdete v seznamu commandů

,boxkeg 0
,ship 0
,uabox 0
,abox 0
,velkaspulkadratu 0


Kdyby něco můžete se ozvat.

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Vyroba
    {
        UOItem baglsurky;
        UOItem baglvyrobky;
        bool bratsurky = true;
        Graphic gdrevo = new Graphic(0x1BDD);
        UOColor cdrevo = new UOColor(0x0000);

        public class Surka
        {
            public Graphic graphic;
            public UOColor color;
            public int pocetNeeded;
            public string command;

            public Surka(string com, Graphic g, UOColor c, int p)
            {
                command = com;
                graphic = g;
                color = c;
                pocetNeeded = p;//pocet surek které chci vycraftit
            }
        }

        [Command]
        public void uabox(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x09A8), new UOColor(0x0000),
            new List<Surka>() { 
            new Surka("abox", new Graphic(0x09A8), new UOColor(0x051E), 1),
            new Surka("", gdrevo, cdrevo, 5), 
            new Surka("", new Graphic(0x11FA), new UOColor(0x0000), 5)},
            "Tinkering", "Containers", "Containers", "Univerzal Animal Box");
        }

        [Command]
        public void abox(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x09A8), new UOColor(0x051E),
            new List<Surka>() { 
            new Surka("goldbox", new Graphic(0x09A8), new UOColor(0x0000), 1),
            new Surka("", gdrevo, cdrevo, 5), 
            new Surka("", new Graphic(0x11FA), new UOColor(0x0000), 5)},
            "Tinkering", "Containers", "Containers", "Animal Box");
        }

        [Command]
        public void goldbox(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x09A8), new UOColor(0x0000),
            new List<Surka>() { 
            new Surka("", new Graphic(0x1BE9), new UOColor(0x0000), 5),
            new Surka("", gdrevo, cdrevo, 5)},
            "Tinkering", "Containers", "Containers", "Golden Box (N)");
        }

        [Command]
        public void ship(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x14F1), new UOColor(0x0000), new List<Surka>(){
            new Surka("boards", new Graphic(0x1BD7), new UOColor(0x0000), 250),
            new Surka("nails", new Graphic(0x102E), new UOColor(0x0000), 35), new Surka("hinges", new Graphic(0x1055), 
            new UOColor(0x0000), 20), new Surka("", new Graphic(0x175D), new UOColor(0x0000), 20), 
            new Surka("", gdrevo, cdrevo, 30)}, "Carpentry", "Deeds to Ships", "Deeds to Ships", "Deed to a Small Ship");
        }

        [Command]
        public void boxkeg(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x185E), new UOColor(0x07E0), new List<Surka>() { new Surka("keg", 
            new Graphic(0x1843), new UOColor(0x0000), 20) }, "Carpentry", "Miscellaneous", "Miscellaneous", "Krabice kadi");
        }

        [Command]
        public void keg(int vyrobpocet)
        {
            UO.Print("poustim keg");
            vyrob(vyrobpocet, new Graphic(0x1843), new UOColor(0x0000), new List<Surka>(){new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x06D6), 1), new Surka("forma", new Graphic(0x0E7F), new UOColor(0x0909), 1),
            new Surka("", gdrevo, cdrevo, 2), new Surka("", new Graphic(0x19B9), new UOColor(0x0000), 2)},
            "Tinkering", "Containers", "Containers", "Kad na potiony");
            UO.Print("koncim keg");
        }

        [Command]
        public void forma(int vyrobpocet)
        {
            UO.Print("poustim forma");
            vyrob(vyrobpocet, new Graphic(0x0E7F), new UOColor(0x0909), new List<Surka>() { new Surka("staves", 
            new Graphic(0x1EB1), new UOColor(0x0000), 2), new Surka("lid", new Graphic(0x1DB8), new UOColor(0x0000), 2) },
            "Carpentry", "Containers & Cont. parts", "Containers & Cont. parts", "Forma na lahve");
            UO.Print("koncim forma");
        }

        [Command]
        public void lid(int vyrobpocet)
        {
            UO.Print("poustim lid");
            vyrob(vyrobpocet, new Graphic(0x1DB8), new UOColor(0x0000), new List<Surka>() { new Surka("boards", 
            new Graphic(0x1BD7), new UOColor(0x0000), 2) },
            "Carpentry", "Containers & Cont. parts", "Containers & Cont. parts", "Barrel Lid");
            UO.Print("koncim lid");
        }

        [Command]
        public void staves(int vyrobpocet)
        {
            UO.Print("poustim staves");
            vyrob(vyrobpocet, new Graphic(0x1EB1), new UOColor(0x0000), new List<Surka>() { 
            new Surka("", gdrevo, cdrevo, 3) },
            "Carpentry", "Containers & Cont. parts", "Containers & Cont. parts", "Barrel Staves");
            UO.Print("koncim staves");
        }

        [Command]
        public void boards(int vyrobpocet)
        {
            UO.Print("poustim boards");
            vyrob(vyrobpocet, new Graphic(0x1BD7), new UOColor(0x0000), new List<Surka>() { 
            new Surka("", gdrevo, cdrevo, 2) }, "Carpentry", "Miscellaneous", "Miscellaneous", "Boards");
            UO.Print("koncim boards");
        }

        [Command]
        public void vyrob(int minpocet, Graphic ghotovy, UOColor chotovy, List<Surka> surky, String menu1, String menu2,
        String menu3, String menu4)
        {
            vyrob(minpocet, ghotovy, chotovy, surky, menu1, menu2, menu3, menu4, null, null);
        }

        [Command]
        public void vyrob(int vyrobpocet, Graphic ghotovy, UOColor chotovy, List<Surka> surky, String menu1, String menu2,
                        String menu3, String menu4, String menu5, String menu6)
        {
            UOItem vyrobek;
            bool presouvatvyrobky = true;

            if (vyrobpocet == 0) //jen hlavni
            {
                UO.Print("Vyber bagl se surovinama");
                baglsurky = new UOItem(UIManager.TargetObject());
                if (baglsurky == null || (!baglsurky.Exist))
                    bratsurky = false;
                else
                {
                    baglsurky.Use();
                    while (!baglsurky.Opened)
                        UO.Wait(500);
                }
                UO.Print("Vyber bagl kam davat hotove vyrobky");
                baglvyrobky = new UOItem(UIManager.TargetObject());
                if (baglvyrobky == null || (!baglvyrobky.Exist))
                    presouvatvyrobky = false;
            }
            UO.Print("chci vyrobit celkem: " + vyrobpocet + " itemu: " + (menu4 == null ? menu2 : menu4) + (menu6 == null ? "" : " " + menu6));
            while (true)
            {
                UO.DeleteJournal();
                foreach (Surka surka in surky)
                {
                    if (bratsurky && Count(surka.graphic, surka.color) < surka.pocetNeeded)
                    {
                        if (!seberdalsisurky(surka.command, surka.graphic, surka.color, surka.pocetNeeded))
                        {
                            return;
                        }
                    }
                }
                UO.Print("craftim: " + (menu4 == null ? menu2 : menu4) + (menu6 == null ? "" : " " + menu6));
                UO.DeleteJournal();
                switch (menu1)
                {
                    case "Carpentry":
                        if (!seberdalsisurky("", gdrevo, cdrevo, 2))
                        {
                            return;
                        }
                        UO.UseType(0x1034);
                        break;
                    case "Tinkering": 
                        if (UO.Count(0x1BEF, 0x0000) < 2 && !seberdalsisurky("", 0x1BEF, 0x0000, 2))
                        {
                            return;
                        } 
                        UO.UseType(0x1EBC); break;
                    case "Cloth":
                        if (UO.Count(0x175D, 0x0000) < 2 && !seberdalsisurky("", 0x175D, 0x0000, 2))
                        {
                            return;
                        }
                        UO.UseType(0x0F9D); UO.WaitTargetType(0x175D, 0x0000); break;
                    case "Leather":
                        if (UO.Count(0x1078, 0x0000) < 2 && !seberdalsisurky("", 0x1078, 0x0000, 2))
                        {
                            return;
                        }
                        UO.UseType(0x0F9D); UO.WaitTargetType(0x1078, 0x0000); break;
                    case "Blacksmithing":
                        if (UO.Count(0x1BEF, 0x0000) < 2 && !seberdalsisurky("", 0x1BEF, 0x0000, 2))
                        {
                            return;
                        }
                        UO.UseType(0x1BEF);
                        break;
                    case "Bowcraft":
                        if (UO.Count(gdrevo, cdrevo) < 2 && !seberdalsisurky("", gdrevo, cdrevo, 2))
                        {
                            return;
                        }
                        UO.UseType(0x0F51); UO.WaitTargetType(gdrevo, cdrevo); break;
                    default: UO.Print("nezname menu1"); break;
                }

                UO.WaitMenu(menu1, menu2);
                if (menu3 != null)
                {
                    UO.WaitMenu(menu3, menu4);
                }
                if (menu5 != null)
                {
                    UO.WaitMenu(menu5, menu6);
                }
                while (!UO.InJournal("Tinkering failed") && !UO.InJournal("You fail")
                    && !UO.InJournal("You have failed") && !UO.InJournal("You put"))
                {
                    UO.Wait(300);
                }

                if (UO.InJournal("You put") && vyrobpocet > 0)
                {
                    if (Count(ghotovy, chotovy) >= vyrobpocet)
                    {
                        UO.Print("mam vyrobeno dost" + menu4 + menu6 == null ? "" : " " + menu6);
                        return;
                    }
                    else
                    {
                        UO.Print("jeste nemam dost " + Count(ghotovy, chotovy));
                    }
                }
                if (UO.InJournal("You put") && presouvatvyrobky && vyrobpocet == 0)//nepresouvat suby
                {
                    vyrobek = UO.FindType("vyrobek", ghotovy, chotovy, Aliases.Backpack);
                    Serial container = vyrobek.Container;
                    UO.MoveItem(vyrobek.Serial, 0, baglvyrobky.Serial);
                    while (vyrobek.Container == container)
                        UO.Wait(100);
                }
            }
        }

        private int Count(Graphic g, UOColor c)
        {
            if (g == 0x19B9)
                return UO.Count(g, c) + UO.Count(0x19BA, c) + UO.Count(0x19B7, c) + UO.Count(0x19B8, c);
            else
                return UO.Count(g, c);
        }

        public bool seberdalsisurky(string command, Graphic g, UOColor c, int kolik)
        {
            UO.Print("shanim surku " + (command != "" ? command : "zakladni"));
            int pocet = Count(g, c);
            UOItem surka = UO.FindType("surka", g, c, baglsurky.Serial);
            while (pocet < kolik)
            {
                surka = UO.FindType("surka", g, c, baglsurky.Serial);
                if (surka.Amount == 0)
                {
                    if (command == "")
                    {
                        UO.Print("Dosly surky zakladni: " + g + " " + c);
                        return false;
                    }
                    pocet = Count(g, c);
                    UO.RunCmd(command, kolik);
                    if (Count(g, c) < kolik)
                    {
                        UO.Print("surka vyrobena malo " + UO.Count(g, c) + " je treba " + kolik);
                        return false;
                    }
                    return true;
                }

                if (surka.Amount == 1)
                    UO.MoveItem(surka.Serial, 1, Aliases.Backpack);
                else
                {
                    if (kolik == 1)
                        kolik = 2;
                    UO.MoveItem(surka.Serial, (ushort)kolik, Aliases.Backpack);
                }
                UO.Wait(500);
                while (Count(g, c) == pocet)
                    UO.Wait(500);
                pocet = Count(g, c);
                if (pocet == kolik)
                    break;
            }
            UO.Print("sebrana/vyrobena surka " + (command != "" ? command : "zakladni"));
            return true;
        }

        [Command]
        public void hinges(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1055), new UOColor(0x0000), new List<Surka>() { new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x0000), 1) }, "Tinkering", "Parts", "Parts", "Hinge");
        }

        [Command]
        public void nails(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x102E), new UOColor(0x0000), new List<Surka>() { new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x0000), 1) }, "Tinkering", "Parts", "Parts", "Nails");
        }

        [Command]
        public void cdagger(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x0F51), new UOColor(0x08A1), new List<Surka>() { new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x07D1), 2) }, "Blacksmithing", "Verite Weapons",
            "Verite Weapons", "Verite Swords & Blades", "Verite Swords & Blades", "Verite Dagger");
        }

        [Command]
        public void versekacek(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x0000), new UOColor(0x08A1), new List<Surka>() { new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x07D1), 2) }, "Blacksmithing", "Verite Weapons",
            "Verite Weapons", "Verite Swords & Blades", "Verite Swords & Blades", "Verite Cleaver");
        }

        [Command]
        public void verkryss(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x0000), new UOColor(0x08A1), new List<Surka>() { new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x07D1), 10) }, "Blacksmithing", "Verite Weapons",
            "Verite Weapons", "Verite Swords & Blades", "Verite Swords & Blades", "Verite Kryss");
        }

        [Command]
        public void verhala(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x0000), new UOColor(0x08A1), new List<Surka>() { 
            new Surka("", new Graphic(0x1BEF), new UOColor(0x07D1), 16) }, "Blacksmithing", "Verite Weapons",
            "Verite Weapons", "Verite Pole Arms", "Verite Pole Arms", "Verite Halberd");
        }

        [Command]
        public void pickaxe(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x0E85), new UOColor(0x0000), new List<Surka>() { new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x0000), 2),
            new Surka("", gdrevo, cdrevo, 4) }, "Blacksmithing", "Tools", "Tools", "Pick axe");
        }

        [Command]
        public void sekera(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x0F43), new UOColor(0x0000), new List<Surka>() { new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x0000), 2),
            new Surka("", gdrevo, cdrevo, 4) }, "Blacksmithing", "Tools", "Tools", "Hatchet");
        }

        [Command]
        public void panvicka(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x0000), new UOColor(0x0000), new List<Surka>() { new Surka("", 
            new Graphic(0x1BEF), new UOColor(0x0000), 10) }, "Blacksmithing", "Tools", "Tools", "Panvicka");
        }

        [Command]
        public void vlasec(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x0FA0), new UOColor(0x02B3), new List<Surka>() { new Surka("ironstring", 
            new Graphic(0x1420), new UOColor(0x0000), 2), new Surka("", new Graphic(0x0FA0), new UOColor(0x0000), 4) },
            "Tinkering", "Wires", "Wires", "Vlasec");
        }

        [Command]
        public void velkaspulkadratu(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1420), new UOColor(0x0B49), new List<Surka>() { new Surka("spulkadratu", 
            new Graphic(0x1420), new UOColor(0x08B0), 10) }, "Blacksmithing", "Tools", "Tools", "Velka Spulka dratu");
        }

        [Command]
        public void spulkadratu(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1420), new UOColor(0x08B0), new List<Surka>() { new Surka("ironstring", 
            new Graphic(0x1420), new UOColor(0x0000), 25) }, "Blacksmithing", "Tools", "Tools", "Spulka dratu");
        }

        [Command]
        public void ironstring(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1420), new UOColor(0x0000), new List<Surka>() { new Surka("ironwire", 
            new Graphic(0x1876), new UOColor(0x0000), 1) }, "Tinkering", "Wires", "Wires", "Iron String");
        }

        [Command]
        public void ironwire(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1876), new UOColor(0x0000), new List<Surka>() { new Surka("", 
                new Graphic(0x1BEF), new UOColor(0x0000), 1) }, "Tinkering", "Wires", "Wires", "Iron Wire");
        }

        [Command]
        public void copperwire(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1879), new UOColor(0x0000), new List<Surka>() { new Surka("copperstring", 
                new Graphic(0x1BE3), new UOColor(0x0000), 1) }, "Tinkering", "Wires", "Wires", "Copper Wire");
        }

        [Command]
        public void silverwire(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1877), new UOColor(0x0000), new List<Surka>() { new Surka("", 
            new Graphic(0x1BF5), new UOColor(0x0000), 1) }, "Tinkering", "Wires", "Wires", "Silver Wire");
        }

        [Command]
        public void goldwire(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1878), new UOColor(0x0000), new List<Surka>() { new Surka("", 
            new Graphic(0x1BE9), new UOColor(0x0000), 1) }, "Tinkering", "Wires", "Wires", "Gold Wire");
        }

        [Command]
        public void shaft(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x1BD6), new UOColor(0x0742), new List<Surka>() { new Surka("", 
            gdrevo, cdrevo, 1) }, "Bowcraft", "Shafts", null, null);
        }

        [Command]
        public void golem(int vyrobpocet)
        {
            vyrob(vyrobpocet, new Graphic(0x2610), new UOColor(0x0000), new List<Surka>() { 
                new Surka("surky nevim uz", new Graphic(0x1878), new UOColor(0x0000), 10) },
                "Tinkering", "Special Items", "Special Items", "Forma na golema");
        }

        [Command]
        public void tailoring()
        {
            UO.Print("Vyber bagl s latkou");
            baglsurky = new UOItem(UIManager.TargetObject());
            baglvyrobky = null;
            UO.Print("Vyber bagl kam davat bandy");
            UOItem baglbandy = new UOItem(UIManager.TargetObject());
            UOItem surka;

            while (((UO.Count(0x175D) >= 2) || (UO.FindType("latka", 0x175D, 0x0000, baglsurky.Serial).Amount > 2))
                    && (World.Player.Skills["Tailoring"].RealValue < 1000))
            {

                vyrob(1, new Graphic(0x153F), new UOColor(0x0000), new List<Surka>() { new Surka("", 
                        0x175D, 0x0000, 2) }, "Cloth", "Headwear", "Headwear", "Bandana");

                if (UO.Count(0x153F, 0x0000) > 0)
                {
                    UO.DeleteJournal();
                    UO.UseType(0x0F9E);
                    UO.WaitTargetType(0x153F, 0x0000);
                    UO.Wait(500);
                    while (!UO.InJournal("You put"))
                    {
                        UO.Wait(100);
                    }

                    if (UO.FindType("bandy", 0x0E21, 0x0000, Aliases.Backpack).Amount > 10)
                    {
                        surka = UO.FindType("bandy", 0x0E21, 0x0000, Aliases.Backpack);
                        Serial container = surka.Container;
                        UO.MoveItem(surka.Serial, 0, baglbandy.Serial);
                        while (surka.Container == container)
                            UO.Wait(100);
                    }
                }
            }
            UO.Print("Konec scriptu tailoring!");
        }

        [Command]
        public void bowcraft()
        {
            UO.Print("Vyber bagl s surkama");
            baglsurky = new UOItem(UIManager.TargetObject());
            baglvyrobky = null;
            UO.Print("Vyber bagl kam davat sipy");
            UOItem baglsipy = new UOItem(UIManager.TargetObject());
            UOItem surka;

            while ((UO.FindType("log", 0x1BDD, 0x0000, baglsurky.Serial).Amount > 0 ||
                UO.FindType("shaft", 0x1BD4, 0x0000, baglsurky.Serial).Amount > 0) &&
                (World.Player.Skills["Bowcraft/Fletching"].RealValue < 1000))
            {
                UO.DeleteJournal();

                if (UO.Count(0x1BDD) == 0)
                {
                    surka = UO.FindType("log", 0x1BDD, 0x0000, baglsurky.Serial);
                    if (surka != null && surka.Exist)
                    {
                        UO.MoveItem(surka.Serial, 2, Aliases.Backpack, 100, 100);
                        UO.Wait(100);
                        while (UO.FindType("log", 0x1BDD, 0x0000, Aliases.Backpack).Amount == 0)
                            UO.Wait(100);
                        UO.MoveItem(surka.Serial, 1, Aliases.Backpack, 50, 50);
                        UO.Wait(100);
                        while (surka.Amount > 1)
                            UO.Wait(100);
                    }
                }

                if (UO.Count(0x1BDD) > 0)
                {
                    vyrob(1, new Graphic(0x1BD6), new UOColor(0x0742), new List<Surka>() { new Surka("", 
                        gdrevo, cdrevo, 1) }, "Bowcraft", "Shafts", null, null);
                    if (UO.Count(0x1BD6, 0x0742) > 0)
                    {
                        UO.DeleteJournal();
                        UO.UseType(0x1BD6);
                        UO.Wait(500);
                        while (!UO.InJournal("You put"))
                        {
                            UO.Wait(100);
                        }
                        surka = UO.FindType("Unfinished_Shafts", 0x1BD4, 0x0000, Aliases.Backpack);
                        if (surka != null && surka.Exist)
                        {
                            UO.MoveItem(surka.Serial, 0, baglsurky.Serial);
                            UO.Wait(100);
                            while (UO.Count(0x1BD4) > 0)
                            {
                                UO.Wait(100);
                            }
                        }
                    }
                }

                if (World.Player.Skills["Bowcraft/Fletching"].RealValue >= 178 &&
                    UO.FindType("feathers", 0x1BD1, 0x0000, baglsurky.Serial).Amount > 0 &&
                    UO.FindType("shaft", 0x1BD4, 0x0000, baglsurky.Serial).Amount > 0)
                {
                    if (UO.Count(0x1BD4) == 0)
                    {
                        surka = UO.FindType("shaft", 0x1BD4, 0x0000, baglsurky.Serial);
                        if (surka != null && surka.Exist)
                        {
                            UO.MoveItem(surka.Serial, 1, Aliases.Backpack);
                            UO.Wait(100);
                            while (UO.FindType("shaft", 0x1BD4, 0x0000, Aliases.Backpack).Amount == 0)
                            {
                                UO.Wait(100);
                            }
                        }
                    }
                    if (UO.Count(0x1BD1) == 0)
                    {
                        surka = UO.FindType("feathers", 0x1BD1, 0x0000, baglsurky.Serial);
                        if (surka != null && surka.Exist)
                        {
                            UO.MoveItem(surka.Serial, 100, Aliases.Backpack);
                            UO.Wait(100);
                            while (UO.FindType("feathers", 0x1BD4, 0x0000, Aliases.Backpack).Amount == 0)
                                UO.Wait(100);
                        }
                    }
                    UO.DeleteJournal();
                    UO.UseType(0x1BD4);
                    UO.WaitMenu("Select arrow type", "Crossbow bolts");
                    UO.Wait(500);
                    while (!UO.InJournal("You fail") && !UO.InJournal("You put"))
                    {
                        UO.Wait(100);
                    }
                    if (UO.InJournal("You put") && UO.Count(0x1BFB) > 100)
                    {
                        UO.DeleteJournal();

                        surka = UO.FindType("arrows", 0x1BFB, 0x0000, Aliases.Backpack);
                        Serial container = surka.Container;
                        UO.MoveItem(surka.Serial, 0, baglsipy.Serial);
                        UO.Wait(100);
                        while (surka.Container == container)
                            UO.Wait(100);
                    }
                }
            }
            UO.Print("Konec scriptu bowcraft!");
        }

        [Command]
        public void blacksmithing()
        {
            UO.Print("Vyber bagl s ironem");
            baglsurky = new UOItem(UIManager.TargetObject());
            baglvyrobky = null;

            while (((UO.FindType("iron", 0x1BEF, 0x0000, baglsurky.Serial).Amount > 2))
                    && (World.Player.Skills["Blacksmithing"].RealValue < 1000))
            {
                vyrob(1, new Graphic(0x0F51), new UOColor(0x0000), new List<Surka>() { new Surka("", 
                    new Graphic(0x1BEF), new UOColor(0x0000), 2) }, "Blacksmithing", "Iron Weapons",
                    "Iron Weapons", "Swords & Blades", "Iron Swords & Blades", "Dagger");

                if (UO.Count(0x0F51, 0x0000) >= 10)
                {
                    UO.UseType(0x0FB1, 0x0161);
                    UO.Wait(500);
                }

            }
            UO.Print("Konec scriptu blacksmithing!");
        }
    }
}
Naposledy upravil(a) Raziel dne 04 črc 2022 15:16, celkem upraveno 27 x.
Uživatelský avatar
Raziel
Undead Scriber
Undead Scriber
Příspěvky: 650
Registrován: 07 zář 2006 19:12
Kontaktovat uživatele:

Re: Razielovy scripty

Příspěvek od Raziel »

,taming tamne a hodí do báglu, pokud není nastavený tak do backpacku
,tamp vyberete bágl kam dávat tamnuté zvířata
po tamnutí i nabije stafku jestli ji máte, jinak používal sem to na train i taming takže nemám barvu ve scriptu u stafky

Kód: Vybrat vše

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;

namespace Phoenix.Scripts.Raziel
{
    public class Taming
    {
        public static UOItem pytel=null;
       
        [Command]
        public void tamp(){
            UO.Print("Kam davat zvirata?");
            Taming.pytel=new UOItem(UIManager.TargetObject());
        }
          
        [Command]
        public void taming()
        {
            UO.Print("Co tamnout?");
            UOCharacter zvire=new UOCharacter(UIManager.TargetObject());
            while (!UO.InJournal("tamnut")&&!UO.InJournal("nelze ochocit")){
                UO.DeleteJournal();
                UO.UseType(0x13F4);//, 0x04B9
                zvire.WaitTarget();
                 while (!UO.InJournal("nelze ochocit")&& !UO.InJournal("nezdarilo") &&!UO.InJournal("tamnut") &&!UO.InJournal("fail")){
    			    UO.Wait(500);
    		    }                
            }
            
            if (UO.Count(0x1843, 0x0724)>0){
                UO.UseType(0x13F4);
                UO.WaitTargetType(0x1843, 0x0724);                
            }
            foreach (UOItem item in World.Ground){
                if (item.Amount<2 && item.Distance <4) {
                    if (pytel!=null)
                        item.Move(0, pytel.Serial);
                    else
                        item.Move(0, UO.Backpack);
                }
            }
        }
    }
}
Naposledy upravil(a) Raziel dne 18 lis 2017 22:26, celkem upraveno 1 x.
Odpovědět