Page 1 of 1

ковка фулов

Posted: 2011-04-02 11:11:05
by Irina E
мираж скинь сылку на норм скрипт на ковку фулов

Re: ковка фулов

Posted: 2011-04-02 11:44:02
by Mirage
В архиве есть вот такой например от 2003 года. Разбирай, я сам никогда такими скриптами не пользовался. :roll:

Code: Select all

sub bsarm()
	VAR IngName,Delay=3000

	IngName="Agapite"
	UO.FindType('0x1BEF','0x0193')
	UO.SetCatchBag('finditem')

	UO.AutoMenu(IngName+' Plate','Platemail (25')
	UO.AutoMenu(IngName+' Armor','Plate')
	UO.AutoMenu('Colored','Armor')
	UO.AutoMenu('Blacksmithing','Colored')

Plate:
	UO.DeleteJournal()
	UO.UseType('ing')

	while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
			wait(500)
	wend
	if UO.InJournal("You have failed") then
		goto Plate
	endif
	UO.CancelMenu()
	wait(Delay)

	UO.AutoMenu(IngName+' Plate','Platemail Legs')
	UO.AutoMenu(IngName+' Armor','Plate')
	UO.AutoMenu('Colored','Armor')
	UO.AutoMenu('Blacksmithing','Colored')

Legs:
	UO.DeleteJournal()
	UO.UseType('ing')

	while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
			wait(500)
	wend
	if UO.InJournal("You have failed") then
		goto Legs
	endif
	UO.CancelMenu()
	wait(Delay)

	UO.AutoMenu(IngName+' Plate','Platemail Arms')
	UO.AutoMenu(IngName+' Armor','Plate')
	UO.AutoMenu('Colored','Armor')
	UO.AutoMenu('Blacksmithing','Colored')

Arms:
	UO.DeleteJournal()
	UO.UseType('ing')

	while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
			wait(500)
	wend
	if UO.InJournal("You have failed") then
		goto Arms
	endif
	UO.CancelMenu()
	wait(Delay)

	UO.AutoMenu(IngName+' Plate','Platemail Gauntlets')
	UO.AutoMenu(IngName+' Armor','Plate')
	UO.AutoMenu('Colored','Armor')
	UO.AutoMenu('Blacksmithing','Colored')

Gloves:
	UO.DeleteJournal()
	UO.UseType('ing')

	while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
			wait(500)
	wend
	if UO.InJournal("You have failed") then
		goto Gloves
	endif
	UO.CancelMenu()
	wait(Delay)

	UO.AutoMenu(IngName+' Plate','Plate Helm')
	UO.AutoMenu(IngName+' Armor','Plate')
	UO.AutoMenu('Colored','Armor')
	UO.AutoMenu('Blacksmithing','Colored')

Helm:
	UO.DeleteJournal()
	UO.UseType('ing')

	while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
			wait(500)
	wend
	if UO.InJournal("You have failed") then
		goto Helm
	endif
	UO.CancelMenu()
	wait(Delay)
	
	UO.AutoMenu(IngName+' Plate','Platemail Gorget')
	UO.AutoMenu(IngName+' Armor','Plate')
	UO.AutoMenu('Colored','Armor')
	UO.AutoMenu('Blacksmithing','Colored')

Gorget:
	UO.DeleteJournal()
	UO.UseType('ing')

	while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
			wait(500)
	wend
	if UO.InJournal("You have failed") then
		goto Gorget
	endif
	UO.CancelMenu()
	wait(Delay)

goto End

	UO.AutoMenu(IngName+' Plate','Heater')
	UO.AutoMenu(IngName+' Armor','Plate')
	UO.AutoMenu('Colored','Armor')
	UO.AutoMenu('Blacksmithing','Colored')
Heater:
	UO.DeleteJournal()
	UO.UseType('ing')

	while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
			wait(500)
	wend
	if UO.InJournal("You have failed") then
		goto Heater
	endif
	UO.CancelMenu()
	wait(Delay)

End:
	UO.UnSetCatchBag()

end sub
Или вот поновее 2005 год:

Code: Select all

sub MakeFull() 
VAR CCurIng='0x0000', TCurIng=0 
VAR jser, WCurIng=0, Kolvo = 150 ; На фулл с запасом 
VAR Sunduk = '0x40108330'
VAR Meshok = '0x0E76' ; Тип мешка для фулов
VAR CIngots = '0x07D5' ; Цвет инготов 
VAR CurMesh = '0x4005190C', BagForFull='0x40052BE2' ; Сериал мешка и сумки для них 
VAR i,n,k,jj,ii=5 ##### ii- ето скоко фулов делать из расчета 150 ингов на фул 
 
