Page 1 of 1
Помогите исправить ошибку.
Posted: 2006-12-14 08:31:17
by Zermalak
Нашел скрипт на перекручивание хлопка, вписал все тайпы и ид. При запуске скрипта пишет, что что то не так с 8 строкой. Будте добры помогите исправить. Играю на Оскоме.
Code: Select all
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: Select all
Используй теги и все будут благодарны тебе by I'm
Posted: 2006-12-14 10:55:20
by Savage
Убери вызов функции CheckLag() или добавь код функции в твой скрипт.
Posted: 2006-12-14 11:08:25
by Zermalak
пробывал убрать чеклаг, но тогда он просто берет хлопок и ничего не делает. Если можно по подробней, а то в написании скрипта полный 0

Posted: 2006-12-14 12:05:29
by Savage
Вот посмотри, может поможет, каждый комент относится к предыдущей строке.
Code: Select all
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
Posted: 2006-12-14 12:32:23
by Zermalak
вроде все то

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

Posted: 2006-12-14 12:44:18
by Zermalak
Я стер чеглаг, т.к неработает, еще раз прописал все типы, и ид, кое как работает. Теперь другая проблема, он берет 80 штук хлопка, потом еще 80 и получается что хлопок падает в ноги

Posted: 2006-12-14 12:49:12
by Zermalak
Исправил, я просто поставил wait после функции граб. Вроде теперь работает. Пасибо что помог разобраться.
Posted: 2006-12-14 14:23:57
by Destruction
В разделе "Scripting Ore" прибит очень интересный топик..
Posted: 2006-12-14 14:34:01
by Edred
Destruction wrote:В разделе "Scripting Ore" прибит очень интересный топик..
Да даже это не надо, достаточно просто в поиске набрать 'checklag()'. Эта функция используется в каждом втором скрипте.
Posted: 2006-12-14 18:50:34
by Zermalak
ребят, разобрался я потом с чек лаг

но теперь проблема не в нем
пишет invalid object, item not found, я со 100% уверен что прописал все типы правельно! а он не работает.
Вот еще раз скрипт :
Code: Select all
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
Posted: 2006-12-14 19:52:09
by Savage
Перед юзом скрипта полезно открыть конт. Надеюсь айдишники вещей ты указал липовые? Для гма не составит труда тебя пропалить

Posted: 2006-12-14 21:05:06
by Zermalak
Пробывал с открытым контейнером, все равно пишет что я выше написал

Posted: 2006-12-14 23:36:16
by Savage
Скрипту много лет, годков так 4-5 так что может что и поменялось у вас с тех пор

Posted: 2007-08-20 19:24:59
by SEGA
а как сделать так чтоб он после того как использовал весь хлопок из пака докладывал его заново и тд....