| Yoko http://forum.yoko.com.ua/ |
|
| Срочно! http://forum.yoko.com.ua/viewtopic.php?f=20&t=1850 |
Page 1 of 1 |
| Author: | DIKIY [ 2004-11-04 22:48:45 ] |
| Post subject: | Срочно! |
Народ, помогите с ковкой брони (цветной.) Нужен скрипт который куёт 'Platemail (25)' и складывает в сундук.. Этот скрипт не предлагать, не работает! sub MakeFull() VAR CCurIng='0x0000', TCurIng=0 VAR jser, WCurIng=0, Kolvo = 150 ; На фулл с запасом VAR Sunduk = '0x400E7F9F' ; Cундук с инготами VAR Meshok = '0x0E75' ; Тип мешка для фулов VAR CIngots = '0x0590' ; Цвет инготов VAR CurMesh, BagForFull='0x402756AB' ; Сериал мешка и сумки для них UO.Print("Script started") DIM TIngots[4], Part[0], CIng[1], WIng[14] TIngots[0]='0x1BEF' ; Типы инготов TIngots[1]='0x1BE3' TIngots[2]='0x1BF5' TIngots[3]='0x1BE9' Part[0]='Platemail (25)' ; Названия CIng[0]='0x0590' ; Цвет инготов 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' UO.IgnoreReset() UO.DeleteJournal() UO.UseObject(Sunduk) For Var 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(500) 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(500) Return EndIf If UO.GetColor('finditem') == CIng[3] Then UO.MSG("Bronze? I not make this full.") UO.MoveItem('finditem',-1,BagForFull) Wait(500) 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 Var 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.MSG("Found "+(WCurIng)+" ingots.") 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) CheckLag() UO.SetCatchBag(CurMesh) ; Всё что сделаем в мешок Var i=0 Repeat UO.MSG("Куём "+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(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(100) 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(500) EndIf Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке UO.MSG("FULL") UO.MoveItem(CurMesh,'-1',BagForFull) Wait(500) 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(500) Return Else UO.MoveItem('finditem',STR(Kolvo),'backpack ') ; Забираем скока поднимем Wait(500) UO.Grab('1',CurMesh) ; Берем мешок в пэк Wait(500) 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(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(100) 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(100) 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(500) EndIf Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке UO.MSG("FULL") UO.MoveItem(CurMesh,'-1',BagForFull) Wait(500) end sub sub checklag() repeat UO.Click("self") wait(500) until UO.InJournal(UO.GetName("self")) end sub |
|
| Author: | mike [ 2004-11-05 09:19:04 ] |
| Post subject: | Re: Срочно! |
DIKIY wrote: Народ, помогите с ковкой брони (цветной.)
Нужен скрипт который куёт 'Platemail (25)' и складывает в сундук.. Этот скрипт не предлагать, не работает! sub MakeFull() VAR CCurIng='0x0000', TCurIng=0 VAR jser, WCurIng=0, Kolvo = 150 ; На фулл с запасом VAR Sunduk = '0x400E7F9F' ; Cундук с инготами VAR Meshok = '0x0E75' ; Тип мешка для фулов VAR CIngots = '0x0590' ; Цвет инготов VAR CurMesh, BagForFull='0x402756AB' ; Сериал мешка и сумки для них UO.Print("Script started") DIM TIngots[4], Part[0], CIng[1], WIng[14] TIngots[0]='0x1BEF' ; Типы инготов TIngots[1]='0x1BE3' TIngots[2]='0x1BF5' TIngots[3]='0x1BE9' Part[0]='Platemail (25)' ; Названия CIng[0]='0x0590' ; Цвет инготов 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' UO.IgnoreReset() UO.DeleteJournal() UO.UseObject(Sunduk) For Var 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(500) 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(500) Return EndIf If UO.GetColor('finditem') == CIng[3] Then UO.MSG("Bronze? I not make this full.") UO.MoveItem('finditem',-1,BagForFull) Wait(500) 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 Var 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.MSG("Found "+(WCurIng)+" ingots.") 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) CheckLag() UO.SetCatchBag(CurMesh) ; Всё что сделаем в мешок Var i=0 Repeat UO.MSG("Куём "+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(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(100) 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(500) EndIf Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке UO.MSG("FULL") UO.MoveItem(CurMesh,'-1',BagForFull) Wait(500) 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(500) Return Else UO.MoveItem('finditem',STR(Kolvo),'backpack ') ; Забираем скока поднимем Wait(500) UO.Grab('1',CurMesh) ; Берем мешок в пэк Wait(500) 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(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(100) 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(100) 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(500) EndIf Until UO.Count(TCurIng,CCurIng) == 0 ; Все инготы в пэке UO.MSG("FULL") UO.MoveItem(CurMesh,'-1',BagForFull) Wait(500) end sub sub checklag() repeat UO.Click("self") wait(500) until UO.InJournal(UO.GetName("self")) end sub у савы в автолоаде вроде был на ковку =) от него и пляши ) |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|