Крафт скрипты!
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
27 ноября 2012 17:23
Сообщение #1
Люди добрые если есть у кого скрипты на крафтовые скилы поделитесь,а именно БС,тинкер,боукрафт,карпа,тейлор чтобы брал ресы из сундука ,крафтил итемы и уже готовый продукт ложил в тот же сундук или в мешки пустые что в сундуке!Бс желательно просто чтоб ковал из ингов что в паке и все,а остальные с перекладыванием!Скрипты именно для этого шарда нужны,т.к с других шардов почему то некорректно работают!Чтоб не возникло вопросов скрипты нужны для инжи!
Заранее благодарен!
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
27 ноября 2012 17:56
Сообщение #2
Поищи скрипт на крафты от Алукарда (на форуме Yoko Mirage). Найдешь - я те доведу его до ума, как раз и себе оставлю
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
28 ноября 2012 04:53
Сообщение #3
#####################################################################
; Tinker. v.1.00b (c) Edred
;
;     ,    
;        .
;    - .
;
sub tinker()
   VAR Sunduk = '0x402D047A'      ;  
   VAR Ingi = '0x1BEF'         ;  
   VAR Instrum = '0x1EBC'         ;  
   VAR Bottle = '0x0F0E'         ;  
   VAR Kolvo = 200         ;  
   VAR k = 0
   While TRUE
      UO.FindType( Ingi, -1, Sunduk )  ;    
      If UO.FindCount() == 0 Then
         UO.Print("Iron Ingots not found, script terminated")
         return
      Endif
      UO.Grab( Str( Kolvo ), 'finditem' )
      wait( 2000 )
      While UO.Count( Ingi ) > 0
        ;    
         UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
         UO.DeleteJournal()
         UO.CancelMenu()
         UO.WaitMenu ('Tinkering', 'Tools', 'Tools', 'empty bottle' )
         UO.UseType( Instrum )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
            k = k + 1
            wait(300)
         wend
         if UO.Count( Bottle ) > 0 then
            UO.FindType( Bottle, -1, -1 )
            UO.MoveItem( 'finditem', 0, Sunduk )
            wait( 2000 )
            UO.Print( 'Bottle moved' )
         end if
      Wend
   Wend
end sub


Вот скрипт на тинкер,работать начинает нормально но после того как использует первые 200 ингов,следующие не берет и затупляетЁ

Старший Лейтенант (5006416)15 лет
Администратор
Сообщений: 19675
Рег. 31.07.2009
28 ноября 2012 05:01
Сообщение #4
Цитата: Echo
UO.MoveItem

Либо замени на UoGrab, либо скачай обновленный инжект в разделе файлов.

--------------------
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
28 ноября 2012 05:47
Сообщение #5
Спасиб скачал еще раз инжу вроде все работает!
Но вопрос по поводу крафт скриптов все еще актуален,если у кого есть рабочие пожелитесь!

Старший Лейтенант (5006416)15 лет
Администратор
Сообщений: 19675
Рег. 31.07.2009
28 ноября 2012 05:54
Сообщение #6
Цитата: Echo
инжект качал недавно с раздела файлы!

Он недавно и был обновлен с рабочей функцией MoveItem. Ты мог его скачать до обновления.

--------------------
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
28 ноября 2012 08:13
Сообщение #7
Бутылки стал скидывать в сундук как и надо,а вот повторно брать инги из сундука перестал!
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
28 ноября 2012 12:37
Сообщение #8
Цитата: Echo
Бутылки стал скидывать в сундук как и надо,а вот повторно брать инги из сундука перестал!

попробуй открыть сундук с ингами перед запуском скрипта. И что значит повторно брать? в первый раз берет?
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
28 ноября 2012 17:49
Сообщение #9
Цитата: Mitako
попробуй открыть сундук с ингами перед запуском скрипта. И что значит повторно брать? в первый раз берет?


Да он берет 1 раз,крафтит а потом затупляет,а должен циклично брать инги пока в сундуке есть!
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
28 ноября 2012 17:57
Сообщение #10
Замени:
While TRUE
на
repeat
и
последний
wend
на
until uo.dead()


