Page 1 of 2

Помогите доделать хилинг

Posted: 2006-09-30 06:43:35
by pechkin
Никак не получается сделать задержку... Нужно чтобы при нажатии кнопки чар хилился до тех пор пока не наложится бинт (сообщение о том что бинт упал в пак) и только потом одевал арм и щит

Code: Select all

sub heal1 ()

uo.exec ("bandageself")
wait(100)
uo.deletejournal()

if UO.InJournal ('yourself') then
wait (100)
uo.usetype('heater')
wait (100)
uo.usetype('weapon')
end if

end sub


Пробовал чо то подобное, но никак не получается... упорно не одевает щит и веп...

пробовал что то подобное но никак не получается

Posted: 2006-09-30 08:50:43
by Savage

Code: Select all

sub heal1 () 

uo.deletejournal()
uo.exec ("bandageself")

repeat
wait(500)
until NOT UO.InJournal ('yourself')

uo.usetype('heater')
wait (500)
uo.usetype('weapon')

end sub

Posted: 2006-10-01 07:36:22
by pechkin
извиняюсь... забыл добавить: нельзя кидать повторно бинт пока первый не накинулся, иначе физлит.

Posted: 2006-10-01 08:03:15
by Scripts Writer
Сообщения удачного наложения и физла выложи сюда.

Posted: 2006-10-01 22:27:59
by pechkin
да на фразы пофиг... я разберусь и вставлю... сам алгоритм и синтаксис не ясны... допустим фразы "Бинт упал в пак" и "Бинт сфизлил"

Posted: 2006-10-02 05:13:10
by Scripts Writer

Code: Select all

sub heal()
var heator=' '
var weapon=' '
var msg1=' '
var msg2=' '
var k
  uo.DeleteJournal()
  uo.bandageself()
  k = 0
  while not uo.InJournal(msg1) and not uo.InJournal(msg2) and (k<50)
    wait(100)
    k = k + 1
  wend
  uo.UseType(heator)
  wait(250) 
  uo.UseType(weapon)
end sub

Posted: 2006-10-02 15:41:15
by Mihail

Code: Select all

sub heal1()
uo.bandageself()
checklag() #вместо wait(100) лучше в данном скрипте чеклаг
uo.deletejournal()
while not uo.injournal("Кровавый бинт упал в пак|Бинт сфизлил") #цикл: ждем проверяя каждые 200 мсек не появилось ли сообщение о том что хилинг прошел\сфизлил
wait(200)
wend
uo.usetype('heater')
wait (100)
uo.usetype('weapon')
end if
end sub

Posted: 2006-10-02 17:06:51
by Scripts Writer
Mihail wrote:

Code: Select all

sub heal1()
uo.bandageself()
checklag() #вместо wait(100) лучше в данном скрипте чеклаг
uo.deletejournal()
while not uo.injournal("Кровавый бинт упал в пак|Бинт сфизлил") #цикл: ждем проверяя каждые 200 мсек не появилось ли сообщение о том что хилинг прошел\сфизлил
wait(200)
wend
uo.usetype('heater')
wait (100)
uo.usetype('weapon')
end if
end sub


Твой чеклаг ничего не изменит, т.к. стоит за пределом цикла, а в ПвП загружать и без того нагруженный клиент посторонними функциями чревато. А с динамической паузой ты погорячился- в цикле обязательно чтото должно быть, что контролирует его работу.

Posted: 2006-10-02 18:38:00
by Mihail
You Must Die wrote:Твой чеклаг ничего не изменит, т.к. стоит за пределом цикла, а в ПвП загружать и без того нагруженный клиент посторонними функциями чревато. А с динамической паузой ты погорячился- в цикле обязательно чтото должно быть, что контролирует его работу.

