Stránka 1 z 1

Chodici mining, vyhazovani + taveni

Napsal: 27 črc 2010 21:00
od Wizzy
Download vsech skriptu mnou uvedenych: http://dl.dropbox.com/u/7651700/fena/wizzy.cs
Objects.dll: http://dl.dropbox.com/u/7651700/fena/Objects.dll


,exec mining
- kopie chodiciho miningu do yoka = obchazi prekazky
- musite si nastavit co chcete vyhazovat a co si chcete nechavat
- klasicky pri prevazeni hraje zvuk

,exec taveni
- zamerte forge
- vsechno :p

Kód: Vybrat vše

[Executable]
public void mining()
{
    ushort[] vyhazovat = new ushort[18];
    //1 vyhazovat
    //0 nechavat si
    vyhazovat[0] = 1; //Iron                              
    vyhazovat[1] = 1; //Copper                              
    vyhazovat[2] = 0; //Bronze                              
    vyhazovat[3] = 1; //Silver                              
    vyhazovat[4] = 1; //Shadow                              
    vyhazovat[5] = 1; //Rose                              
    vyhazovat[6] = 1; //Golden                              
    vyhazovat[7] = 0; //Verite                              
    vyhazovat[8] = 1; //Valorite                            
    vyhazovat[9] = 0; //Blood Rock                            
    vyhazovat[10] = 0; //Black Rock                            
    vyhazovat[11] = 0; //Mytheril                            
    vyhazovat[12] = 0; //Star Sapphire                        
    vyhazovat[13] = 0; //Emerald                          
    vyhazovat[14] = 0; //Citrine                            
    vyhazovat[15] = 0; //Amethyst                            
    vyhazovat[16] = 0; //Ruby                              
    vyhazovat[17] = 0; //Diamond   

    ushort[] barva = new ushort[18];
    barva[0] = 0x0000; //Iron 
    barva[1] = 0x0289; //Copper 
    barva[2] = 0x01BF; //Bronze 
    barva[3] = 0x0482; //Silver 
    barva[4] = 0x0322; //Shadow 
    barva[5] = 0x0665; //Rose 
    barva[6] = 0x0160; //Golden 
    barva[7] = 0x01CB; //Verite 
    barva[8] = 0x0253; //Valorite 
    barva[9] = 0x04C2; //Blood Rock 
    barva[10] = 0x0455; //Black Rock 
    barva[11] = 0x052D; //Mytheril 
    barva[12] = 0x0006; //Star Sapphire 
    barva[13] = 0x0041; //Emerald 
    barva[14] = 0x002C; //Citrine 
    barva[15] = 0x0015; //Amethyst 
    barva[16] = 0x0027; //Ruby 
    barva[17] = 0x03E9; //Diamond 

    ushort[] typ_ore = new ushort[4];
    typ_ore[0] = 0x19B7; // 1
    typ_ore[1] = 0x19BA; // 2
    typ_ore[2] = 0x19B8; // 3
    typ_ore[3] = 0x19B9; // 4+

    if (World.Player.Layers[Layer.Mount].Exist)
    {
        UO.Print(SpeechFont.Bold, 0x0481, "Na jezditku nelze kopat, slejzame!");
        World.Player.Use();
        UO.Wait(500);
        UO.Say("All Stop");
    }

    while (!World.Player.Dead)
    {
        if ((World.Player.Backpack.AllItems.Count(0x0E85, 0x0000) > 0) || (World.Player.Layers[Layer.RightHand].Graphic == 0x0E85))
        {
            UO.DeleteJournal();
            UO.Print("Kopu na {0},{1},{2}", World.Player.X, World.Player.Y, World.Player.Z);
            UO.WaitTargetTile(World.Player.X, World.Player.Y, World.Player.Z, 0);
            UO.UseType(0x0E85);
            UO.Wait(3500);

            Journal.WaitForText("There is no ore here to mine.", "in rock", "You put the", "It is too heavy..", "You loosen some rocks");
            if (UO.InJournal("There is no ore here to mine.") || UO.InJournal("in rock"))
            {
                for (int i = 0; i < 18; i++)
                {
                    if (vyhazovat[i] == 1)
                    {
                        for (int o = 0; o < 4; o++)
                        {
                            if (World.Player.Backpack.AllItems.Count(typ_ore[o], barva[i]) > 0)
                            {
                                UO.MoveItem(World.Player.Backpack.AllItems.FindType(typ_ore[o], barva[i]), 100, World.Player.X, World.Player.Y, World.Player.Z);
                                UO.Wait(500);
                            }
                        }
                    }
                }
                minpohyb();
                return;
            }
            if (UO.InJournal("It is too heavy..")) UO.PlayWav("c:\\windows\\media\\ringin.wav");
           if (UO.InJournal("You put the"))
            {
                for (int i = 0; i < 18; i++)
                {
                    if (vyhazovat[i] == 1)
                    {
                        for (int o = 0; o < 4; o++)
                        {
                            if (World.Player.Backpack.AllItems.Count(typ_ore[o], barva[i]) > 0)
                            {
                                UO.MoveItem(World.Player.Backpack.AllItems.FindType(typ_ore[o], barva[i]), 100, World.Player.X, World.Player.Y, World.Player.Z);
                                UO.Wait(500);
                                minpohyb();
                                return;
                            }
                        }
                    }
                }
           }
        
        }
        else
        {
            UO.PrintWarning("Nemas krumpace!");
            return;
        }
    }
}

