Вопрос.

Ask for help

Moderators: Murderator+, Murderator

Post Reply
GenDor
Posts: 45
Joined: 2006-11-06 00:55:40
Contact:

Вопрос.

Post by GenDor »

Есть ли разница между:

Code: Select all

end sub   и   endsub

и

endif   и   end if


?

Заранее благодарен!
[img][/img]
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

нет
GenDor
Posts: 45
Joined: 2006-11-06 00:55:40
Contact:

Post by GenDor »

я знал)

и еще вопрос плз.

прально ли я понимаю, если, допустим, я напишу

Code: Select all

while uo.hits>100
.......
wend


то вслучие, если хитов меньше 100 я могу словить краш клиента?
[img][/img]
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

GenDor wrote:я знал)

и еще вопрос плз.

прально ли я понимаю, если, допустим, я напишу

Code: Select all

while uo.hits>100
.......
wend


то вслучие, если хитов меньше 100 я могу словить краш клиента?

цикл будет работать пока хитов больше 100 никаких крашей тут не видно :lol:
GenDor
Posts: 45
Joined: 2006-11-06 00:55:40
Contact:

Post by GenDor »

Я вот про это :

Code: Select all

sub MyScript() 
   While UO.Life > 0
      If UO.Life < 70 Then
         UO.Bandageself()
         wait(2000)
      Endif
   Wend
endsub



Этот скрипт - это попытка написать автополхилл чара. Цикл while "крутится" пока здоровья больше 0, то есть пока чар не умрет. Если здоровья становится меньше 70 - чар лечится с бинтов (именно это и делает команда UO.Bandageself() ). В чем же ошибка этого скрипта? Эта ошибка называется "пустой цикл". Давайте проверим, что происходит во время работы этого скрипта. А именно, если здоровья у чара больше 70 (или равно). В этом случае действия внутри if...endif не выполняются, и цикл while...wend становится пустым, то есть в нем не производится никаких действий. Скриптовый модуль инжекта устроен так, что в этом случае вы получите 100%-загрузку процессора вашего компьютера (зависнет) и, быстрее всего, креш игры или системы.

Из учебника
[img][/img]
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

вот не пустой

Code: Select all

sub MyScript() 
   While UO.Life > 0
      If UO.Life < 70 Then
         UO.Bandageself()
         wait(2000)
      else
         wait(200)
      Endif
   Wend
endsub
GenDor
Posts: 45
Joined: 2006-11-06 00:55:40
Contact:

Post by GenDor »

omi4 wrote:вот не пустой

Code: Select all

sub MyScript() 
   While UO.Life > 0
      If UO.Life < 70 Then
         UO.Bandageself()
         wait(2000)
      else
         wait(200)
      Endif
   Wend
endsub


большое спс. теря я все понял. 8)
прост я несколько раз перечитывал и запутался :oops:
[img][/img]
Post Reply