Yoko

All sides of Injection
It is currently 2026-01-16 15:16:53

All times are UTC+02:00




Post new topic  Reply to topic  [ 41 posts ]  Go to page 1 2 3 Next
Author Message
PostPosted: 2005-06-04 13:02:01 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
собственно как сделать саму примочку =)
Когда в правой руке лук то скрипт приостанавливается на 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


Top
   
 Post subject:
PostPosted: 2005-06-04 14:22:09 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Вот это воткни куда надо вставить проверку и паузу:

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


Top
   
 Post subject:
PostPosted: 2005-06-04 14:30:14 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
пасиба


Top
   
 Post subject:
PostPosted: 2005-06-04 14:39:42 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
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

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


Top
   
 Post subject:
PostPosted: 2005-06-04 14:54:08 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
Beyonder wrote:

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

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


Top
   
 Post subject:
PostPosted: 2005-06-04 15:10:55 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
помоему так:
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


Top
   
 Post subject:
PostPosted: 2005-06-04 16:31:35 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
непашет я просто проверяю
запускаю эти 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


Top
   
 Post subject:
PostPosted: 2005-06-05 00:51:52 
Offline

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


Top
   
 Post subject:
PostPosted: 2005-06-05 06:43:41 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Очень странно, но у меня этот скрипт работает.
1) 'bow' - это тип или обьект?
2) Lhand если обьект двуручный или щит, Rhand сли одноручный

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


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


Top
   
 Post subject:
PostPosted: 2005-06-05 12:34:41 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
вот то что у меня получилось...................
вот пример я запускаю этот скрипт он ждет когда хп стпнет меньше 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


Top
   
 Post subject:
PostPosted: 2005-06-05 14:22:53 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
Так у тебя ошибка вот тут:

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


Top
   
 Post subject:
PostPosted: 2005-06-05 16:37:45 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
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

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


Top
   
 Post subject:
PostPosted: 2005-06-05 17:49:10 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
Ну помогите!!!!!!!!!!!!!!!!!!!!
всеравно не работает


Top
   
 Post subject:
PostPosted: 2005-06-05 18:29:40 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
А тип лука точно прописан?
Напиши здесь, как он у тебя записан и где?


Top
   
 Post subject:
PostPosted: 2005-06-05 20:05:45 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Xabus wrote:
Ну помогите!!!!!!!!!!!!!!!!!!!!
всеравно не работает


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


Top
   
 Post subject:
PostPosted: 2005-06-05 20:30:08 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
flake wrote:
А тип лука точно прописан?
Напиши здесь, как он у тебя записан и где?

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


Top
   
 Post subject:
PostPosted: 2005-06-05 20:33:11 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
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


Top
   
 Post subject:
PostPosted: 2005-06-06 01:42:02 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
А попробуй просто так:


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


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


Top
   
 Post subject:
PostPosted: 2005-06-06 22:48:24 
Offline

Joined: 2004-05-18 02:24:25
Posts: 117
Я допер до того что
if uo.getgraphic(uo.ObjAtLayer('Rhand')) == uo.getgraphic('0x400419dd') - тут надо было писать обьект сам а не тип обьекта!
тогда другой вопрос можно ли как нить совместить тип и обьект?


Top
   
 Post subject:
PostPosted: 2005-06-06 23:20:27 
Offline
Expert!
User avatar

Joined: 2004-08-11 23:56:17
Posts: 746
Location: The Citadel
Да. сделай так:

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

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


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


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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 41 posts ]  Go to page 1 2 3 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited