Script:Alchemy - Universal(aj na potiony s menším skillom).cs

Z AmonWiki

Přejít na: navigace, hledání

Jazyk: CSharp

Shard: Dark Paradise

Krátký popisek scriptu



Pre spustenie scriptu si môžme vytvoriť taký "spúšťač", do ktorého vložíme volanie procedúry podľa vzoru alchemy(typ regu, farba regu, mnozstvo na umiesanie potionu, typ potionu, farba potionu, farba kade);

Alebo priamo príkazom do hry podľa horeuvedeného vzoru.

using System;
using System.Collections.Generic;
using System.Text;
using Phoenix;
using Phoenix.WorldData;
 
namespace Phoenix.Scripts
{
    public class Alchemy
    {
       int x;
       int y;
       int z;
       UOItem truhla;
       [Command("LesserPoison")]
       public void lesser()
        {
            x=0;
            y=0;
            // alchemy(typ regu, farba regu, mnozstvo na umiesanie potionu, typ potionu, farba potionu, farba kade);
            alchemy(0x0F88, 0x0000, 2, 0x0F0A, 0x0000, 0x089F);
        }
 
        [Command("TotalRefresh")]
       public void total()
        {
            x=0;
            y=0;
            // alchemy(typ regu, farba regu, mnozstvo na umiesanie potionu, typ potionu, farba potionu, farba kade);
            alchemy(0x0F7A, 0x0000, 5, 0x0F0B, 0x0000, 0x014D);
        }
 
        public void alchemy(ushort reg, ushort farbaregu, ushort mnozstvo, ushort typpotionu, ushort farbapotionu, ushort farbakade)
            {
            vybertruhlu();
            presunreg(reg, farbaregu, mnozstvo, typpotionu, farbapotionu, farbakade);
            miesanie(reg, farbaregu, mnozstvo, typpotionu, farbapotionu, farbakade);
 
 
            }
 
 
        public void vybertruhlu()
            {
            UO.Print("Zameraj truhlu s regami");
            truhla = World.GetItem(UIManager.TargetObject());
            }
 
 
        public void presunreg(ushort reg, ushort farbaregu, ushort mnozstvo, ushort typpotionu, ushort farbapotionu, ushort farbakade)
        {
 
            UOItem item = truhla.AllItems.FindType(reg, farbaregu);
            if (item.Graphic == reg && item.Color == farbaregu)
            {
                using (ItemUpdateEventWaiter ew = new ItemUpdateEventWaiter(item))
                {
                    UO.MoveItem(item.Serial, mnozstvo, World.Player.Backpack.Serial, 60, 60);
                    if (!ew.Wait(5000)) {
                                    ScriptErrorException.Throw("Nemuzu pohnout s itemem, konec.");
                                    return;
                                }
                    UO.Wait(500);
                    miesanie(reg, farbaregu, mnozstvo, typpotionu, farbapotionu, farbakade);
                }
 
            }
            else
            {
                UO.Print("Dosli regy");
                return;
            }
        }
 
        public void miesanie(ushort reg, ushort farbaregu, ushort mnozstvo, ushort typpotionu, ushort farbapotionu, ushort farbakade)
        {
            UOItem item = UO.Backpack.AllItems.FindType(reg, farbaregu);
            UOItem kad = UO.Backpack.AllItems.FindType(0x1843, farbakade);
            if (!kad.Exist)
            {
                UO.Print("Nemas kad na potiony");
                return;
            }
            Journal.ClearAll();
            if (item.Exist)
            {
                x +=1;
                item.Use();
                do {
                    UO.Wait(500);
                }
                while ((Journal.Contains(false, "You pour") == false) && (Journal.Contains(false, "You toss") == false));
                UOItem potion = UO.Backpack.AllItems.FindType(typpotionu, farbapotionu);
                if (potion.Exist)
                {
                    UO.WaitTargetObject(potion);
                    UO.Wait(500);
                    kad.Use();
                    y+=1;
                }
                z=(y/x)*100;
                UO.Print("Podarilo se "+ y +" z " + x + ".");
                presunreg(reg, farbaregu, mnozstvo, typpotionu, farbapotionu, farbakade);
                miesanie(reg, farbaregu, mnozstvo,typpotionu, farbapotionu, farbakade);
            }
 
        }
 
 
 
    }
   }
Osobní nástroje