UO.Print("Script started") 
DIM TIngots[4], Part[7], CIng[14], WIng[14] 
 
TIngots[0]='0x1BEF' ; Типы инготов 
TIngots[1]='0x1BE3' 
TIngots[2]='0x1BF5' 
TIngots[3]='0x1BE9' 
 
Part[0]='Platemail (25' ; Названия частей фулла 
Part[1]='Platemail Legs' 
Part[2]='Heater Shield' 
Part[3]='Platemail Arms' 
Part[4]='Plate Helm' 
Part[5]='Platemail Gauntlets' 
Part[6]='Platemail Gorget' 
 
CIng[0]='0x0750' ; Цвета инготов 
CIng[1]='0x0590' 
CIng[2]='0x060A' 
CIng[3]='0x0488' 
CIng[4]='0x096B' 
CIng[5]='0x0014' 
CIng[6]='0x0193' 
CIng[7]='0x04C2' 
CIng[8]='0x07D5' 
CIng[9]='0x00CE' 
CIng[10]='0x052D' 
CIng[11]='0x0455' 
CIng[12]='0x0028' 
CIng[13]='0x08AF' 
 
WIng[0]='Rusty' ; Названия инготов 
WIng[1]='Old Copper' 
WIng[2]='Dull Copper' 
WIng[3]='Bronze' 
WIng[4]='Shadow' 
WIng[5]='Rose' 
WIng[6]='Agapite' 
WIng[7]='Blood Rock' 
WIng[8]='Verite' 
WIng[9]='Valorite' 
WIng[10]='Mytheril' 
WIng[11]='Black Rock' 
WIng[12]='Obsidian' 
WIng[13]='Plutonium' 
 
 
 
for jj=1 to ii
 
UO.IgnoreReset() 
UO.DeleteJournal() 
UO.UseObject(Sunduk) 
For k=0 to 3 ; Узнаем тип 
UO.FindType(TIngots[k],-1,Sunduk) ; Ищем любые инготы в сундуке 
If UO.FindCount() > 0 Then 
If UO.GetColor('finditem') == '0x0000' AND k == 0 Then 
UO.MSG("I make a iron full!") 
MakeIron(TIngots[k],'0x0000',Kolvo,Sunduk,Meshok,BagForFull) 
Return 
Else 
If UO.GetQuantity('finditem') < Kolvo Then ; Для фула мало инготов 
UO.MSG("I need "+STR(Kolvo)+" or more ingots") 
UO.MoveItem('finditem','0',BagForFull) 
Wait(1000) 
Return 
Else 
If TCurIng == 0 Then 
TCurIng=TIngots[k] 
EndIf 
If UO.GetColor('finditem') == CIng[2] Then 
UO.MSG("Dull Copper? I not make this full.") 
UO.MoveItem('finditem',-1,BagForFull) 
Wait(1000) 
Return 
EndIf 
If UO.GetColor('finditem') == CIng[3] Then 
UO.MSG("Bronze? I not make this full.") 
UO.MoveItem('finditem',-1,BagForFull) 
Wait(1000) 
Return 
EndIf 
UO.Print("Avaible is "+STR(UO.GetQuantity('finditem'))+" ingots.") 
UO.Print("Ingots type is "+TIngots[k]) 
EndIf 
EndIf 
Else 
If k == 3 AND TCurIng == 0 Then 
UO.Print("No avaible ingots. Script terminated.") 
Return 
EndIf 
EndIf 
Wait(1000) 
Next 
UO.FindType(TCurIng,-1,Sunduk) 
For n=0 to 13 ; Узнаем цвет 
If CIng[n] == UO.GetColor('finditem') Then 
WCurIng = WIng[n] 
CCurIng = CIng[n] 
EndIf 
Next 
If CCurIng == '0x0000' Then 
If TCurIng == TIngots[1] Then 
WCurIng = 'Copper' 
Else 
If TCurIng == TIngots[2] Then 
WCurIng = 'Silver' 
Else 
If TCurIng == TIngots[3] Then 
WCurIng = 'Golden' 
EndIf 
EndIf 
EndIf 
EndIf 
UO.FindType(Meshok,-1,Sunduk) ; Ищем мешки для фуллов 
If UO.FindCount() == 0 Then 
UO.MSG("No bag - NO FULL !!!") 
Return 
Else 
CurMesh=UO.GetSerial('finditem') 
EndIf 
UO.FindType(TCurIng,CCurIng,Sunduk) 
UO.MoveItem('finditem',STR(Kolvo),'backpack ') ; Забираем скока поднимем 
Wait(500) 
UO.Grab('1',CurMesh) ; Берем мешок в пэк 
Wait(500) 
UO.SetCatchBag(CurMesh) ; Всё что сделаем в мешок 
i=0 
Repeat 
UO.MSG("Try make the "+WCurIng+" "+Part[i]) 
UO.AutoMenu('Blacksmithing','Colored') 
UO.AutoMenu('Colored',WCurIng+' Armor') 
UO.AutoMenu(WCurIng+' Armor',WCurIng+' Plate Armor') 
UO.AutoMenu(WCurIng+' Plate Armor',Part[i]) 
Repeat 
jser=0 
UO.FindType(TCurIng,CCurIng,-1) 
IF UO.FindCount() > 0 Then 
UO.DeleteJournal() 
UO.UseObject('finditem') 
Else 
UO.Print("Ingots not found") 
UO.UnSetCatchBag() 
Repeat 
UO.FindType(TCurIng,CCurIng,-1) 
If UO.FindCount() > 0 Then 
UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук 
Wait(1000) 
EndIf 
Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке 
UO.DropHere(CurMesh) 
Wait(500) 
Return 
EndIf 
While NOT UO.InJournal("put") AND NOT UO.InJournal("failed") 
Wait(1000) 
WEnd 
If UO.InJournal("put") Then 
jser=1 
EndIf 
Until jser == 1 
i=i+1 
UO.CancelMenu() 
Until i > 6 
UO.UnSetCatchBag() 
Repeat 
UO.FindType(TCurIng,CCurIng,-1) 
If UO.FindCount() > 0 Then 
UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук 
Wait(1000) 
EndIf 
Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке 
UO.MSG("FULL") 
UO.MoveItem(CurMesh,'-1',BagForFull) 
Wait(1000) 
 
