Составной крафт.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Sebastian
Posts: 44
Joined: 2005-08-07 04:23:56

Составной крафт.

Post by Sebastian »

Вобщем идея и сложная и простая. Может у кого-нибудь да есть. Суть в том что мне нужно делать ковры через слишком задроченную меню. Она пятиуровневая(ну ето мелочи) и ковер состоит из 10 частей. Я вот и думал - как сделать, чтобы он изготавливал ковёр пока не изготовится часть и не переходил к следующей а при феиле повторял. Естественно что крафт етих 10 не иначе чем через массив. Но вот названия у частей одинаковые. Буду признателен за помощь, или пример составного крафта.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Посмотри в теме "То , что ищут многие", мб помжет . Там крафт бланков следущим образом идет по этапно:
крафт бумаги-крафт пергамента-крафт бланка.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

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
Sebastian
Posts: 44
Joined: 2005-08-07 04:23:56

Post by Sebastian »

Спасибо, суть немного не та... но щас попробую чтото изменить....
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

В общем, если и тип, и цвет, и название у частей одинаковое, то делай так (мне на форест варз так пришлось извращаться, там диды все одного типа и цвета, а из названия инжект берет только первую строку, а там одно и то же).

1. Перед крафтом пак должен быть чист от частей.
2. Крафтим первую часть. Если физл - повторяем. Когда часть скрафчена - запоминаем ее сериал и в игнор ее.
3. Повторяем аналогично для каждой части
4. Теперь крафтим изделие целиком. Если физл и при этом какая-то часть пропала - придется поиском (игнор отменить естественно) и перебором сериалов выяснять, какую часть перекрафтить.
5. После крафта изделия - скинуть его.
6. По кругу
Ни один скрипт не работает? Пора обновить [url=http://www.eof.nm.ru/FiLeS/uoloop.exe]Инжект[/url]...
Все работает, но хочется большего? Пора переходить на [url=http://stealth.od.ua/]стелс[/url]...
admir
Posts: 528
Joined: 2005-01-13 07:20:54

Post by admir »

а разве по номеру в меню нельзя крафтить ?
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

admir wrote:а разве по номеру в меню нельзя крафтить ?
Можно, но как я понял - проблема в определении какая часть ковра в паке какая...
Ни один скрипт не работает? Пора обновить [url=http://www.eof.nm.ru/FiLeS/uoloop.exe]Инжект[/url]...
Все работает, но хочется большего? Пора переходить на [url=http://stealth.od.ua/]стелс[/url]...
Sebastian
Posts: 44
Joined: 2005-08-07 04:23:56

Post by Sebastian »

Я думал что можно вообще автоменю прописать как то сециально: Тоесть
одна автоменю вместо массива и делало бы с 1 по последнюю вещи в меню.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Ну дык? цикл по количеству итемов (for i=1 to n) и в автоменю (не забудь cancelmenu после успешного крафта) такую конструкцию:

Code: Select all

UO.Automenu( 'ля-ля-ля, тополя', '(' + str(i) + ')' )
Совсем думать народ разучился... :cry:
Ни один скрипт не работает? Пора обновить [url=http://www.eof.nm.ru/FiLeS/uoloop.exe]Инжект[/url]...
Все работает, но хочется большего? Пора переходить на [url=http://stealth.od.ua/]стелс[/url]...
Post Reply