Консольные команды инжекта Команды инжекта срабатывают при введении их в клиенте УО как текста на произнесение. Инжект считает попыткой выполнить команду любой введённый текст, если первым символом является , (запятая) Таким образом, все команды вводятся, предваряясь запятой, например: ,light ,bandageself При запуске клиента с инжектом любой текст, начинающийся с запятой, инжект не отправляет на сервер, и нет способа отправить сообщение, начинающееся с запятой. Если вам это действительно нужно, поставьте сперва пробел, и инжект не будет считать это командой. В модифицированном Yoko инжекте можно одной строкой запускать несколько команд, если разделять их ; (точка с запятой), например: ,waittargetobject mysword; useskill 'Arms Lore' ,waittargetself; useobject bandage При использовании бинда на клавишу в закладке Hotkeys запятая в начале НЕ ставится, и, в модифицированном Yoko инжекте, можно вводить несколько команд разделяя их ; (точка с запятой). Список команд в алфавитном порядке. Имя команды addgate Параметры object Описание находит свиток гейт трэвела и добавляет в рунбуку addobject addrecall object находит свиток рекола и добавляет его в рунбуку, указанную как object addtype arm my_name attack object automenu ‘prompt’ ‘choice’ снимает всё оружие, потом вооружается набором my_name, запомненным предварительно командой setarm. набор оружия содержит конкретные вещи, и при потере вещи набора инжект всё равно будет пытаться её надеть, что может приводить к ошибкам клиента. рекомендуется выставить задержку между одеванием отдельных вещей командой setdressspeed. атакует объект выбор меню не нужно задавать каждый раз, он действует либо до команды waitmenu либо cancelmenu новое меню добавляется повторной командой automenu до 10 (можно расширить, если надо) ожидаемых меню все выборы меню ожидаются одновременно меню из разных источников (например, Polymorph, Tracking, Blacksmith) не мешают друг другу. В системы работы с меню waitmenu и automenu добавлены универсальные выборы: (last) выбор последнего пункта в меню Имя команды Параметры bandageself -- boxhack -- buy shoping_list vendor_name cancelmenu -- canceltarget -- cast (spell name) [object] Описание (random) выбор случайного пункта в меню (№) выбор пункта в меню с этим номером (cancelmenu) автоматически отменить меню находит бандажки прописанные на вкладке object types и накладывает их на себя. помогает удерживать следующий открываемый контейнер открытым покупка товаров из списка покупок с именем shoping_list у торговца с именем vendor_name отменяет предыдущую настройку automenu отменяет действие введенной команды waittarget* Использует указанное заклинание (если указан объект, то он будет укзан для следующего запрошенного сервером прицела). Для 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' Имя команды Параметры click closeuo concolor color disarm -- dismount -- dress my_name Описание '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' Команда getname переименована в click. Закрывает окно УО. устанавливает цвет текста консоли инжекта Разоружает персонаж. Рекомендуется выставить задержку между снятием вещей командой setdressspeed Слезть с коня, причём в бекпак положить "седло" - объект, связанный с лошадью, см. mount. На АоПе в бекпак ложится вся лошадь, в результате получаем бесполезный и тяжёлый "гроб". Не путать со шринком Снимает всю одежду, потом одевает одежду набора my_name, запомненную предварительно командой setdress. Набор одежды содержит конкретные вещи, и при потере вещи набора инжект всё равно будет пытаться её надеть, что может приводить к ошибкам клиента. Рекомендуется выставить Имя команды drop drophere Параметры Описание задержку между одеваниями отдельных вещей командой setdressspeed Выкидывает указанный объект на землю. quantity - количество (0=всё), X Y Z координаты (по умолчанию и 0 = текущие координаты), object - обьект (по умолчанию [quantity] [X] [Y] [Z] [object] появляется прицел для указания обьекта). Для X, Y можно указывать относительные координаты. Пример - ,drop 0 -1 -1 выкинуть указаный обьект выше чара drophere то же самое, что и drop без -параметров - выкинуть обьект указаный прицелом под ноги. dump dye easyobject object emptycontainer delay_ms [container_object] equip layer [object] equipt layer graphic exec script_sub filterspeech [on|off|info|clear|add] [text] возвращает литерал обьекта (может быть использована для скриптов EasyUO) Перекидывает все вещи из указанного прицелом контейнера (сумки, трупа) в сумку установленную командой setreceivingcontainer, по умолчанию - в бекпак. Между перемещениями вещей устанавливается задержка в delay миллисекунд. Таким образом, при задержке 175 перекидывание 30 вещей занимает более 5 секунд одевает указаный обьект (по умолчанию выдаётся мишень) на указаный слой одевает обьект указаного типа на указаный слой выполнить процедуру скрипта не пересылает клиенту текст сервера, который встречается в заданных шаблонах. Шаблоны добавляются опцией add и записываются в файл конфигурации. on/off включает/выключает фильтр info выводит список фильтров clear очищает список фильтров add добавляет фильтр к списку remove есть но пока не работает filterweather findtype type [color container_object| ground|my] после чего в объект finditem будет занесена вещь указанного типа найденная в последнем открытом контейнере (сразу после снупинга это чужой бекпак) для теста можно потом выполнить, например ,info finditem. Количество найденного объекта можно узнать функцией UO.FindCount() Применение -1 или 0xffff для типа, означает любой тип и -1 или 0xffff для цвета, означает любой цвет. ground указывает на то, что поиск надо производить на земле (смотри, set finddistance). my указывает что поиск следует Имя команды Параметры Описание вести в бэкпаке и в сумкх внутри него. fixhotkeys fixtalk fixwalk flush fontcolor dye/color/graphic_name forget object gate object number getname getstatus object object grab [quantity] [object] с параметром dye показывается цветовой диалог удаляет объект из памяти Injection (судя по коду) реколится по руне № number в рунбуке object. (Не понятно, зачем тогда setdefault) кликает на объекте чтобы высветилось имя запрашивает статус указанного игрока Перемещает quantity штук (по умолчанию или 0 = все) указанного object (по умолчанию появляется прицел) в сумку указанную командой setcetchbag (по умолчанию бекпак). Примеры: ,grab указанный прицелом объект перемещается в сумку ,grab 1 lasttarget 1штука объекта бывшего прицелом перемещается в сумку (в макросе EasyUO) msg $,grab 0 #findid $ найденный предмет перемещается в сумку. hide ignore object ignorereset info --- infocolor object включает object в список игнорирования, после чего он не будет найден командами waittargettype/waittargetground очищает список игнорирования Информация о предмете, объекте возвращает цвет обьекта (может быть использована для скриптов EasyUO) infogump infotile [lasttile] launch filename аналог info только для статиков типа деревьев, шахты or клеток воды. Вывод совпадает со вводом waittargettile Выводит так же в тесктовое поле закладки Objects так что можно копировать прямо в скрипт. пытается запустить внешнюю программу. Пример: ,launch c:\file.exe light makefakeitem massmove delay [maxquantity] masspricemove price delay maxitems Используйте её, затем перетащите что-то. Все вещи такого же типа из этого же контейнера будут положены туда же куда и первый предмет. Особо полезно для сортировки предметов по типу, или вытаскивания предметов заданного типа из сумки, или заполнения сумки заданным количеством предметов перемещает объекты как massmove но после каждой положенной вещи произносит price. Если на вашем шарде иначе задаются цены Имя команды Параметры mount -- moveitem object [quantity container| ground [x y z]] moveoff -- moveon msg opendoor -text playwav filename poison it|object recall object number removeearrings -- removehat -- removeneckless -- removering -- Описание вендору - не используйте эту команду. Предлагает сесть на лошадь, указав "седло", сделанное командой dismount. На АоПе "гроб" становится невидимым, но вес не исчезает Перемещение предметов. По умолчанию container это бэкпак Вы так же можете указать координаты за контейнером на земле. Пример: ,moveitem lasttarget 1 backpack 100 100 0 запрет на передвижения чара (эффект кончившейся стамины) включение перемещения чара Отправляет текст на сервер ищет поблизости дверь и пытается её открыть пытается проиграть .wav файл. Если путь включает пробелы, то заключайте всё в одинарные кавычки, например ,playwav 'c:\aa bb\my sound.wav' Для работы требуется, чтобы тип poison был определён в списке типов (бутылка с ядом). При активации скила сервер запрашивает два прицела, один из которых бутылка с ядом (инжект её найдёт автоматически) и объект для отравления object. Команда poison it отравляет бутылку саму на себя. Порядок прицелов сервера (сперва бутылка или сперва объект) можно выставить в закладке Main опция Poison: bottle then obj (когда включено, то, сперва посылается бутылка потом объект). (судя по коду) реколится по руне № number в рунбуке object. (Не понятно, зачем тогда setdefault) Действует аналогично undress, но снимает конкретный предмет, серёжки Действует аналогично undress, но снимает конкретный предмет, шляпу Действует аналогично undress, но снимает конкретный предмет, ожерелье Действует аналогично undress, но снимает конкретный предмет, кольцо repbuy saveconfig sell sell_list vendor_name set переменная значение продажа итемов включенных в sell_list вендору список допустимых переменных: distance - расстояние на котором waittargetground ищет вещи значение=number lasttarget - устанавливает вручную значение lasttarget значение=object prefix - устанавливает символ командного префикса (по умолчанию , ) значение=символ bankhack - включает банкхак значение=0 или Имя команды Параметры setarm my_name setcatchbag [object] setdefault object number setdress my_name setdressspeed number setreceivingcontainer [object] setseason season_num Описание 1 safeequip - отключает проверки безопасности для команд equip значение=0 или 1 finddistance – расстояние для команды findtype gumpunicode maxsell – максимальное число итемов для продажи buydelay – задержка в милисекундах между произнесением команды покупки и покупкой товара cliloc – переключение в режим отоброжения cliloc-сообщений в консоли injectecho – переключение в режим сохранения сообщений инжекта в журнале season – смотри команду setseason dressspeed – смотри команду setdressspeed statlinelen – длина статусстроки в заголовке окна запоминает одетое на персонаже вооружение под именем набора my_name. одеть его позже можно командой arm. убрать набор из памяти можно командой unsetarm Вещи, падающие в бекпак, с момента задания команды автоматически перебрасываются в сумку object. Не забывайте выполнить unsetcatchbag (судя по коду) устанавливает в рунбуке object руной по умолчанию руну № number запоминает одетую на персонаже одежду под именем набора my_name. одеть его позже можно командой dress. убрать набор из памяти можно командой unsetdress устанавливает задержку между перетаскиванием отдельных вещей в number миллисекунд (1/1000 секунды). помните, что на платформе однопоточного инжекта с вашей стороны это выглядит как лаг. например, команда dress для 8 вещей набора сперва снимает с вас одежду (допустим тоже 8 вещей), потом одевает 8 вещей, итого примерно 16 задержек. при number=175 у вас всё "повисает" примерно на 3 секунды. если же задержка не стоит, то в статистике переодевание выглядит сходно со спидхаком. Влияет и на arm/disarm. устанавливает приёмную сумку для команд emptycontainer и grab 0 – по умолчанию 1 - весна 2 - лето 3 - осень 4 - зима 5 – косточки с черепками Имя команды shard shop Параметры -- Описание запускает диалог покупки/продажи, настройки списков продажи и покупки snoop target target_key lasttile|object| ground [type graphic X Y Z] terminate all | script_name textclear textclose textopen textprint track undress unequip text [0|1] [X Y] -layer unsetarm my_name unsetcatchbag -- unsetdress my_name unsetreceivingcontainer -- usefromground useobject object useskill (skill name) [object] Производит target-пакет с определенными значениям. type может быть 0 для объекта и 1 для нацеливания на землю. Для нацеливания на землю graphic параметр является номером тайла. Пример: ,target lasttargetkey lasttarget Другой пример: ,target 0x000000c9 ground 1 0x0400 1395 192 0 используйте all чтобы прекратить все скрипты или имя скрипта (процедуры) которую хотите прервать Очищает содержимое текстового окна Закрывает текстовое окно Открывает текстовое окно Печатает text в текстовое окно пример: track 1 1328 2203 пример2: track 0 снимает надетые на героя вещи снимает объект с указанного слоя убирает из памяти запомненный набор вооружения my_name. рекомендуется сделать перед новым запоминанием набора, или включить опцию unset before set которая делает это автоматически отменяет автоматическое перекидывание вещей, заданное командой setcetchbag убирает из памяти запомненный набор одежды my_name. рекомендуется сделать перед новым запоминанием набора, или включить опцию unset before set которая делает это автоматически отменяет приёмную сумку для команд emptycontainer и grab по умолчанию (бекпак), аналогично можно сделать выполнив emptycontainer без параметров и отменив прицел (esc) использовать object Использует указанный скил (если указан объект, то он будет указан для следующего запрошенного сервером прицела). Для скила Poisoning специально есть команда poison. Если имя скила содержит пробел то его заключают в ' (одинарные кавычки) например 'Taste Identification'. Дополнительные ключевые слова для object: last - последний объект self - указать себя Список названий скилов: Anatomy 'Animal Lore' Имя команды type usetype version waitmenu waittargetground waittargetlast waittargetobject waittargetobjecttype waittargetself waittargettile Параметры ‘menu_title’ ‘choice’ … Описание '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 использовать предмет заданного типа. тип задается на вкладке object types выбор из меню object [object2] (lasttile)|(tile [x] [y] [z]) посылает целью статик типа деревьев, шахты or клеток воды. Используйте infotile чтобы узнать параметры статика 0|1|flip выключает, включает или переключает боевой режим чара. 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 Lasttarget Backpack Lastcontainer Laststatus Lastattack Lastequip Lasthorse Lastcorpse Lasttargetkey Lasttile Finditem Self <именованный объект> <EasyUO literal> <serial> <decimal serial> Описание указывает на последний объект задействованный в equip, equipt, unequip указывает на последний обьект, задействовав который вы сели верхом. В большинстве случаев это лошадь :) указывает на ваш бекпак (осторожно, не гарантирую) указывает на персонаж, статус которого вы получили последним указывает на персонаж, которого вы последнего атаковали указывает на последний труп, умерший в пределах экрана может быть использован в infotile и waittargettile указывает на объект найденный командой findtype указывает на свой персонаж как my_pickaxe как RPLTFNE как 0x5303a4c1 как 1392747713 Указатели на тип объекта: Указатель Описание Lastobject Lasttarget указывает на последний тип объекта задействованный в equip, equipt, unequip Lastequipgraphic <именованный тип> как pickaxe_type как ENK Injection может использовать литералы EasyUOв качестве сериалов и типов! Пример: ,usetype HND схавать фишстейк <EasyUO literal> Пример: msg $,grab 1 #findid $ берёт 1 предмет из стопки, найденной EasyUO (синтакс макроса EasyUO) как 0x1bf2 <serial> как 7154 <decimal serial> Список команд скрипта в алфавитном порядке. Имя команды 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() Параметры Описание ([object]) Возвращает сериал контэйнера в котором находится объект. "0xFFFFFFFF" если объект на земле или не известно где. --- дохлость :) integer очищает журнал (нет возвращаемого значения) UO.FindCount() -- Возвращает количество итемов в стопке найденное командой findtype UO.FindType() UO.FixTalk() UO.FixWalk() UO.Flush() UO.FontColor() UO.Forget() UO.Gate() UO.GetColor() UO.GetDir() ([object]) ([object]) UO.GetDistance() ([object]) UO.GetEasyUO() (number) 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() возвращает цвет объекта string возвращает направленность объекта integer возвращает расстояние до объекта (больший катет) integer возвращает значение для глобальных переменных Имя команды Параметры UO.GetGraphic() UO.GetHP() UO.GetLayer() UO.GetMaxHP() ([object]) ([object]) ([object]) ([object]) UO.GetName() ([object]) UO.GetNotoriety() ([object]) UO.GetQuantity() ([object]) UO.GetRun() ([object]) UO.GetSerial() UO.GetStatus() UO.GetX() UO.GetY() UO.GetZ() UO.Grab() ([object]) Описание EasyUO вида *number string возвращает тип объекта string возвращает здоровье object integer возвращает слой обьекта string возвращает предел здоровья для object integer возвращает название объекта (если известно; пробуйте сперва использовать click для его получения) string Возвращает крим статус объекта 1 : Innocent 2 : Friend 3 : Gray 4 : Criminal 5 : Enemy 6 : Murderer возвращает количество объекта в стопке integer возвращает статус бега объекта integer (не думаю что оно кому-то нужно для других объектов кроме игрока) возвращает сериал object integer ([object]) ([object]) ([object]) возвращает координату X integer возвращает координату Y integer возвращает координату Z integer UO.Hex2Int() (string) UO.Hidden() UO.Hide() UO.Ignore() UO.IgnoreReset() UO.Info() UO.InfoTile() -- Конвертирует 16-ти риччное число в десятичное: "0x0E21" => 3617 спрятался ли персонаж integer UO.InJournal() (pattern) UO.Int2Hex() (number) UO.IsNPC() ([object]) UO.Journal() ([linenumber]) UO.JournalSerial() (number) UO.LastMessage() -- UO.LastTile() ([param]) ищет указанную часть строки в последних сообщениях сервера. Возвращает номер найденной строки (+1) integer Конвертирует число в 16-ти ричное представление: 3617 => "0x0E21" Возвращает объект если он НПС возвращает указанную строку в журнале сообщений, 0 то же что и UO.LastMessage(). Журнал содержит до 100 последних сообщений. Очищается командой UO.DeleteJournal(). string возвращает сериал объекта, создавшую фразу в этой строке журнала. Пример: UO.Print(UO.JournalSerial(0)+" says: "+UO.Journal(0)) string возвращает последнее сообщение, посланое сервером (то же что и UO.Journal(0)) string Выдает параметры последнего тайла : (no param) – возвращает строку "Tile X Y Z", смотри ,waittargettile и, infotile param=0 - возвращает Tile из lasttile Имя команды Параметры Описание param=1 - возвращает X из lasttile param=2 - возвращает Y из lasttile param=3 - возвращает Z из 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() (layer) возвращает сериал объекта в указанном слое string названия слоёв (для всех команд со слоями): Rhand, Lhand, Shoes, Pants, Shirt, Hat, Gloves, Ring, Neck, Hair, Waist, Torso, Brace, Beard, TorsoH, Ear, Arms, Cloak, Bpack, Robe, Eggs, Legs, Horse, Bank -- отравлен ли персонаж integer (maxvalue) возвращает число в диапазоне [0...maxvalue-1] integer (text) посылает текст прямиком на сервер (UO.Say посылает нажатия клавиш в окно UO). Пока что русский не поддерживается. no return value 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() (number,string) UO.SetJournalLine() (number,text) UO.SetReceivingContainer() устанавливает значение для глобальных переменных EasyUO вида *number no return value Заменяет строку журнала с номером number на text Имя команды UO.SetSeason() UO.Shop() Параметры Описание skillname вы можете посмотреть в закладке Skills, возвращает integer type=0 (по умолчанию) - величину скила (skillname[,type]) skillname; type=1 - real величина скила; type=2 - прирост скила; type=3 - статус skill lock UO.SkillVal() UO.Snoop() UO.StealthCnt() UO.Target() UO.TextClear() UO.TextClose() UO.TextOpen() UO.TextPrint() UO.Timer() -- текущее значение счётчика шагов стелса integer -- возвращает таймер отсчитывающий по 1/10 секунды integer -- Возвращает 0 если активен waittarget*, 2 если waittargettile и 1 для остальных waittarget* ([num]) Возвращает текущий статус вар-режима, или устанавливает его если указан num 0 или 1 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() object - строка описывающая объект (сериал, имя или указатель), по умолчанию - ваш персонаж linenumber - номер строки в журнале сообщений сервера, 0 - последнее pattern - строковой образец поиска, например "weak from starvation" Свойства доступные только для чтения. Указатель Описание 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 Новые параметры на закладке Main: FilterSpeech (аналогично ,filterspeech on|off) Undead (убирает паузу и Ч/Б экран при смерти) Verbose menu (в отключеном состоянии гораздо меньше сообщений инжект в консоль особенно при крафте) Tracker (включает автотрек последнего вашего трупа :]) Stealth counter (включает отсчёт шагов в стелсе) Corpses autoopen (автоматически открывает свежие трупы) Smooth walk (при поганом коннекте меньше лагов при ходьбе, но легко сбивается визуальное положение игрока) SocksCap relay fix (перенаправлят пакеты на localhost; для програм типа HTTPport) No client hung message (нет сообщения "а не повис ли клиент?" для юзеров паршивых сфер) Permit vars loopback (с этой опцией команды инжекта действуют на сам инжект, т.е. waittarget примет прицел от info, hide... Кроме того команды будут обновлять lastobject, lasttarget) Описание синтаксиса скрипта: Один оператор в строке!!! Перед оператором может быть метка. Метка только одна на строке. Булевские операторы: 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).