public void minpohyb()
{
   int x = 0;
   int y = 0;

   UO.DeleteJournal();
   x = World.Player.X;
   UO.Press(System.Windows.Forms.Keys.Home);
   UO.Wait(250);
   if (World.Player.X == x) UO.Press(System.Windows.Forms.Keys.Home);
   UO.Wait(250);
    if (World.Player.X == x)
    {
        while (x <= World.Player.X)
        {
            UO.Press(System.Windows.Forms.Keys.PageDown);
            UO.Wait(250);
            if (World.Player.X == x) UO.Press(System.Windows.Forms.Keys.PageDown);
            UO.Wait(250);
            x = x + 1;
        }

        y = World.Player.Y;
        UO.Press(System.Windows.Forms.Keys.End);
        UO.Wait(250);
        if (World.Player.Y == y) UO.Press(System.Windows.Forms.Keys.End);
        UO.Wait(250);
            if (World.Player.Y == y)
            {
                while (World.Player.Y != (y+1))
                {
                    UO.Press(System.Windows.Forms.Keys.Home);
                    UO.Wait(250);
                    if (World.Player.Y == y) UO.Press(System.Windows.Forms.Keys.Home);
                    UO.Wait(250);
                    UO.Press(System.Windows.Forms.Keys.End);
                    UO.Wait(250);
                    if (World.Player.Y == y) UO.Press(System.Windows.Forms.Keys.End);
                    UO.Wait(250);
                }
            }
        x = World.Player.X;
        while (x <= World.Player.X)
        {
            UO.Press(System.Windows.Forms.Keys.PageDown);
            UO.Wait(250);
            if (World.Player.X == x) UO.Press(System.Windows.Forms.Keys.PageDown);
            UO.Wait(250);
            x = x + 1;
        }
    }
    mining();
}