next
 
 
end sub 
 
sub MakeIron(TCurIng,CCurIng,Kolvo,Sunduk,Meshok,BagForFull) 
Var jser, CurMesh = 0 
 
DIM Part[6] 
 
Part[0]='platemail (25' ; Названия частей фулла 
Part[1]='platemail legs' 
Part[2]='platemail arms' 
Part[3]='plate helm' 
Part[4]='platemail gloves' 
Part[5]='platemail gorget' 
 
UO.FindType(Meshok,-1,Sunduk) 
If UO.FindCount() == 0 Then 
UO.MSG("No bag - NO FULL !!!") 
Return 
Else 
CurMesh=UO.GetSerial('finditem') 
EndIf 
 
UO.FindType(TCurIng,CCurIng,Sunduk) 
If UO.GetQuantity('finditem') < Kolvo Then 
UO.MSG("I need "+STR(Kolvo)+" or more ingots") 
UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук 
Wait(1000) 
Return 
Else 
UO.MoveItem('finditem',STR(Kolvo),'backpack ') ; Забираем скока поднимем 
Wait(500) 
UO.Grab('1',CurMesh) ; Берем мешок в пэк 
Wait(1000) 
EndIf 
CheckLag() 
UO.SetCatchBag(CurMesh) ; Всё что сделаем в мешок 
Var i=0 
Repeat 
UO.MSG("Try make the Iron "+Part[i]) 
UO.AutoMenu('Blacksmithing','Armor') 
UO.AutoMenu('Armor','Plate Mail') 
UO.AutoMenu('Plate Mail',Part[i]) 
Repeat 
jser=0 
UO.FindType(TCurIng,CCurIng,-1) 
If UO.FindCount() > 0 Then 
UO.DeleteJournal() 
UO.UseObject('finditem') 
Else 
UO.Print("Ingots not found") 
UO.UnSetCatchBag() 
Repeat 
UO.FindType(TCurIng,CCurIng,-1) 
If UO.FindCount() > 0 Then 
UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук 
Wait(1000) 
EndIf 
Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке 
UO.DropHere(CurMesh) 
Wait(500) 
Return 
EndIf 
While NOT UO.InJournal("put") AND NOT UO.InJournal("failed") 
Wait(1000) 
WEnd 
If UO.InJournal("put") Then 
jser=1 
EndIf 
Until jser == 1 
i=i+1 
UO.CancelMenu() 
Until i > 5 
UO.MSG("Try make the Iron heater shield") 
UO.AutoMenu('Blacksmithing','Shields') 
UO.AutoMenu('Shields','heater shield') 
UO.DeleteJournal() 
Repeat 
jser=0 
UO.FindType(TCurIng,CCurIng,-1) 
IF UO.FindCount() > 0 Then 
UO.UseObject('finditem') 
Else 
UO.Print("Ingots not found") 
UO.UnSetCatchBag() 
Repeat 
UO.FindType(TCurIng,CCurIng,-1) 
If UO.FindCount() > 0 Then 
UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук 
Wait(500) 
EndIf 
Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке 
UO.DropHere(CurMesh) 
Wait(500) 
Return 
EndIf 
While NOT UO.InJournal("put") AND NOT UO.InJournal("failed") 
Wait(1000) 
WEnd 
If UO.InJournal("put") Then 
jser=1 
EndIf 
Until jser == 1 
UO.CancelMenu() 
UO.UnSetCatchBag() 
Repeat 
UO.FindType(TCurIng,CCurIng,-1) 
If UO.FindCount() > 0 Then 
UO.MoveItem('finditem','-1',BagForFull) ; Обратно в сундук 
Wait(1000) 
EndIf 
Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке 
UO.MSG("FULL") 
UO.MoveItem(CurMesh,'-1',BagForFull) 
Wait(1000) 