ЛИБО
While TRUE
на
WHILE NOT UO.Dead()
Генерал Полковник (37807901)13 летИнквизитор
Inquisitor
Сообщений: 792
Рег. 27.06.2011
28 ноября 2012 18:36
Сообщение #11
мне кажется, тупит вот по этому:
Цитата: Echo
     While UO.Count( Ingi ) > 0

ну на крафт нужно 3 инга - а 200 на 3 - остаток 2 - он не может выйти из цикла т.к. условие верно - но и не крафтит пузырь - мало ингов - вечный цикл.
а к чему условный цикл при безусловном переходе - так и не понял :dntknw:


While TRUE = begin:
wend = goto begin
но так более правильно:
Цитата: Mitako
ЛИБОWhile TRUE на WHILE NOT UO.Dead()
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
29 ноября 2012 14:21
Сообщение #12
Echo, какие дела?
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
29 ноября 2012 14:56
Сообщение #13
Цитата: Mitako
Echo, какие дела?

?
Старший Лейтенант (6395350)12 лет
Necromancer
Сообщений: 5530
Рег. 27.08.2012
29 ноября 2012 18:19
Сообщение #14
работает или нет *facepalm* ка будто не ты тему создавал, мы не помогали и не ты тестил
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
29 ноября 2012 23:38
Сообщение #15
Цитата: Mitako
работает или нет *facepalm* ка будто не ты тему создавал, мы не помогали и не ты тестил

Просто времени небыло,сегодня попробую и отпишусь!
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
30 ноября 2012 07:43
Сообщение #16
Цитата: Mitako
Замени:
While TRUE на
repeat и
последний
wend на
until uo.dead()


