Page 1 of 1
Смена КЕГ
Posted: 2008-01-30 11:17:08
by BulldoZer
Ну вот предисловие: взял скрипт с раздела
Top Quality >>
Пойзонинг...
Пробую добавить смену кег и ничего неполучаеться(((
Code: Select all
dd:
uo.findtype('keg','0','backpack')
wait(100)
uo.moveitem('finditem','0','sum')
uo.say('Ложу ПУСТОЙ кег в сундук.')
wait(1000)
uo.findtype('keg','0','sum1')
uo.grab('0','finditem')
uo.say('Достал ПОЛНЫЙ кег из сумки')
wait(2000)
goto ee
ee:
uo.usetype('keg')
wait(500)
if uo.injournal('The keg is empty.') then
wait(100)
uo.DeleteJournal()
goto dd
else
goto pp
endif
Уже столько пытался переделать, что запутался совсем... вроде находит кег но неперебрасывает пустой с бекпака!
Пожалуйста укажите где правельно надо ставить интервалы - наставил наугад)))))))
Posted: 2008-01-30 11:41:03
by Nmy
попробуй так
Code: Select all
dd:
uo.findtype( keg ,'0','backpack')
if uo.findcount() then
uo.moveitem('finditem','0', sum )
uo.say('Ложу ПУСТОЙ кег в сундук.')
wait(1000)
end if
uo.findtype( keg ,'0', sum1 )
if uo.findcount() then
uo.moveitem('finditem')
uo.say('Достал ПОЛНЫЙ кег из сумки')
wait(2000)
end if
goto ee
ee:
uo.usetype('keg')
wait(500)
if uo.injournal('The keg is empty.') then
wait(100)
uo.DeleteJournal()
goto dd
else
goto pp
endif
Posted: 2008-01-30 12:41:27
by BulldoZer
Сенки)
Posted: 2008-01-30 20:17:11
by BulldoZer
ВОт НЕЗАДАЧА... Тоже самое((( Скрипт запустился и когда доходит до этого места в уо пишеться:
Warning: error in command
Posted: 2008-01-31 11:54:41
by AGRS
1) что такое sum1?
2) 'keg' везде должен быть в кавычках одинакого. А не в одном месте это имя объекта, а в другом имя переменной (хотя такая переменная даже не объявлена)
3) Логику скрипта понять нельзя, вероятна ошибка где то вне этого куска.
Posted: 2008-01-31 13:24:42
by BulldoZer
Счас покажу полный скрипт с моим исправлением...
Code: Select all
sub main()
var p1,p2,dp
uo.say(',exec bandcure')
uo.say('Запущена система контроля хп')
uo.say('Покажи как выглядит бочка с ядом.')
uo.addtype('keg')
while uo.targeting()
wait(100)
wend
uo.say('Покажи как выглядит еда.')
uo.addtype('food')
while uo.targeting()
wait(100)
wend
uo.say('Покажи как выглядит яд.')
uo.addtype('poison')
while uo.targeting()
wait(100)
wend
uo.say('Покажи сумку с едой.')
uo.addobject('sum')
while uo.targeting()
wait(100)
wend
uo.say('Покажи сумку для полных кег')
uo.addobject('sum1')
while uo.targeting()
wait(100)
wend
g:
uo.findtype('food','-1','sum')
uo.grab('1','finditem')
uo.say('Достал еду из сумки')
wait(2000)
goto cond
dd:
uo.findtype( 'keg' ,'0','backpack')
if uo.findcount() then
uo.moveitem('finditem','0', 'sum' )
uo.say('Ложу Пустой кег в сундук.')
wait(1000)
end if
uo.findtype( 'keg' ,'0', 'sum1' )
if uo.findcount() then
uo.moveitem('finditem')
uo.say('Достал кег из сумки')
wait(2000)
end if
goto ee
ee:
uo.usetype('keg')
wait(500)
if uo.injournal('The keg is empty.') then
wait(100)
uo.DeleteJournal()
goto dd
else
goto pp
endif
pp:
wait(500)
uo.waittargettype('poison')
uo.useskill('Poisoning')
wait(1000)
uo.findtype('food','-1')
wait(1000)
uo.target('1','finditem')
wait(11000)
goto cond1
cond:
p1=uo.skillval('Poisoning')
uo.say('Значение скила Пойзонинг записано в переменную p1')
goto pp
cond1:
p2=uo.skillval('Poisoning')
dp=p2-p1
if dp>10 then
uo.say('Значение скила поднялось на 0.3, беру другую порцию еды для работы.')
uo.findtype('food','-1')
uo.setreceivingcontainer('sum')
wait(500)
uo.findtype('food')
uo.grab('1','finditem')
uo.say('Ложу еду в сумку.')
wait(1000)
uo.unsetreceivingcontainer()
goto g
else
goto ee
endif
end sub
sub bandcure()
repeat
if uo.poisoned('self') and uo.count('bandage')>0 then
uo.bandageself()
uo.say('Бинтуюсь!')
wait(10000)
end if
if uo.poisoned('self') and uo.count('cure')>0 then
uo.usetype('cure')
uo.say('Пью антидот!')
wait(1000)
end if
wait(1000)
until uo.life<0
end sub
МОГУ сказать на верняка фраза
Code: Select all
uo.say('Ложу Пустой кег в сундук.')
Замечена ниразу небыла...
АЙДИ Пустого и полного кега одинаковое... Думаю скрипт неразличает их или неможет понять что надо с бэкпака переложит(
Posted: 2008-01-31 14:58:55
by AGRS
Ошибок не видать. Все норм. Значит алгоритм неправильный.
BulldoZer wrote:Думаю скрипт неразличает их или неможет понять что надо с бэкпака переложит(
Если ты их различаешь, значит и скрипт способен. Нужно только найти в чем отличие и правильно его описать.
По скрипту займись отладочкой.
Как я бы это сделал:
1) Проверить правильно ли определяется пустой кег. Для этого после метки ПП добавить вывод чего-нить в чат, ну например UO.Print("Jumping to PP")
2) Если кег определяется и переход осуществляется, то проверить функцию поиска кега... и т.д.
PS честно говоря не понятно зачем после использования кега искать его заново, если есть указатель {
lastobject Последний использованый (двойным щелчком мыши) обьект } и можно просто сделать UO.MoveItem('lastobject', 0, 'sum'). Ну да это не важно, каждый ****ит как хочет.
Вобщем двигай по шагам и ищи где сбой.

Posted: 2008-01-31 15:08:14
by BulldoZer
Спасибо... ты прав буду пошагово разбирать его...
Твой вариант вижу удобнее... я основывался что у всех видов кег одинаковый айди... и он в переменной 'keg' значит когда журнал сработал переход то найти кег в паке и передвинуть... буду эксперементировать)
зы: я ламер и нифига нешарю в скриптах инжекта

Posted: 2008-02-01 00:23:07
by BulldoZer
УРА Я ПОБЕДИЛ!!!
Для начала уперся в журнал в нем неписалось ничего такого - 'The keg is empty.'
а только такое cliloc# 0xA9E6
второе небрал полные кеги) пока неисправил так uo.findtype('keg','0x0046','sum1')
Все спасибо))) впереди остался кач) Пака