Сайт Антареса Сайт Антареса Форум Антарес
> >

Здравствуйте, гость ( Вход | Регистрация )


> > Injection Faq, Понятия и Эксплуатация >
Deidan
сообщение 18.12.2005, 16:55
Сообщение #1


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



В стадии заполнения.

1. Где взять?

2. Как настроить ilpatch?

3. Как настроить Ingection?

4. Как русифицировать Ingection?

5. Как бороться с ошибками?

6.1. Как пользоваться Ingection? Знакомство в Слепую

7. Консольные команды инжекта. Команды скриптов





Материалы приведённые здесь от части были содраны с сайтов, от части написаны разными людьми. Я выражаю огромную признательность Destruction, Vasia, Revenant, Jikus, Beyonder и многим другим совершенно неизвестным мне людям, за то, что они писали и опубликовали данные статьи, дабы я теперь мог пожинать лавры их труда.


Сообщение отредактировал geernick - 11.8.2006, 13:06
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
 
Ответить в эту темуОткрыть новую тему
> > Ответов(1 - 8) >
Deidan
сообщение 18.12.2005, 17:39
Сообщение #2


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



Где взять?

Итак дорогие мои великовозростные дети... Сегодня я расскажу вам за такую програмку как Yoko Injection, найти которую вы можете - Здесь. Также там находится абсолютно любая информация и в большем обьёме чем я смогу показать сдесь, но вы то пришли послушать старого извращенца Гейдана (как меня называет наш антипацыфист Te Killa). И коль вам не по силам поднять ваш изнеженный Мэри Попинс ментально(не говоря уже про физически), то я с любезностью решил наростить себе ещё пару сантиметров гемороя, печатая данную чушь, чтобы научить вас как пользоваться этой програмой..

Вот ссылка на мой Injection - Injection - 550 кб (без ilaunch) Он здесь для того, чтобы те скрипты что работают у меня работали бы и у вас.
А это мультиклиент для моего Injection Client 2.0.3 Multi Так он будет работать стопроцентно (если конечно у вас не был удалён мозг).

Настоятельно рекомендую иметь на компьютере два Injection. Данный и тот, что находится на официальном сайте Yoko Injection
то есть самую последнюю версию, ибо мой является некой промежуточной. На всех скриптах будет написано на каком Injection они работают.


Для особо ленивых я подготовил следующие ссылки:
Файлы запуска (launcher)

Yoko Injection DLL (последней версии)

Модуль скриптов

Сборник файлов относящихся к описанию Injection и модуля скриптов

Детальная установка находится здесь (если вы не способны етого сделать, то забудьте за Injection) Инсталяция Injection

Сайт ASM Не факт, что он вам пригодится, но это альтернативный скриптовый модуль для Injection.

Сайт Stealth Client Программа для запуска n-ого кол-ва чаров при минимальных системных затратах. не использует клиент, так что прога только для макросинга.

Stealth Client 0.95b Ссылка на последнюю на данный момент версию(будет обновляться, надеюсь)




Сообщение отредактировал Deidan - 19.12.2005, 23:11
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Deidan
сообщение 18.12.2005, 18:45
Сообщение #3


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



Настройка ilpatch и иже с ним.


Ошибка производится из за изменения кода client.exe. Возможные причины:

1. Вирус или антивирус.
2. Патч YA MUU или UO Rice для мультиуо или снятия криптования.
3. Изменение Администрацией шарда.

В первую очередь проверьте компьютер на вирусы и скачайте из интернета стандартный неправленый клиент. Если это не помогло, смотрите ниже.
Если изменён администрацией, возможно в него включили защиту от инжекта. В таком случае я ничем помочь не могу. Ищите местного хакера-умельца.
В других случаях вы можете попробовать добавить свой нестандартный клиент в ilpatch.cfg. Можно сделать это вручную или программой. Я покажу как сделать программой, но сам лично я делаю это вручную.

Вручную (самое простое что могу рассказать):
1. Скачайте UO Rice и снимите кодирование.

UO Rice

2. При успехе появится No_Crypt_Client.exe.Добавьте его в ilaunch.

опубликованное пользователем изображение

3. Попробуйте запустить. См. картинку сверху. Выпишите цифры из сообщения.
Checksum: xxxxx Length: yyyyyy
4. Добавьте строку в ilpatch.cfg используя блокнот.
"AnyNameYouWant" xxxxxx yyyyy

С использованием вспомогательной программы
Сперва скачайте эту программу:

Ylaunch ( не путать с ilaunch)

Распакуйте в папку инжекта и запустите.
Нажмите на настройку клиента. Добавьте свой client.exe в правой панели.
Щёлкните на нём в правой панели чтобы выделить. Нажмите PatchEditor.

Нажмите на заголовок колонки Length. Найдите ваш клиент в списке. Нажмите на него чтобы выделить линию с ним. Слева обязательно должна быть лампочка. Если она светится начит информация уже есть и ошибки ilpatch не должно быть. Если такого клиента вы не нашли вообще попробуйте заново или смотрите Variant 2.



Variant 1.
Нажмите кнопку Make current from selection. Нажмите Add to ilpatch
Теперь попробуйте запустить клиент УО с Инжектом. Если у вас ничего не получилось, нажмите кнопку "ilpatch" в окне патчей чтобы открыть ilpatch.cfg в блокноте и удалите последнюю позицию, добавленую Yoko Launcher. Продолжайте с Variant 2.

Variant 2.
Внимание!!! Только как ПОСЛЕДНЕЕ СРЕДСТВО потому что работает только иногда.
Based on UORice-like method by Necr0pot3nce.
Основан на UORice-подобном методе Necr0pot3nce.

Нажмите Evaluate current Patch and Keys.
Нажмите Go. Подождите окончания обработки. Серый цвет соответствует необработаным этапам, зелёный успешным, красный - ошибкам. ТОЛЬКО если вы получили всё зелёно/серое то можете использовать результат.

опубликованное пользователем изображение

Если вам нужна информация только для ilpatch нажмите Add.

***

Если вам нужны ключи нажмите Update UOKeys.cfg. В следующем окне вы должны правильно задать последнюю цифру. Если ваш клиент точно новее чем 2.0.3 (300, 306, 400 и т.д.) оставьте как есть. если клиент старее чем 2.0.3 (1.26.4, 2.0.0 и т.п.) измените последнюю цифру с 4 на 2. Смотрите комментарий в файле UOKeys.cfg если вам нужна дополнительная информация.



Сообщение отредактировал Deidan - 18.12.2005, 23:51
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Deidan
сообщение 18.12.2005, 20:11
Сообщение #4


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



Как настроить Ingection?


Настроенный инжект и ASM - единственное что, для другого шарда, посему документация в картинках.
Пропатченный клиент - сам не использовал, но вроде навороченный клиент.

