Помогите с хылингом.

Ask for help

Moderators: Murderator+, Murderator

Post Reply
t1m3
Posts: 75
Joined: 2006-03-15 14:29:33
Location: Латвия
Contact:

Помогите с хылингом.

Post by t1m3 »

Code: Select all

sub main()
while not uo.dead()
uo.useobject("0x40573DCA")
wait(100)
uo.bandageself()
wait(3000)
else
if uo.stamina>50 then
uo.usetype("0x0f0b")
wait(100)
wend
endif
end sub


Вообщем, жмёт 2 раза на пчелы и хилетса, хилинг проходит и пищет что проблема в 16 строке, ну там такой нету....

Вообщем, мне надо чтоб он 2раза кликал на пчелы и сразу же похилил себя и так по кругу... Как стамина 50, так пьёт бутилку.
It's t1m3 to pvp....


Play hard Go pro
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

else убери из скрипта, а зачем пить бутылку, когда стама > 50, ты типа в полиморфе? И wend и endif местами поменяй.
Last edited by Millerbeer on 2008-10-24 21:44:59, edited 1 time in total.
$!@m
Posts: 106
Joined: 2006-08-10 08:25:32

Post by $!@m »

Есть такая штука, называется табуляция. Помогает сделать скрипт с красивыми отступами. Если непонятно, как это делать, найди в приписке у Дестра (вроде).

Обьясню как отступаю я:

Code: Select all

repeat
   ****
until

while
   ****
wend

if
   ****
else
   ****
end if


Так вот. Кроме того, что скрипт становится нормальночитаемым, это позволяет выявлять незакрытые/неоткрытые цыклы/ифы. Попробуй проставить всвоем скрипте, сразу увидишь траблу.
t1m3
Posts: 75
Joined: 2006-03-15 14:29:33
Location: Латвия
Contact:

Post by t1m3 »

$!@m wrote:Есть такая штука, называется табуляция. Помогает сделать скрипт с красивыми отступами. Если непонятно, как это делать, найди в приписке у Дестра (вроде).

Обьясню как отступаю я:

Code: Select all

repeat
   ****
until

while
   ****
wend

if
   ****
else
   ****
end if


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


Большое СПАСИБО.
It's t1m3 to pvp....


Play hard Go pro
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Приписку смотреть ниже -)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
t1m3
Posts: 75
Joined: 2006-03-15 14:29:33
Location: Латвия
Contact:

Post by t1m3 »

Что-то у меня не так получилось :(

Code: Select all

sub main()
   while not uo.dead()
      uo.useobject("0x40573DCA")
      wait(100)
      uo.bandageself()
      wait(3000)
      if uo.stamina>50 then
         uo.usetype("0x0f0b")
         wait(100)
      wend
   endif
end sub



Он стаминку пьет не при стамине 50 а через каждый бынт.

Стаминку пьем потому, чтоб бистрее хилелся, это на оскоме, чем болще стамина, тем бистрее бинт проходет.
It's t1m3 to pvp....


Play hard Go pro
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Надо будет как-нибудь выравнивалке добавить чуть-чуть интеллекта... Вообще оно для расставления отступов писалось, а не для дебага скриптов -)

Вы вообще считаете нормальным закрывать if - wend'ом, а while - endif'ом? ;-)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
t1m3
Posts: 75
Joined: 2006-03-15 14:29:33
Location: Латвия
Contact:

Post by t1m3 »

Destruction wrote:Надо будет как-нибудь выравнивалке добавить чуть-чуть интеллекта... Вообще оно для расставления отступов писалось, а не для дебага скриптов -)

Вы вообще считаете нормальным закрывать if - wend'ом, а while - endif'ом? ;-)



Я поменял их местами, ну всё же... та-же проблема, можем можете конкретнее помоч, что и как сделать, чтоб он пил бутилку, когда стамина 50?
It's t1m3 to pvp....


Play hard Go pro
$!@m
Posts: 106
Joined: 2006-08-10 08:25:32

Post by $!@m »

Извините за вц, но сцук, неужели это так сложно проследить ход своих мыслей и выложить их в форме скрипта?

Достало, пишу чуть ли не учебник.

Code: Select all

sub STUPIDHealing()
end sub

Написали тело скрипта.

Цикл должен работать пока чар не умрет, добавим:

Code: Select all

sub STUPIDHealing()
repeat #повторять тело цикла
until UO.Dead(); # пока не подохнем
end sub


Теперь надо бы написать идеологию бинтования. Варианта 2: если стамина больше 50 то бинтуемся, а если нет, то пьем банку.

Code: Select all

sub STUPIDHealing()
repeat; #повторять тело цикла
   if UO.Stamina()>50 then #если стамы больше 50, то:
      *;бинтуемся, допишем потом, но отступ не забываем уже сейчас;
   else #ИНАЧЕ
      *;тут будет питье банок, отступ сделали;
   end if; #а это КОНЕЦ проверки;
until UO.Dead(); # пока не подохнем
end sub


И вписываем бинты и стамину, заодно ожидания:

Code: Select all

sub STUPIDHealing()
repeat #повторять тело цикла
   if UO.Stamina()>50 then #если стамы больше 50, то:
      UO.Bandageself();бинтуемся, отступ не забываем;
      wait(3000)
   else #ИНАЧЕ
      UO.UseType('0x0f0b');банки, отступ сделали;
      wait(100)
   end if; #а это КОНЕЦ проверки;
until UO.Dead(); # пока не подохнем
end sub


Вроде и пашет, да криво. Почему? да просто ожидание на бинты 3500, если в это время пройдет сейв, скрипт его не заметит, и будет пытаться что-то делать. Поправить надобно. Как человек различает время на бинт? Не по секундам, а смотрит пока не будет надписи на экране. Ну вот скажем скрипту смотреть журнал, туда это записывается.

Code: Select all

sub STUPIDHealing()
repeat #повторять тело цикла
   if UO.Stamina()>50 then #если стамы больше 50, то:
      UO.Bandageself();бинтуемся, отступ не забываем;
##################################### вот она, динамическая пауза бинтов
      UO.DeleteJournal('barely|bloody'); #удалим из журнала строки, в которых упоминаются слова barely и bloody. Чтоб потом отреагировать на их появление.
      repeat ##################повторяем
         wait(500);###############ожидание по 500 мс
      until UO.InJournal('barely|bloody');# до тех пор, пока в журнале не появятся пресловутые слова.
##################################### а вот ее конец
   else #ИНАЧЕ
      UO.UseType('0x0f0b');питье банок, отступ сделали;
      wait(100)
   end if; #а это КОНЕЦ проверки;
until UO.Dead(); # пока не подохнем
end sub


Вот оно, на палке в шоколаде:

Code: Select all

sub STUPIDHealing()
repeat
   if UO.Stamina()>50 then
      UO.Bandageself();
      UO.DeleteJournal('barely|bloody');
      repeat
         wait(500);
      until UO.InJournal('barely|bloody');
   else
      UO.UseType('0x0f0b');
      wait(100)
   end if;
until UO.Dead();
end sub
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Ну, это далеко не шоколад ;-)
UO.DeleteJournal('barely|bloody');
http://yoko.com.ua/help/help.php?lang=r ... eteJournal
нема у этой функции аргументов, нема..

Кроме всего прочего - стоит скрипт разок запустить, то оно будет выпивать по 10 банок в секунду, пока персонаж не устанет или не окочурится.. А он от такого количества выпивки точно окочурится -)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Post Reply