[Executable]
public void taveni()
{

    ushort[] barva = new ushort[18];
    barva[0] = 0x0000; //Iron 
    barva[1] = 0x0289; //Copper 
    barva[2] = 0x01BF; //Bronze 
    barva[3] = 0x0482; //Silver 
    barva[4] = 0x0322; //Shadow 
    barva[5] = 0x0665; //Rose 
    barva[6] = 0x0160; //Golden 
    barva[7] = 0x01CB; //Verite 
    barva[8] = 0x0253; //Valorite 
    barva[9] = 0x04C2; //Blood Rock 
    barva[10] = 0x0455; //Black Rock 
    barva[11] = 0x052D; //Mytheril 
    barva[12] = 0x0006; //Star Sapphire 
    barva[13] = 0x0041; //Emerald 
    barva[14] = 0x002C; //Citrine 
    barva[15] = 0x0015; //Amethyst 
    barva[16] = 0x0027; //Ruby 
    barva[17] = 0x03E9; //Diamond 

    ushort[] typ_ore = new ushort[4];
    typ_ore[0] = 0x19B7; // 1
    typ_ore[1] = 0x19BA; // 2
    typ_ore[2] = 0x19B8; // 3
    typ_ore[3] = 0x19B9; // 4+

    UO.Print(SpeechFont.Bold, 0x0b94, "Zamer forge");
    UOItem item = World.GetItem(UIManager.TargetObject());

    for (int i = 0; i < 18; i++)
    {
            for (int o = 0; o < 4; o++)
            {
                if (World.Player.Backpack.AllItems.Count(typ_ore[o], barva[i]) > 0)
                {
                    UO.Print("Tavim!");
                    UO.WaitTargetType(typ_ore[o], barva[i]);
                    UO.UseObject(item);
                    UO.Wait(1000);
                }
            }
    }
    UO.Print("Vsechno pretaveno!");

}

Re: Chodici mining, vyhazovani + taveni

Napsal: 27 črc 2010 21:07
od Stich
wizzy ja te zeru :D

Re: Chodici mining, vyhazovani + taveni

Napsal: 11 srp 2010 11:30
od Wizzy
Ponevadz se mi objevil dotaz v PMce napisu to sem.

Pokud vam skript hazi error s chybejicim "SystemLinq" nemate v hlavicce souboru pridane co je napsane v postu


Pokud vase fena nezna playwav a press, stahnete si novou 'officialne povolenou' verzi feny.


(no a kdo by chtel stejnak jet na starsi verzi tak mi napiste na icq protoze upravenej skript na ni mam :p)

Re: Chodici mining, vyhazovani + taveni

Napsal: 02 led 2011 13:18
od Smoce
mimochodem .. kdyby někomu vadilo, že si to nebere z baglu krumpač, když se rozbije jako mě, tak si přidejte do zdrojáku tuhle podmínku...

Kód: Vybrat vše

 if (World.Player.Layers[Layer.RightHand].Graphic != 0x0E85)
            {
            UO.WaitTargetCancel();
            UO.UseType(0x0E85);
            UO.Wait(3500);
            }

Re: Chodici mining, vyhazovani + taveni

Napsal: 22 říj 2016 20:31
od Depka
mam to tam pridany a stejne to nenasazuje,nevite co s tim nekdo?

Re: Chodici mining, vyhazovani + taveni

Napsal: 22 říj 2016 21:13
od krysakrys
1. odbinduj si Num X klavesy ve hre v options (delete)

a tady je funkcni mining.
- Krumpac to nasazuje automaticky.
- Hned na zacatku je rada nastaveni, celkem 3. Prvni je maximalni vaha pokud to ma kopat, 500 je standartne jako defaultni. Dale zmenenim true/false vybirate pro jednotlivou rudu, kterou chcete vykopavat A kterou chcete sbirat. Sbiram iron? tak tedy mu nastavim true, true.

prikaz:
,exec mine
,exec smelt

Kód: Vybrat vše

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

namespace Phoenix.Script {
    
    [RuntimeObject]
    public class Mining {
    
        protected int maxWeight = 500;
    
        // vykovapat, brat
        protected bool[][] process = {
            new bool[] {true, false}, // iron
            new bool[] {true, false}, // copper
            new bool[] {true, false}, // bronze
            new bool[] {true, true}, // silver
            new bool[] {true, true}, // shadow
            new bool[] {true, true}, // rose
            new bool[] {true, true}, // golden
            new bool[] {true, true}, // verite
            new bool[] {true, true}, // valorite
            new bool[] {true, true}, // blood Rock
            new bool[] {true, true}, // black Rock
            new bool[] {true, true}, // mytheril
            new bool[] {true, true}, // star Sapphire
            new bool[] {true, true}, // emerald
            new bool[] {true, true}, // citrine
            new bool[] {true, true}, // amethyst
            new bool[] {true, true}, // ruby
            new bool[] {true, true}  // diamond
        };
        
