sub UO.PeaceMode() if UO.Warmode()==1 then UO.Warmode('0') end if end sub
А проблема в том что он не сбрасывает статус вармода. Вроди бы все ок и должно работать. Отдельно работает а в совокупности с другими скриптами не хочет. Есть предположения почему?
Любой скрипт (программа) на языке скриптов инжекта всегда начинается с команды sub и заканчивается командой endsub. Скрипты пишутся в текстовые файлы, в одном файле может быть очень много скриптов (я даже затрудняюсь сказать сколько, у меня есть скрипта на 3000 строк кода, там этих функций и процедур под сотню, и ничего, все нормально живет в одном файле). Итак, любой скрипт должен выглядеть так:
Любой скрипт (программа) на языке скриптов инжекта всегда начинается с команды sub и заканчивается командой endsub. Скрипты пишутся в текстовые файлы, в одном файле может быть очень много скриптов (я даже затрудняюсь сказать сколько, у меня есть скрипта на 3000 строк кода, там этих функций и процедур под сотню, и ничего, все нормально живет в одном файле). Итак, любой скрипт должен выглядеть так:
sub MyScript() ………. endsub
Просто сделано для удобства чтобы не писать везде эти 2 строчки а только одну. В моем случае это работать не будет ?
Exist wrote:Просто сделано для удобства чтобы не писать везде эти 2 строчки а только одну. В моем случае это работать не будет ?
Я немного не понял что ты имел ввиду и ты не понял что я имел ввиду походу
приставка UO. является префиксом прописанных в инжекте команд. Типо uo.hide(), uo.str() и так далее. sub main() - процедура прописанная руками скриптера. Запускается из другово скрипта БЕЗ приставки uo.
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 wrote:Просто сделано для удобства чтобы не писать везде эти 2 строчки а только одну. В моем случае это работать не будет ?
Я немного не понял что ты имел ввиду и ты не понял что я имел ввиду походу
приставка UO. является префиксом прописанных в инжекте команд. Типо uo.hide(), uo.str() и так далее. sub main() - процедура прописанная руками скриптера. Запускается из другово скрипта БЕЗ приставки uo.
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() и вызываю ее также то что инжект будет не правильно на этот вызов реагировать ?
Ну как еще написать не выделяя ключевые слова если то что прописано в уроках, инструкции к программе на русском и английских языках приходится пояснять 3 раза подряд.
кстати если внимательно почитать описание скриптвого модуля, что там упоминается реализация классов (UO и есть заранее определенный класс). До реальный классов им конечно далеко, но пространство имен могут создать, ну и как ложка дегтя насколько это качественно реализовано тоже под вопросом:)
как вариант есть предложение о подборке языка для модуля, по мне так перл был очень удачным кандидатом, не нужно знать всех тонкостей что бы писать скрипты близкие по написанию к текущему модулю.