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

Скрипт на авто хил с примочкой..........
http://forum.yoko.com.ua/viewtopic.php?f=20&t=4125
Page 1 of 3

Author:  Xabus [ 2005-06-04 13:02:01 ]
Post subject:  Скрипт на авто хил с примочкой..........

собственно как сделать саму примочку =)
Когда в правой руке лук то скрипт приостанавливается на 3000 милисекунд....... и потом опять запускаеться............
Как это сделать? просто добавить еще 1 условие?
если можно поподробней
sub banddd()
repeat
while uo.life < 100
uo.exec("bandageself")
uo.deletejournal()
wait(100)
uo.msg('.arm_shield')
wait(3400)
wend
wait(100)
until uo.dead()
end sub

Author:  Beyonder [ 2005-06-04 14:22:09 ]
Post subject: 

Вот это воткни куда надо вставить проверку и паузу:

if UO.GetGraphic(uo.ObjAtLayer("Lhand"))=='0x0000' then # прописать тип лука
wait(3000)
end if

Author:  Xabus [ 2005-06-04 14:30:14 ]
Post subject: 

пасиба

Author:  Xabus [ 2005-06-04 14:39:42 ]
Post subject: 

Beyonder wrote:
Вот это воткни куда надо вставить проверку и паузу:

if UO.GetGraphic(uo.ObjAtLayer("Lhand"))=='0x0000' then # прописать тип лука
wait(3000)
end if


а куда именно вставить?

sub banddd()
repeat
while uo.life < 100
uo.exec("bandageself")
uo.deletejournal()
wait(100)
uo.msg('.arm_shield')
wait(3400)
wend
if UO.GetGraphic(uo.ObjAtLayer("Lhand"))=='0x13b1' then
wait(3000)
uo.msg('.arm_shield')
end if
wait(100)
until uo.dead()
end sub

перед и за вендом ставил не пашет =( он все равно продолжает хилить! а я зачу чтобы он останавливался пока лук в руках

Author:  Xabus [ 2005-06-04 14:54:08 ]
Post subject: 

Beyonder wrote:

if UO.GetGraphic(uo.ObjAtLayer("Lhand"))=='0x0000' then # прописать
end if

и разве не Rhand?
менял все равно не работает! ну как это вставить?

Author:  Beyonder [ 2005-06-04 15:10:55 ]
Post subject: 

помоему так:
Code:
sub banddd() 
repeat
while uo.life < 100
uo.exec("bandageself")
uo.deletejournal()
wait(100)
uo.msg('.arm_shield')
if UO.GetGraphic(uo.ObjAtLayer("Lhand"))=='0x13b1' then
wait(3000)
uo.msg('.arm_shield')
end if
wait(3400)
wend
wait(100)
until uo.dead()
end sub

Author:  Xabus [ 2005-06-04 16:31:35 ]
Post subject: 

непашет я просто проверяю
запускаю эти 2 скрипта и одевапю шит и все авно скрипт не останавливается! помогитееееее! как сделать так чтобы при взятии какого нибудь оружия или шита скрипт останавливался!?
sub banddd()
repeat
while uo.life < 100
uo.exec("bandageself")
uo.deletejournal()
wait(100)
uo.msg('.arm_shield')
wait(3400)
wend
wait(100)
until uo.dead()
end sub

sub abort()
repeat
if UO.GetGraphic(uo.ObjAtLayer('Lhand')) == 'shield' Then
UO.Exec('terminate banddd')
end if
until uo.dead()
end sub

Author:  Xabus [ 2005-06-05 00:51:52 ]
Post subject: 

лана проехали все то что написано сверху!
вопрос другой почему когда написано условие на проверку:
есть ли в руке лук.
Независимо от того что в руке, даже если там ничего нет, он выключает основной скрипт! почему?
ведь насколько я понимаю это скрипт дословно переводиться - если в руке есть лук, тогда скрипт banddd выключить! ну а если лука нет то продолжить работу скрипта banddd помогите пажалуйста!
sub rop()
if uo.getgraphic(uo.ObjAtLayer('Rhand')) <> 'bow' then
UO.Exec('terminate banddd')
end if
end sub

Author:  Beyonder [ 2005-06-05 06:43:41 ]
Post subject: 

Очень странно, но у меня этот скрипт работает.
1) 'bow' - это тип или обьект?
2) Lhand если обьект двуручный или щит, Rhand сли одноручный

Попробуй запусти это:
Code:
sub Test()
UO.Print(uo.getgraphic(uo.ObjAtLayer('Lhand')))
end sub


На экран должно вывести тип текущего обьекта в левой руке (лука). Сравни его с записанным типом. Если вдруг выдало 0х0000, то замени левую руку правой и снова проверь.

Author:  Xabus [ 2005-06-05 12:34:41 ]
Post subject: 

