///////////////////////////////////////////////////////////////////////// // // www.ultima.smoce.net // Name: Mining, vyhazovani + taveni // ///////////////////////////////////////////////////////////////////////// using System; using System.Collections.Generic; using System.Text; using Phoenix; using Phoenix.WorldData; using System.Linq; using Phoenix.Communication; using Phoenix.Runtime; using Phoenix.Runtime.Reflection; namespace Scripts.DarkParadise { public class ultima_smoce_net_1779635033 {[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"); } if (World.Player.Layers[Layer.RightHand].Graphic != 0x0E85) { UO.WaitTargetCancel(); UO.UseType(0x0E85); UO.Wait(3500); } while (!World.Player.Dead) { if ((World.Player.Backpack.AllItems.Count(0x0E85, 0x0000) > 0) || (World.Player.Layers[Layer.RightHand].Graphic == 0x0E85)) { if (World.Player.Layers[Layer.RightHand].Graphic != 0x0E85) { UO.WaitTargetCancel(); UO.UseType(0x0E85); UO.Wait(3500); } 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!"); } } }