заменил все работает,и на всяк случай зделал чтоб 300 айрона брал!спасибо за помощ!
Теперь остались бс,тейлор,карпа и боукрафт!
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
3 декабря 2012 13:21
Сообщение #17
############################################################################################
#File info##################################################################################
############################################################################################
;Copiraten: by ICe aka ICeCREAm                                                            #
;     Mail: Hoob@narod.ru  писать с пометкой UO                                            #
;      Icq: 222228147 писать с пометкой UO                                                 #
;      WWW: http://hoob.narod.ru      >                                                    #
;[; plz not sale outside for russia,for all questions call #911 or (Hoob@narod.ru) ask me;]#
#############################################################(с) 2005 made in russia :) ####


###################################
# Скрипт для Крафтов #
# (В данном случае для Tailoring) #
###################################

;|---------------------------|
;| Описание переменных Items |
;|---------------------------|

var EQ,RQ1,RQ2,QB
var Eat='0x097B'; Type Еда (Рыба)
var Res1='0x175D'; Type Ресурс 1 (Ткань)
var Res2='0x0FA0'; Type Ресурс 2 (Нитки)
var Kit='0x0F9D'; Type Инструмента крафта (Sewing Kit)
var Items='0x1541'; Type Выходного материала
EQ=50; Количество еды
RQ1=150; Количество ресурса 1
RQ2=150; Количество ресурса 2

;|---------------------------------|
;| Описание переменных контейнеров |
;|---------------------------------|

var ContainerRes='0x40427E24'; Object Контейнер с ресурсами
var ContainerBag='0x404246BF'; Object Контейнер с сумками
var BagCount='0x0E76'; Type сумок в контейнере ContainerBag


sub Main()
uo.Set('quiet','1')
uo.Exec('exec Craft')
uo.IgnoreReset()
end sub

sub OpenBag()
var i,BagID
uo.UseObject(ContainerBag)
uo.UseObject(ContainerRes)
uo.IgnoreReset()
repeat
uo.DeleteJournal()
wait(1000)
uo.FindType(BagCount,'-1',ContainerBag)
if uo.FindCount('finditem') > 1 then
i=(uo.FindCount('finditem') +1)
uo.Click('finditem')
if uo.InJournal("a bag") Then
BagID=uo.JournalSerial(uo.InJournal("a bag")-1)
uo.SetJournalLine(uo.InJournal("a bag")-1,"")
uo.FindType(Items,'-1',BagID)
uo.UseObject(BagID)
wait(2000)
uo.Hide(BagID)
uo.Ignore(BagID,'on')
end if
end if
i=(i-1)
until i==0
uo.Hide(ContainerBag)
uo.Hide(ContainerRes)
uo.Resend()
wait(3000)
uo.IgnoreReset()
end sub


sub Craft()
var Last=0,LastTimer
OpenBag()
While not uo.Dead()

;|-----------------------------------|
;| Search of resources and Take them |
;|-----------------------------------|

uo.FindType(Eat,'-1','me')
if uo.GetQuantity('finditem')<1 then
uo.FindType(Eat,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(3)
else
uo.Exec('Terminate Craft')
end if
else
ToEat()
end if
uo.FindType(Res1,'-1','me')
if uo.GetQuantity('finditem')<16 then
uo.FindType(Res1,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(1)
else
uo.Exec('Terminate Craft')
end if
end if
uo.FindType(Res2,'-1','me')
if uo.GetQuantity('finditem')<1 then
uo.FindType(Res2,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
ToTake(2)
else
uo.Exec('Terminate Craft')
end if
end if

;|-------------|
;| Craft Items |
;|-------------|

uo.DeleteJournal()
uo.WaitTargetType(Res1)
uo.UseType(Kit)
uo.WaitMenu ('Cloth','misc','misc','body sash'); Название КрафтМеню1(Cloth),ПодМеню2(misc) -> КрафтМеню2(misc),ПодМеню2(body sash)
LastTimer=UO.Timer()
repeat
wait(100)
until uo.InJournal("You put") or uo.InJournal("Tailoring") or LastTimer+150<uo.Timer()
UnLoadItem()
wend
end sub

sub ToTake(i)
var G,F
if i==1 then
G=RQ1
F=Res1
end if
if i==2 then
G=RQ2
F=Res2
end if
if i==3 then
G=EQ
F=Eat
end if
uo.FindType(F,'-1',ContainerRes)
if uo.GetQuantity('finditem')>1 then
uo.Grab(''+str(G)+'','finditem')
uo.DeleteJournal()
repeat
uo.FindType(F,'-1','me')
wait(1500)
until uo.InJournal("That is too") or uo.GetQuantity('finditem') > 1
end if
end sub

sub ToEat()
uo.UseType(Eat)
end sub

sub UnLoadItem()
var BagID
var i=0
var m=0
repeat
uo.DeleteJournal()
uo.FindType(BagCount,'-1',ContainerBag)
uo.Click('finditem')
m=0
repeat
wait(1000)
until uo.InJournal("a bag")
if uo.InJournal("a bag") Then
BagID=uo.JournalSerial(uo.InJournal("a bag")-1)
uo.SetJournalLine(uo.InJournal("a bag")-1,"")
uo.FindType('-1','-1',BagID)
if uo.FindCount('finditem')<220 then
m=uo.FindCount('finditem')
uo.SetReceivingContainer(BagID)
uo.FindType(Items,'-1','me')
uo.Grab('0','finditem')
uo.ConColor('0x0021')
uo.Set('quiet','0')
uo.Print(uo.Print('In BagPack#'+Str(i+1)+' items '+Str(m)+''))
uo.Set('quiet','1')
uo.ConColor('0x0035')
wait(1000)
uo.UnSetReceivingContainer()
else
i=i+1
uo.Ignore(BagID, 'on')
end if
end if
if i==QB then
uo.IgnoreReset()
i=0
end if
uo.FindType(Items,'-1','me')
until uo.FindCount('finditem') < 1
end sub


Помогите поправить скрип,все переменные установил,открывает сундук с мешками и тупо тыкает на мешок,а должен открыть мешок взять ресы из другого сундука крафтить и складывать!за ранее благодарен!
12 лет
Ranger
Сообщений: 119
Рег. 29.10.2012
8 декабря 2012 07:29
Сообщение #18
Если есть знающие люди помогите поправить!
Генерал Полковник (37807901)13 летИнквизитор
Inquisitor
Сообщений: 792
Рег. 27.06.2011
8 декабря 2012 08:35
Сообщение #19
Цитата: Echo
Если есть знающие люди помогите поправить!

там же написано, куда писать, куда стучать, с какой пометкой:
Цитата: Echo
;Copiraten: by ICe aka ICeCREAm
Mail: Hoob@narod.ru  писать с пометкой UO 
Icq: 222228147 писать с пометкой UO         
Последние посетители (0):

 
Сейчас: 26 ноября 2024 03:31