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);
}
}
}