        protected ushort pickaxe = 0x0e85;
        protected ushort[] forge = {0x0FB1, 0x0000};
        
        // ------------------------------
    
        protected ushort[] colors = {
            0x0000, // iron
            0x0289, // copper
            0x01BF, // bronze
            0x0482, // silver
            0x0322, // shadow
            0x0665, // rose
            0x0160, // golden
            0x01CB, // verite
            0x0253, // valorite
            0x04C2, // blood Rock
            0x0455, // black Rock
            0x052D, // mytheril
            0x0006, // star Sapphire
            0x0041, // emerald
            0x002C, // citrine
            0x0015, // amethyst
            0x0027, // ruby
            0x03E9  // diamond
        };
        
        protected string[] journals = {
            "You put the Iron",
            "You put the Copper",
            "You put the Bronze",
            "You put the Silver",
            "You put the Shadow",
            "You put the Rose",
            "You put the Golden",
            "You put the Verite",
            "You put the Valorite",
            "You put the Blood Rock",
            "You put the Black Rock",
            "You put the Mytheril",
            "You put the Star Sapphire",
            "You put the Emerald",
            "You put the Citrine",
            "You put the Amethys",
            "You put the Ruby",
            "You put the Diamond"
        };
    
        protected ushort[] ores = {
               0x19B7, // 1
               0x19BA, // 2
               0x19B8, // 3
               0x19B9  // 4
        };
    
        public Mining() {
        
        }
        
        [Executable]
        public void mine() {
        
            UO.DeleteJournal();
        
            do {
            
                UO.DeleteJournal();
            
                this.doMine();
                
                if (!this.checkWeight()) {
                    return;
                }
            
            } while (!Journal.Contains("xstop") && this.move());
        
        }
        
        public void doMine() {
        
            bool firstMine = true;
            bool doMine = true;
            bool doThrow = false;
            int type = 0;
            
            // -- mining cycle
            
            UO.DeleteJournal();
            
            string[] stopText = {
                "There is no ore here to mine.",
                "Try mining in rock.",
                "xstop"
            };
            
            while (!World.Player.Dead && !Journal.Contains(stopText)) {
            
                UO.DeleteJournal();
                
                UO.UseType(this.pickaxe);
                UO.WaitTargetTile(World.Player.X, World.Player.Y, World.Player.Z, 1341);
                
                Journal.WaitForText("...akce skoncila");
                
                // -- getting info about mined ore
                
                if (firstMine && Journal.Contains("You put")) {
                    for (int i = 0; i < this.journals.Length; i++) {
                        if (Journal.Contains(this.journals[i])) {
                            firstMine = false;
                            type = i;
                            doMine = this.process[i][0];
                            doThrow = !this.process[i][1];
                            break;
                        }
                    }
                }
                
                if (doThrow) {
                    this.doThrow(type);
                }
            
                if (!doMine) {
                    return;
                }
            
            }
        
        }
        
        protected void doThrow(int type) {
            
            for (int i = 0; i < this.ores.Length; i++) {
                int count = World.Player.Backpack.AllItems.Count(this.ores[i], this.colors[type]);
                if (count > 0) {
                    //UO.DropHere(count, World.Player.Backpack.AllItems.FindType(this.ores[i], this.colors[type]));
                    UO.DropHere(0, World.Player.Backpack.AllItems.FindType(this.ores[i], this.colors[type]));
                    UO.Wait(500);
                }
            }
            
        }
        
