Refull -> scritpt

Datum: 22/11/2014 23:49:41

Staženo: 384x

Popis:

Autor neznámej


Hodnocení: 3.7/10 (64 hlasy)

Download file:cs

Příkazy:

  • ,exec tttest
  • ,exec reful

Kód:

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

namespace Phoenix.Scripts
{
    public class Refuling
    {

        [Executable]
        public void tttest()
        {
		UOItem test = new UOItem(0x4003223F);
		UO.MoveItem(test, 1, World.Player.Backpack);
        }

        [Executable]
        public void Reful()
        {
            UO.PrintObject(World.Player.Serial, "Zamer container s potiony");
            UOItem potionsContainer = World.GetItem(UIManager.TargetObject());;
            UO.PrintObject(World.Player.Serial, "Zamer container s reagenty");
            UOItem reagentsContainer = World.GetItem(UIManager.TargetObject());
            UO.PrintObject(World.Player.Serial, "Zamer container se svitky");
            UOItem scrollsContainer = World.GetItem(UIManager.TargetObject());
            UO.PrintObject(World.Player.Serial, "Zamer container s ostatnimy vecmi");
            UOItem othersContainer = World.GetItem(UIManager.TargetObject());
            reagents(reagentsContainer);
            potions(potionsContainer);
            scrolls(scrollsContainer);
            UO.PrintObject(World.Player.Serial, "Refulled !");

        }