вот то что у меня получилось...................
вот пример я запускаю этот скрипт он ждет когда хп стпнет меньше 100 и начинает личить, но когда я беру лук во время лечения и скрипт по сути должен ждать 3000 милискекунд, а потом продолжить лечение, он не обрашая внимания на лук все равно лечит почему?
ведь вроде все правельно написано
sub banddd()
repeat
while uo.life < 100
uo.exec("bandageself")
uo.deletejournal()
wait(100)
uo.msg('.arm_shield')
if uo.getgraphic(uo.ObjAtLayer('Lhand')) <> 'bow' then
wait(3000)
uo.msg('.arm_shield')
end if
wait(3400)
wend
wait(100)
until uo.dead()
end sub

Author:  flake [ 2005-06-05 14:22:53 ]
Post subject: 

Так у тебя ошибка вот тут:

Code:
if uo.getgraphic(uo.ObjAtLayer('Lhand')) <> 'bow' then
wait(3000)
uo.msg('.arm_shield')
end if


Это означает, что если тип вещи в руке НЕ СОВПАДАЕТ с АЙДИ лука - скрипт будет ждать.

Попробуй вот так:

Code:
if uo.getgraphic(uo.ObjAtLayer('Lhand')) == uo.getgraphic('bow') then
wait(3000)
uo.msg('.arm_shield')
end

Author:  Xabus [ 2005-06-05 16:37:45 ]
Post subject: 

flake wrote:
Так у тебя ошибка вот тут:

Code:
if uo.getgraphic(uo.ObjAtLayer('Lhand')) <> 'bow' then
wait(3000)
uo.msg('.arm_shield')
end if


Это означает, что если тип вещи в руке НЕ СОВПАДАЕТ с АЙДИ лука - скрипт будет ждать.

Попробуй вот так:

Code:
if uo.getgraphic(uo.ObjAtLayer('Lhand')) == uo.getgraphic('bow') then
wait(3000)
uo.msg('.arm_shield')
end

неждет -( все равно!

Author:  Xabus [ 2005-06-05 17:49:10 ]
Post subject: 

Ну помогите!!!!!!!!!!!!!!!!!!!!
всеравно не работает

Author:  flake [ 2005-06-05 18:29:40 ]
Post subject: 

А тип лука точно прописан?
Напиши здесь, как он у тебя записан и где?

Author:  Edred [ 2005-06-05 20:05:45 ]
Post subject: 

Xabus wrote:
Ну помогите!!!!!!!!!!!!!!!!!!!!
всеравно не работает


Не работает - понятие растяжимое. Что именно не работает? Что делает, а что не делает? Ругается? Если да, то конкретный текст сообщения. Хочешь чтобы тебе помогли - пиши конкретно. Телепаты в отпуске

Author:  Xabus [ 2005-06-05 20:30:08 ]
Post subject: 

flake wrote:
А тип лука точно прописан?
Напиши здесь, как он у тебя записан и где?

0x13b1- тип лука........... в закладке object types

Author:  Xabus [ 2005-06-05 20:33:11 ]
Post subject: 

Edred wrote:
Xabus wrote:
Ну помогите!!!!!!!!!!!!!!!!!!!!
всеравно не работает


Не работает - понятие растяжимое. Что именно не работает? Что делает, а что не делает? Ругается? Если да, то конкретный текст сообщения. Хочешь чтобы тебе помогли - пиши конкретно. Телепаты в отпуске


я запускаю этот скрипт он ждет когда хп стпнет меньше 100 и начинает личить, но когда я беру лук во время лечения и скрипт по сути должен ждать 3000 милискекунд, а потом продолжить лечение, он не обрашая внимания на лук все равно лечит
sub banddd()
repeat
while uo.life < 100
uo.exec("bandageself")
uo.deletejournal()
wait(100)
uo.msg('.arm_shield')
if uo.getgraphic(uo.ObjAtLayer('Lhand')) <> 'bow' then
wait(3000)
uo.msg('.arm_shield')
end if
wait(3400)
wend
wait(100)
until uo.dead()
end sub

Author:  flake [ 2005-06-06 01:42:02 ]
Post subject: 

А попробуй просто так:


Code:
if uo.getgraphic(uo.ObjAtLayer('Lhand')) == '0х0000' then 


прямо сюда вставь тип лука

Author:  Xabus [ 2005-06-06 22:48:24 ]
Post subject: 

Я допер до того что
if uo.getgraphic(uo.ObjAtLayer('Rhand')) == uo.getgraphic('0x400419dd') - тут надо было писать обьект сам а не тип обьекта!
тогда другой вопрос можно ли как нить совместить тип и обьект?

Author:  flake [ 2005-06-06 23:20:27 ]
Post subject: 

Да. сделай так:

В начале скрипта:

Code:
VAR Bow = '0x0000' ; впиши сюда тип лука


Далее, в месте проверки:


Code:
uo.getgraphic(uo.ObjAtLayer('Rhand')) == Bow 

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