Составной крафт.
Moderators: Murderator+, Murderator
Составной крафт.
Вобщем идея и сложная и простая. Может у кого-нибудь да есть. Суть в том что мне нужно делать ковры через слишком задроченную меню. Она пятиуровневая(ну ето мелочи) и ковер состоит из 10 частей. Я вот и думал - как сделать, чтобы он изготавливал ковёр пока не изготовится часть и не переходил к следующей а при феиле повторял. Естественно что крафт етих 10 не иначе чем через массив. Но вот названия у частей одинаковые. Буду признателен за помощь, или пример составного крафта.
-
- Posts: 2259
- Joined: 2005-04-19 18:00:29
- Location: Московская область
- Contact:
-
- Posts: 2259
- Joined: 2005-04-19 18:00:29
- Location: Московская область
- Contact:
Code: Select all
sub Craft_Blanc()
var paper='0x1F24'
var blanc='0x0E34'
var instrument='0x40029C88'
var k , i
DIM material[2]
material[0]='0x175D'
material[1]='0x1BD7'
while not uo.Dead()
for i = 0 to 1
uo.FindType(material[i],'-1','backpack')
if not uo.FindCOunt() then
uo.FindType(material[i],'-1','ground')
if uo.FindCount() then
uo.moveitem('finditem','50')
wait(750)
end if
end if
next
## Êðàôò áóìàãè ##
repeat
uo.DeleteJournal()
k = 0
uo.WaitMenu('Carpentry','Paper')
uo.UseObject(instrument)
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
k = k + 1
wait(500)
wend
until uo.InJournal('You put')
## Êðàôò ïåðãàìåíòà ##
repeat
k = 0
uo.DeleteJournal()
uo.WaitMenu('Carpentry','Parchment')
uo.UseObject(instrument)
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
k = k + 1
wait(500)
wend
wait(500)
until uo.InJournal('You put')
## Êðàôò áëàíêà ##
repeat
k = 0
uo.DeleteJournal()
uo.WaitMenu('Carpentry','blank')
uo.UseObject(instrument)
while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 50 )
k = k + 1
wait(500)
wend
until uo.InJournal('You put')
uo.FindType(blanc,'-1','backpack')
if uo.FindCount() then
uo.moveitem('finditem','all','ground')
wait(750)
end if
wend
end sub
В общем, если и тип, и цвет, и название у частей одинаковое, то делай так (мне на форест варз так пришлось извращаться, там диды все одного типа и цвета, а из названия инжект берет только первую строку, а там одно и то же).
1. Перед крафтом пак должен быть чист от частей.
2. Крафтим первую часть. Если физл - повторяем. Когда часть скрафчена - запоминаем ее сериал и в игнор ее.
3. Повторяем аналогично для каждой части
4. Теперь крафтим изделие целиком. Если физл и при этом какая-то часть пропала - придется поиском (игнор отменить естественно) и перебором сериалов выяснять, какую часть перекрафтить.
5. После крафта изделия - скинуть его.
6. По кругу
1. Перед крафтом пак должен быть чист от частей.
2. Крафтим первую часть. Если физл - повторяем. Когда часть скрафчена - запоминаем ее сериал и в игнор ее.
3. Повторяем аналогично для каждой части
4. Теперь крафтим изделие целиком. Если физл и при этом какая-то часть пропала - придется поиском (игнор отменить естественно) и перебором сериалов выяснять, какую часть перекрафтить.
5. После крафта изделия - скинуть его.
6. По кругу
Ну дык? цикл по количеству итемов (for i=1 to n) и в автоменю (не забудь cancelmenu после успешного крафта) такую конструкцию:
Совсем думать народ разучился...
Code: Select all
UO.Automenu( 'ля-ля-ля, тополя', '(' + str(i) + ')' )
Совсем думать народ разучился...
