Что неправильно?

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Exist
Posts: 32
Joined: 2011-04-17 07:43:30

Что неправильно?

Post by Exist »

Имеем функцию ухода в инвиз:

Code: Select all

sub ToHide()
while not UO.Hidden()
UO.DeleteJournal()
UO.PeaceMode()
UO.UseSkill('Hiding')
CheckLag()
wait(4100)
wend
end sub

и функцию которая проверяет статус WarMode

Code: Select all

sub UO.PeaceMode()
if UO.Warmode()==1 then
UO.Warmode('0')
end if
end sub

А проблема в том что он не сбрасывает статус вармода. Вроди бы все ок и должно работать. Отдельно работает а в совокупности с другими скриптами не хочет. Есть предположения почему?
---------
PWR: Друль Незнайка [OFF]
PWR: Убийца Незнайка [OFF]
BOI: Прист Недотрога [OFF]
---------
Dragon World: Cooler [Deleted]
Dragon World: Exist [ON]
---------
РУКИ кривые - пинаю НОГАМИ!

--------
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Что неправильно?

Post by Mirage »

sub UO.PeaceMode()

Любой скрипт (программа) на языке скриптов инжекта всегда начинается с команды sub и заканчивается командой endsub. Скрипты пишутся в текстовые файлы, в одном файле может быть очень много скриптов (я даже затрудняюсь сказать сколько, у меня есть скрипта на 3000 строк кода, там этих функций и процедур под сотню, и ничего, все нормально живет в одном файле). Итак, любой скрипт должен выглядеть так:


sub MyScript()
……….
endsub



:roll:
Exist
Posts: 32
Joined: 2011-04-17 07:43:30

Re: Что неправильно?

Post by Exist »

Mirage wrote:sub UO.PeaceMode()

Любой скрипт (программа) на языке скриптов инжекта всегда начинается с команды sub и заканчивается командой endsub. Скрипты пишутся в текстовые файлы, в одном файле может быть очень много скриптов (я даже затрудняюсь сказать сколько, у меня есть скрипта на 3000 строк кода, там этих функций и процедур под сотню, и ничего, все нормально живет в одном файле). Итак, любой скрипт должен выглядеть так:


sub MyScript()
……….
endsub



:roll:

Просто сделано для удобства чтобы не писать везде эти 2 строчки а только одну. В моем случае это работать не будет ?
---------
PWR: Друль Незнайка [OFF]
PWR: Убийца Незнайка [OFF]
BOI: Прист Недотрога [OFF]
---------
Dragon World: Cooler [Deleted]
Dragon World: Exist [ON]
---------
РУКИ кривые - пинаю НОГАМИ!

--------
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Что неправильно?

Post by Mirage »

Exist wrote:Просто сделано для удобства чтобы не писать везде эти 2 строчки а только одну. В моем случае это работать не будет ?


Я немного не понял что ты имел ввиду и ты не понял что я имел ввиду походу :mrgreen:

приставка UO. является префиксом прописанных в инжекте команд. Типо uo.hide(), uo.str() и так далее.
sub main() - процедура прописанная руками скриптера. Запускается из другово скрипта БЕЗ приставки uo.

Code: Select all

sub main()
бла бла бла
endsub

sub main_2()
бла бла бла
main()
endsub


Следовательно твой скрипт БУДЕТ работать при условии выполнения двух действий:

Code: Select all

sub ToHide()
   while not UO.Hidden()
      UO.DeleteJournal()
      PeaceMode() ; один
      UO.UseSkill('Hiding')
      CheckLag()
      wait(4100)
   wend
end sub
sub PeaceMode() ; два
   if UO.Warmode()==1 then
      UO.Warmode('0')
   end if
end sub
Exist
Posts: 32
Joined: 2011-04-17 07:43:30

Re: Что неправильно?

Post by Exist »

Mirage wrote:
Exist wrote:Просто сделано для удобства чтобы не писать везде эти 2 строчки а только одну. В моем случае это работать не будет ?


Я немного не понял что ты имел ввиду и ты не понял что я имел ввиду походу :mrgreen:

приставка UO. является префиксом прописанных в инжекте команд. Типо uo.hide(), uo.str() и так далее.
sub main() - процедура прописанная руками скриптера. Запускается из другово скрипта БЕЗ приставки uo.

Code: Select all

sub main()
бла бла бла
endsub

sub main_2()
бла бла бла
main()
endsub


Следовательно твой скрипт БУДЕТ работать при условии выполнения двух действий:

Code: Select all

sub ToHide()
   while not UO.Hidden()
      UO.DeleteJournal()
      PeaceMode() ; один
      UO.UseSkill('Hiding')
      CheckLag()
      wait(4100)
   wend
end sub
sub PeaceMode() ; два
   if UO.Warmode()==1 then
      UO.Warmode('0')
   end if
end sub


Да это понятно что UO. Это вызов прописанных команд в самом инжекте. Но если я называю процедуру UO.Blabla() и вызываю ее также то что инжект будет не правильно на этот вызов реагировать ?
---------
PWR: Друль Незнайка [OFF]
PWR: Убийца Незнайка [OFF]
BOI: Прист Недотрога [OFF]
---------
Dragon World: Cooler [Deleted]
Dragon World: Exist [ON]
---------
РУКИ кривые - пинаю НОГАМИ!

--------
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Что неправильно?

Post by Mirage »

гррр. :twisted:
Если ты НАЗЫВАЕШЬ чтоли бо то UO. уже не применимо к этому.
UO. это то что называет аффтор программы инжект.

То что называет скриптер ВСЕГДА должно быть без приставки UO. .

ты просто НЕ МОЖЕШЬ использовать приставку UO. со своими процедурами (sub четотам())
Exist
Posts: 32
Joined: 2011-04-17 07:43:30

Re: Что неправильно?

Post by Exist »

Mirage wrote:гррр. :twisted:
Если ты НАЗЫВАЕШЬ чтоли бо то UO. уже не применимо к этому.
UO. это то что называет аффтор программы инжект.

То что называет скриптер ВСЕГДА должно быть без приставки UO. .

ты просто НЕ МОЖЕШЬ использовать приставку UO. со своими процедурами (sub четотам())

:) Мираж спокойно. :mrgreen:
---------
PWR: Друль Незнайка [OFF]
PWR: Убийца Незнайка [OFF]
BOI: Прист Недотрога [OFF]
---------
Dragon World: Cooler [Deleted]
Dragon World: Exist [ON]
---------
РУКИ кривые - пинаю НОГАМИ!

--------
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Что неправильно?

Post by Mirage »

Ну как еще написать не выделяя ключевые слова если то что прописано в уроках, инструкции к программе на русском и английских языках приходится пояснять 3 раза подряд.
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Re: Что неправильно?

Post by Grin »

кстати если внимательно почитать описание скриптвого модуля, что там упоминается реализация классов (UO и есть заранее определенный класс). До реальный классов им конечно далеко, но пространство имен могут создать, ну и как ложка дегтя насколько это качественно реализовано тоже под вопросом:)

как вариант есть предложение о подборке языка для модуля, по мне так перл был очень удачным кандидатом, не нужно знать всех тонкостей что бы писать скрипты близкие по написанию к текущему модулю.
Post Reply