        public bool move() {
        
            int[] start = {World.Player.X, World.Player.Y};
        
            int x = 0;
            int y = 0;
         
            x = World.Player.X;
            
            UO.Press(System.Windows.Forms.Keys.Home);
            UO.Wait(250);
           
            if (World.Player.X == x) {
                UO.Press(System.Windows.Forms.Keys.Home);
            }
            
            UO.Wait(250);
            
            if (World.Player.X == x) {
            
                while (x <= World.Player.X) {
                    
                    UO.Press(System.Windows.Forms.Keys.PageDown);
                    UO.Wait(250);
                    
                    if (World.Player.X == x) {
                        UO.Press(System.Windows.Forms.Keys.PageDown);
                    }
                    
                    UO.Wait(250);
                    x = x + 1;
                    
                }
         
                y = World.Player.Y;
                
                UO.Press(System.Windows.Forms.Keys.End);
                UO.Wait(250);
                
                if (World.Player.Y == y) {
                    UO.Press(System.Windows.Forms.Keys.End);
                }
                
                UO.Wait(250);
                
                if (World.Player.Y == y) {
                
                    while (World.Player.Y != (y+1)) {
                        
                        UO.Press(System.Windows.Forms.Keys.Home);
                        UO.Wait(250);
                        
                        if (World.Player.Y == y) {
                            UO.Press(System.Windows.Forms.Keys.Home);
                        }
                        
                        UO.Wait(250);
                        UO.Press(System.Windows.Forms.Keys.End);
                        UO.Wait(250);
                        
                        if (World.Player.Y == y) {
                            UO.Press(System.Windows.Forms.Keys.End);
                        }
                        
                        UO.Wait(250);
                    }
                }
                
                x = World.Player.X;
                
                while (x <= World.Player.X) {
                
                    UO.Press(System.Windows.Forms.Keys.PageDown);
                    UO.Wait(250);
                    
                    if (World.Player.X == x) {
                        UO.Press(System.Windows.Forms.Keys.PageDown);
                    }
                    
                    UO.Wait(250);
                    x = x + 1;
                    
                }
                
            }
            
            if (World.Player.X != start[0] || World.Player.Y != start[1]) {
                return true;
            }
            
            return false;
        }
        
        protected bool checkWeight() {
            return (World.Player.Weight <= this.maxWeight);
        }
        
        [Executable]
        public void smelt() {
        
            UOItem forge = World.Ground.FindType(this.forge[0], this.forge[1]);
            for (int type = 0; type < this.ores.Length; type++) {
                for (int color = 0; color < this.colors.Length; color++) {
                
                    if (World.Player.Backpack.AllItems.Count(this.ores[type], this.colors[color]) > 0) {
                        UO.WaitTargetType(this.ores[type], this.colors[color]);
                        UO.UseObject(forge);
                        UO.Wait(1000);
                    }
                
                }
            }
            
            UO.Print("Hotovo!");
        
        }
        
    }
    
}

Re: Chodici mining, vyhazovani + taveni

Napsal: 09 lis 2016 02:37
od Rod Sacketts II
viz verse 4.0

Re: Chodici mining, vyhazovani + taveni

Napsal: 25 úno 2017 23:43
od Johny Matovic
Jak to ty robis Rode, ze mi ziadny skript od teba nejde?:D

Re: Chodici mining, vyhazovani + taveni

Napsal: 10 kvě 2017 20:59
od alderanis
mě to de jenom do doby než dojedu řadu pak to začne házet nějakej tracking a dokonce i spamovat jak prase nechápu co se s tim děje

Re: Chodici mining, vyhazovani + taveni

Napsal: 14 kvě 2017 06:30
od Rod Sacketts II
alderanis píše:mě to de jenom do doby než dojedu řadu pak to začne házet nějakej tracking a dokonce i spamovat jak prase nechápu co se s tim děje
že by to bylo nastavenýma klávesama na: Home, End, PageUp a PageDown? - Kteréžto klávesy využívá pro pohyb...... Tedy když tam máš makra, tak to bude používat makra a né chodit.

Re: Chodici mining, vyhazovani + taveni

Napsal: 25 kvě 2017 10:35
od alderanis
I když sem z těch kláves odstranil ty hotkeye, tak mi to při přetížení hodí že sem těžkej a pak to ukončí script nechodí smeltovat rudu ani se nevrací z5, prostě script terminuje

Re: Chodici mining, vyhazovani + taveni

Napsal: 26 kvě 2017 18:00
od Rod Sacketts II
alderanis píše:I když sem z těch kláves odstranil ty hotkeye, tak mi to při přetížení hodí že sem těžkej a pak to ukončí script nechodí smeltovat rudu ani se nevrací z5, prostě script terminuje
Tak si napiš vlastní který chceš podle tvoji potřeby. Pro moji potřebu je tento fajnovej. Nekope to mythril pro zloděje, a váhu si ošefuju tím že na to koukám, a nehraju AFK jak by jiní rádi hrály.