        public void reagents(UOItem container)
        {
            UOItem reagent;
            int count = 8;
            string chyby = "";
            ushort[] itemToPickGraphic = new ushort[15];
            itemToPickGraphic[0] = 0x0F8D; //spider silk 
            itemToPickGraphic[1] = 0x0F7B; //Blood Moss 
            itemToPickGraphic[2] = 0x0F84; //garlic 
            itemToPickGraphic[3] = 0x0F7A; //blackpearls
            itemToPickGraphic[4] = 0x0F8C; //sulforous ash 
            itemToPickGraphic[5] = 0x0F85; //;Ginseng
            itemToPickGraphic[6] = 0x0F86; //;mandrake root 
            itemToPickGraphic[7] = 0x0F88; //;Nightshade 
            itemToPickGraphic[8] = 0x0F7C; //;BloodSpawn
            itemToPickGraphic[9] = 0x0F7F; //;Brimstone 
            itemToPickGraphic[10] = 0x0F7D; //;Blood Vial 
            itemToPickGraphic[11] = 0x0F83; //;Execution's Cap
            itemToPickGraphic[12] = 0x0F79; //;Blackmoor
            itemToPickGraphic[13] = 0x0F89; //;Obsidian        
            itemToPickGraphic[14] = 0x0F7E; //;Bone

            if (!container.Opened)
            {
                using (ItemOpenedEventWaiter ew = new ItemOpenedEventWaiter(container.Serial))
                {
                    container.Use();
                    if (!ew.Wait(60000))
                    {
                        UO.PrintWarning("Item open timeout");
                        return;
                    }
                }
            }
            if (Config.Profile.ProfileName == "Necromancer")
            {
                count = 15;
            }
            for (int i = 0; i < 15; i++)
            {
                while ((World.Player.Backpack.AllItems.Count(itemToPickGraphic[i], 0x0000)) > 0)
                {
                    reagent = World.Player.Backpack.AllItems.FindType(itemToPickGraphic[i], 0x0000);
                    using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(reagent))
                    {
                        reagent.Move(reagent.Amount, container.Serial);
                        if (!ew.Wait(5000))
                        {
                            ScriptErrorException.Throw("Unable to get reagents from backpack.");
                            return;
                        }
                    }
                }
            }
            for (int i = 0; i < count; i++)
            {
                if ((container.AllItems.Count(itemToPickGraphic[i], 0x0000)) > 0)
                {
                    reagent = container.AllItems.FindType(itemToPickGraphic[i], 0x0000);
                    using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(reagent))
                    {
                        reagent.Move(200, World.Player.Backpack);
                        if (!ew.Wait(5000))
                        {
                            ScriptErrorException.Throw("Unable to get reagents from source bag.");
                            return;
                        }
                    }
                }
                else
                {
                    chyby += itemToPickGraphic[i] + ", ";
                }
            }
            UO.PrintWarning(chyby);
        }

        public void scrolls(UOItem container)
        {
            UOItem scroll;
            string chyby = "";
            ushort[] svitkyID = new ushort[3];
            svitkyID[0] = 0x1F5F ; //KVF
            svitkyID[1] = 0x1F50 ; //IJS
            svitkyID[2] = 0x1F42 ; //Porty
            ushort[] svitkyPocet = new ushort[3];
            svitkyPocet[0] = 15 ;//KVF
            svitkyPocet[1] = 7 ;//IJS
            svitkyPocet[2] = 3 ;//Porty
            if (!container.Opened)
            {
                using (ItemOpenedEventWaiter ew = new ItemOpenedEventWaiter(container.Serial))
                {
			  container.Use();
                    if (!ew.Wait(60000))
                    {
                        UO.PrintWarning("Item open timeout");
                        return;
                    }
                }
            }
            for (int i = 0; i < 3; i++)
            {
                while ((World.Player.Backpack.AllItems.Count(svitkyID[i], 0x0000)) > 0)
                {
                    scroll = World.Player.Backpack.AllItems.FindType(svitkyID[i], 0x0000);
                    using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(scroll))
                    {
                        scroll.Move(scroll.Amount, container.Serial);
                        if (!ew.Wait(5000))
                        {
                            ScriptErrorException.Throw("Unable to get scrolls from backpack.");
                            return;
                        }
                    }
                }
            }
            for (int i = 0; i < 3; i++)
            {
                if ((container.AllItems.Count(svitkyID[i], 0x0000)) > 0)
                {
                    scroll = container.AllItems.FindType(svitkyID[i], 0x0000);
                    using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(scroll))
                    {
                        scroll.Move(svitkyPocet[i], World.Player.Backpack);
                        if (!ew.Wait(5000))
                        {
                            ScriptErrorException.Throw("Unable to get scrolls from source bag.");
                            return;
                        }
                    }

                }
                else
                {
                    chyby += svitkyID[i] + ", ";
                }
            }
            UO.PrintWarning(chyby);
        }

        public void potions(UOItem container)
        {
            UOItem kad;
            int potionsNalevam;
            ushort kadX;
            ushort kadY;
            string chyby = "";
            UOItem lahvicky;
            ushort[] kadBarva = new ushort[5];
            kadBarva[0] = 0x0003 ;//TMR
            kadBarva[1] = 0x08A7 ;//GH
            kadBarva[2] = 0x0481 ;//GS
            kadBarva[3] = 0x0842 ;//GC
            kadBarva[4] = 0x014D ;//TR 
            ushort[] potionID = new ushort[5];
            potionID[0] = 0x0F09 ;//TMR
            potionID[1] = 0x0F0C ;//GH
            potionID[2] = 0x0F09 ;//GS
            potionID[3] = 0x0F07 ;//GC
            potionID[4] = 0x0F0B ;//TR 
            ushort[] potionColor = new ushort[5];
            potionColor[0] = 0x0003 ;//TMR
            potionColor[1] = 0x0000 ;//GH
            potionColor[2] = 0x0000 ;//GS
            potionColor[3] = 0x0000 ;//GC
            potionColor[4] = 0x0000 ;//TR 
            ushort[] potionPocet = new ushort[5];
            potionPocet[0] = 25 ;//TMR
            potionPocet[1] = 5 ;//GH
            potionPocet[2] = 6 ;//GS
            potionPocet[3] = 3 ;//GC
            potionPocet[4] = 6 ;//TR 
            if (!container.Opened)
            {
                using (ItemOpenedEventWaiter ew = new ItemOpenedEventWaiter(container.Serial))
                {
			  container.Use();
                    if (!ew.Wait(60000))
                    {
                        UO.PrintWarning("Item open timeout");
                        return;
                    }
                }
            }
            lahvicky = container.AllItems.FindType(0x0F0E, 0x0000);
            for (int i = 0; i < 5; i++)
            {
                if ((container.AllItems.Count(0x1843, kadBarva[i])) > 0)
                {
                    kad = container.AllItems.FindType(0x1843, kadBarva[i]);
                    kadX = kad.X;
                    kadY = kad.Y;
                    using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(kad))
                    {
                        kad.Move(1, World.Player.Backpack);
                        if (!ew.Wait(5000))
                        {
                            ScriptErrorException.Throw("Unable to get tube from source bag.");
                            return;
                        }
                    }
                    while (World.Player.Backpack.AllItems.Count(potionID[i], potionColor[i]) < potionPocet[i])
                    {
                        potionsNalevam = World.Player.Backpack.AllItems.Count(potionID[i], potionColor[i]);
                        UO.WaitTargetObject(lahvicky.Serial);
                        UO.UseObject(kad.Serial);
                        while (potionsNalevam == World.Player.Backpack.AllItems.Count(potionID[i], potionColor[i]))
                        {
                        }
                    }
                    using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(kad))
                    {
                        kad.Move(1, container, kadX, kadY);
                        if (!ew.Wait(5000))
                        {
                            ScriptErrorException.Throw("Unable to get tube to source bag.");
                            return;
                        }
                    }

                }
                else
                {
                    chyby += kadBarva[i] + ", ";
                }
            }
        }
    }
}
Zde ještě není žádný komentář.

Nový komentář