а ты не догадываешься почему у автара было wait(100) пепед удалением журнала? потому что сразу после наложения бинтов идет сообщение от сервера что мол вы применили бинты и т.д. вот ключевые слова этого сообщения могут совпадать со словами о физле\не физле зилинга - короче не просто так я сюда чеклаг воткнул.
По поводу нагружать клиент - волков бояться - в лес не ходить.. не перегрузит клиент простой чеклаг - или с тиаким же успехом клиент может рухнуть от запуска любого другого скрипт - того же хилинга.. вот твоя задержка в 100мс загрузит инжект намного сильнее чем мой чек лаг в начале скрипта..
p.s. да по поводу цикла признаю, что надо вставлять туда
var=var+1 или var=var-1 - как больше нравится :)
p.p.s. 5 секунд на задержку хилинга мало - надо минимум секунд 8..

2афтар - конечный скрипт:

Code: Select all

sub heal1()
var i=0
uo.bandageself()
checklag() #вместо wait(100) лучше в данном скрипте чеклаг
uo.deletejournal()
while not uo.injournal("Кровавый бинт упал в пак|Бинт сфизлил") and i<40 #цикл: ждем проверяя каждые 250 мсек не появилось ли сообщение о том что хилинг прошел\сфизлил
wait(250)
i=i+1
wend
uo.usetype('heater')
wait (100)
uo.usetype('weapon')
end if
end sub

Posted: 2006-10-02 18:52:18
by Scripts Writer

Code: Select all

or i<40


случайно не

Code: Select all

and (i<40)
?

Posted: 2006-10-02 19:17:46
by Mihail
о великий бог скриптинга, прости меня смертного что я допустил такую ошибку

p.s. че ты ко мне прикапался, а? :)

Posted: 2006-10-02 19:35:19
by Scripts Writer
Ты зря такие сообщения пишешь. В нашей "специальности" главное точность и чёткость, и к поправкам со стороны надо относиться проще.

Posted: 2006-10-04 00:14:19
by pechkin
Обоим спасибо...*ушел тестить*
...
протестил 8) понял что не получалось... мой инжект не понимает команду deletejournal. Хотя никаких признаков непонимания не подает, но журнал не очишается. Только при бинде на кнопку выдал "Unknown command deletejournal " :cry: иначе как объяснить почему одевает щит и веп без задержки? ДЛЛка последняя с сайта... прям ненаю что поделать...

Posted: 2006-10-04 05:16:12
by Scripts Writer
возможно написать

Code: Select all

UO.deletejournal()

Unknown Command -неправильный синтаксис команды вбил. Проверяй скобки :\ хотя что тут неправильно написать можно.

Posted: 2006-10-04 08:45:10
by Edred
pechkin wrote:Unknown command deletejournal


потерял при наборе скрипта префикс uo.

Posted: 2006-10-04 14:17:08
by Scripts Writer
Без uo, со скобками выдало бы другое сообщение. Funct not found.

Posted: 2006-10-04 18:20:00
by pechkin
uo. - префикс в скрипте ... можно сказать иметирует в игре ввод ",deletejournal"... если забиндить на хоткей то запятая не нужна... в самом скрипте uo. присутствует но, по-моему, не срабатывает, ибо журнал не очищается... Или он и не должен стать девственно чистым папирусом :?:

Posted: 2006-10-04 18:47:12
by Scripts Writer
Не должен.

Posted: 2006-10-04 22:05:15
by Mihail
pechkin wrote: Или он и не должен стать девственно чистым папирусом :?:

ROFL!!!! ))))))
в уо с журналом ничего не произойдет :)( очищается журнал инжекта (который ,showjournal)

Posted: 2006-10-05 06:53:57
by pechkin
:roll: буду знать ... в обшем тогда не пойму никак почему зараза не ждет фразы а сразу одевает щит и меч... выложу алгоритм действий может поможет в решении проблемы. Итак:
1. Юзаем бинт вылетает вопрос "Where do you want to use clean bandages?"
2. Таргет селф
3. Кладется бинт
4. Если бинт кинулся вылетает две надписи одна за другой:
"You put the bloody bandages in your pack.
You apply bandages to yoursef"
5. Если не кинулся то другая надпись:
" You apply bandages to yoursef
But they barelly help." - что то вроде этого но не точно... никак не сфизлить :twisted:
6. Дальше одеваем щит и веп (желательно чтоб еще таргет убирался, но ето мелочи)