Re: Chodici mining, vyhazovani + taveni

Napsal: 21 dub 2020 14:00
od Rod Sacketts II
verse 4.0

,kopej
pak se to zeptá jestli na východ nebo na západ má začít....

Kód: Vybrat vše

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

namespace Phoenix.Script {
    
    [RuntimeObject]
    public class Hornictvi {
    

      int smer = 0;
      int n = 0;
      int nn = 0;

      
        protected int maxWeight = 500;
    
        // vykovapat, brat
        protected bool[][] process = {
            new bool[] {false, false}, // iron
            new bool[] {false, false}, // copper
            new bool[] {false, false}, // bronze
            new bool[] {false, false}, // silver
            new bool[] {false, false}, // shadow
            new bool[] {false, false}, // rose
            new bool[] {true, true}, // golden
            new bool[] {false, false}, // verite
            new bool[] {false, false}, // valorite
            new bool[] {false, false}, // blood Rock
            new bool[] {true, true}, // black Rock
            new bool[] {true, true}, // mytheril
            new bool[] {false, false}, // star Sapphire
            new bool[] {false, false}, // emerald
            new bool[] {false, true}, // citrine
            new bool[] {false, true}, // amethyst
            new bool[] {false, false}, // ruby
            new bool[] {true, true}  // diamond
        };
      
        
        protected ushort pickaxe = 0x0E85;
        
        // ------------------------------
    
        protected ushort[] colors = {
            0x0000, // iron
            0x0289, // copper
            0x01BF, // bronze
            0x0482, // silver
            0x0322, // shadow
            0x0665, // rose
            0x0160, // golden
            0x01CB, // verite
            0x0253, // valorite
            0x04C2, // blood Rock
            0x0455, // black Rock
            0x052D, // mytheril
            0x0006, // star Sapphire
            0x0041, // emerald
            0x002C, // citrine
            0x0015, // amethyst
            0x0027, // ruby
            0x03E9  // diamond
        };
      
      protected ushort[] ingotcolors = {
            0x0000, // iron
            0x07D1, // copper
            0x06D6, // bronze
            0x0000, // silver
            0x0770, // shadow
            0x0665, // rose
            0x0160, // golden
            0x07D1, // verite
            0x0515, // valorite
            0x04C2, // blood Rock
            0x0455, // black Rock
            0x052D, // mytheril
            0x0000, // star Sapphire
            0x0000, // emerald
            0x0000, // citrine
            0x0000, // amethyst
            0x0000, // ruby
            0x0000  // diamond
        };
        
        protected string[] journals = {
            "You put the Iron",
            "You put the Copper",
            "You put the Bronze",
            "You put the Silver",
            "You put the Shadow",
            "You put the Rose",
            "You put the Golden",
            "You put the Verite",
            "You put the Valorite",
            "You put the Blood Rock",
            "You put the Black Rock",
            "You put the Mytheril",
            "You put the Star Sapphire",
            "You put the Emerald",
            "You put the Citrine",
            "You put the Amethys",
            "You put the Ruby",
            "You put the Diamond"
        };
    
        protected ushort[] ores = {
               0x19B7, // 1
               0x19BA, // 2
               0x19B8, // 3
               0x19B9  // 4
        };
      
      protected ushort[] ingot = {
            0x1BEF, // 1
            0x1BF5, // 2
            0x1BE3, // 3
            0x1BE9,  // 4
         0x0F0F, // star Sapphire
         0x0F10, // emerald
         0x0F15, // citrine
         0x0F16, // amethyst
         0x0F13, // ruby
         0x0F26  // diamond
        };
    
        public Hornictvi() {
        
        }
        
