References — различия между версиями

Материал из Руководство по OpenKore
Перейти к: навигация, поиск
(Новая страница: «==Syntax Legends== Syntax format used in declarations of configuration options and commands. {|border="1" cellpadding="2" cellspacing="1" |- style=background-colo…»)
 
(Умения)
 
(не показаны 33 промежуточные версии 2 участников)
Строка 1: Строка 1:
==Syntax Legends==
+
== Условные обозначения ==
Syntax format used in declarations of configuration options and commands.  
+
Условные обозначения используются при описании параметров конфигурационных файлов и различных команд.
  
 
{|border="1" cellpadding="2" cellspacing="1"  
 
{|border="1" cellpadding="2" cellspacing="1"  
 
|- style=background-color:#F9F9F9;
 
|- style=background-color:#F9F9F9;
!Symbol
+
!Условное обозначение
!Description
+
!Значение
 
|-
 
|-
 
!align=center|Bold
 
!align=center|Bold
|Elements that the user must type exactly as shown.
+
|Выделенный жирным текст вводится без изменений.
 
|-
 
|-
 
|align=center|< >
 
|align=center|< >
|Information that the user must specify.  
+
|В угловых скобках указывается информация, которую должен ввести человек.
 
|-
 
|-
 
|align=center|( )
 
|align=center|( )
|Required parameters.  
+
|Заключённые в круглые скобки параметры являются обязательными.
 
|-
 
|-
 
|align=center|[ ]
 
|align=center|[ ]
|Optional parameters.  
+
|Заключённые в квадратные скобки параметры являются необязательными.
 
|-
 
|-
 
|align=center| |  
 
|align=center| |  
|Means OR. This separates choices from which the user must choose only one.  
+
|Вертикальная черта означает "или". Необходимо выбрать либо левую, либо правую часть.
 
|}
 
|}
  
  
== Basic Value and Parameter Types ==
+
== Типы значений ==
Parameters types that may appear in a configuration option's value or a command parameter.
+
Значения параметров в конфигурационных файлах и аргументов в командах могут быть следующих типов:
+
 
{|border="1" cellpadding="2" cellspacing="1"  
+
=== булев флаг ===
 +
: Значение параметров интерпретируются с помощью [http://perldoc.perl.org/perlsyn.html#Truth-and-Falsehood правил Perl "Истина или Ложь"].
 +
{| border="1" cellpadding="2" cellspacing="1" style="text-align:center"
 
|- style=background-color:#F9F9F9;
 
|- style=background-color:#F9F9F9;
!Type
+
!Значение
!Description
+
!Описание
|-
 
|align=center|flag
 
|A number with special meaning on its current context. The list of meaningful values are always given.
 
|-
 
|align=center|boolean flag
 
|A type of flag with only two values: '''1''' to enable and '''0''' to disable.
 
|-
 
|align=center|number
 
|Any number. This can be a fractional value (separated by dot .) or an integer number.
 
 
|-
 
|-
|align=center|percent
+
| 0 или пустая строка (значение отсутствует)
|A number from 1 to 100 that corresponds to a percent. Don't append a percent sign (%) unless otherwise specified.
+
| ЛОЖЬ (выключено)
 
|-
 
|-
|align=center|seconds
+
| 1
|The time specified in seconds. Can be a fractional value (ex. 0.5).
+
| ИСТИНА (включено)
|-
 
|align=center|string
 
|Any text string.
 
 
|}
 
|}
 +
: На самом деле [https://perldoc.perl.org/5.8.8/perlsyn.html#Truth-and-Falsehood булев (логический) флаг] может иметь любое значение (не только 0 или 1). Он не проверяется ни на что, кроме логического.
 +
: Булевы параметры МОГУТ быть расширены в будущем (например, [[dealAuto]]). В таком случае значения 0 и 1 ДОЛЖНЫ сохранить старое поведение, а новые значения добавляют новую реакцию.
 +
: '''API:''' отдельного API не существует, используется стандартные логические операторы Perl.
 +
: '''Пример:'''
 +
if ($config{dcOnDisconnect}) { ...
  
 +
=== значение ===
 +
: Этот параметр имеет одно из заранее заданных значений. Список доступных значений всегда указывается в описании параметра.
 +
: Например: -1, 0, 1 или 2
  
==Equipment Slots==
+
=== целое число ===
Equipment slot names used by Openkore.  
+
: Числовое значение, смысл которого зависит от конкретного контекста. Может быть ТОЛЬКО целым. Пустая строка (отсутствующее значение) или строки, начинающиеся с нецифровых символов, обычно оцениваются в Perl как "0".
 +
: '''Примечание:''' Это не [[References#Диапазон значений|диапазон]]. Значения типа "<code>= 11</code>" будут равны '''0'''.
 +
: '''API:''' отдельного API не существует, используется стандартные [http://perldoc.perl.org/perlop.html#Relational-Operators операторы отношения и равенства Perl].
 +
: '''Пример:'''
 +
if ($config{avoidGM_near} >= 4) { ...
 +
 
 +
=== процент ===
 +
: Целое число от 0 до 100. Знак процента "%" приписывать не надо, если в описании параметра не сказано иначе.
 +
 
 +
=== число или секунды ===
 +
: Произвольное число, может быть дробным. Дробная часть разделяется точной, например, "0.5"
 +
: Часто используется для указания количества секунд.
 +
 
 +
=== строка ===
 +
: Любая текстовая строка.
 +
 
 +
== Слот экипировки ==
 +
Имена слотов, в которые одевается броня, аксессуары, оружие и стрелы с патронами. Описывается в переменной "%equipSlot_lut" в файле [https://github.com/OpenKore/openkore/blob/c0a5ad2cbfcf94bbda942f02426b28ec7d99368a/src/Globals.pm#L61 Globals.pm]
  
 
{| border="1" cellpadding="2" cellspacing="1"  
 
{| border="1" cellpadding="2" cellspacing="1"  
 
|- style=background-color:#F9F9F9;
 
|- style=background-color:#F9F9F9;
|+ List of equipment slots.  
+
|+ Список слотов для экипировки.  
!Name
+
!Тип
!Description
+
!Слот
 +
!Описание
 
|-
 
|-
|align=center|topHead
+
|align=center|1
|Upper head slot.
+
|align=center|lowHead
 +
|Голова низ.
 +
|-
 +
|align=center|2
 +
|align=center|rightHand
 +
|Правая рука.
 
|-
 
|-
|align=center|midHead
+
|align=center|4
|Middle head slot.
+
|align=center|robe
 +
|Накидка, плащ.
 
|-
 
|-
|align=center|lowHead
+
|align=center|8
|Lower heads slot.
+
|align=center|rightAcessory
 +
|Правый акцессуар.
 
|-
 
|-
|align=center|rightHand
+
|align=center|16
|Right hand slot.
+
|align=center|armor
 +
|Броня на тело.
 
|-
 
|-
 +
|align=center|32
 
|align=center|leftHand
 
|align=center|leftHand
|Left hand slot.
+
|Левая рука.
 
|-
 
|-
|align=center|rightAcessory
+
|align=center|64
|Right Acessory slot.
+
|align=center|shoes
 +
|Обувь.
 
|-
 
|-
 +
|align=center|128
 
|align=center|leftAcessory
 
|align=center|leftAcessory
|Left Acessory slot.
+
|Левый акцессуар.
 +
|-
 +
|align=center|256
 +
|align=center|topHead
 +
|Голова верх.
 
|-
 
|-
|align=center|armor
+
|align=center|512
|Armor slot.
+
|align=center|midHead
 +
|Голова середина.
 +
|-
 +
|align=center|1024
 +
|align=center|costumeTopHead
 +
|Upper head costume slot.
 +
|-
 +
|align=center|2048
 +
|align=center|costumeMidHead
 +
|Middle head costume slot.
 +
|-
 +
|align=center|4096
 +
|align=center|costumeLowHead
 +
|Lower heads costume slot.
 
|-
 
|-
|align=center|robe
+
|align=center|8192
|Gaments slot.
+
|align=center|costumeRobe
 +
|Robe costume slot.
 
|-
 
|-
|align=center|shoes
+
|align=center|16384
|Footwear slot.
+
|align=center|costumeFloor
 +
|Floor costume slot.
 
|-
 
|-
 +
|align=center|32768
 
|align=center|arrow
 
|align=center|arrow
|Arrow or Bullet slot.  
+
|Стрелы или патроны.
 +
|-
 +
|align=center|65536
 +
|align=center|shadowArmor
 +
|
 +
|-
 +
|align=center|131072
 +
|align=center|shadowRightHand
 +
|
 +
|-
 +
|align=center|262144
 +
|align=center|shadowLeftHand
 +
|
 +
|-
 +
|align=center|524288
 +
|align=center|shadowShoes
 +
|
 +
|-
 +
|align=center|1048576
 +
|align=center|shadowRightAccessory
 +
|
 +
|-
 +
|align=center|2097152
 +
|align=center|shadowLeftAccessory
 +
|
 
|}
 
|}
  
 +
== Домены сообщений ==
 +
Выводимые на консоль сообщения сведены в группы сообщений, называемые доменами сообщений.
  
== Message Domains ==
+
Чтобы узнать, к какому домену сообщений относится то или иное сообщение, пропишите в параметре конфига [[showDomain]] '''1''', тогда с самим сообщением будет выводиться имя домена сообщений, к которому оно относится.
Message domains are names used to classify messages printed in the console.
 
 
 
For information about a certain messages that you see in your console, set the option [[showDomain]] in config.txt to '''1''', making Openkore display domains along with messages in the console.
 
  
 
{| border="1" cellpadding="2" cellspacing="1"  
 
{| border="1" cellpadding="2" cellspacing="1"  
 
|- style=background-color:#F9F9F9;
 
|- style=background-color:#F9F9F9;
|+ List of known message domains:  
+
|+ Список известных доменов сообщений:  
!Name
+
!Имя домена сообщений
!Description
+
!Описание
 
|-
 
|-
 
|align=center|ai_attack
 
|align=center|ai_attack
|Attack messages
+
|Атака.
 
|-
 
|-
 
|align=center|ai_npcTalk
 
|align=center|ai_npcTalk
|NPC talk sequence messages.
+
|Команды при разговоре с неписями.
 
|-
 
|-
 
|align=center|attacked
 
|align=center|attacked
|Monster attacks you.
+
|Моб атакует персонажа.
 
|-
 
|-
 
|align=center|attackedMiss
 
|align=center|attackedMiss
|Monster attacks you but misses.
+
|Моб атакует персонажа и промахивается.
 
|-
 
|-
 
|align=center|attackMon
 
|align=center|attackMon
|You attack monster.
+
|Персонаж атакует моба.
 
|-
 
|-
 
|align=center|attackMonMiss
 
|align=center|attackMonMiss
|You attack monster but misses.
+
|Персонаж атакует моба и промахивается.
 
|-
 
|-
 
|align=center|connection
 
|align=center|connection
|Connection messages.
+
|Соединение с игровым сервером.
 
|-
 
|-
 
|align=center|console
 
|align=center|console
|Messages without defined group.
+
|Просто консольное сообщение.
 
|-
 
|-
 
|align=center|deal
 
|align=center|deal
|Deal messages.
+
|Сделка с другим игроком.
 
|-
 
|-
 
|align=center|drop
 
|align=center|drop
|Monster drop related messages.
+
|С моба упали итемы.
 
|-
 
|-
 
|align=center|emotion
 
|align=center|emotion
|Emoticon messages.
+
|Эмоции.
 
|-
 
|-
 
|align=center|exp
 
|align=center|exp
|Experience gained message.
+
|Получение опыта.
 
|-
 
|-
 
|align=center|equip
 
|align=center|equip
|Equipment switching message.
+
|Одевание оружия или брони.
 
|-
 
|-
 
|align=center|follow
 
|align=center|follow
|Follow messages.
+
|Следование за ведущим игроком.
 
|-
 
|-
 
|align=center|guildchat
 
|align=center|guildchat
|Guild chat message.
+
|Чат гильдии.
 
|-
 
|-
 
|align=center|guildnotice
 
|align=center|guildnotice
|Guild notice message.
+
|Объявление в гильдии.
 
|-
 
|-
 
|align=center|info
 
|align=center|info
|Character information messages.
+
|Информация о персонаже.
 
|-
 
|-
 
|align=center|input
 
|align=center|input
|User input messages.  
+
|Информация, введённая человеком с консоли.
 
|-
 
|-
 
|align=center|inventory
 
|align=center|inventory
|Inventory related messages.
+
|Инвентарь персонажа.
 
|-
 
|-
 
|align=center|list
 
|align=center|list
|Actor's list message.
+
|Список акторов.
 
|-
 
|-
 
|align=center|load
 
|align=center|load
|Loading config files messages.
+
|Загрузка конфигурационных файлов.
 
|-
 
|-
 
|align=center|looter
 
|align=center|looter
|Attacking looter message.
+
|Атака моба-лутера.
 
|-
 
|-
 
|align=center|map_event
 
|align=center|map_event
|PvP/GvG mode messages.
+
|Сообщения режимов PvP/GvG.
 
|-
 
|-
 
|align=center|npc
 
|align=center|npc
|NPC messages.
+
|Разговор неписей.
 
|-
 
|-
 
|align=center|parseMsg_statuslook
 
|align=center|parseMsg_statuslook
|Changed status/equipment messages.
+
|Изменение состояния или экипировки персонажа.
 
|-
 
|-
 
|align=center|parseMsg/hairColor
 
|align=center|parseMsg/hairColor
|Hair color change message.  
+
|Изменение цвета волос.
 
|-
 
|-
 
|align=center|parseMsg/job
 
|align=center|parseMsg/job
|Job change message.
+
|Смена профессии.
 
|-
 
|-
 
|align=center|parseMsg/upgrade
 
|align=center|parseMsg/upgrade
|Item upgrading message.
+
|Заточка итема.
 
|-
 
|-
 
|align=center|party
 
|align=center|party
|Party/follow related message.
+
|Пати и следования за ведущим.
 
|-
 
|-
 
|align=center|partychat
 
|align=center|partychat
|Party chat messages.
+
|Чат пати.
 
|-
 
|-
 
|align=center|pet
 
|align=center|pet
|Pet related messages.
+
|Пет, питомец.
 
|-
 
|-
 
|align=center|plugins
 
|align=center|plugins
|Plugin handle messages.
+
|Плагины.
 
|-
 
|-
 
|align=center|pm
 
|align=center|pm
|Received private messages.
+
|Полученное приватное сообщение.
 
|-
 
|-
 
|align=center|pm/sent
 
|align=center|pm/sent
|Sent private messages.  
+
|Отправленное приватное сообщение.
 
|-
 
|-
 
|align=center|portals
 
|align=center|portals
|Portal existance messages.
+
|Порталы переходов между локациями.
 
|-
 
|-
 
|align=center|portalRecord
 
|align=center|portalRecord
|Recording of portals messages.
+
|Запись перехода через портал.
 
|-
 
|-
 
|align=center|publicchat
 
|align=center|publicchat
|Public chat message.
+
|Общий, публичный чат.
 
|-
 
|-
 
|align=center|refine
 
|align=center|refine
|Weapon refining messages.
+
|Заточка оружия.
 
|-
 
|-
 
|align=center|route
 
|align=center|route
|Routing/pathfinding messages.
+
|Просчитывание маршрута.
 
|-
 
|-
 
|align=center|route_teleport
 
|align=center|route_teleport
|Route teleport messages.
+
|Телепортация при прохождении маршрута.
 
|-
 
|-
 
|align=center|schat
 
|align=center|schat
|GM broadcast messages.
+
|Сообщение GM'а на весь сервер.
 
|-
 
|-
 
|align=center|selfSkill
 
|align=center|selfSkill
|Skills used by yourself messages.
+
|Используемые самим персонажем скиллы.
 
|-
 
|-
 
|align=center|skill
 
|align=center|skill
|Skills not related to attack messages.
+
|Скиллы, не связанные с сообщениями об атаке.
 
|-
 
|-
 
|align=center|sold
 
|align=center|sold
|Items sold while vending messages.
+
|Продан итем в торговой лавке.
 
|-
 
|-
 
|align=center|startup
 
|align=center|startup
|Startup messages.
+
|Сообщения при запуске OpenKore.
 
|-
 
|-
 
|align=center|storage
 
|align=center|storage
|Storage item added/removed messages.
+
|Склад кафры, положили или взяли итем.
 
|-
 
|-
 
|align=center|success
 
|align=center|success
Строка 249: Строка 319:
 
|-
 
|-
 
|align=center|syntax
 
|align=center|syntax
|Syntax check files messages.
+
|Проверка правописания в файлах.
 
|-
 
|-
 
|align=center|teleport
 
|align=center|teleport
|Teleporting messages.
+
|Телепортация, винги.
 
|-
 
|-
 
|align=center|useItem
 
|align=center|useItem
|Items used by you messages.
+
|Исользование итема.
 
|-
 
|-
 
|align=center|useTeleport
 
|align=center|useTeleport
|Attemp to use teleport messages.
+
|Попытка использовать телепорт.
 
|-
 
|-
 
|align=center|waypoint
 
|align=center|waypoint
Строка 264: Строка 334:
 
|-
 
|-
 
|align=center|xkore
 
|align=center|xkore
|X-Kore system messages.
+
|Режим X-Kore.
 
|}
 
|}
  
  
The following is a list of debug domains:
+
Далее следует список доменов, используемых для отладки:
 
{|
 
{|
 
|
 
|
Строка 317: Строка 387:
  
  
== Names ==
+
== Названия ==
Sometimes equipment/item/monster names are different in each server, so Openkore have it's own database in tables folder for defaulting names. Changing the name from the files will affect your configuration.
+
Иногда название оружия, брони, предметов и мобов различаются от сервера к серверу, поэтому OpenKore имеет свою собственную базу данных в папке tables, где хранятся стандартные названия. Для каждого вида объектов OpenKore имеет свои правила наименования.
  
=== Equipment Names ===
+
=== Оружие и броня ===
 
----
 
----
Openkore equipment name syntax:
+
Написание названия оружия или брони подчиняется следующим правилам:
  
  # for normal equipments:
+
  # для обычного оружия или брони
  [BROKEN] [+<upgrade level>] (<item name>) [[<card name>[*<number>]] [<number of slots>]]
+
  [BROKEN] [+<уровень_заточки>] (<название предмета>) [[<вставленная_карта>[*<кол-во>]] [<кол-во слотов>] [<кол-во свойств>]]
 
   
 
   
  # for elemental weapons
+
  # для элементального оружия
  [BROKEN][+<upgrade level>][VS|VVS|VVVS][Fire|Earth|Wind|Water](<item name>)  
+
  [BROKEN][+<уровень_заточки>][VS|VVS|VVVS][Fire|Earth|Wind|Water](<название предмета>) [<кол-во свойств>]
  
'''Notes:'''
+
'''Примечания:'''
* If the equipment is not broken, omit the '''BROKEN''' part.
+
* Если оружие или броня не сломано, слово '''BROKEN''' не пишется.
* If the equipment is not upgraded, omit the +<upgrade level> part.
+
* Если оружие или броня не заточены, тогда часть имени '''+<уровень заточки>''' не пишется.
* Use only the monster name for the card name, e.g. use Hydra for the Hydra Card.
+
* Для описания вставленных карт используется только имя моба без слова Card, например просто Hydra вместо Hydra Card.
* If there is only one card of a certain type slotted on the equipment, omit the *<number> part.
+
* Если вставлена только одна карта одного типа, то часть имени '''*<кол-во>''' не пишется.
* If there are more than one type of cards compounded on the equipment, the <card name>*<number> pair should be colon-separated list.  The list should be sorted alphabetically.
+
* Если вставлено несколько типов карт, то пары '''<вставленная карта>*<кол-во>''' разделяются знаком двоеточия ":", а сам список карт должен быть отсортирован в алфавитном порядке.
* If the equipment is not slotted, omit the [<number of slots>] part.
+
* Если оружие или броня не слотовые, то часть '''<кол-во слотов>''' пропускается.
* So far configuration options using item names are not strict with case-sensitivity.
+
* Регистр букв в названии предметов не важен.
* If you have the equipment, you can use [[Console Commands|console commands]]  
+
* Названия предметов можно подсмотреть при помощи [[:Category:Console Command|консольных команд]]: [[i]], [[cart]], [[storage]].
  
 +
'''Пример:'''
 +
* +7 Cranial Mirror Shield: <code>+7 Mirror Shield [Thara Frog] [1]</code>
 +
* Hard Padded Armor: <code>Padded Armor [Pupa] [1]</code>
 +
* 3-слотовый +5 Double Flammable Boned Saber: <code>+5 Saber [Skel Worker:Vadon*2] [3]</code>
 +
* +6 Very Very Strong Wind Tsurugi: <code>+6 VVS Wind Tsurugi</code>
 +
* +5 Очень очень очень сильный Двуручный топор с 4-мя доп. свойствами: <code>+5 VVVS Двуручный топор [4 Option]</code>
  
'''Example'''
+
=== Предметы ===
 
 
* For a +4 Cranial Mirror Shield, a Hard Padded Armor, a 3-slotted +5 Double Flammable Boned Saber, and a +6 Very Very Strong Wind Tsurugi, use:
 
 
 
+7 Mirror Shield [Thara Frog] [1]
 
Padded Armor [Pupa] [1]
 
+5 Saber [Skel Worker:Vadon*2] [3]
 
+6 VVS Wind Tsurugi
 
 
 
 
 
=== Item Names ===
 
 
----
 
----
Item names can be found at tables\items.txt, following this syntax:
+
Названия предметов находятся в файле [[tables]]\[[items.txt]], записи в этом файле выглядят вот так:
 
   
 
   
 
  <Item ID>#<item_name>#
 
  <Item ID>#<item_name>#
  
In items.txt item names are separated with underscores (_), to use them in your configuration replace them with spaces.
+
В файле [[items.txt]] пробелы в названиях предметов заменяются знаком подчеркивания "_". При использовании в OpenKore знаки подчеркивания заменяются на, собственно, пробелы.
  
  
''' Example '''
+
''' Пример: '''
  
* Item's name is Mirror Shield.
+
* Предмет называется "Mirror Shield".
 
  2107#Mirror_Shield#
 
  2107#Mirror_Shield#
  
'''Note.'''  
+
'''Примечания:'''  
* So far configuration options using item names are not strict with case-sensitivity.  
+
* Регистр букв в названии предметов не важен.
* You can also get item's name by using [[Console Commands|console commands]], like '''i, cart, storage'''.
+
* Названия предметов можно подсмотреть при помощи [[:Category:Console Command|консольных команд]] [[i]], [[cart]], [[storage]].
  
 
+
=== Наземные умения ===
=== Ground Spell Names ===
 
 
----
 
----
Ground spell names can be found at tables\spells.txt, following this syntax:
+
Названия наземных умений находятся в файле [[tables]]\[[spells.txt]], записи в этом файле выглядят вот так:
 
   
 
   
 
  <Spell ID> <spell name>
 
  <Spell ID> <spell name>
  
''' Example '''
+
''' Пример: '''
  
* Ground spell name: Safety Wall
+
* Название наземного умения: Safety Wall
 
  126 Safety Wall
 
  126 Safety Wall
  
'''Note:'''  
+
'''Примечание:'''  
* Ground spell names can also be found using [[Console Commands|console command]] '''spell''' while certain spells are active on the ground.  
+
* Название наземных умений, работающих рядом с OpenKore, можно подсмотреть при помощи [[:Category:Console Command|консольной команды]] [[spell]].
  
 
+
=== Локации ===
=== Map Names ===
 
 
----
 
----
Map names can be found at tables\maps.txt, following this syntax:
+
Названия локаций находятся в файле [[tables]]\[[maps.txt]], записи в этом файле выглядят вот так:
  
 
  <map file name>#<map name>#
 
  <map file name>#<map name>#
  
Openkore use just the first name of the map in it's configuration files.
+
OpenKore использует только первое поле из этого файла.
  
''' Example '''
+
''' Пример: '''
 
   
 
   
* Map name is Prontera
+
* Название локации Prontera
 
  prontera.rsw#Prontera City#
 
  prontera.rsw#Prontera City#
  
'''Notes:'''  
+
'''Примечание:'''  
* Map names can also be find using [[Console Commands|console command]] '''where'''.
+
* Название локации, на которой в данный момент находится персонаж, можно подсмотреть [[:Category:Console Command|консольной командой]] [[where]].
  
  
=== Monster Names ===
+
=== Мобы ===
 
----
 
----
Monster names can be found at tables\monsters.txt, following this syntax:
+
Имена мобов, монстров находятся в файле [[tables]]\[[monsters.txt]], записи в этом файле выглядят вот так:
  
 
  <monster ID> <monster name>
 
  <monster ID> <monster name>
  
''' Example '''
+
''' Пример: '''
  
* Monster name is Scorpion
+
* Имя моба: Scorpion
 
  1001 Scorpion
 
  1001 Scorpion
  
'''Notes:'''  
+
'''Примечание:'''  
* You can also find monster name using [[Console Commands|console command]] '''ml''' while certain monters are on screen.  
+
* Имя моба можно узнать при помощи [[:Category:Console Command|консольной команды]] [[ml]], будет выведен список мобов рядом с персонажем.
  
  
=== Player Names ===
+
=== Игроки ===
 
----
 
----
Player names can be found by using the [[Console Commands|console command]] '''pl''' while certain players are on screen.
+
Имена окружающих игроков можно узнать при помощи [[:Category:Console Command|консольной команды]] [[pl]].
  
'''Note.''' These are case-sensitive.
+
'''Примечание:''' В именах игроков важен регистр букв.
  
 +
=== Умения ===
  
=== Skill Names ===
+
В конфигах OpenKore, в макросах или при использовании консольных команд иногда приходится указывать умения. При написании умения можно использовать три равнозначных варианта:
----
+
# '''<ID_умения>''' - уникальный номер умения. Не зависит от языковых настроек OpenKore. Можно найти в файле [[:Категория:tables|tables]]\[[SKILL_id_handle.txt]]
Skill names can be found at tables\skillnametable.txt, following this syntax:
+
# '''<skill_handle>''' - буквенное название умения (не содержит пробелов). Не зависит от языковых настроек OpenKore. Можно найти в файлах [[:Категория:tables|tables]]\[[SKILL_id_handle.txt]] и [[:Категория:tables|tables]]\..\[[skillnametable.txt]]
 +
# '''<название_умения>''' - "человеческое" название умения. Зависит от языковых настроек OpenKore. Можно найти в файле [[:Категория:tables|tables]]\..\[[skillnametable.txt]]
  
<skill handle> <skill name>
+
''' Пример: '''
 +
* 142 - ID умения
 +
* NV_FIRSTAID - его skill_handle
 +
* "Первая помощь" - русское название
 +
* "First Aid" - английское название
  
''' Example '''
+
----
  
* Skill name is Basic Skill
+
'''Примечания:'''
NV_BASIC Basic Skill
+
* Названия умений персонажа можно посмотреть [[:Category:Console Command|консольной командой]] [[skills]].
  
'''Note:'''
+
=== Статусы ===
* Your skill names can also be find using [[Console Commands|console command]] '''skills'''.
+
----
* If you play for example on iRO, look in tables\iRO\skillnametable.txt for the skill names.
+
В качестве статуса можно указывать дескриптор или имя статуса.
* You can extract skillnametable.txt straight from the grf and use your client's skill names.
 
  
=== Status Names ===
+
Дескрипторы статусов можно найти в файлах <code>tables/{AILMENT,LOOK,STATE,STATUS}_id_handle.txt</code>. Эти дескрипторы одинаковые для всех серверов с которыми работает OpenKore, например "EFST_ATTHASTE_POTION1".
----
 
Status names can be found at tables\skillsailments.txt, tables\skillslooks.txt, tables\skillsstate.txt, tables\skillsstatus.txt, following this syntax:
 
  
<skill status ID> <status name>
+
Сами названия статусов можно найти в файле '''statusnametable.txt'''. Для каждого сервера имена статусов могут отличаться. Например, на сервере euRO используются английские названия статусов (Concentration potion), а на rRO - русские (Зелье Концентрации).
  
''' Example '''
+
'''Примечание:'''
 +
* Список наложенных на персонажа статусов можно узнать с помощью '''[[s|консольной команды "s"]]'''.
  
* Status name is Poisoned
+
=== Профессии ===
1 Poisoned
+
----
 +
Правильное название можно подсмотреть в файле [https://github.com/OpenKore/openkore/blob/master/src/Globals.pm#L143 src/Globals.pm]. Название профессии всегда пишется на английском языке, например: Novice, Thief, Rogue, и т.д.
  
'''Note:'''
+
Профессию окружающих игроков можно посмотреть с помощью консольной команды [[Actor_List_Command|pl]].
* Status names can be found by using the [[Console Commands|console command]] '''s''' while certain status are active on you character.  
 
  
 +
== Индекс ==
 +
Индекс - это временный номер по порядку чего-либо. Например, индекс предмета в инвентаре\телеге\складе, индекс игроков\монстров\НПЦ в пределах видимости. Когда чар появляется на локации, к нему с сервера прилетает пакет со списком предметов. OpenKore присваивает индивидуальный номер (индекс) каждому предмету, начиная с 0. Всё взаимодействие OpenKore с сервером идёт с использованием этого индекса, например, консольная команда "[[is|is 10]]" - использовать на себя предмет с индексом 10. Если бот переподключится, то индекс одного и того же предмета может поменяться - это следует учитывать при написании макросов. Не путайте индекс предмета и его ИД!
  
== NPC Conversation Codes ==
+
== Коды разговора с неписями ==
These codes are used for specifying NPC talk sequences or steps when using the [[Console Commands]] or the config.txt options. Each code is separated with a whitespace.
+
Коды разговора с неписями используются чтобы записать - как надо говорить с неписью. Где какие варианты ответа выбирать, когда и какие числа вводить, а когда просто продолжить беседу. Эта форма записи используется в [[:Category:Console Command|консольной команде]] [[talknpc]], в параметрах конфига [[:Category:config.txt|config.txt]], например в [[storageAuto_npc_steps]], а также в других местах, например в файле [[tables]]\[[portals.txt]]. Разговор с неписью записывается как строка кодов, где коды разделяются пробелами.
  
{| border="1" cellpadding="2" cellspacing="1"  
+
{|class="TablePager"
 +
|+ Список кодов разговора с неписями
 +
!Код
 +
!Действие
 +
|-
 +
!c
 +
|Продолжить разговор с неписью. То же самое, что нажатие кнопки "Next".
 
|-
 
|-
|+ List of known NPC talk codes.  
+
!r<номер варианта ответа>
!Code
+
|Выбрать один из предложенных вариантов. Индексация вариантов ответа начинается с нуля.
!Description
 
 
|-
 
|-
!c
+
!r=<искомый текст>
|Continue talking to the NPC. This is the same as pressing the Next buttom.
+
|Выбрать тот вариант ответа, который совпадает с заданным текстом. Появилось в ревизии [http://sourceforge.net/p/openkore/code/8937/ 8937].
 
|-
 
|-
!r(<response #>)
+
!r~/<регулярное выражение>/
|Send a response to the NPC. The response number is the index of the responses in the displayed response list . This is the same as selecting a response when you talk to an NPC.  
+
|Выбрать тот вариант ответа, который подходит к указанному регулярному выражению. Если после второй черты поставить i, то регистр букв станет неважен. Появилось в ревизии [http://sourceforge.net/p/openkore/code/8998/ 8998].
 
|-
 
|-
!w(<seconds>)
+
!w<кол-во секунд>
|Wait for the specified number of seconds before continuing to talk to the NPC.
+
|Подождать указанное количество секунд, а потом продолжить разговор.
 
|-
 
|-
!d(<number>)
+
!d<число>
|Send a number to the NPC. Use this if the NPC asks you to enter an amount. 
+
|Сказать число.
 
|-
 
|-
!align=center|t=(<string>)
+
!t=<текст>
|Send a text to the NPC. Use this if the NPC asks you to enter some text.  
+
|Сказать текстовую строку.
 
|-
 
|-
 
!s
 
!s
|Go to sell list. This is the same as pressing the sell button when you talk to a buy/sell NPC.
+
|Начать продажу предметов.
 
|-
 
|-
 
!b
 
!b
|Go to the store list. This is the same as pressing the buy button when you talk to a buy/sell NPC.  
+
|Начать покупку предметов.
 
|-
 
|-
!b(<store item #>),(<amount>)
+
!<span style="white-space:nowrap;">b<№ предмета в магазине>,<кол-во></span>
|Buy an item from the NPC. See similar [[Console Commands|buy]]. Note that the amount is not optional.  
+
|Купить у неписи предмет в указанном количестве. См. также консольную команду [[buy]]. Количество указывается в обязательном порядке.
 
|-
 
|-
 
!n
 
!n
|Ends and cancel conversation with the NPC. This is the same as pressing the close or cancel button when talking to an NPC.
+
|Закончить разговор с неписью.
 
|-
 
|-
 
!e
 
!e
|Wait until the NPC says "Done talking". Use this after the '''s''' or '''b''' talk code when talking to a buy/sell NPC.
+
|Подождать, пока непись скажет "Done talking". Используется после кодов '''s''' или '''b''', когда идёт разговор с неписью, которая скупает-продаёт предметы.
 
|-
 
|-
!a=(<string>)
+
!a="<консольная команда>"
|Run a console command.
+
|Выполнить указанную консольную команду. Например '''a="is Red Potion"'''.
 
|-
 
|-
 
!x
 
!x
|Initiate NPC conversation.
+
|Снова начать разговор с неписью. Это нужно, чтобы в одну команду [[talknpc]] запихивать несколько обращений к одной неписи.
 
|}
 
|}
  
  
''' Example '''
+
=== Примеры ===
  
* Talk to NPC at the coordinates (63, 60), using the talk sequence: Next>Choose fourth response>Next>Choose first response>Next>Next>Choose first response>Next>End.
+
* Поговорить с неписью, стоящей по координатам (63 60), используя следующую последовательность: дальше > выбрать четвертый вариант > дальше > выбрать первый вариант > дальше > дальше > выбрать первый вариант > дальше > конец.  
 
  talknpc 63 60 c r3 c r0 c c r0 c n
 
  talknpc 63 60 c r3 c r0 c c r0 c n
  
== Range Operators ==
+
* Пример закупки.
Range operators provide flexibility in specifying values for some [[config.txt]] options by specifying ranges instead of exact values.
+
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
 +
 
 +
== Диапазон значений ==
 +
Диапазоны ([https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BC%D0%B5%D0%B6%D1%83%D1%82%D0%BE%D0%BA_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)#%D0%A2%D0%B8%D0%BF%D1%8B_%D0%BF%D1%80%D0%BE%D0%BC%D0%B5%D0%B6%D1%83%D1%82%D0%BA%D0%BE%D0%B2 интервалы]) значений позволяют более гибко настраивать некоторые параметры конфига [[:Category:config.txt|config.txt]].
 
   
 
   
 
{| border="1" cellpadding="2" cellspacing="1"  
 
{| border="1" cellpadding="2" cellspacing="1"  
 
|- style=background-color:#F9F9F9;
 
|- style=background-color:#F9F9F9;
|+ List of syntaxes for specifying ranges
+
!Значение
!Symbol
+
!Условное обозначение
!Description
+
!Описание
 
|-
 
|-
 
!align=center|X
 
!align=center|X
|Value is exactly equal to X.
+
!{X}
 +
|Значение будет равно X
 
|-
 
|-
 
!align=center|X..Y
 
!align=center|X..Y
|Includes all numbers from X to Y.
+
X-Y
|-
+
![X, Y]
!align=center|X-Y
+
|Диапазон значений - все числа от X до Y включительно
|Includes all numbers from X to Y.
 
 
|-
 
|-
 
!align=center|> X
 
!align=center|> X
|Value is greater than X.
+
!(X, +∞)
 +
|Все значения, которые больше чем X
 
|-
 
|-
 
!align=center|>= X
 
!align=center|>= X
|Value is greater than or equal to X.
+
![X, +∞)
 +
|Все значения, которые больше либо равны X
 
|-
 
|-
 
!align=center|< X
 
!align=center|< X
|Value is less than X.
+
!(-∞, X)
 +
|Все значения, которые меньше чем X
 
|-
 
|-
 
!align=center|<= X
 
!align=center|<= X
|Value is less than or equal to X.
+
!(-∞, X]
 +
|Все значения, которые меньше либо равны X
 
|-
 
|-
 
|}
 
|}
  
 +
'''API''': функции и плагины должны использовать [https://github.com/OpenKore/openkore/blob/master/src/Utils.pm#L1070 Utils::inRange(<значение>, <диапазон>)] для проверки соответствия значений указанному диапазону.
  
''' Example '''
+
''' Примеры: '''
  
* Level is greater than 10
+
* Если HP персонажа больше десяти процентов:
  lvl > 10
+
  hp > 10%
  
* Zenys is equal to 5000.
+
* Если у персонажа ровно 5000 зени:
 
  zeny 5000
 
  zeny 5000
  
* Job level is between 10 and 15
+
* Если проф-уровень персонажа от 10 до 15 включительно:
 
  jlvl 10..15
 
  jlvl 10..15
  
 +
== Атрибуты блочных параметров ==
 +
=== [[:Category:Self Condition|Self Conditions]] ===
  
== [[:Category:Self Condition|Self Conditions]] ==
 
 
{{:Category:Self Condition}}
 
{{:Category:Self Condition}}
 
{|border="1"
 
|
 
 
* [[manualAI]]
 
 
* [[whenEquipped]]
 
 
* whenWater - not working yet
 
 
* [[zeny]]
 
 
''(TODO: remove these links from this page)''
 
 
|}
 
 
== Target Conditions ==
 
  
 
=== [[:Category:Monster Condition|Monster Conditions]] ===
 
=== [[:Category:Monster Condition|Monster Conditions]] ===
Строка 580: Строка 652:
 
{{:Category:Player Condition}}
 
{{:Category:Player Condition}}
  
== [[:Category:Skill Use Condition|Skill Use Conditions]] ==
+
=== [[:Category:Skill Use Condition|Skill Use Conditions]] ===
 +
 
 
{{:Category:Skill Use Condition}}
 
{{:Category:Skill Use Condition}}
  
== [[:Category:Interfaces|Interfaces]] ==
+
== [[:Category:Interfaces|Интерфейсы OpenKore]] ==
 +
 
 
{{:Category:Interfaces}}
 
{{:Category:Interfaces}}

Текущая версия на 00:45, 2 мая 2023

Условные обозначения

Условные обозначения используются при описании параметров конфигурационных файлов и различных команд.

Условное обозначение Значение
Bold Выделенный жирным текст вводится без изменений.
< > В угловых скобках указывается информация, которую должен ввести человек.
( ) Заключённые в круглые скобки параметры являются обязательными.
[ ] Заключённые в квадратные скобки параметры являются необязательными.
| Вертикальная черта означает "или". Необходимо выбрать либо левую, либо правую часть.


Типы значений

Значения параметров в конфигурационных файлах и аргументов в командах могут быть следующих типов:

булев флаг

Значение параметров интерпретируются с помощью правил Perl "Истина или Ложь".
Значение Описание
0 или пустая строка (значение отсутствует) ЛОЖЬ (выключено)
1 ИСТИНА (включено)
На самом деле булев (логический) флаг может иметь любое значение (не только 0 или 1). Он не проверяется ни на что, кроме логического.
Булевы параметры МОГУТ быть расширены в будущем (например, dealAuto). В таком случае значения 0 и 1 ДОЛЖНЫ сохранить старое поведение, а новые значения добавляют новую реакцию.
API: отдельного API не существует, используется стандартные логические операторы Perl.
Пример:
if ($config{dcOnDisconnect}) { ...

значение

Этот параметр имеет одно из заранее заданных значений. Список доступных значений всегда указывается в описании параметра.
Например: -1, 0, 1 или 2

целое число

Числовое значение, смысл которого зависит от конкретного контекста. Может быть ТОЛЬКО целым. Пустая строка (отсутствующее значение) или строки, начинающиеся с нецифровых символов, обычно оцениваются в Perl как "0".
Примечание: Это не диапазон. Значения типа "= 11" будут равны 0.
API: отдельного API не существует, используется стандартные операторы отношения и равенства Perl.
Пример:
if ($config{avoidGM_near} >= 4) { ...

процент

Целое число от 0 до 100. Знак процента "%" приписывать не надо, если в описании параметра не сказано иначе.

число или секунды

Произвольное число, может быть дробным. Дробная часть разделяется точной, например, "0.5"
Часто используется для указания количества секунд.

строка

Любая текстовая строка.

Слот экипировки

Имена слотов, в которые одевается броня, аксессуары, оружие и стрелы с патронами. Описывается в переменной "%equipSlot_lut" в файле Globals.pm

Список слотов для экипировки.
Тип Слот Описание
1 lowHead Голова низ.
2 rightHand Правая рука.
4 robe Накидка, плащ.
8 rightAcessory Правый акцессуар.
16 armor Броня на тело.
32 leftHand Левая рука.
64 shoes Обувь.
128 leftAcessory Левый акцессуар.
256 topHead Голова верх.
512 midHead Голова середина.
1024 costumeTopHead Upper head costume slot.
2048 costumeMidHead Middle head costume slot.
4096 costumeLowHead Lower heads costume slot.
8192 costumeRobe Robe costume slot.
16384 costumeFloor Floor costume slot.
32768 arrow Стрелы или патроны.
65536 shadowArmor
131072 shadowRightHand
262144 shadowLeftHand
524288 shadowShoes
1048576 shadowRightAccessory
2097152 shadowLeftAccessory

Домены сообщений

Выводимые на консоль сообщения сведены в группы сообщений, называемые доменами сообщений.

Чтобы узнать, к какому домену сообщений относится то или иное сообщение, пропишите в параметре конфига 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.


Далее следует список доменов, используемых для отладки:

  • ai
  • ai_attack
  • ai_autoCart
  • ai_makeItem
  • ai_move
  • ai_npcTalk
  • attackMonMiss
  • autoBreakTime
  • connection
  • d_sendPacket
  • debug
  • drop
  • equipAuto
  • guild
  • ipc
  • Item
  • monsterSkill
  • npc
  • packetParser
  • parseInput
  • parseMsg
  • parseMsg_comboDelay
  • parseMsg_damage
  • parseMsg_move
  • parseMsg_presence
  • parseMsg_presence/name
  • parseMsg_presence/player
  • parseMsg_presence/remote
  • parseMsg_statuslook
  • parseSendMsg
  • pet
  • route
  • route_teleport
  • sendPacket
  • sitAuto
  • skill
  • storage
  • useTeleport
  • vending


Названия

Иногда название оружия, брони, предметов и мобов различаются от сервера к серверу, поэтому OpenKore имеет свою собственную базу данных в папке tables, где хранятся стандартные названия. Для каждого вида объектов OpenKore имеет свои правила наименования.

Оружие и броня


Написание названия оружия или брони подчиняется следующим правилам:

# для обычного оружия или брони
[BROKEN] [+<уровень_заточки>] (<название предмета>) [[<вставленная_карта>[*<кол-во>]] [<кол-во слотов>] [<кол-во свойств>]]

# для элементального оружия
[BROKEN][+<уровень_заточки>][VS|VVS|VVVS][Fire|Earth|Wind|Water](<название предмета>) [<кол-во свойств>]

Примечания:

  • Если оружие или броня не сломано, слово BROKEN не пишется.
  • Если оружие или броня не заточены, тогда часть имени +<уровень заточки> не пишется.
  • Для описания вставленных карт используется только имя моба без слова Card, например просто Hydra вместо Hydra Card.
  • Если вставлена только одна карта одного типа, то часть имени *<кол-во> не пишется.
  • Если вставлено несколько типов карт, то пары <вставленная карта>*<кол-во> разделяются знаком двоеточия ":", а сам список карт должен быть отсортирован в алфавитном порядке.
  • Если оружие или броня не слотовые, то часть <кол-во слотов> пропускается.
  • Регистр букв в названии предметов не важен.
  • Названия предметов можно подсмотреть при помощи консольных команд: i, cart, storage.

Пример:

  • +7 Cranial Mirror Shield: +7 Mirror Shield [Thara Frog] [1]
  • Hard Padded Armor: Padded Armor [Pupa] [1]
  • 3-слотовый +5 Double Flammable Boned Saber: +5 Saber [Skel Worker:Vadon*2] [3]
  • +6 Very Very Strong Wind Tsurugi: +6 VVS Wind Tsurugi
  • +5 Очень очень очень сильный Двуручный топор с 4-мя доп. свойствами: +5 VVVS Двуручный топор [4 Option]

Предметы


Названия предметов находятся в файле tables\items.txt, записи в этом файле выглядят вот так:

<Item ID>#<item_name>#

В файле items.txt пробелы в названиях предметов заменяются знаком подчеркивания "_". При использовании в OpenKore знаки подчеркивания заменяются на, собственно, пробелы.


Пример:

  • Предмет называется "Mirror Shield".
2107#Mirror_Shield#

Примечания:

Наземные умения


Названия наземных умений находятся в файле tables\spells.txt, записи в этом файле выглядят вот так:

<Spell ID> <spell name>

Пример:

  • Название наземного умения: Safety Wall
126 Safety Wall

Примечание:

Локации


Названия локаций находятся в файле tables\maps.txt, записи в этом файле выглядят вот так:

<map file name>#<map name>#

OpenKore использует только первое поле из этого файла.

Пример:

  • Название локации Prontera
prontera.rsw#Prontera City#

Примечание:


Мобы


Имена мобов, монстров находятся в файле tables\monsters.txt, записи в этом файле выглядят вот так:

<monster ID> <monster name>

Пример:

  • Имя моба: Scorpion
1001 Scorpion

Примечание:

  • Имя моба можно узнать при помощи консольной команды ml, будет выведен список мобов рядом с персонажем.


Игроки


Имена окружающих игроков можно узнать при помощи консольной команды pl.

Примечание: В именах игроков важен регистр букв.

Умения

В конфигах OpenKore, в макросах или при использовании консольных команд иногда приходится указывать умения. При написании умения можно использовать три равнозначных варианта:

  1. <ID_умения> - уникальный номер умения. Не зависит от языковых настроек OpenKore. Можно найти в файле tables\SKILL_id_handle.txt
  2. <skill_handle> - буквенное название умения (не содержит пробелов). Не зависит от языковых настроек OpenKore. Можно найти в файлах tables\SKILL_id_handle.txt и tables\..\skillnametable.txt
  3. <название_умения> - "человеческое" название умения. Зависит от языковых настроек OpenKore. Можно найти в файле tables\..\skillnametable.txt

Пример:

  • 142 - ID умения
  • NV_FIRSTAID - его skill_handle
  • "Первая помощь" - русское название
  • "First Aid" - английское название

Примечания:

Статусы


В качестве статуса можно указывать дескриптор или имя статуса.

Дескрипторы статусов можно найти в файлах tables/{AILMENT,LOOK,STATE,STATUS}_id_handle.txt. Эти дескрипторы одинаковые для всех серверов с которыми работает OpenKore, например "EFST_ATTHASTE_POTION1".

Сами названия статусов можно найти в файле statusnametable.txt. Для каждого сервера имена статусов могут отличаться. Например, на сервере euRO используются английские названия статусов (Concentration potion), а на rRO - русские (Зелье Концентрации).

Примечание:

Профессии


Правильное название можно подсмотреть в файле src/Globals.pm. Название профессии всегда пишется на английском языке, например: Novice, Thief, Rogue, и т.д.

Профессию окружающих игроков можно посмотреть с помощью консольной команды pl.

Индекс

Индекс - это временный номер по порядку чего-либо. Например, индекс предмета в инвентаре\телеге\складе, индекс игроков\монстров\НПЦ в пределах видимости. Когда чар появляется на локации, к нему с сервера прилетает пакет со списком предметов. OpenKore присваивает индивидуальный номер (индекс) каждому предмету, начиная с 0. Всё взаимодействие OpenKore с сервером идёт с использованием этого индекса, например, консольная команда "is 10" - использовать на себя предмет с индексом 10. Если бот переподключится, то индекс одного и того же предмета может поменяться - это следует учитывать при написании макросов. Не путайте индекс предмета и его ИД!

Коды разговора с неписями

Коды разговора с неписями используются чтобы записать - как надо говорить с неписью. Где какие варианты ответа выбирать, когда и какие числа вводить, а когда просто продолжить беседу. Эта форма записи используется в консольной команде 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
X..Y

X-Y

[X, Y] Диапазон значений - все числа от X до Y включительно
> X (X, +∞) Все значения, которые больше чем X
>= X [X, +∞) Все значения, которые больше либо равны X
< X (-∞, X) Все значения, которые меньше чем X
<= X (-∞, X] Все значения, которые меньше либо равны X

API: функции и плагины должны использовать Utils::inRange(<значение>, <диапазон>) для проверки соответствия значений указанному диапазону.

Примеры:

  • Если HP персонажа больше десяти процентов:
hp > 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=<имя_интерфейса>.