end sub 

Или вот так поиск - фулл

Re: ковка фулов

Posted: 2011-04-04 17:12:24
by Irina E

Code: Select all

var safe    = '0x401555BF' ## ИД контейнера где находятся мешки с ресурсами 
var sunduk1 = '0x401555BF' ## ИД контейнера с пустыми мешочками 
var sunduk2 = '0x401555BF' ## ИД контейнера с ингами 
var sunduk3 = '0x4020D5C6' ## ИД контейнера куда сваливаем то, что накрафталось 
var nf      = 11           ## Из чего куём фулы, сматреть массив в теле скрипта ... 

sub full_plate() 
var bag 
var ch 

uo.Exec("set gdislower 0") 
#uo.Exec("set quiet 1") 

Dim ting[16] 
Dim cing[16] 
Dim ning[16] 
Dim ItemType[7] 
Dim ItemName[7] 

ning[01]='Rusty' 
ning[02]='Old Copper' 
ning[03]='Dull Copper' 
ning[04]='Copper' 
ning[05]='Bronze' 
ning[06]='Silver' 
ning[07]='Gold' 
ning[08]='Shadow' 
ning[09]='Rose' 
ning[10]='Agapite' 
ning[11]='Blood Rock' 
ning[12]='Verite' 
ning[13]='Valorite' 
ning[14]='Mytheril' 
ning[15]='Black Rock' 
ning[16]='Obsidian' 

ting[01]='0x1BEF' 
ting[02]='0x1BEF' 
ting[03]='0x1BEF' 
ting[04]='0x1BE3' 
ting[05]='0x1BEF' 
ting[06]='0x1BF5' 
ting[07]='0x1BE9' 
ting[08]='0x1BEF' 
ting[09]='0x1BEF' 
ting[10]='0x1BEF' 
ting[11]='0x1BEF' 
ting[12]='0x1BEF' 
ting[13]='0x1BEF' 
ting[14]='0x1BEF' 
ting[15]='0x1BEF' 
ting[16]='0x1BEF' 

cing[01]='0x0750' 
cing[02]='0x0590' 
cing[03]='0x060A' 
cing[04]='0x0000' 
cing[05]='0x0488' 
cing[06]='0x0000' 
cing[07]='0x0000' 
cing[08]='0x096B' 
cing[09]='0x0014' 
cing[10]='0x0193' 
cing[11]='0x04C2' 
cing[12]='0x07D5' 
cing[13]='0x00CE' 
cing[14]='0x052D' 
cing[15]='0x0455' 
cing[16]='0x0028' 

ItemType[1]='0x1412' 
ItemType[2]='0x1413' 
ItemType[3]='0x1414' 
ItemType[4]='0x1410' 
ItemType[5]='0x1411' 
ItemType[6]='0x1415' 
ItemType[7]='0x1B76' 

ItemName[1]='Plate Helm' 
ItemName[2]='Platemail Gorget' 
ItemName[3]='Platemail Gauntlets' 
ItemName[4]='Platemail Arms' 
ItemName[5]='Platemail Legs' 
ItemName[6]='Platemail (25' 
ItemName[7]='Heater Shield' 

uo.useobject(safe) 
wait(500) 
uo.useobject(sunduk1) 
wait(500) 
uo.useobject(sunduk2) 
wait(500) 
uo.useobject(sunduk3) 
wait(500) 

