Massmove (Yoko)

Datum: 22/11/2014 23:59:31

Staženo: 686x

Popis:

Massmove stejný jak v yoku .....


Hodnocení: 3.6/10 (60 hlasy)

Download file:cs

Příkazy:

  • ,massmove
  • ,massmove "int pause"
  • ,massmove "int pause" " ushort color"
  • ,massmove "int pause" " int pocet" " ushort color"
  • ,massmove "int pause" " bool stejnabarva"
  • ,massmove "int pause" " int pocet" " bool stejnabarva"

Kód:

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

    namespace Phoenix.Scripts
    {
        public class Massmove
        {
            int x;
            UOItem presunovanaVec;
            UOItem zdroj;
            ushort Color;
            int Pause;
            int MaxPocet;
            int typ;
            bool massmoveRunning = false;

            public CallbackResult DropItem(byte[] data, CallbackResult prevResult)
            {
                PacketReader reader = new PacketReader(data);
                byte id = reader.ReadByte();
                presunovanaVec = World.GetItem(reader.ReadUInt32());
          zdroj = World.GetItem(presunovanaVec.Container);
                x = 0;
                presunovanaVec.Changed += new ObjectChangedEventHandler(presunovanaVec_Changed);
                return CallbackResult.Normal;
            }

            void presunovanaVec_Changed(object sender, ObjectChangedEventArgs e)
            {
                if ((presunovanaVec.Container == 0x00000000) && (x == 1))
                {
                    massmoveRunning = false;
                    Core.UnregisterClientMessageCallback(0x07, DropItem);
                    presunovanaVec.Changed -= presunovanaVec_Changed;
                }
                x++;
                if (presunovanaVec.Container != 0x00000000)
                {
                    Core.UnregisterClientMessageCallback(0x07, DropItem);
                    presouvani(typ);
                }
            }

            [Command("massmove")]
            public void informace()
            {
                UO.PrintInformation(",massmove pause");
                UO.PrintInformation(",massmove pause barva");
                UO.PrintInformation(",massmove pause maxPocet barva");
                UO.PrintInformation(",massmove pause stejnaBarva");
                UO.PrintInformation(",massmove pause maxPocet stejnaBarva");
                UO.PrintInformation("stejnaBarva = true/false, je jedno co pouzijete");
            }

            [Command("massmove")]
            public void presun(int pause)
            {
                if (massmoveRunning == true)
                {
                    massmoveRunning = false;
                    Core.UnregisterClientMessageCallback(0x07, DropItem);
                    UO.Print("Massmove vypnut");
                    return;
                }
                UO.Print("Pohni s itemem.");
                Core.RegisterClientMessageCallback(0x07, new MessageCallback(DropItem));
                massmoveRunning = true;
                typ = 1;
                Pause = pause;
            }

            [Command("massmove")]
            public void presun(int pause, ushort color)
            {
                if (massmoveRunning == true)
                {
                    massmoveRunning = false;
                    Core.UnregisterClientMessageCallback(0x07, DropItem);
                    UO.Print("Massmove vypnut");
                    return;
                }
                UO.Print("Pohni s itemem.");
                Core.RegisterClientMessageCallback(0x07, new MessageCallback(DropItem));
                massmoveRunning = true;
                typ = 2;
                Pause = pause;
                Color = color;
            }

            [Command("massmove")]
            public void presun(int pause, int pocet, ushort color)
            {
                if (massmoveRunning == true)
                {
                    massmoveRunning = false;
                    Core.UnregisterClientMessageCallback(0x07, DropItem);
                    UO.Print("Massmove vypnut");
                    return;
                }
                UO.Print("Pohni s itemem.");
                Core.RegisterClientMessageCallback(0x07, new MessageCallback(DropItem));
                massmoveRunning = true;
                typ = 3;
                Pause = pause;
                Color = color;
                MaxPocet = pocet;
            }


            [Command("massmove")]
            public void presun(int pause, bool stejnaBarva)
            {
                if (massmoveRunning == true)
                {
                    massmoveRunning = false;
                    Core.UnregisterClientMessageCallback(0x07, DropItem);
                    UO.Print("Massmove vypnut");
                    return;
                }
                UO.Print("Pohni s itemem.");
                Core.RegisterClientMessageCallback(0x07, new MessageCallback(DropItem));
                massmoveRunning = true;
                typ = 4;
                Pause = pause;
            }


            [Command("massmove")]
            public void presun(int pause, int pocet, bool stejnaBarva)
            {
                if (massmoveRunning == true)
                {
                    massmoveRunning = false;
                    Core.UnregisterClientMessageCallback(0x07, DropItem);
                    UO.Print("Massmove vypnut");
                    return;
                }
                UO.Print("Pohni s itemem.");
                Core.RegisterClientMessageCallback(0x07, new MessageCallback(DropItem));
                massmoveRunning = true;
                typ = 5;
                Pause = pause;
                MaxPocet = pocet;
            }

            public void presouvani(int id)
            {
                int pocitadlo;
                presunovanaVec.Changed -= presunovanaVec_Changed;
                switch (id)
                {
                    case 1:
                        {
                            pocitadlo = zdroj.Items.Count(presunovanaVec.Graphic);
                            foreach (UOItem item in zdroj.Items)
                            {
                                if (item.Graphic == presunovanaVec.Graphic)
                                {
                                    UO.Print("Zbyva " + pocitadlo + " itemu");
                                    UO.MoveItem(item, item.Amount, presunovanaVec.Container, presunovanaVec.X, presunovanaVec.Y);
                                    pocitadlo--;
                                    UO.Wait(Pause);
                                }
                            }
                            break;
                        }
                    case 2:
                        {
                            pocitadlo = zdroj.Items.Count(presunovanaVec.Graphic, Color);
                            foreach (UOItem item in zdroj.Items)
                            {
                                if (item.Graphic == presunovanaVec.Graphic && item.Color == Color)
                                {
                                    UO.Print("Zbyva " + pocitadlo + " itemu");
                                    UO.MoveItem(item, item.Amount, presunovanaVec.Container, presunovanaVec.X, presunovanaVec.Y);
                                    pocitadlo--;
                                    UO.Wait(Pause);
                                }
                            }
                            break;
                        }
                    case 3:
                        {
                            pocitadlo = zdroj.Items.Count(presunovanaVec.Graphic, Color);
                            if (pocitadlo > MaxPocet)
                            {
                                pocitadlo = MaxPocet;
                            }
                            foreach (UOItem item in zdroj.Items)
                            {
                                if (item.Graphic == presunovanaVec.Graphic && item.Color == Color && MaxPocet > 0)
                                {
                                    UO.Print("Zbyva " + pocitadlo + " itemu");
                                    UO.MoveItem(item, item.Amount, presunovanaVec.Container, presunovanaVec.X, presunovanaVec.Y);
                                    pocitadlo--;
                                    MaxPocet--;
                                    UO.Wait(Pause);
                                }
                            }
                            break;
                        }
                    case 4:
                        {
                            pocitadlo = zdroj.Items.Count(presunovanaVec.Graphic, presunovanaVec.Color);
                            foreach (UOItem item in zdroj.Items)
                            {
                                if (item.Graphic == presunovanaVec.Graphic && item.Color == presunovanaVec.Color)
                                {
                                    UO.Print("Zbyva " + pocitadlo + " itemu");
                                    UO.MoveItem(item, item.Amount, presunovanaVec.Container, presunovanaVec.X, presunovanaVec.Y);
                                    pocitadlo--;
                                    UO.Wait(Pause);
                                }
                            }
                            break;
                        }
                    case 5:
                        {
                            pocitadlo = zdroj.Items.Count(presunovanaVec.Graphic, presunovanaVec.Color);
                            if (pocitadlo > MaxPocet)
                            {
                                pocitadlo = MaxPocet;
                            }
                            foreach (UOItem item in zdroj.Items)
                            {
                                if (item.Graphic == presunovanaVec.Graphic && item.Color == presunovanaVec.Color && MaxPocet > 0)
                                {
                                    UO.Print("Zbyva " + pocitadlo + " itemu");
                                    UO.MoveItem(item, item.Amount, presunovanaVec.Container, presunovanaVec.X, presunovanaVec.Y);
                                    pocitadlo--;
                                    MaxPocet--;
                                    UO.Wait(Pause);
                                }
                            }
                            break;
                        }
                }
                UO.Print("Dokonceno");
                massmoveRunning = false;
            }
        }
    }
Zde ještě není žádný komentář.

Nový komentář