Kraftí Formy na láhve

Skripty týkající se tohoto externího programu

Moderátor: Caleb

Odpovědět
Uživatelský avatar
balík
Orc Writer
Orc Writer
Příspěvky: 76
Registrován: 10 úno 2012 22:18
Kontaktovat uživatele:

Kraftí Formy na láhve

Příspěvek od balík »

Je potřeba mít nadělaný ty lidy a stavves.

Kód: Vybrat vše


 
 /////////////////////////////////////////////////////////////////////////
 //
 //     www.ultima.smoce.net
 //     Name: Carpentry - Krafti Formy
 //
 /////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
using Phoenix.WorldData;
using Phoenix.Runtime;
using Phoenix;


namespace Phoenix.Script
{
  public class formalahve
  {
    public static void EnsureItem(UOItem item)
    {
      if (String.IsNullOrEmpty(item.Name)) item.Click();
      UO.Wait(200);
    }

    public static void EnsureContainer(UOItem container)
    {
      EnsureItem(container);
      container.Use();
      UO.Wait(100);
    }

    [Executable]
    public static void kraftiformy()
    {
      EnsureContainer(UO.Backpack);
      UOItem pilka = UO.Backpack.Items.FindType(0x1035 , 0x0000);
      
      if (pilka.Serial == Serial.Invalid) 
      {
        pilka = World.Player.Layers.FindType(0x1035, 0x0000);
        if (pilka.Serial == Serial.Invalid)
        {
          UO.Print("Nemas pilku:");
          return;
        }
      }

      UO.Print("Zvol konterjner s materialem:");
      UOItem container = new UOItem(UIManager.TargetObject());
      EnsureContainer(container);
      UOItem logs = null;
      if ((logs = container.Items.FindType(0x1BDD, 0x0000)) == null)
      {
        UO.Print("DoslyLogy:");
        return;
      }
      UOItem lids = null;
      if ((lids = container.Items.FindType(0x1DB8, 0x0000)) == null)
      {
        UO.Print("Dosly Barel Lid:");
        return;
      }
      UOItem stavess = null;
      if ((stavess = container.Items.FindType(0x1EB1, 0x0000)) == null)
      {
        UO.Print("Dosly Barel Staves:");
        return;
      }

      int count = logs.Amount;

      string[] journal = { "Too many"};
      while (!Journal.Contains(true, journal))
        {
        UOItem log = GetLog(container);
        if (log.Serial == Serial.Invalid)
        {
          UO.Print("Invalid:");
          return;
        }
        UOItem lid = GetLid(container);
        if (lid.Serial == Serial.Invalid)
        {
          UO.Print("Invalid:");
          return;
        }
        UOItem staves = GetStaves(container);
        if (staves.Serial == Serial.Invalid)
        {
          UO.Print("Invalid:");
          return;
        }
        UO.WaitMenu( "Carpentry", "Containers & Cont. parts", "Containers & Cont. parts", "Forma na lahve" );
        UO.UseObject(pilka);
        JournalEventWaiter jew = new JournalEventWaiter(true, "You put");
        jew.Wait(5500);
        
        string[] journals = {"Too many"};
        while ((UO.Count(0x0E7F, 0x0909) > 0) && (Journal.Contains(true, journals)));
        {
        //   UO.WaitMenu( "Carpentry", "Containers & Cont. parts", "Containers & Cont. parts", "Bedna forem" );
        //   UO.UseObject(pilka);
        //   JournalEventWaiter jew1 = new JournalEventWaiter(true, "You put");
        //   jew1.Wait(5300);
         UOItem craftedItem = UO.Backpack.Items.FindType(0x0E7F, 0x0909);
         if (craftedItem.Serial != Serial.Invalid)
         {
             UO.Backpack.Items.FindType(0x0E7F, 0x0909).Move(1, container);
             UO.Wait(500);

         }

       }
        
        
      }
    }

    public static UOItem GetLog(UOItem container)
    {
      UOItem log = null;
      if ((log = UO.Backpack.Items.FindType(0x1BDD, 0x0000)).Serial != Serial.Invalid) return log;
      container.Items.FindType(0x1BDD, 0x0000).Move(2, UO.Backpack);
      UO.Wait(500);
      //UO.Print("1");
      return UO.Backpack.Items.FindType(0x1BDD, 0x0000);
    }
    public static UOItem GetLid(UOItem container)
    {
      UOItem lid = null;
      if ((lid = UO.Backpack.Items.FindType(0x1DB8, 0x0000)).Serial != Serial.Invalid) return lid;
      container.Items.FindType(0x1DB8, 0x0000).Move(2, UO.Backpack);
      UO.Wait(500);
      //UO.Print("1");
      return UO.Backpack.Items.FindType(0x1DB8, 0x0000);
    }
    public static UOItem GetStaves(UOItem container)
    {
      UOItem staves = null;
      if ((staves = UO.Backpack.Items.FindType(0x1EB1, 0x0000)).Serial != Serial.Invalid) return staves;
      container.Items.FindType(0x1EB1, 0x0000).Move(2, UO.Backpack);
      UO.Wait(500);
      //UO.Print("1");
      return UO.Backpack.Items.FindType(0x1EB1, 0x0000);
    }
  }
}
 
Odpovědět