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

advertisement
Консольные команды инжекта
Команды инжекта срабатывают при введении их в клиенте УО как текста на произнесение.
Инжект считает попыткой выполнить команду любой введённый текст, если первым символом
является , (запятая)
Таким образом, все команды вводятся, предваряясь запятой, например:
,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).
Download