        [Command]
        public void Kopej() {
        
         
         
            UO.DeleteJournal();
         UO.PrintInformation("Rekni jestli ches prvne kopat na ZAPAD nebo na VYCHOD...");
         UO.Wait(100);
         UO.DeleteJournal();
         UO.Wait(100);
         while ((!UO.InJournal("Vychod")) && (!UO.InJournal("East")) && (!UO.InJournal("Zapad")) && (!UO.InJournal("West"))) 
         {
                UO.Wait(100);
            }
         if ((UO.InJournal("Vychod")) && (!UO.InJournal("East")))
         {
                smer = 2;
            }
         else if  ((UO.InJournal("Zapad")) && (!UO.InJournal("West")))
         {
                smer = 1;
            }
         
         UO.DeleteJournal();
            do {
            
                UO.DeleteJournal();
            
                this.Seknuti();
                
                if (!this.checkWeight()) {
                    return;
                }
            
            } while (!Journal.Contains("xstop") && (this.move()));
        
        }
        
        public void Seknuti() {
        
            bool firstMine = true;
            bool Seknuti = true;
            bool doThrow = false;
            int type = 0;
            
            // -- mining cycle
            
            UO.DeleteJournal();
            
            string[] stopText = {
                "There is no ore here to mine.",
                "Try mining in rock.",
                "xstop"
            };
            
            while (!World.Player.Dead && !Journal.Contains(stopText)) {
            
                UO.DeleteJournal();
                
                UO.UseType(this.pickaxe);
                UO.WaitTargetTile(World.Player.X, World.Player.Y, World.Player.Z, 1341);
                
            
            UOItem krumpac = World.Player.Layers[Layer.RightHand];
            
            if (krumpac.Graphic == pickaxe && krumpac.Color == 0x0481)
            {
               while (!UO.InJournal("There is no") && !UO.InJournal("You put|You loosen") && !UO.InJournal("Try mining") && !UO.InJournal("You destroy"))
               {
                  UO.Wait(100);
               }   
               UO.Wait(500);
            }
            else
            {
               while (!UO.InJournal("There is no") && !UO.InJournal("You put|You loosen") && !UO.InJournal("Try mining") && !UO.InJournal("You destroy"))
               {
                  UO.Wait(100);
               }
               Journal.WaitForText("...akce skoncila");
               UO.Wait(500);
            }
            
            
                // -- getting info about mined ore
                
                if (firstMine && Journal.Contains("You put")) 
            {
                    for (int i = 0; i < this.journals.Length; i++) 
               {
                        if (Journal.Contains(this.journals[i])) 
                  {
                            firstMine = false;
                            type = i;
                            Seknuti = this.process[i][0];
                            doThrow = !this.process[i][1];
                            break;
                        }
                    }
                }
                
                if ((doThrow) && (!Seknuti)) {
                    this.doThrow(type);
                }
            
                if (!Seknuti) {
                    return;
                }
            
            if ((doThrow) && (Journal.Contains("There is no ore here to mine."))) {
                    this.doThrow(type);
                }
            
            }
        
        }
        
        protected void doThrow(int type) {
            
            for (int m = 0; m < this.ores.Length; m++) {
            for (int i = 0; i < this.colors.Length; i++) {
               int count = World.Player.Backpack.AllItems.Count(this.ores[m], this.colors[type]);
               if (count > 0) {
                  //UO.DropHere(count, World.Player.Backpack.AllItems.FindType(this.ores[i], this.colors[type]));
                  UO.DropHere(0, World.Player.Backpack.AllItems.FindType(this.ores[m], this.colors[type]));
                  UO.Wait(50);
               }
            }
            }
            
        }
        
      public bool move() 
      {
         if (smer == 1)
         {
            moveSW();
            return true;
         }
         else if (smer == 2)
         {
            moveSE();
            return true;
         }
         else
            return false;
      }
      