У кого проблемы с настройкой, вот набор рисунков. (Предоставил Destruction с Ультима Софт

опубликованное пользователем изображение

опубликованное пользователем изображение

опубликованное пользователем изображение

http://ultimasoft.ru/inject-docs/client-name.gif

http://ultimasoft.ru/inject-docs/client-proper-name.gif

http://ultimasoft.ru/inject-docs/evalute-c...ch-and-keys.gif

http://ultimasoft.ru/inject-docs/go-button.gif

http://ultimasoft.ru/inject-docs/launch-button.gif

http://ultimasoft.ru/inject-docs/no-sanx-option.gif

http://ultimasoft.ru/inject-docs/ok-button.gif

http://ultimasoft.ru/inject-docs/patch-editor-button.gif

http://ultimasoft.ru/inject-docs/path-button.gif

http://ultimasoft.ru/inject-docs/path-to-client.gif

http://ultimasoft.ru/inject-docs/setup-button.gif


Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Deidan
сообщение 18.12.2005, 23:45
Сообщение #5


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



Как русифицировать Injection ?

Мной выпущен русификатор Injection, возможно не полный.

Настроенная русская версия с ASM - размер [~1,1Мб]


Injection.dll - размер [~210Кб]

Ylaunch.exe - размер [~254Кб]

Ilaunch.exe - размер [~35Кб]

Script.dll (оригинальный) - размер [~87Кб]

Script.dll (Beyonder'а) - размер [~37Кб]

ASM 410.30 - размер [~36Кб]

ASM 411.01 - размер [~36Кб]

ASM 411.03 - размер [~36Кб]

ASM 411.10 - размер [~36Кб]

ASM 411.16 - размер [~36Кб]

ASM 412.25 SE - размер [~37Кб]

ASM 412.28 SE - размер [~37Кб]

ASM 501.05 SE - размер [~37Кб]

Пароль на архив UltimaSoft.

Русификация разработана для портала UltimaSoft.ru

Распрастранение русификатора без ссылки на Ultima Soft - ЗАПРЕЩЕНО, уважайте авторские права!!!

Патч разработан для версий:
Injection.dll - YokoInjection 505.18 VeNdOr.
ylaunch.exe - YokoLauncher v1.0.
ilaunch.exe - версия неизвестна.
оригинальный script.dll - script parser v.0.3, Yoko Build 212.11.
script.dll от Beyonder'а - хмм, черт знает, но версия первая и единственная.


Если у вас стоит АСМ, то перед русификацией оригинального script.dll, надо его из scriptengine.dll переименовать в script.dll. При русификации АСМа, никаких особых действий делать не требуется.

Внимание! Файлы должны называться оригинальными именами. Как? Читай выше.

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

Автор не несёт никакой отвественности, прямо или косвенно за возможно причинённый ущерб.

Author do not take any kind of responsibility for potentional damage(s)


© 2004-2005, Destruction.


Вопросы и предложения по-поводу русификатора
Сюда
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Deidan
сообщение 19.12.2005, 3:04
Сообщение #6


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



Как бороться с ошибками?

  1. Ошибка:
    Исходный код
    Failed to load injection.dll in launcher  
        Reason: (1157)

    Решение:Найдите в папке с Injection файл expat.dll и скопируйте его поменяв имя на libexpat.dll. Старый файл оставьте тоже.
    ---------------------------------------------------------------------------------------------------
  2. Проблема: У меня инжект второе окно не открывает. Я скачал себе клиент с поддержкой muo, а инжект пишет loading ilpatch.cfg error.
    Решение: Yoko Ingection 321.19 и клиент, пропатченный на мультизапуск и "всегда светло".
    ---------------------------------------------------------------------------------------------------
  3. Проблема: Прописываю логин в инже, вроде все ок запускаю инжу он меняет Айпи сервака просто на пустую строку, и есесно он не куда не конектит в чем проблема может бытЬ?
    Решение:
    1. Вводим адресс и все остальное в нужные поля.
    2. Add
    3. Save
    4. OK
    5. Перегружаем инжу и видим сервак в списке.

    ---------------------------------------------------------------------------------------------------
  4. Проблема:При запуске инжекта не отображаются многие динамические объекты(двери, ворота, что лежит на земле и т.д.) так же не видно части деревьев. В чем проблема?
    Решение: Закладка Main - Battle Filter - off (убрать галочку) и перегрузить УО или нажать
    Исходный код
    ,resend
    или среколится куда-нибудь.

    ---------------------------------------------------------------------------------------------------
  5. Проблема:
    Исходный код
    UO client perfomed an unrecoverable invalid operation.Terminate?

    Решение:Означает что клиент получил или от инжи или от сервера пакет который не может распознать. Клиент 2.0.3 в этом случае просто обязан погаснуть, так его сделали. Основная причина - использование функции
    Исходный код
    ,emptycontainer

    emptycontainer выгрести всё из контейнера
    Синтакс: ,emptycontainer delay [containerobject] [recevingcontainerobject]
    none uo.emptycontainer(delay,[containerobject],[recevingcontainerobject])


    Цитата
    Команда которую многие считают багерской. На сайтах багов и читов ее публикуют вот так.

    ,emptycontainer 30 - фастлут

    а на совсем ламерских

    ,emptycontainer 0 – фастлут

    Даже если на сервере фастлут не закрыт обе команды с такими параметрами приведут к крашу или просто не сработают. Так как время отклика в 30мс есть у единиц.

    Delay это время отклика сервера + время заданное админами на исполнение перемещения.
    Его изменение в большую сторону, время на ветер. В меньшую потеря синхронизации с сервером.

    Вывод ,emptycontainer команда не для багеров, а для ламеров…

    Консольные команды юзать можно, только все параметры нужно понимать. Защиты от дурака в инже нет.

    Грамотно сделать так

    Исходный кодUO.Set( 'grabdelay' '30')
    ……
    ……
    UO.MoveItem( 'finditem' )
    repeat
    wait(50)
    until UO.InJournal("You put")

    ---------------------------------------------------------------------------------------------------

  6. Проблема: Мой чар при откапывании руды, если она упала на пол, не может пройтись по ней. Что нужно сделать чтобы изменить исправить ету проблему?
    Решение: Вставить в папку с UO данный файл - Tiledata
    ---------------------------------------------------------------------------------------------------

  7. Проблема:
    Исходный код
    Systran Error

    Решение: Переименуйте или удалите owo.exe и transerv.exe
    Для игры на Антаресе они не нужны.

    ---------------------------------------------------------------------------------------------------

  8. Проблема:
    Исходный код
    Couldnt connect to Ultima Online. Please try again in a few moments.

    Решение: Проверьте логин в инжекте и ilaunch'e. Должен быть - 83.222.4.72,2593
    Или сервер на данный момент не работает.
    ---------------------------------------------------------------------------------------------------

  9. Проблема: В клиенте пишется Resend или Warning step error - что делать?
    Решение:
    Цитата
    Исходный код
    ,resend
    требуется только в одном случае

    Если с помощью команд инжекта управляли клиентом (сервер об этом даже не знает)
    Самое частое ,hide.

    То о чем ты говоришь - называется лаги.
    Вызваны они следующим.
    Время отклика большое (например, узкий канал. Проверь)
    Загружен сервер (там вариантов куча и решить игроку их ну никак)
    Антарес точно не загружен.

    Слабая машина + 8 окон + Ася + винамп + вирусы
    + Клиент 2.0.3 который используется на Антаресе написан при царе горохе, с виндой не сильно дружит. 100% ресурсов проца ему хочется. Не важно что у вас их 4 и каждый 5ГГц.
    Лечится установкой более свежих клиентов, но маленькое но.. это запрещено админами Антареса. При входе получим сообщение Только 2.0.3 !
    Почему? Я не знаю причины.

    Для общеобразовательных целей скажу. Любой, обладая элементарными знаниями программирования + желание. Поправит более свежий клиент и обойдет защиту сервера.
    Для сервера это не опасно. Он с рождения умеет работать с клиентами до 4.0.0
    Только мало, на каком шарде это используют.
    Плохо только то что у одних это может появится, а у других нет.


    ---------------------------------------------------------------------------------------------------
  10. Проблема: Вписал я у себя клавиши, что-бы они мне скрипты включали.
    Работает всё нормально, НО !
    Стоит мне только выйти из игры, они все сбрасываются.
    Приходится по новой прописывать, а меня это уже задолбало!
    Это нормально или их как-то можно сохранить ? Там была кнопочка Save - я на неё жал, но без результатно.

    Решение: Проблема в том, что твои скрипты лежат не в корне папки с инжектом(рядом с ддлками и т.д.).
    Тебе нужно выйти полностью с клиента, зайти заново, посоздавать хоткисы, запомнить их, затем выйти(не загружая ни каких скриптов и даже в закладку скриптс не переходя)и зайти заново. Теперь хоткисы сохранены.
    На новой последней версии инжи от Vendor'a, они вроде сохраняются полюбе.


    ---------------------------------------------------------------------------------------------------
  11. Проблема:
    Исходный код
    "There is some problem communicating with Oriqin.Please restert Ultima Online and try again."

    Решение:
    Или вы логин прописали не адрес, а всю строку:
    Исходный код
    LoginServer=83.222.4.72,2593

    когда нужно только:
    Исходный код
    83.222.4.72,2593


    Или вы не указали в закладке Main используемый коиент:
    Шифрование надо выбирать 2.0.3х или 2.0.3(OSI Client = 2.0.3)
    Или сервер на данный момент не работает.

    Если нету - вот строка для UOKeys.cfg:
    Исходный код
    "2.0.3x"  2dbbb7cd a3c95e7f 3


    ---------------------------------------------------------------------------------------------------
  12. Проблема:
    Я когда умираю мне пишется :
    Исходный код
    Line1085: Function not found- asmDeathEvent


    1085 это моя последняя строка автолоуда, а что он от меня хочет я не пойму

    А после ресса пишет
    Исходный код
    not found asmResurrectionEvent

    Решение:
    Это функции ASM модуля, но модуль у вас есть, раз оно ругается.

    Вернее AGRS организовал таким образом перехват событий смерти/воскрешения.

    Просто создайте в скрипте пустые (или запиши туда что-нибудь) функции asmDeathEvent и asmResurrectionEvent.

    ---------------------------------------------------------------------------------------------------
  13. Проблема:
    Исходный код
    Unhendled exeption in parser

    Решение: Читать здесь
    ---------------------------------------------------------------------------------------------------
  14. Проблема:
    Исходный код
    Error loading configuration file:line 7:not well-formed(invalid token)
    Решение: В ilaunch'e при заполнении данных были допущены русские буквы.
    Откройте файл ilaunch.html в корне инжи, найдите ети буквы и удалите.

    ---------------------------------------------------------------------------------------------------
  15. Проблема:
    Starting Client Done
    Patching Client Error

    Решение: Удалите injection.xml в корне папки с Injection
    ---------------------------------------------------------------------------------------------------
  16. Проблема: illpatch error
    Решение: При неработе ilpatch.cfg откройте его как текстовый документ и добавьте следующее.

    Исходный код
    "Client 2.0.3 T2A yokopatch" ba7de953 00158000 : 004c0e65 = 85, 004c1827 = 90 90


    или

    Исходный код
    "Client 741CE4F1" 741ce4f1 00158000 : 004c0e65 = 85, 004c1827 = 3b c0

    "Client 741CE4F1 yokopatch" 741ce4f1 00158000 :


    или

    Исходный код
    "Client 2.0.3 T2A" cfdc515a 00158000 : 004c0e65 = 85, 004c1827 = 90 90

    "Client 2.0.3" 8aeb1072 00158000 : 004bf3c5 = 85, 004bfd87 = 90 90

    "Client 2.0.3b5 T2A" 8aeb1072 00158000 : 004c2a35 = 85, 004c33e7 = 90 90

    "Client 2.0.3b5" 404f1755 00158000 : 004c10a5 = 85, 004c1a57 = 90 90


    или полный

    Исходный код
    "Client 4.0.0c 2d"         B12E5962 1DB000 : 004196E4 = 3b, 004196DA = 3b c0, 004195C6 = 3b c0
    "Client 3.0.0c T2A multy"  e1271b42 16c000 : 0042cd95 = 85, 0042d736 = 3b ff, 0042d83c = 3b c0
    "Client 3.0.0c NoCrypt"    d9cfb373 16c000 : 0042cd95 = 85, 0042d736 = 3b ff, 0042d83c = 3b c0
    "Client ShadowZone 1.26.4" 6fa0b70b 113000 : 004b4fe7 = 85, 004b5857 = 90 90
    "Client 1.26.4b (1)"       c3d24f29 114000 : 004b4fe7 = 85, 004b5857 = 90 90
    "Client 1.26.4b (2)"       39ffbcd6 116000 : 004b6947 = 85, 004b71b7 = 90 90
    "Client 1.26.4b (3)"       7c6c5547 116000 : 004b6947 = 85, 004b71b7 = 90 90
    "Client 1.26.4"            39c977ec 114000 : 004b4fe7 = 85, 004b5857 = 90 90
    "GodClient 2.0.8n T2A"     ca3dee4b 47803d :


    Исходный код
    #(c)YokoPatcher, template: "Client 2.0.3 T2A"
    "Client 2.0.3 T2A yokopatch" 47255ae5 00158000 : 004c0e65 = 85, 004c1827 = 90 90



Сообщение отредактировал Deidan - 19.12.2005, 3:09
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Deidan
сообщение 25.12.2005, 6:37
Сообщение #7


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



Как пользоваться Ingection?

Ну что дорогие мои, вы верно заждались этой темы. Ну подождите ещё....Бу Га Га Га.... А если честно, товариз голосовавшие за вариант 'Аццкий сотона' меня весьма обидели. Причём список этих товарисчей у меня имеется. Вариант предназначался для морально низких людей, коими они себя и показали.Хотите чтобы вас уважали - начните уважать кого-нибудь сами.

От слова к телу, так сказать. crazy.gif


Естественно самую большую хелпу вы найдёте - Тута
А собстно Здеся, я расскажу как вам милым недотёпам сделать хоть, что нибудь своими маленькими кривыми ножками evil.gif

Итак Инжу вы скачали. Может быть у вас даже получилось её запустить, во что мне не верится, ибо после создания Faq ко мне постучало порядка 100 дегенератов с вопросами описаными в пункте 5. Вот так то. Да не будем им уподобляться и будить во мне самку носорога.

Тема номер Рас: Знакомство в слепую

Итак само главное окно запущенного Ingection выглядит примерно так.

опубликованное пользователем изображение

К другим окнам мы подойдём попозже, может быть....

Чё нам нужно знать здесь?

Ну конечно же для полноценной работы для наших неполноценных пользователей нужно проставить Encryption. Скрин моей инжи, так что сверяйте установки по ней.

Теперь обьясню что значят маленькие слоты для галочек и надписи к ним, прямо как в анкете которую выдают в пункте приёма мужского семени.


Flush Log - как сказал дядя Йока - 'Включайте тому шо нада'. Чтобы ваши 'ГГГГГ', 'УМРИ ПАСКУДА', 'ЛОЛ' и т.д. не гадили во внутренний лог.

Verbose Logging - включает режим подробного лога инжекта (вы думаете я понимаю, шо ето значит? )

Light - включает лампочку Ильича (очень опасно, чревато сьездом коммунистов и открытием нового ЦК)

Tracker - опция для атцов ПВП. Тракает всё что вы видите или ощущаете одним из своих атрофированых органов чуфств. (полезно для нахождения места, где вас в последний раз оформили путёвку в Ад и для поиска сокровисч, пираты вы мои недорезанные).

Corpses autoopen - полезная опция для некрофилов (задёргивает жертве ноги и снимает трусы).

Destroy server menus - ламает все автономные менюшки, которые дядя Jose так старательно прописывал, недоедая и недопивая. Имеете шанс получить от него за это пяткой в ухо.

Filter sound - заменяет звуки ржания лошади на звуки мата Poseydon'a, который слышно если у вас есть уши и они не заняты прослушиванием очередной серии 'Эмануэля'.

Filterspeech - фильтрует ваш гнилой базар.

Verbose menu - Избавляет ваши вытекшие глаза от муки наблюдения за тем как матерятся ваши неработаюющие скрипты.

Undead - опция для оптимистов и буддистов, верящих в жизнь после смерти.

Autostart - при запуске автоматически запускается sub autostart() (если есть), в который истинные папы заносят свои великие афоризмы выведенные в ходе долгой и кропотливой работы извилины их мозга.

Target XYZ fix - чтобы мишени Injection были точно такими же как у клиента или даже лучше. Например на некоторых шардах не проходит макрос LastTarget при некоторых крафтах, если же применить эту опцию то начинает работать тоже. (тут даже посмеятся не над чем)

Unset before set - Запоминает последовательность одевания вами трусов и лифчика, ето к примеру. Меньше глюков клиенту.

Stealth counter - считает кол-во шагов после последнего приседания на очко.

Smooth walk - создаёт иллюзию победы вашего персонажа, если вы играете на поломаном модеме. Не советую включать.

TUS bb-fix - Иначе TUS (???) сервера выдаёт ошибку при подключении.

Relay - Для некоторых доп. программ типа HTTP Port полезно перенаправлять вторую стадию подключения (Relay) на указаный адрес. Для абсолютного большинста пользователей надо просто чтобы было вЫключено.

Font color - опция для маляров.

AntiCrash - Предотвращает падение клиента от команды ,crash в pgde injection. (Пестёжь crazy.gif )

No client hung message - не выводит на экран сообщения о "подвисах" клиента. Это необходимо при выполнении команд типа massmove, но может помешать при обычной игре, потому что тогда вы не получите сообщения при реальном зависе клиента

Permit vars loopback - с этой опцией команды инжекта действуют на сам инжект т.е. waittarget примет прицел от info, hide... Кроме того команды будут обновлять lastobject, lasttarget

Status bars fix - предотвращает удаления изображений персонажей. Cущества при исчезновении превращаются в зомби и полоски жизни не исчезают. Они исчезают в любом случае если вы убегаете от создания. (короче для любителей злоупотреблять галюциногенами, как Ganja fuk.gif )

Poison: bottle then obj - Выпейте Йаду и згрызите бутылку из под него.

Track world item - (поиск и вступание в половую связь с неодущевлёнными и одушевлёнными предметами)постоянный опрос сервера о изменениях в окружающем чара пространстве. Необходимо если вы хотите в своих скриптах контролировать окрестности вокруг чара, но может привести к крэшу клиента при телепорте чара в места с большим скоплением чаров или объектов (например, на рынок)

IgnoreSocket (400x) - может помочь исправить некоторые особенности работы с протоколом 3.0.8+. Используйте это логинясь с клиентом 400c.

Version - посылает Jose к аццокму сотоне, предварительно сообщив все самые точные данные о вашем местопроживании и личном доходе.

Battle Filter - ещё один вариант злоупотребления фенобарбиталом во время игры в УО.

MultyUO - это неудачная попытка разрешить автоматический запуск нескольких окон УО

SocksCap relay fix - перенаправлят пакеты на localhost; для програм типа HTTPport.


Если у вас есть ещё опции и вам не терпится о них узнать то узнавайте методом научного тыка crazy.gif


Save - Как вы наверно уж не доагдались - сохраняет то что ваши шаловливые ручки понаставляли в опциях.
Buy/Sell - создаёт списки купли продажи, измеряет индекс Доу Джонсона и заменяет деньга на акции 'МоскваЖелезнодорожСталь'.


Больше вам знать - категорически противопоказано. Мало ещё чего напридумываете. cool.gif


Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Vaihen
сообщение 11.8.2006, 12:31
Сообщение #8


Гость
Group Icon

Группа: Пользователи
Сообщений: 38
Регистрация: 5.7.2006
Пользователь №: 3 260
Спасибо сказали: 1 раз(а)
Класс: Рейнджер



Консольные команды инжекта.

Команды инжекта срабатывают при введении их в клиенте УО как текста на произнесение.
Инжект считает попыткой выполнить команду любой введённый текст, если первым символом является , (запятая)
Таким образом, все команды вводятся, предваряясь запятой, например:

Код
,light
,bandageself


При запуске клиента с инжектом любой текст, начинающийся с запятой, инжект не отправляет на сервер, и нет способа отправить сообщение, начинающееся с запятой. Если вам это действительно нужно, поставьте сперва пробел, и инжект не будет считать это командой.
В модифицированном Yoko инжекте можно одной строкой запускать несколько команд, если разделять их ; (точка с запятой), например:

Код
,waittargetobject mysword; useskill 'Arms Lore'
,waittargetself; useobject bandage


При использовании бинда на клавишу в закладке Hotkeys запятая в начале НЕ ставится, и, в модифицированном Yoko инжекте, можно вводить несколько команд разделяя их ; (точка с запятой).

Список команд в алфавитном порядке.


addgate - находит свиток гейт трэвела и добавляет в рунбуку

addobject - добовляет объект.

addrecall - находит свиток рекола и добавляет его в рунбуку, указанную как object

addtype - добовляет тайп.

arm - снимает всё оружие, потом вооружается набором my_name, запомненным предварительно командой setarm. набор оружия содержит конкретные вещи, и при потере вещи набора инжект всё равно будет пытаться её надеть, что может приводить к ошибкам клиента. рекомендуется выставить задержку между одеванием отдельных вещей командой setdressspeed.

attack - атакует объект

automenu - выбор меню не нужно задавать каждый раз, он действует либо до команды waitmenu либо cancelmenu новое меню добавляется повторной командой automenu
до 10 (можно расширить, если надо) ожидаемых меню
все выборы меню ожидаются одновременно
меню из разных источников (например, Polymorph, Tracking, Blacksmith) не мешают друг другу.
В системы работы с меню waitmenu и automenu добавлены универсальные выборы:
(last) выбор последнего пункта в меню
(random) выбор случайного пункта в меню
(№) выбор пункта в меню с этим номером
(cancelmenu) автоматически отменить меню

bandageself - находит бандажки прописанные на вкладке object types и накладывает их на себя.

boxhack - помогает удерживать следующий открываемый контейнер открытым

buy - покупка товаров из списка покупок с именем shoping_list у торговца с именем vendor_name

cancelmenu - отменяет предыдущую настройку automenu

canceltarget - отменяет действие введенной команды waittarget.

cast - Использует указанное заклинание (если указан объект, то он будет укзан для следующего запрошенного сервером прицела). Для Recall и Gate Travel с использованием runebook специально есть команды recall, gate, setdefault, addrecall, addgate. Если имя заклинания содержит пробел, то его заключают в ' (одинарные кавычки) например 'Greater Healing'. Заклинания из одного слова можно использовать без кавычек.
Дополнительные ключевые слова для object:
last - последний объект
self - указать себя
Список названий заклинаний:
'Clumsy'
'Create Food'
'Feeblemind'
'Heal'
'Magic Arrow'
'Night Sight'
'Reactive Armor'
'Weaken'
'Agility'
'Cunning'
'Cure'
'Harm'
'Magic Trap'
'Magic Untrap'
'Protection'
'Strength'
'Bless'
'Fireball'
'Magic Lock'
'Poison'
'Telekinesis'
'Teleport'
'Unlock'
'Wall of Stone'
'Arch Cure'
'Arch Protection'
'Curse'
'Fire Field'
'Greater Heal'
'Lightning'
'Mana Drain'
'Recall'
'Blade Spirits'
'Dispel Field'
'Incognito'
'Magic Reflection'
'Mind Blast'
'Paralyze'
'Poison Field'
'Summ. Creature'
'Dispel'
'Energy Bolt'
'Explosion'
'Invisibility'
'Mark'
'Mass Curse'
'Paralyze Field'
'Reveal'
'Chain Lightning'
'Energy Field'
'Flame Strike'
'Gate Travel'
'Mana Vampire'
'Mass Dispel'
'Meteor Swarm'
'Polymorph'
'Earthquake'
'Energy Vortex'
'Resurrection'
'Air Elemental'
'Summon Daemon'
'Earth Elemental'
'Fire Elemental'
'Water Elemental'


click - Команда getname переименована в click.

closeuo - Закрывает окно УО.

concolor - устанавливает цвет текста консоли инжекта

disarm - Разоружает персонаж. Рекомендуется выставить задержку между снятием вещей командой setdressspeed

dismount - Слезть с коня, причём в бекпак положить "седло" - объект, связанный с лошадью, см. mount. На АоПе в бекпак ложится вся лошадь, в результате получаем бесполезный и тяжёлый "гроб". Не путать со шринком

dress - Снимает всю одежду, потом одевает одежду набора my_name, запомненную предварительно командой setdress. Набор одежды содержит конкретные вещи, и при потере вещи набора инжект всё равно будет пытаться её надеть, что может приводить к ошибкам клиента. Рекомендуется выставить задержку между одеваниями отдельных вещей командой setdressspeed

drop - Выкидывает указанный объект на землю. quantity - количество (0=всё), X Y Z - координаты (по умолчанию и 0 = текущие координаты), object - обьект (по умолчанию появляется прицел для указания обьекта). Для X, Y можно указывать относительные координаты. Пример - ,drop 0 -1 -1 выкинуть указаный обьект выше чара

drophere - drophere то же самое, что и drop без параметров - выкинуть обьект указаный прицелом под ноги.

easyobject - object возвращает литерал обьекта (может быть использована для скриптов EasyUO)

emptycontainer - Перекидывает все вещи из указанного прицелом контейнера (сумки, трупа) в сумку установленную командой setreceivingcontainer, по умолчанию - в бекпак. Между перемещениями вещей устанавливается задержка в delay миллисекунд. Таким образом, при задержке 175 перекидывание 30 вещей занимает более 5 секунд

equip - одевает указаный обьект (по умолчанию выдаётся мишень) на указаный слой

equipt - одевает обьект указаного типа на указаный слой

exec - выполнить процедуру скрипта

filterspeech - не пересылает клиенту текст сервера, который встречается в заданных шаблонах. Шаблоны добавляются опцией add и записываются в файл конфигурации.
on/off включает/выключает фильтр
info выводит список фильтров
clear очищает список фильтров
add добавляет фильтр к списку
remove есть но пока не работает

findtype - после чего в объект finditem будет занесена вещь указанного типа найденная в последнем открытом контейнере (сразу после снупинга это чужой бекпак)
для теста можно потом выполнить, например
,info finditem. Количество найденного объекта можно узнать функцией UO.FindCount()
Применение -1 или 0xffff для типа, означает любой тип и -1 или 0xffff для цвета, означает любой цвет.
ground указывает на то, что поиск надо производить на земле (смотри, set finddistance). my указывает что поиск следует вести в бэкпаке и в сумкх внутри него.
fixhotkeys
fixtalk
fixwalk
flush


fontcolor - с параметром dye показывается цветовой диалог

forget - удаляет объект из памяти Injection

gate - (судя по коду) реколится по руне № number в рунбуке object. (Не понятно, зачем тогда setdefault)

getname - кликает на объекте чтобы высветилось имя

getstatus - запрашивает статус указанного игрока

grab - Перемещает quantity штук (по умолчанию или 0 = все) указанного object (по умолчанию появляется прицел) в сумку указанную командой setcetchbag (по умолчанию - бекпак). Примеры:
,grab указанный прицелом объект перемещается в сумку
,grab 1 lasttarget 1штука объекта бывшего прицелом перемещается в сумку
(в макросе EasyUO) msg $,grab 0 #findid $ найденный предмет перемещается в сумку.

hide - хидит предметы.

ignore - включает object в список игнорирования, после чего он не будет найден командами waittargettype/waittargetground

ignorereset - очищает список игнорирования

info - Информация о предмете, объекте

infocolor - возвращает цвет обьекта (может быть использована для скриптов EasyUO)

infotile - аналог info только для статиков типа деревьев, шахты or клеток воды. Вывод совпадает со вводом waittargettile Выводит так же в тесктовое поле закладки Objects так что можно копировать прямо в скрипт.

launch - пытается запустить внешнюю программу. Пример: ,launch c:file.exe

light - включает/выключает свет в игре, пример: ,light 0

massmove - Используйте её, затем перетащите что-то. Все вещи такого же типа из этого же контейнера будут положены туда же куда и первый предмет. Особо полезно для сортировки предметов по типу, или вытаскивания предметов заданного типа из сумки, или заполнения сумки заданным количеством предметов

masspricemove - перемещает объекты как massmove но после каждой положенной вещи произносит price. Если на вашем шарде иначе задаются цены вендору - не используйте эту команду.

mount - Предлагает сесть на лошадь, указав "седло", сделанное командой dismount. На АоПе "гроб" становится невидимым, но вес не исчезает

ground - Перемещение предметов. По умолчанию container это бэкпак Вы так же можете указать координаты за контейнером на земле. Пример: ,moveitem lasttarget 1 backpack 100 100 0

moveoff - запрет на передвижения чара (эффект кончившейся стамины)

moveon - включение перемещения чара

msg - Отправляет текст на сервер

opendoor - ищет поблизости дверь и пытается её открыть

playwav filename - пытается проиграть .wav файл. Если путь включает пробелы, то заключайте всё в одинарные кавычки, например ,playwav 'c:aa bbmy sound.wav'

poison - Для работы требуется, чтобы тип poison был определён в списке типов (бутылка с ядом). При активации скила сервер запрашивает два прицела, один из которых бутылка с ядом (инжект её найдёт автоматически) и объект для отравления object. Команда poison it отравляет бутылку саму на себя. Порядок прицелов сервера (сперва бутылка или сперва объект) можно выставить в закладке Main опция Poison: bottle then obj (когда включено, то, сперва посылается бутылка потом объект).

recall - (судя по коду) реколится по руне № number в рунбуке object. (Не понятно, зачем тогда setdefault)

removeearrings - Действует аналогично undress, но снимает конкретный предмет, серёжки

removehat - Действует аналогично undress, но снимает конкретный предмет, шляпу

removeneckless - Действует аналогично undress, но снимает конкретный предмет, ожерелье

removering - Действует аналогично undress, но снимает конкретный предмет, кольцо

saveconfig - сохраняет настройки.

sell - продажа итемов включенных в sell_list вендору

set - список допустимых переменных:
distance - расстояние на котором waittargetground ищет вещи значение=number
lasttarget - устанавливает вручную значение lasttarget значение=object
prefix - устанавливает символ командного префикса (по умолчанию , ) значение=символ
bankhack - включает банкхак значение=0 или 1
safeequip - отключает проверки безопасности для команд equip значение=0 или 1
finddistance – расстояние для команды findtype
gumpunicode
maxsell – максимальное число итемов для продажи
buydelay – задержка в милисекундах между произнесением команды покупки и покупкой товара
cliloc – переключение в режим отоброжения cliloc-сообщений в консоли
injectecho – переключение в режим сохранения сообщений инжекта в журнале
season – смотри команду setseason
dressspeed – смотри команду setdressspeed
statlinelen – длина статусстроки в заголовке окна

setarm - запоминает одетое на персонаже вооружение под именем набора my_name. одеть его позже можно командой arm. убрать набор из памяти можно командой unsetarm

setcatchbag - Вещи, падающие в бекпак, с момента задания команды автоматически перебрасываются в сумку object. Не забывайте выполнить unsetcatchbag

setdefault - (судя по коду) устанавливает в рунбуке object руной по умолчанию руну № number

setdress - запоминает одетую на персонаже одежду под именем набора my_name. одеть его позже можно командой dress. убрать набор из памяти можно командой unsetdress

setdressspeed - устанавливает задержку между перетаскиванием отдельных вещей в number миллисекунд (1/1000 секунды). помните, что на платформе однопоточного инжекта с вашей стороны это выглядит как лаг. например, команда dress для 8 вещей набора сперва снимает с вас одежду (допустим тоже 8 вещей), потом одевает 8 вещей, итого примерно 16 задержек. при number=175 у вас всё "повисает" примерно на 3 секунды. если же задержка не стоит, то в статистике переодевание выглядит сходно со спидхаком.
Влияет и на arm/disarm.

setreceivingcontainer - устанавливает приёмную сумку для команд emptycontainer и grab
setseason season_num 0 – по умолчанию
1 - весна
2 - лето
3 - осень
4 - зима
5 – косточки с черепками

shop - запускает диалог покупки/продажи, настройки списков продажи и покупки

target - Производит target-пакет с определенными значениям.
type может быть 0 для объекта и 1 для нацеливания на землю. Для нацеливания на землю graphic параметр является номером тайла. Пример: ,target lasttargetkey lasttarget Другой пример: ,target 0x000000c9 ground 1 0x0400 1395 192 0

terminate - используйте all чтобы прекратить все скрипты или имя скрипта (процедуры) которую хотите прервать

textclear - Очищает содержимое текстового окна

textclose - Закрывает текстовое окно

textopen - Открывает текстовое окно

textprint - Печатает text в текстовое окно

track - пример: track 1 1328 2203 пример2: track 0

undress - снимает надетые на героя вещи

unequip - снимает объект с указанного слоя

unsetarm - убирает из памяти запомненный набор вооружения my_name. рекомендуется сделать перед новым запоминанием набора, или включить опцию unset before set которая делает это автоматически

unsetcatchbag - тменяет автоматическое перекидывание вещей, заданное командой setcetchbag

unsetdress - убирает из памяти запомненный набор одежды my_name. рекомендуется сделать перед новым запоминанием набора, или включить опцию unset before set которая делает это автоматически

unsetreceivingcontainer - отменяет приёмную сумку для команд emptycontainer и grab по умолчанию (бекпак), аналогично можно сделать выполнив emptycontainer без параметров и отменив прицел (esc)

usefromground - юзает итем с земли.

useobject - использовать object

useskill - Использует указанный скил (если указан объект, то он будет указан для следующего запрошенного сервером прицела). Для скила Poisoning специально есть команда poison. Если имя скила содержит пробел то его заключают в ' (одинарные кавычки) например 'Taste Identification'.

Дополнительные ключевые слова для object:
last - последний объект
self - указать себя

Список названий скилов:
Anatomy
'Animal Lore'
'Animal Taming'
'Arms Lore'
Begging
Cartography
'Detect Hidden'
Enticement
'Evaluating Intelligence'
'Forensic Evaluation'
Hiding
Inscription
'Item Identification'
Meditation
Peacemaking
Poisoning
Provocation
'Remove Trap'
'Spirit Speak'
Stealing
Stealth
'Taste Identification'
Tracking


usetype - использовать предмет заданного типа. тип задается на вкладке object types

waitmenu - выбор из меню

waittargetground - ждет таргет с земли.

waittargetlast - ждет таргет чтобы послать на последний таргет.

waittargetobject - ждет таргет для объекта.

waittargetobjecttype - ждет таргет для обжекта и тайпа.

waittargetself - ждет таргет и применяет на себя.

waittargettile - посылает целью статик типа деревьев, шахты or клеток воды. Используйте infotile чтобы узнать параметры статика

waittargettype - ждет таргет для тайпа.

warmode - выключает, включает или переключает боевой режим чара.

Команды, требующие object принимают: serial, или имя в списке, или lasttarget, или lastobject, или lastcontainer
Команды, требующие graphic принимают: graphic, или имя в списке, или lasttarget, или lastobject
Команды, требующие color принимают: номер цвета или имя в списке типов (так что цвета теперь можно добавлять в список как типы)

Параметры некоторых команд не вошедшие в таблицу:
usetype type|lasttarget|lastobject [color]
usefromground type|lasttarget|lastobject [color]
useobject object|lastobject|lasttarget|lastcontainer
waittargetground type|lastobject|lasttarget [color]
waittargettype type|lastobject|lasttarget [color]
setreceivingcontainer [name|serial|lastobject|lasttarget|lastcontainer]
setcatchbag [name|serial|lastobject|lasttarget|lastcontainer]
grab [quantity] [name|serial|lastobject|lasttarget]
snoop [name|serial|lastobject|lasttarget|lastcontainer]
info [name|serial|lastobject|lasttarget|lastcontainer]
hide [name|serial|lastobject|lasttarget|lastcontainer]
addtype type_name [graphic|lasttarget|lastobject]
addobject object_name [serial|lastobject|lasttarget|lastcontainer]

repbuy (проверяется... похоже, не пашет на POL и, по крайней мере, некоторых Sphere-ах)

Новая возможность использовать ТИПЫ вещей вместо ОБЬЕКТОВ добавляя перед номером спец. символ:
_ например _POF - искать в бекпаке и сумках внутри
^ например ^POF - искать только в бекпаке
~ например ~POF - искать на земле (радиус задаёт та же команда ,set distance )

Указатели на объекты:

Lastobject - указывает на последний объект задействованный в equip, equipt, unequip
Lasttarget - указывает на последний обьект, задействовав который вы сели верхом. В большинстве случаев это лошадь
Backpack - указывает на ваш бекпак (осторожно, не гарантирую)
Lastcontainer - указывает на последний контейнер.
Laststatus - указывает на персонаж, статус которого вы получили последним
Lastattack - указывает на персонаж, которого вы последнего атаковали
Lasthorse - указывает на последнего коня.
Lastcorpse - указывает на последний труп, умерший в пределах экрана
Lasttargetkey - юзает последнюю кнопку.
Lasttile - может быть использован в infotile и waittargettile
Finditem - указывает на объект найденный командой findtype
Self - указывает на свой персонаж.

Список команд скрипта в алфавитном порядке:

UO.AddGate()
UO.AddObject()
UO.AddRecal()
UO.AddType()
UO.Arm()
UO.Attack()
UO.AutoMenu()
UO.BandageSelf()
UO.BoxHack()
UO.Buy()
UO.CancelMemu()
UO.CancelTarget()
UO.Cast()
UO.Click()
UO.CloseUO()
UO.ConColor()
UO.ContainerOff()
UO.Count()
UO.CountGround()
UO.CountOnGround()
UO.Dead()
UO.DeleteJournal()
UO.DisArm()
UO.DisMount()
UO.Drag()
UO.Dress()
UO.Drop()
UO.DropHere()
UO.Dump()
UO.Dye()
UO.EasyObject()
UO.EmptyContainer()
UO.Equip()
UO.Equipt()
UO.Exec()
UO.FilterSpeach()
UO.FilterWeather()
UO.FindCount()
UO.FindType()
UO.FixTalk()
UO.FixWalk()
UO.Flush()
UO.FontColor()
UO.Forget()
UO.Gate()
UO.GetColor()
UO.GetDir()
UO.GetDistance()
UO.GetEasyUO()
UO.GetGraphic()
UO.GetHP()
UO.GetLayer()
UO.GetMaxHP()
UO.GetName()
UO.GetNotoriety()
UO.GetQuantity()
UO.GetRun()
UO.GetSerial()
UO.GetStatus()
UO.GetX()
UO.GetY()
UO.GetZ()
UO.Grab()
UO.Hex2Int()
UO.Hidden()
UO.Hide()
UO.Ignore()
UO.IgnoreReset()
UO.Info()
UO.InfoTile()
UO.InJournal()
UO.Int2Hex()
UO.IsNPC()
UO.Journal()
UO.JournalSerial()
UO.LastMessage()
UO.LastTile()
UO.Launch()
UO.LClick()
UO.LdblClick()
UO.Light()
UO.Mount()
UO.MoveOff()
UO.MoveOn()
UO.MoveItem()
UO.Msg()
UO.ObjAtLayer()
UO.OnGump()
UO.OpenDoor()
UO.PlayWav()
UO.Poison()
UO.Poisoned()
UO.Press()
UO.Print()
UO.Random()
UO.RClick()
UO.RdblClick()
UO.Recal()
UO.RemoveEarrings()
UO.RemoveHat()
UO.RemoveNeckless()
UO.RemoveRing()
UO.RepBuy()
UO.SaveConfig()
UO.Say()
UO.Sell()
UO.ServerPrint()
UO.Set()
UO.SetArm()
UO.SetCatchBag()
UO.SetDefault()
UO.SetDress()
UO.SetDressSpeed()
UO.SetEasyUO()
UO.SetJournalLine()
UO.SetReceivingContainer()
UO.SetSeason()
UO.Shop()
UO.SkillVal()
UO.Snoop()
UO.StealthCnt()
UO.Target()
UO.TextClear()
UO.TextClose()
UO.TextOpen()
UO.TextPrint()
UO.Timer()
UO.Track()
UO.UnDress()
UO.UnEquip()
UO.UnSetArm()
UO.UnSetCatchBag()
UO.UnSetDress()
UO.UnSetReceivingContainer()
UO.UseFromGround()
UO.UseObject()
UO.UseSkill()
UO.UseType()
UO.Version()
UO.Waiting()
UO.WaitMenu()
UO.WaitTargetGround()
UO.WaitTargetLast()
UO.WaitTargetObject()
UO.WaitTargetObjectType()
UO.WaitTargetSelf()
UO.WaitTargetTile()
UO.WaitTargetType()
UO.WarMode()
Wait()


Свойства доступные только для чтения:

UO.Life
UO.Mana
UO.Stamina
UO.STR
UO.INT
UO.DEX
UO.Weight
UO.Armor
UO.Gold
UO.BM
UO.BP
UO.GA
UO.GS
UO.MR
UO.NS
UO.SA
UO.SS
UO.VA
UO.EN
UO.WH
UO.FD
UO.BR
UO.H
UO.C
UO.M
UO.L
UO.B
UO.AR
UO.BT

Описание синтаксиса скрипта:
Один оператор в строке!!! Перед оператором может быть метка. Метка только одна на строке.

Булевские операторы:
AND или &&
OR или ||
NOT
<, >, <=, >=, <>

Есть поддержка рекурсии. Если у линкера в опциях поставить макс. размер стека 0x01000000 и макс. размер кучи 0x01000000 - будет даже рекурсия глубиной больше 500!!! Правда будет дикий своп...

- продолжение строчки переходит на следующую, перед должен стоять пробел!!! Нельзя пихать в середину слова!!! Да и вообще, лучше не использовать...

# - комментарий до конца строки. Так же можно использовать ';' - как в ассемблере.

VAR переменная1, переменная2...

- объявление переменных. Переменные нетипизированы, вначале имеют неопределенный тип. Переменные - буквы (в т.ч. русские), цифры, _. Без учета регистра.

Объявление переменной типа класс:
VAR переменная = Имя_класса()
переменная.Create() - вызов конструктора
переменная.Destroy() - вызов деструктора

DIM массив[размер], массив[размер]...

- задание массива. Обращение к элементам: имя_массива[номер_элемента]. Нельзя писать имя_массива1 = имя_массива2 для присвоения содержимого одного массива другому.
Обращение к отдельным буквам в строке - так же, как к эл-там массива:
переменная[номер_буквы]. Номер - от 0, в случае выхода за конец строки - ошибка.

Замечания по поводу массивов

Массивы можно передавать в качестве параметров функциям. При этом передается САМ массив, а не его копия!!!. Т.е. все действия внутри функции над элементами массива будут производиться над первоначальным массивом. Возвращать массивы из функций НЕЛЬЗЯ!!!
Массив можно использовать для временного хранения классов, только использование его при этом становится извратным, например:

Код
SUB main()
VAR tmp
DIM a[10]
FOR VAR i=0 TO 10
a[i]=MyClass(i); присваивается класс i-му элементу
tmp=a[i]; т.к. нельзя писать a[i].MyClassFunction()
tmp.MyClassFunction(); приходится использовать временную
; переменную
NEXT
ENDSUB

Т.е. нельзя использовать массив для вызова методов классов (и свойств). Для этого необходимо использовать временную переменную.

Код
SUB имя_функции
<тело функции>
RETURN выражение
ENDSUB
или:
SUB имя_функции (параметр1, параметр2...)
<тело функции>
ENDSUB


- объявление функции.

RETURNERROR выражение

- Вернуть ошибку. См. SAFECALL. Можно писать RETURN ERROR через один пробел.

Вызов функции:
имя_функции (параметры)
переменная = имя_функции (параметры)
SAFECALL имя_функции (параметры)
переменная = SAFECALL имя_функции (параметры)
Если указано слово SAFECALL, то в случае, если функция вернула ошибку, значение ошибки присваивается глобальной псевдо-переменной FATALERROR и интерпретатор продолжает выполнение скрипта. Если не написано SAFECALL, скрипт прервется по ошибке. В последнем примере значение переменной в случае ошибки будет равно значению FATALERROR.

Код
IF условие THEN
<операторы>
ENDIF
или:
IF условие THEN
<операторы>
ELSE
<операторы>
ENDIF


- условные операторы

имя_метки:

- объявление метки

GOTO имя_метки

- переход. НЕЛЬЗЯ делать goto за пределы циклов!!! Будут глюки!!!

переменная = выражение

- присвоение

Код
REPEAT
команды
UNTIL условие


- цикл. Выполняется пока условие не станет истинным (т.е. пока условие ложно). Команды выполняются по крайней мере один раз.

Код
WHILE условие
команды
WEND


- цикл. Выполняется, пока условие истинно. На каждый WHILE должен быть только один WEND в продедуре. т.е. конструкции вида:

Код
IF условие THEN
WEND
ENDIF


НЕДОПУСТИМЫ!!! То же самое и относительно других видов циклов. Делать GOTO из цикла наружу - тоже нельзя!

Код
FOR [VAR] переменная = нач.значение TO конечное_значение [STEP шаг]
команды
NEXT


- цикл от нач. значения до конечного (включительно) с шагом шаг, Шаг можно опустить. Если указано VAR - будет определение переменной, иначе - переменная должна быть определена до FOR.


Константы:

TRUE
FALSE
PI


Библиотечные функции:

SIN
COS
STRLEN - длина строки
LEN - длина строки
STR(число, кол-во знаков после запятой) - число в строку
STR(число) - число в строку
VAL - строку в число
INT(число) - == floor()
IsString(аргумент) - TRUE, если аргумент - строка
IsNumber(аргумент) - TRUE, если аргумент - число
- ^^ полезны, например для определени типа переменной FatalError
IsArray
IsClass

StrToMoney(строка) - возвр. число, соотв. строке денег
MoneyToStr(число_денег, ширина_ячейки, выравнивание, знаков_после_запятой)

Date(строка) - возвр. число, соответствующее заданной дате. Формат строки: "dd/mm/yyyy" или "d/m/yy", главное, чтоб не было пробелов.
Date(день, месяц, год) - то же самое. Возвращенная дата - число дней с 30/12/1899
DateToStr(дата_как_число) - вернуть строку, соотв. дате
DateToStr(дата_как_число, ширина) - если ширина 8, будет dd/mm/yy, если >=10 dd/mm/yyyy. Если <8 - будут звездочки.
Day(дата_как_число) - вернуть день данной даты
Month(дата_как_число)
Year(дата_как_число)
IsLeapYear(год) - true, если год - високосный

FormatStr(строка,ширина)
FormatStr(строка,ширина,не_показывать_точки) - урезать/расширить строку до данной ширины. Если строка длиннее - последние 3 символа будут "...", если не_показывать_точки==false или опущено.

LTrim - убрать пробелы слева
RTrim - справа
Trim - слева и справа

Left(строка,число букв) - как в Basic
Right(строка,число букв)
Mid(строка, позиция, число букв) - позиция считается от 0

---------------------

Класс FILE:
пример:
Код
sub main()
var f=file("c:имя файла")
var s=0
f.open()
while not f.eof() and not fatal error
s=safe call f.readnumber()
if not fatal error then
dbgmsg(s)
endif
wend
f.close()
endsub


Методы класса:
File(имя файла) - конструктор
Open() - открыть на чтение/запись. Возвращает true==открылся удачно
Create() - затереть файл. Возврат так же
Eof() - true == конец
ReadLn() - возвращает строку из файла. Строку полностью!!!
ReadString() - возвр. слово из файла до пробела/TAB
ReadNumber() - число
Write(строка/число) - запись строки/числа в файл.
WriteLn(строка/число) - запись строки/числа в файл+перевод строки.
WriteLn() - просто запись перевода строки
Close() - закрыть файл и освободить память из-под класса. После вызова Close() с файлом больше работать нельзя (даже вызвав Open).
_________________
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Deidan
сообщение 20.8.2006, 4:38
Сообщение #9


Недо-человек
Group Icon

Группа: Пользователи
Сообщений: 1 344
Регистрация: 7.8.2005
Из: USA, OHIO, Cleveland
Пользователь №: 1 432
Спасибо сказали: 0 раз(а)



Могу ошибаться, что ето полностью передрано с Йоко, и тем не менее, форма последнего предложения и ее усваимость оставляет желать лучшего, с вашего позволения я бы хотел ее подкорректировать на манер моих первых постов.
Пользователь в офлайнеКарточкаОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 

Ответить в эту темуОткрыть новую тему
> >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия Сейчас: 21.10.2018, 16:45
Design: Fisana  © 2005-2006 IBR Team