подлагивает скрипт

Ask for help

Moderators: Murderator+, Murderator

Post Reply
retr1val
Posts: 20
Joined: 2007-09-24 17:11:19

подлагивает скрипт

Post by retr1val »

незнаю в чём но есть проблема... когда запукаю скрипр, клиент начинает подлагивать ... в скрите ошибка чтоли ? :?

Code: Select all

sub healingother()
repeat
while not uo.dead()
wait(200)
uo.UseType('0x0E21','0x0000')
uo.deletejournal()
uo.waittargetobject('0x00008E6E')
wait(1000)
repeat
until uo.injournal('put') or uo.injournal('fully')
wait(1000)
uo.print('3')
wait(1000)
uo.print('2')
wait(1000)
uo.print('1')
wait(1600)
wend 
end if
end if
end sub
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

sub healingother() 

repeat 

  while not uo.dead() 
    wait(200) 

    uo.UseType('0x0E21','0x0000') 
    uo.deletejournal() 
    uo.waittargetobject('0x00008E6E') 
    wait(1000) 
    repeat 
 
    until uo.injournal('put') or uo.injournal('fully') 

    wait(1000) 
    uo.print('3')  
    wait(1000) 
    uo.print('2') 
    wait(1000) 
    uo.print('1') 
    wait(1600) 

  wend 

end if 
end if 
end sub
1. Для чего repeat и 2 ифа в конце?
2.

Code: Select all

    uo.UseType('0x0E21','0x0000') 
    uo.deletejournal() 
    uo.waittargetobject('0x00008E6E') 
Ловушка на прицел ставится до действия.

Code: Select all

    uo.deletejournal() 
    uo.waittargetobject('0x00008E6E')
    uo.UseType('0x0E21','0x0000') 
3.

Code: Select all

    repeat 
 
    until uo.injournal('put') or uo.injournal('fully') 
Лагает из-за того что пока ждёт сообщений выполняет проверку на их наличие в журнале с минимально возможной задержкой что и приводит к таким лагам. wait(100) внутри цикла будет достаточно + используй динамическую задержку

Code: Select all

    var k
    k=0
    repeat 
      k=k+1
      wait(100)
    until uo.injournal('put') or uo.injournal('fully') || k>100
тогда в случае того что если сообщения и не появятся то как только k достигнет значения =100, он выйдет из цикла

4. Используй табуляцию и учись правильно программировать- это будет удобно и для тебя и для других. Отступы после условных операторов и циклов на 1-4 пробела от первой буквы оператора(if,repeat,while,for) и когда закрываешь (end if,until,wend,next) то возвращаешься на такое же кол-во пробелов чтоб скрипт был более читабельным

Пример:

Code: Select all

repeat    
   If  Then 
      If  Then 
         If  Then 
            If  Then 

            Endif 
         Endif 
      Endif 
   Endif 
   If  Then 
      If  Then 

      Endif 
      If  Then 

      Endif 
   Endif 
until  
retr1val
Posts: 20
Joined: 2007-09-24 17:11:19

Post by retr1val »

Scripts Writer ты просто бог скриптов :) спасиб тебе 8) :)
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

:oops: :wink:
Post Reply