      public void moveSW() 
      {

         UO.Wait(50);

            if ((!MoveW()) && (x == World.Player.X))
            {
               UO.Wait(50);
               while ((!MoveS()) && (y == World.Player.Y))
               {
                  UO.Wait(50);
                  while ((!MoveE()) && (x == World.Player.X))
                  {
                     UO.Wait(50);
                     while ((MoveN()) && (y != World.Player.Y))
                     {
                        UO.Wait(50);
                        while ((MoveW()) && (x != World.Player.X))
                        {
                           UO.Wait(50);
                           if ((MoveS()) && (y != World.Player.Y))
                           {
                              return;
                           }
                        }
                     }
                  }
               }
               while ((MoveW()) && (x != World.Player.X))
               {
                  UO.Wait(50);
                  if ((MoveN()) && (y != World.Player.Y))
                  {
                     UO.Wait(50);
                     return;
                  }
               }
               smer = 2;
            }
      }
      public void moveSE() 
      {
         UO.Wait(50);
         if ((!MoveE()) && (x == World.Player.X))
         {
            UO.Wait(50);
               UO.Wait(50);
               while ((!MoveS()) && (y == World.Player.Y))
               {
                  UO.Wait(50);
                  while ((!MoveW()) && (x == World.Player.X))
                  {
                     UO.Wait(50);
                     while ((MoveN()) && (y != World.Player.Y))
                     {
                        UO.Wait(50);
                        while ((MoveE()) && (x != World.Player.X))
                        {
                           UO.Wait(50);
                           if ((MoveS()) && (y != World.Player.Y))
                           {
                              return;
                           }
                        }
                     }
                  }
               }
               UO.Wait(50);
               while ((MoveE()) && (x != World.Player.X))
               {
                  UO.Wait(50);
                  if ((MoveN()) && (y != World.Player.Y))
                  {
                     UO.Wait(50);
                     return;
                  }
                  
               }
               smer = 1;
         
         }
         
        }
      
        protected bool checkWeight() {
            return (World.Player.Weight <= this.maxWeight);
        }
        
      
            int x = 0;
            int y = 0;
      
      [Executable]
        public bool MoveW()
        {

            x = World.Player.X;
            

            UO.Press(System.Windows.Forms.Keys.Home);
            UO.Wait(250);

           
            if (World.Player.X == x) {
                UO.Press(System.Windows.Forms.Keys.Home);
            
            }
         UO.Wait(250);
         if (World.Player.X == x) {
                UO.Press(System.Windows.Forms.Keys.Home);
            }
         
         UO.Wait(250);
            if (World.Player.X == x) {
               return false;
            }
         

            return true;
        }
      
      [Executable]
        public bool MoveS()
        {
         

         y = World.Player.Y;
         
         UO.Press(System.Windows.Forms.Keys.End);
            UO.Wait(250);

                    
            if (World.Player.Y == y)
         {
                UO.Press(System.Windows.Forms.Keys.End);
            UO.Wait(250);
         }
         
            if (World.Player.Y == y) {
                    UO.Press(System.Windows.Forms.Keys.End);
                }

            UO.Wait(250);
            if (World.Player.Y == y) {
               return false;
            }
            
            
            return true;
        }
        
        [Executable]
        public bool MoveE()
        {

         x = World.Player.X;
         
            UO.Press(System.Windows.Forms.Keys.PageDown);
            UO.Wait(250);

                    
            if (World.Player.X == x){
                UO.Press(System.Windows.Forms.Keys.PageDown);
            UO.Wait(250);
            }
         
            if (World.Player.X == x) {
                        UO.Press(System.Windows.Forms.Keys.PageDown);
                    }
         
            UO.Wait(250);
            if (World.Player.X == x)  {
               return false;
            }
            return true;
        }
        
        [Executable]
        public bool MoveN()
        {

         y = World.Player.Y;
      
            UO.Press(System.Windows.Forms.Keys.PageUp);
            UO.Wait(250);
;
                    
            if (World.Player.Y == y)  {
                UO.Press(System.Windows.Forms.Keys.PageUp);

            UO.Wait(250);
            }
         
            if (World.Player.Y == y) {
                    UO.Press(System.Windows.Forms.Keys.PageUp);
                }
         
            UO.Wait(250);
            if (World.Player.Y == y) {
               return false;
            }
            return true;
        }
         
    }
    
}
upraveny pauzy, upraveno pro možnost kopat jak normálním krumpáčem tak skládačkou