Yoko
http://forum.yoko.com.ua/

Помогите исправить ошибку.
http://forum.yoko.com.ua/viewtopic.php?f=20&t=10525
Page 1 of 1

Author:  Zermalak [ 2006-12-14 08:31:17 ]
Post subject:  Помогите исправить ошибку.

Нашел скрипт на перекручивание хлопка, вписал все тайпы и ид. При запуске скрипта пишет, что что то не так с 8 строкой. Будте добры помогите исправить. Играю на Оскоме.
Code:
sub Spool()
   VAR Spool='0x0FA0', Hlopok='0x0DF9', Cont='0x416C436E', Stanok='0x4024CF1F',i, Ammount=80

   While NOT UO.Dead()
      UO.FindType(Hlopok,-1,Cont)
      UO.Grab(STR(Ammount),'finditem')
      For i=1 to Ammount
         Checklag()
         UO.WaitTargetObject(Stanok)
         UO.UseType(Hlopok)
         wait(3000)
      Next
      UO.SetReceivingContainer(Cont)
      UO.FindType(Spool,-1,'backpack')
      UO.Grab('all','finditem')
      UO.UnSetReceivingContainer(Cont)
   Wend

end sub

Зарание благодарен

Code:
Используй теги и все будут благодарны тебе by I'm

Author:  Savage [ 2006-12-14 10:55:20 ]
Post subject: 

Убери вызов функции CheckLag() или добавь код функции в твой скрипт.

Author:  Zermalak [ 2006-12-14 11:08:25 ]
Post subject: 

пробывал убрать чеклаг, но тогда он просто берет хлопок и ничего не делает. Если можно по подробней, а то в написании скрипта полный 0 :(

Author:  Savage [ 2006-12-14 12:05:29 ]
Post subject: 

Вот посмотри, может поможет, каждый комент относится к предыдущей строке.

Code:
sub Spool() 
VAR Spool='0x0FA0', Hlopok='0x0DF9', Cont='0x416C436E', Stanok='0x4024CF1F',i, Ammount=80

While NOT UO.Dead()
; Выполнять пока не сдохнет.
UO.FindType(Hlopok,-1,Cont)
; найти тип хлопка в сундуке
UO.Grab(STR(Ammount),'finditem')
;поднять 80 хлопка и кинуть в пак
For i=1 to Ammount
; выполнять пока не кончится хлопок
;Checklag()
; проверка на лаг
UO.WaitTargetObject(Stanok)
; приготовить ловушку прицела и направить ее на станок
UO.UseType(Hlopok)
; двойной тырк в хлопок чтоб появился прицел
wait(3000)
;ждем 3 секунды
Next
; повторить, кидает опять на for...
UO.SetReceivingContainer(Cont)
; настроить конт как приемник для поднятых вещей
UO.FindType(Spool,-1,'backpack')
; найти в паке нитки
UO.Grab('all','finditem')
; кинуть нитки в конт
UO.UnSetReceivingContainer(Cont)
; отключить конт как приемник поднятых вещей
Wend
; повторить, кидает на while...
end sub

Author:  Zermalak [ 2006-12-14 12:32:23 ]
Post subject: 

вроде все то :), а вот выражу более точную проблему! Он пишет что функция чеклаг не найдена, смею предположить что с ней что то не то :(
Может там чего то не хватает?
П.С спасибо что рассписал подробно :)

Author:  Zermalak [ 2006-12-14 12:44:18 ]
Post subject: 

Я стер чеглаг, т.к неработает, еще раз прописал все типы, и ид, кое как работает. Теперь другая проблема, он берет 80 штук хлопка, потом еще 80 и получается что хлопок падает в ноги :(

Author:  Zermalak [ 2006-12-14 12:49:12 ]
Post subject: 

Исправил, я просто поставил wait после функции граб. Вроде теперь работает. Пасибо что помог разобраться.

Author:  Destruction [ 2006-12-14 14:23:57 ]
Post subject: 

В разделе "Scripting Ore" прибит очень интересный топик..

Author:  Edred [ 2006-12-14 14:34:01 ]
Post subject: 

Destruction wrote:
В разделе "Scripting Ore" прибит очень интересный топик..


Да даже это не надо, достаточно просто в поиске набрать 'checklag()'. Эта функция используется в каждом втором скрипте.

Author:  Zermalak [ 2006-12-14 18:50:34 ]
Post subject: 

ребят, разобрался я потом с чек лаг :) но теперь проблема не в нем :(
пишет invalid object, item not found, я со 100% уверен что прописал все типы правельно! а он не работает.
Вот еще раз скрипт :

Code:
sub Spool()
VAR Spool='0x0FA0', Cotton='0x0DF9', Cont='0x4048E256', Stanok='0x401E4AA2',i, Ammount=80

While NOT UO.Dead()
UO.FindType(Cotton,-1,Cont)
UO.Grab(STR(Ammount),'finditem')
For i=1 to Ammount
Checklag()
UO.WaitTargetObject(Stanok)
UO.UseType(Cotton)
wait(3000)
Next
UO.SetReceivingContainer(Cont)
UO.FindType(Spool,-1,'backpack')
UO.Grab('all','finditem')
UO.UnSetReceivingContainer(Cont)
Wend

end sub

sub CheckLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(500)
until uo.InJournal('backpack')
end sub


#############
#RECONNECTOR#
sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
;UO.Exec('terminate all')
;UO.Exec('exec autoload')
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub


Code:
Люди! Юзайте теги. by I'm

Author:  Savage [ 2006-12-14 19:52:09 ]
Post subject: 

Перед юзом скрипта полезно открыть конт. Надеюсь айдишники вещей ты указал липовые? Для гма не составит труда тебя пропалить :)

Author:  Zermalak [ 2006-12-14 21:05:06 ]
Post subject: 

Пробывал с открытым контейнером, все равно пишет что я выше написал :(

Author:  Savage [ 2006-12-14 23:36:16 ]
Post subject: 

Скрипту много лет, годков так 4-5 так что может что и поменялось у вас с тех пор :)

Author:  SEGA [ 2007-08-20 19:24:59 ]
Post subject: 

а как сделать так чтоб он после того как использовал весь хлопок из пака докладывал его заново и тд....

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/