нужен совет =)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

нужен совет =)

Post by zimglads »

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

Code: Select all

sub start
while UO.Dead()
UO.Exec('terminate mine')
wait(100)
UO.Exec('terminate grd')
wait(100)
   walker(1010,475,0)
   wait(500)
   walker(2010,475,0)
   wait(500)
UO.Exec('mine')
   wait(500)
UO.Exec('grd')
   wait(500)
wend
end sub


когда я умираю там буквально доля секунды и я уже живой..
вопрос : будет ли работать скрипт в таком виде коректно если нет то подскажите что подправить :?:
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

название скрипта
  бесконечный цикл
    действия
    ...
    если мёрт тогда
      идти туда-то
    иначе
      ничего не делать
    конец условия
  конец цикла
конец скрипта
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Post by zimglads »

Scripts Writer wrote:

Code: Select all

название скрипта
    если мёрт тогда
      идти туда-то
 

в том то и дело что я умираю всего на долю секунды.. и нужно чтобы скрипт ето словил ..
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

Code: Select all

sub main()
while 1
repeat
wait(50)
until uo.life<1
wait(2000)
walk
walk
wend
endsub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

А йа бы посоветовал весь скрипт переделывать :roll:

по несколько одновременно работающих скриптов лишняя головная боль игроку и компутеру.

Scripts Writer wrote:

Code: Select all

название скрипта
  бесконечный цикл
    действия
    ...
    если мёрт тогда
      идти туда-то
    иначе
      ничего не делать
    конец условия
  конец цикла
конец скрипта
уже так и сделал он наверное, только я ИНАЧЕ не делал. Зачем оно тут? Если мертв то идем если не мертв продолжаем циклить основной скрипт. :)
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Mirage wrote:А йа бы посоветовал весь скрипт переделывать :roll:

по несколько одновременно работающих скриптов лишняя головная боль игроку и компутеру.

Scripts Writer wrote:

Code: Select all

название скрипта
  бесконечный цикл
    действия
    ...
    если мёрт тогда
      идти туда-то
    иначе
      ничего не делать
    конец условия
  конец цикла
конец скрипта
уже так и сделал он наверное, только я ИНАЧЕ не делал. Зачем оно тут? Если мертв то идем если не мертв продолжаем циклить основной скрипт. :)

В иначе я обычно заношу задержку в 50-100. Скрипт тормозит не сильно, но в некоторых случаях штука полезная.
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Post by zimglads »

Nmy wrote:

Code: Select all

sub main()
while 1
repeat
wait(50)
until uo.life<1
wait(2000)
walk
walk
wend
endsub

когда я умераю проходит 1 сек +- и сразу с полным столбом ) а можно какуюто проверку на диапазон координат сделать? типа если х1000-2000 а у2000-5000 то k=1
while k=1
отрубаем всё
бежим
бежим
врубаем всё
wend
? так реально?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

Ну дали же набросок :)

Code: Select all

sub main()
while 1
repeat
wait(50)
until uo.dead() and любое другое условие
отрубаем все
repeat
wait(100)
until NOT uo.dead()
walk
walk
включаем все
wend
endsub


но я бы всетаки советовал не отдельным скриптом делать а всю эту чахорду закинуть в основной скрипт.
Nmy
Expert!
Posts: 2152
Joined: 2005-09-14 15:31:58
Location: Latvia

Post by Nmy »

zimglads wrote:
Nmy wrote:

Code: Select all

sub main()
while 1
repeat
wait(50)
until uo.life<1
wait(2000)
walk
walk
wend
endsub

когда я умераю проходит 1 сек +- и сразу с полным столбом ) а можно какуюто проверку на диапазон координат сделать? типа если х1000-2000 а у2000-5000 то k=1
while k=1
отрубаем всё
бежим
бежим
врубаем всё
wend
? так реально?


Легко!

Code: Select all

while 1
if uo.getx('self')==234 and uo.gety('self')==543 then
walk()
walk()
endif
wait(1000)
wend
Post Reply