References
Условные обозначения
Условные обозначения используются при описании параметров конфигурационных файлов и различных команд.
Условное обозначение | Значение |
---|---|
Bold | Выделенный жирным текст вводится без изменений. |
< > | В угловых скобках указывается информация, которую должен ввести человек. |
( ) | Заключённые в круглые скобки параметры являются обязательными. |
[ ] | Заключённые в квадратные скобки параметры являются необязательными. |
| | Вертикальная черта означает "или". Необходимо выбрать либо левую, либо правую часть. |
Типы значений
Значения параметров в конфигурационных файлах и аргументов в командах могут быть следующих типов:
Тип значения | Описание |
---|---|
флаг | Числовой код, смысловое значение которого зависит от контекста. Расшифровка кодов всегда прилагается. |
булев флаг | Числовой код, имеющий только два возможных значения: 0 - выключено, 1 - включено. |
число | Любое число. Может быть целым или дробным. Целая и дробная часть разделяются знаком точки ".". |
процент | Целое число от 0 до 100. Знак процента "%" приписывать не надо, если только не сказано иначе. |
секунды | Число, обозначающее время, выраженное в секундах. Число может быть дробным, например 0.5. |
строка | Любая текстовая строка. |
Слоты для экипировки
Имена слотов, в которые одевается броня, аксессуары, оружие и стрелы с патронами.
Слот | Описание |
---|---|
topHead | Голова верх. |
midHead | Голова середина. |
lowHead | Голова низ. |
rightHand | Правая рука. |
leftHand | Левая рука. |
rightAcessory | Правый акцессуар. |
leftAcessory | Левый акцессуар. |
armor | Броня на тело. |
robe | Накидка, плащ. |
shoes | Обувь. |
arrow | Стрелы или патроны. |
Домены сообщений
Выводимые на консоль сообщения сведены в группы сообщений, называемые доменами сообщений.
Чтобы узнать, к какому домену сообщений относится то или иное сообщение, пропишите в параметре конфига showDomain 1, тогда с самим сообщением будет выводиться имя домена сообщений, к которому оно относится.
Имя домена сообщений | Описание |
---|---|
ai_attack | Атака. |
ai_npcTalk | Команды при разговоре с неписями. |
attacked | Моб атакует персонажа. |
attackedMiss | Моб атакует персонажа и промахивается. |
attackMon | Персонаж атакует моба. |
attackMonMiss | Персонаж атакует моба и промахивается. |
connection | Соединение с игровым сервером. |
console | Просто консольное сообщение. |
deal | Сделка с другим игроком. |
drop | С моба упали итемы. |
emotion | Эмоции. |
exp | Получение опыта. |
equip | Одевание оружия или брони. |
follow | Следование за ведущим игроком. |
guildchat | Чат гильдии. |
guildnotice | Объявление в гильдии. |
info | Информация о персонаже. |
input | Информация, введённая человеком с консоли. |
inventory | Инвентарь персонажа. |
list | Список акторов. |
load | Загрузка конфигурационных файлов. |
looter | Атака моба-лутера. |
map_event | Сообщения режимов PvP/GvG. |
npc | Разговор неписей. |
parseMsg_statuslook | Изменение состояния или экипировки персонажа. |
parseMsg/hairColor | Изменение цвета волос. |
parseMsg/job | Смена профессии. |
parseMsg/upgrade | Заточка итема. |
party | Пати и следования за ведущим. |
partychat | Чат пати. |
pet | Пет, питомец. |
plugins | Плагины. |
pm | Полученное приватное сообщение. |
pm/sent | Отправленное приватное сообщение. |
portals | Порталы переходов между локациями. |
portalRecord | Запись перехода через портал. |
publicchat | Общий, публичный чат. |
refine | Заточка оружия. |
route | Просчитывание маршрута. |
route_teleport | Телепортация при прохождении маршрута. |
schat | Сообщение GM'а на весь сервер. |
selfSkill | Используемые самим персонажем скиллы. |
skill | Скиллы, не связанные с сообщениями об атаке. |
sold | Продан итем в торговой лавке. |
startup | Сообщения при запуске OpenKore. |
storage | Склад кафры, положили или взяли итем. |
success | Operation succeeded messages. |
syntax | Проверка правописания в файлах. |
teleport | Телепортация, винги. |
useItem | Исользование итема. |
useTeleport | Попытка использовать телепорт. |
waypoint | Waypoint messages. |
xkore | Режим X-Kore. |
Далее следует список доменов, используемых для отладки:
|
|
|
|
|
Названия
Иногда название оружия, брони, предметов и мобов различаются от сервера к серверу, поэтому OpenKore имеет свою собственную базу данных в папке tables, где хранятся стандартные названия. Для каждого вида объектов OpenKore имеет свои правила наименования.
Оружие и броня
Написание названия оружия или брони подчиняется следующим правилам:
# для обычного оружия или брони [BROKEN] [+<уровень заточки>] (<название предмета>) [[<вставленная карта>[*<кол-во>]] [<кол-во слотов>]] # для элементального оружия [BROKEN][+<уровень заточки>][VS|VVS|VVVS][Fire|Earth|Wind|Water](<название предмета>)
Примечания:
- Если оружие или броня не сломано, слово BROKEN не пишется.
- Если оружие или броня не заточены, тогда опускается та часть имени, которая +<уровень заточки>.
- Для описания вставленных карт используется только имя моба без слова Card, например просто Hydra вместо Hydra Card.
- Если вставлена только одна карта одного типа, то опускается та часть, которая *<кол-во>.
- Если вставлено несколько типов карт, то пары <вставленная карта>*<кол-во> разделятся знаком двоеточия ":", а сам список карт должен быть отсортирован в алфавитном порядке.
- Если оружие или броня не слотовые, то чать [<кол-во слотов>] пропускается.
- Регистр букв в названии предметов не важен.
- Названия предметов можно подсмотреть при помощи консольных команд i, cart, storage.
Пример:
- Для брони +7 Cranial Mirror Shield, Hard Padded Armor и оружия 3-слотовый +5 Double Flammable Boned Saber, +6 Very Very Strong Wind Tsurugi, правильными названиями будут:
+7 Mirror Shield [Thara Frog] [1] Padded Armor [Pupa] [1] +5 Saber [Skel Worker:Vadon*2] [3] +6 VVS Wind Tsurugi
Предметы
Названия предметов находятся в файле tables\items.txt, записи в этом файле выглядят вот так:
<Item ID>#<item_name>#
В файле items.txt пробелы в названиях предметов заменяются знаком подчеркивания "_". При использовании в OpenKore знаки подчеркивания заменяются на, собственно, пробелы.
Пример:
- Предмет называется "Mirror Shield".
2107#Mirror_Shield#
Примечания:
- Регистр букв в названии предметов не важен.
- Названия предметов можно подсмотреть при помощи консольных команд i, cart, storage.
Наземные умения
Названия наземных умений находятся в файле tables\spells.txt, записи в этом файле выглядят вот так:
<Spell ID> <spell name>
Пример:
- Название наземного умения: Safety Wall
126 Safety Wall
Примечание:
- Название наземных умений, работающих рядом с OpenKore, можно подсмотреть при помощи консольной команды spell.
Локации
Названия локаций находятся в файле tables\maps.txt, записи в этом файле выглядят вот так:
<map file name>#<map name>#
OpenKore использует только первое поле из этого файла.
Пример:
- Название локации Prontera
prontera.rsw#Prontera City#
Примечание:
- Название локации, на которой в данный момент находится персонаж, можно подсмотреть консольной командой where.
Мобы
Имена мобов, монстров находятся в файле tables\monsters.txt, записи в этом файле выглядят вот так:
<monster ID> <monster name>
Пример:
- Имя моба: Scorpion
1001 Scorpion
Примечание:
- Имя моба можно узнать при помощи консольной команды ml, будет выведен список мобов рядом с персонажем.
Игроки
Имена окружающих персонажа игроков можно узнать при помощи консольной команды pl.
Примечание: В именах игроков важен регистр букв.
Умения
Названия умений и заклинаний находятся в файле tables\skillnametable.txt, записи в этом файле выглядят вот так:
<skill handle> <skill name>
Пример:
- Название навыка - Basic Skill
NV_BASIC Basic Skill
Примечания:
- Названия умений персонажа можно посмотреть консольной командой skills.
- Расположение файла задаётся параметрами командной строки или в servers.txt.
- Файл skillnametable.txt можно извлечь прямо из grf-файла от клиента.
Статусы
Названия статусов находятся в файлах tables\skillsailments.txt, tables\skillslooks.txt, tables\skillsstate.txt, tables\skillsstatus.txt, записи во всех этих файлах выглядят вот так:
<skill status ID> <status name>
Пример:
- Название статуса - Poisoned
1 Poisoned
Примечание:
- Список наложенных на персонажа статусов можно узнать консольной командой s.
Коды разговора с неписями
Коды разговора с неписями используются чтобы записать - как надо говорить с неписью. Где какие варианты ответа выбирать, когда и какие числа вводить, а когда просто продолжить беседу. Эта форма записи используется в консольной команде talknpc, в параметрах конфига config.txt, например в storageAuto_npc_steps, а также в других местах, например в файле tables\portals.txt. Разговор с неписью записывается как строка кодов, где коды разделяются пробелами.
Код | Действие |
---|---|
c | Продолжить разговор с неписью. То же самое, что нажатие кнопки "Next". |
r<номер варианта ответа> | Выбрать один из предложенных вариантов. Индексация вариантов ответа начинается с нуля. |
r=<искомый текст> | Выбрать тот вариант ответа, который совпадает с заданным текстом. Появилось в ревизии 8937. |
r~/<регулярное выражение>/ | Выбрать тот вариант ответа, который подходит к указанному регулярному выражению. Если после второй черты поставить i, то регистр букв станет неважен. Появилось в ревизии 8998. |
w<кол-во секунд> | Подождать указанное количество секунд, а потом продолжить разговор. |
d<число> | Сказать число. |
t=<текст> | Сказать текстовую строку. |
s | Начать продажу предметов. |
b | Начать покупку предметов. |
b<№ предмета в магазине>,<кол-во> | Купить у неписи предмет в указанном количестве. См. также консольную команду buy. Количество указывается в обязательном порядке. |
n | Закончить разговор с неписью. |
e | Подождать, пока непись скажет "Done talking". Используется после кодов s или b, когда идёт разговор с неписью, которая скупает-продаёт предметы. |
a="<консольная команда>" | Выполнить указанную консольную команду. Например a="is Red Potion". |
x | Снова начать разговор с неписью. Это нужно, чтобы в одну команду talknpc запихивать несколько обращений к одной неписи. |
Примеры
- Поговорить с неписью, стоящей по координатам (63 60), используя следующую последовательность: дальше > выбрать четвертый вариант > дальше > выбрать первый вариант > дальше > дальше > выбрать первый вариант > дальше > конец.
talknpc 63 60 c r3 c r0 c c r0 c n
- Пример закупки.
talknpc 126 76 b b0,5 b1,6 e
- Примеры регулярных выражений в консольных командах talk, talknpc и в файле portals.txt.
talk resp /test/ talknpc x y c c r~/test/ c n morocc 156 97 payon 161 58 1200 1 c r~/tele/i c r~/pay/i
Диапазон значений
Диапазоны значений позволяют более гибко настраивать некоторые параметры конфига config.txt.
Вариант написания | Диапазон значений |
---|---|
X | Значение будет равно X. |
X..Y | Диапазон значений - все числа от X до Y включительно. |
X-Y | Диапазон значений - все числа от X до Y включительно. |
> X | Все значения, которые больше чем X. |
>= X | Все значения, которые больше либо равны X. |
< X | Все значения, которые меньше чем X. |
<= X | Все значения, которые меньше либо равны X. |
Примеры
- Если уровень персонажа больше десяти:
lvl > 10
- Если у персонажа ровно 5000 зени:
zeny 5000
- Если проф-уровень персонажа от 10 до 15 включительно:
jlvl 10..15
Атрибуты блочных параметров
Self Conditions
Self Conditions - набор атрибутов, которые описывают самочувствие персонажа, его состояние, информация о различных его параметрах. Условия для проверки состояния персонажа описываются атрибутами.
Эти атрибуты можно использовать в следующих блочных параметрах конфига: attackComboSlot, attackSkillSlot, buyAuto, doCommand, equipAuto, monsterSkill, partySkill, useSelf_item, useSelf_skill
Проверка условий Self Conditions
функция Misc::checkSelfCondition (<атрибут>)
- возвращает "true", если условие для <атрибута> выполняется.
Добавление нового условия Self Conditions
Можно добавить свои собственные, нестандартные атрибуты и проверки состояния персонажа при помощи хука checkSelfCondition
, который содержит следующие элементы:
префикс
- название блочного конфига (для атрибута "blockOption" префикс будет:$config{$prefix."_blockOption"}
)return
- код возврата. Установить 0 если условие не выполняется.
Monster Conditions
Monster Condition - это условия, проверяющие состояние моба и известную о нём информацию. Условия описываются атрибутами, которые можно использовать в следующих блочных параметрах конфига: attackComboSlot, attackSkillSlot, equipAuto и monsterSkill. Названия этих атрибутов начинаются с префикса target_.
Player Conditions
Player Condition - это условия, проверяющие состояние другого игрока и известную о нём информацию. Условия описываются атрибутами, которые в настоящее время может использовать только один блочный параметр конфига - partySkill. Названия этих атрибутов начинаются с префикса target_.
Skill Use Conditions
Skill Use Condition - это условия применения скиллов. Условия описываются атрибутами. Эти атрибуты можно использовать в следующих блочных параметрах конфига: attackComboSlot, attackSkillSlot, monsterSkill, partySkill и useSelf_skill.
Интерфейсы OpenKore
У OpenKore есть несколько вариантов интерфейса. Самые популярные: Консольный интерфейс (быстрый) и Wx интерфейс (красивый). Чтобы запустить один из интерфейсов - используйте соответствующий исполняемый файл (для Windows) или укажите параметр командной строки: --interface=<имя_интерфейса>
.