Yoko
http://forum.yoko.com.ua/

подлагивает скрипт
http://forum.yoko.com.ua/viewtopic.php?f=3&t=12527
Page 1 of 1

Author:  retr1val [ 2007-09-27 16:31:23 ]
Post subject:  подлагивает скрипт

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


Code:
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

Author:  Scripts Writer [ 2007-09-27 16:36:07 ]
Post subject: 

Code:
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:
    uo.UseType('0x0E21','0x0000') 
    uo.deletejournal()
    uo.waittargetobject('0x00008E6E')


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


3.
Code:
    repeat 
 
    until uo.injournal('put') or uo.injournal('fully')


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

Code:
    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:
repeat    
   If  Then
      If  Then
         If  Then
            If  Then

            Endif
         Endif
      Endif
   Endif
   If  Then
      If  Then

      Endif
      If  Then

      Endif
   Endif
until 

Author:  retr1val [ 2007-09-27 16:44:10 ]
Post subject: 

Scripts Writer ты просто бог скриптов :) спасиб тебе 8) :)

Author:  Scripts Writer [ 2007-09-27 16:46:05 ]
Post subject: 

:oops: :wink:

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/