uo.findtype(ting[nf],cing[nf],sunduk2) 
while uo.findcount()>0 
   ToHide() 
   if uo.count('0x097B','0x0000')>0 then 
      uo.usetype('0x097B','0x0000') 
      wait(1000) 
   end if 
   Cheklag() 
   if uo.count(ting[nf],cing[nf])<200 then 
      uo.moveitem('finditem',str(200-uo.count(ting[nf],cing[nf])),'backpack') 
   end if 
   wait(700) 
   uo.findtype('0x0E76','0x0000','backpack') 
   if uo.findcount()==0 then 
      uo.findtype('0x0E76','0x0000',sunduk1) 
      if uo.findcount()==0 then 
         return 
      end if    
      Cheklag() 
      uo.moveitem('finditem','1','backpack') 
      wait(700) 
   end if 
   bag=uo.getserial('finditem') 
   uo.useobject(bag) 
   wait(500) 
    
   for ch=1 to 7 
      ToHide() 
      uo.findtype(ItemType[ch],'-1','backpack') 
      if uo.findcount()==0 then 
         uo.findtype(ItemType[ch],'-1',bag) 
         if uo.findcount()==0 then 
            wait(50) 
            uo.cancelmenu() 
            wait(50) 
            uo.automenu('Blacksmithing','Colored Armor & Weapons') 
            uo.automenu('Colored Armor & Weapons',ning[nf]+' Armor') 
            uo.automenu(ning[nf]+' Armor',ning[nf]+' Plate Armor') 
            uo.automenu(ning[nf]+' Plate Armor',ning[nf]+' '+ItemName[ch]) 
            wait(50) 
            repeat 
               uo.deletejournal() 
               uo.usetype(ting[nf],cing[nf]) 
               repeat 
                  wait(10) 
               until uo.injournal("You put") or uo.injournal("You have failed") 
               wait(50) 
            until uo.injournal("You put") 
            wait(50) 
            uo.findtype(ItemType[ch],'-1','backpack') 
            Cheklag() 
            uo.moveitem('finditem','-1',bag) 
            wait(1000) 
         end if 
      else 
         Cheklag() 
         uo.moveitem('finditem','-1',bag) 
         wait(1000) 
      end if 
   next 
    
   Cheklag() 
   uo.moveitem(bag,'-1',sunduk3) 
   wait(700) 
   uo.findtype(ting[nf],cing[nf],sunduk2) 
wend 
uo.closeuo() 
end sub 

Sub ToHide() 
   while not uo.hidden() 
      uo.warmode(0) 
      uo.DeleteJournal() 
      uo.useskill("Hiding") 
      repeat 
         wait(10) 
      until UO.InJournal("You have hidden yourself well") or UO.InJournal("You can't seem to hide here.") or UO.InJournal("You are preoccupied with thoughts of battle.") 
      if  UO.InJournal("You are preoccupied with thoughts of battle.") then 
         uo.warmode(0) 
      end if 
   wend 
end sub 

Sub Cheklag() 
   UO.DeleteJournal() 
   UO.Click('backpack') 
   Repeat 
      Wait(10) 
   Until UO.InJournal("backpack") 
end sub 

sub movebag() 
   uo.findtype('0x0E76','0x0000','0x4018658E') 
   while uo.findcount()>0 
      Cheklag() 
      uo.moveitem('finditem','-1','0x4000175D') 
      wait(700) 
      uo.findtype('0x0E76','0x0000','0x4018658E') 
   wend 
end sub 
есть такоЙ скрипт но почему та через несколько минут он выдает ошибку а иногда и крэшит

Re: ковка фулов

Posted: 2011-04-04 21:04:43
by GAUHAR
На ДРВ играл давно, поэтому проверить ваш скрипт нет возможности.
Но в своих старых нашел, что если крафтить из gold ingots то в меню армор называется Golden Armor.
Скриптом не поделюсь, так как он не так функционален как вам бы хотелось.

Re: ковка фулов

Posted: 2011-04-05 04:34:59
by Irina E
а причём тут голд я кравчю из блод рок просто 25к игов крафтить в ручную нет так то и просто

Re: ковка фулов

Posted: 2011-04-05 06:37:07
by Mirage
Irina E wrote: есть такоЙ скрипт но почему та через несколько минут он выдает ошибку а иногда и крэшит
Ошибку выдает всего скорее изза мелких пауз в 10-50. Замени из на 300 хотябы.
А крашит вполне закономерно. В конце скрипта есть команда закрывающая клиент после того как кончаются инги.