References: Difference between revisions
Technology (talk | contribs) m (→Names (Text)) |
|||
(56 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
==Syntax Legends== | ==Syntax Legends== | ||
Syntax format used in declarations of configuration options and commands. | |||
{| | |||
!Symbol | {|border="1" cellpadding="2" cellspacing="1" | ||
|- style=background-color:#F9F9F9; | |||
!Symbol | |||
!Description | |||
|- | |- | ||
!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== | == Basic Value and Parameter Types == | ||
Parameters types that may appear in a configuration option's value or a command parameter. | |||
{| | |||
=== boolean flag === | |||
: Option values are interpreted with [http://perldoc.perl.org/perlsyn.html#Truth-and-Falsehood Perl's Truth and Falsehood] rules. | |||
{| border="1" cellpadding="2" cellspacing="1" style="text-align:center" | |||
|- | |- style=background-color:#F9F9F9; | ||
!Value | |||
!Description | |||
|- | |- | ||
| | | 0 or empty string (unset option) | ||
| FALSE (disable) | |||
|- | |- | ||
| | | 1 | ||
| | | TRUE (enable) | ||
|} | |} | ||
: Actually, [https://perldoc.perl.org/5.8.8/perlsyn.html#Truth-and-Falsehood boolean flag] (which isn't checked for anything but boolean) can have any value. | |||
: Boolean options MAY be extended in future. In such a case, values of '''0''' and '''1''' SHOULD preserve the old behaviour, and more values MAY be added. | |||
: '''API:''' There is no API per se, just use usual Perl's logic operators. | |||
: '''Examples:''' | |||
if ($config{useDeadlyRay}) { ... | |||
=== flag === | |||
: A number with special meaning on its current context. The list of meaningful values are always given. | |||
== | === number === | ||
: A number with special meaning on its current context. The list of meaningful values are always given. May be a fractional value (with dot <code>.</code> separator) or just an integer. Empty string (unset option) or strings starting with non-numeric characters are evaluated as in Perl, usually to '''0'''. | |||
: '''Notes:''' This is not a [[References#Range_Operators|range]]. Values like "<code>= 11</code>" would just evaluate to '''0'''. | |||
: '''API:''' There is no API per se, just use usual [http://perldoc.perl.org/perlop.html#Relational-Operators Perl's relational and equality operators]. | |||
: '''Examples:''' | |||
if ($config{answerToLifeUniverseAndEverything} == 42) { ... | |||
=== percent === | |||
: A number from 1 to 100 that corresponds to a percent. Don't append a percent sign (%) unless otherwise specified. | |||
=== seconds === | |||
: The time specified in seconds. Can be a fractional value (ex. 0.5). | |||
== | === string === | ||
: Any text string. | |||
==Equipment Slots== | |||
Equipment slot names used by Openkore. | |||
{| border="1" cellpadding="2" cellspacing="1" | |||
{| | |- style=background-color:#F9F9F9; | ||
|+ List of equipment slots. | |||
|- | !Name | ||
!Description | |||
| | |||
|- | |- | ||
|align=center| | |align=center|topHead | ||
|Upper head slot. | |||
|- | |- | ||
|align=center| | |align=center|midHead | ||
|Middle head slot. | |||
|- | |- | ||
|align=center| | |align=center|lowHead | ||
|Lower heads slot. | |||
|- | |- | ||
|align=center| | |align=center|rightHand | ||
|Right hand slot. | |||
|- | |- | ||
|align=center| | |align=center|leftHand | ||
|Left hand slot. | |||
|- | |- | ||
|align=center| | |align=center|rightAcessory | ||
|Right Acessory slot. | |||
|- | |- | ||
|align=center| | |align=center|leftAcessory | ||
|Left Acessory slot. | |||
|- | |- | ||
|align=center| | |align=center|armor | ||
|Armor slot. | |||
|- | |- | ||
|align=center| | |align=center|robe | ||
|Gaments slot. | |||
|- | |- | ||
|align=center| | |align=center|shoes | ||
|Footwear slot. | |||
|- | |- | ||
|align=center| | |align=center|costumeTopHead | ||
|Upper head costume slot. | |||
|- | |- | ||
|align=center| | |align=center|costumeMidHead | ||
|Middle head costume slot. | |||
|- | |- | ||
|align=center| | |align=center|costumeLowHead | ||
|Lower heads costume slot. | |||
|- | |- | ||
|align=center| | |align=center|costumeRobe | ||
|Robe costume slot. | |||
|- | |- | ||
|align=center| | |align=center|costumeFloor | ||
|Floor costume slot. | |||
|- | |- | ||
|align=center| | |align=center|arrow | ||
|Arrow or Bullet slot. | |||
|} | |} | ||
: Developer Notes | |||
Equipment slot names are defined in [https://github.com/OpenKore/openkore/blob/master/src/Globals.pm#L61 %Globals::equipSlot_lut]. | |||
== [[Domain|Message Domains]] == | |||
{{:Domain}} | |||
==Names== | == 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. | |||
=== Equipment Names === | |||
---- | |||
Openkore equipment name syntax: | |||
# for normal equipments: | # for normal equipments: | ||
[BROKEN] [+<upgrade level>] (<item name>) [[<card name>[*<number>]] [<number of slots>]] | [BROKEN] [+<upgrade level>] (<item name>) [[<card name>[*<number>]] [<number of slots>]] | ||
Line 238: | Line 143: | ||
'''Notes:''' | '''Notes:''' | ||
*If the equipment is not | * If the equipment is not broken, omit the '''BROKEN''' part. | ||
*If the equipment is not upgraded, omit the +<upgrade level> part. | * If the equipment is not upgraded, omit the +<upgrade level> part. | ||
*Use only the monster name for the card name | * Use only the monster name for the card name, e.g. use Hydra for the Hydra Card. | ||
*If there is only one card of a certain type slotted on the equipment, omit the *<number> part. | * 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 | * 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. | * 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]] | |||
'''Example''' | |||
* For a +7 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] | +7 Mirror Shield [Thara Frog] [1] | ||
Padded Armor [Pupa] [1] | Padded Armor [Pupa] [1] | ||
+5 Saber [Skel Worker | +5 Saber [Skel Worker:Vadon*2] [3] | ||
+6 VVS Wind Tsurugi | +6 VVS Wind Tsurugi | ||
=== Item Names === | |||
---- | |||
Item names can be found at tables\items.txt, following this syntax: | |||
<Item ID>#<item_name># | |||
In items.txt item names are separated with underscores (_), to use them in your configuration replace them with spaces. | |||
''' Example ''' | |||
* Item's name is 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]]'''. | |||
=== Ground Spell Names === | |||
---- | |||
Ground spell names can be found at tables\spells.txt, following this syntax: | |||
<Spell ID> <spell name> | |||
''' Example ''' | |||
* Ground spell name: Safety Wall | |||
126 Safety Wall | 126 Safety Wall | ||
'''Note:''' | |||
* Ground spell names can also be found using [[Console Commands|console command]] '''[[spells]]''' while certain spells are active on the ground. | |||
=== Map Names === | |||
---- | |||
Map names can be found at tables\maps.txt, following this syntax: | |||
<map file name>#<map name># | |||
Openkore use just the first name of the map in it's configuration files. | |||
''' Example ''' | |||
* Map name is Prontera | |||
prontera.rsw#Prontera City# | prontera.rsw#Prontera City# | ||
'''Notes:''' | |||
* Map names can also be find using [[Console Commands|console command]] '''[[where]]'''. | |||
=== Monster Names === | |||
---- | |||
Monster names can be found at tables\monsters.txt, following this syntax: | |||
<monster ID> <monster name> | |||
''' Example ''' | |||
* Monster name is Scorpion | |||
1001 Scorpion | 1001 Scorpion | ||
'''Notes:''' | |||
* You can also find monster name using [[Console Commands|console command]] '''[[ml]]''' while certain monters are on screen. | |||
=== Player Names === | |||
---- | |||
Player names can be found by using the [[Console Commands|console command]] '''[[pl]]''' while certain players are on screen. | |||
'''Note.''' These are case-sensitive. | |||
=== Skill Names === | |||
Skill handles (locale independent) can be found at <code>tables/SKILL_id_handle.txt</code>. | |||
Skill names (depend on your configuration) can be found at <code>skillnametable.txt</code> used by your configuration. | |||
Currently used skill names can also be found by inspecting [[skills]], [[homun|homun skills]], [[merc|merc skills]] commands output. | |||
=== Status Names === | |||
Status handles (locale independent) can be found at <code>tables/{AILMENT,LOOK,STATE,STATUS}_id_handle.txt</code>. | |||
Corresponding status names (depend on your configuration) can be found at <code>statusnametable.txt</code> used by your configuration. | |||
Currently used status names can also be found by inspecting Kore output when certain status is received or by using the [[s]] command while certain status are active on you character. | |||
== [[NPC conversation codes]] == | |||
== Range Operators == | |||
User-specified [[wikipedia:Interval (mathematics)|interval]] for an option. | |||
{| border="1" cellpadding="2" cellspacing="1" style="text-align:center" | |||
{| | |- style=background-color:#F9F9F9; | ||
! | !Value | ||
!Description | |||
|- | |- | ||
| | | X | ||
| {X} | |||
|- | |- | ||
| | | X..Y | ||
|rowspan="2"| [X, Y] | |||
|- | |- | ||
| | | X-Y | ||
|- | |- | ||
| | | > X | ||
| (X, +∞) | |||
|- | |- | ||
| | | >= X | ||
| [X, +∞) | |||
|- | |- | ||
| | | < X | ||
| (-∞, X) | |||
|- | |- | ||
| | | <= X | ||
|- | | (-∞, X] | ||
|} | |} | ||
'''API''': | |||
Features and plugins MUST use [https://github.com/OpenKore/openkore/blob/master/src/Utils.pm#L1070 Utils::inRange(<current value>, <option contents>)] to check any kind of options with range values. | |||
== [[:Category:Self Condition|Self Conditions]] == | |||
{{:Category:Self Condition}} | |||
== Target Conditions == | |||
== | === [[:Category:Monster Condition|Monster Conditions]] === | ||
| | |||
{{:Category:Monster Condition}} | |||
=== [[:Category:Player Condition|Player Conditions]] === | |||
{{:Category:Player Condition}} | |||
=== [[:Category:Skill Use Condition|Skill Use Conditions]] === | |||
{{:Category:Skill Use Condition}} | |||
=== [[:Category:Idle Condition|Idle Condition]] === | |||
{{:Category:Idle Condition}} | |||
== [[:Category:Interfaces|Interfaces]] == | |||
{{:Category:Interfaces}} | |||
Latest revision as of 23:21, 5 May 2021
Syntax Legends
Syntax format used in declarations of configuration options and commands.
Symbol | Description |
---|---|
Bold | Elements that the user must type exactly as shown. |
< > | Information that the user must specify. |
( ) | Required parameters. |
[ ] | Optional parameters. |
| | 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.
boolean flag
- Option values are interpreted with Perl's Truth and Falsehood rules.
Value | Description |
---|---|
0 or empty string (unset option) | FALSE (disable) |
1 | TRUE (enable) |
- Actually, boolean flag (which isn't checked for anything but boolean) can have any value.
- Boolean options MAY be extended in future. In such a case, values of 0 and 1 SHOULD preserve the old behaviour, and more values MAY be added.
- API: There is no API per se, just use usual Perl's logic operators.
- Examples:
if ($config{useDeadlyRay}) { ...
flag
- A number with special meaning on its current context. The list of meaningful values are always given.
number
- A number with special meaning on its current context. The list of meaningful values are always given. May be a fractional value (with dot
.
separator) or just an integer. Empty string (unset option) or strings starting with non-numeric characters are evaluated as in Perl, usually to 0. - Notes: This is not a range. Values like "
= 11
" would just evaluate to 0. - API: There is no API per se, just use usual Perl's relational and equality operators.
- Examples:
if ($config{answerToLifeUniverseAndEverything} == 42) { ...
percent
- A number from 1 to 100 that corresponds to a percent. Don't append a percent sign (%) unless otherwise specified.
seconds
- The time specified in seconds. Can be a fractional value (ex. 0.5).
string
- Any text string.
Equipment Slots
Equipment slot names used by Openkore.
Name | Description |
---|---|
topHead | Upper head slot. |
midHead | Middle head slot. |
lowHead | Lower heads slot. |
rightHand | Right hand slot. |
leftHand | Left hand slot. |
rightAcessory | Right Acessory slot. |
leftAcessory | Left Acessory slot. |
armor | Armor slot. |
robe | Gaments slot. |
shoes | Footwear slot. |
costumeTopHead | Upper head costume slot. |
costumeMidHead | Middle head costume slot. |
costumeLowHead | Lower heads costume slot. |
costumeRobe | Robe costume slot. |
costumeFloor | Floor costume slot. |
arrow | Arrow or Bullet slot. |
- Developer Notes
Equipment slot names are defined in %Globals::equipSlot_lut.
Message Domains
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.
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.
Equipment Names
Openkore equipment name syntax:
# for normal equipments: [BROKEN] [+<upgrade level>] (<item name>) [[<card name>[*<number>]] [<number of slots>]] # for elemental weapons [BROKEN][+<upgrade level>][VS|VVS|VVVS][Fire|Earth|Wind|Water](<item name>)
Notes:
- If the equipment is not broken, omit the BROKEN part.
- 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.
- 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
Example
- For a +7 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:
<Item ID>#<item_name>#
In items.txt item names are separated with underscores (_), to use them in your configuration replace them with spaces.
Example
- Item's name is 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, like i, cart, storage.
Ground Spell Names
Ground spell names can be found at tables\spells.txt, following this syntax:
<Spell ID> <spell name>
Example
- Ground spell name: Safety Wall
126 Safety Wall
Note:
- Ground spell names can also be found using console command spells while certain spells are active on the ground.
Map Names
Map names can be found at tables\maps.txt, following this syntax:
<map file name>#<map name>#
Openkore use just the first name of the map in it's configuration files.
Example
- Map name is Prontera
prontera.rsw#Prontera City#
Notes:
- Map names can also be find using console command where.
Monster Names
Monster names can be found at tables\monsters.txt, following this syntax:
<monster ID> <monster name>
Example
- Monster name is Scorpion
1001 Scorpion
Notes:
- You can also find monster name using console command ml while certain monters are on screen.
Player Names
Player names can be found by using the console command pl while certain players are on screen.
Note. These are case-sensitive.
Skill Names
Skill handles (locale independent) can be found at tables/SKILL_id_handle.txt
.
Skill names (depend on your configuration) can be found at skillnametable.txt
used by your configuration.
Currently used skill names can also be found by inspecting skills, homun skills, merc skills commands output.
Status Names
Status handles (locale independent) can be found at tables/{AILMENT,LOOK,STATE,STATUS}_id_handle.txt
.
Corresponding status names (depend on your configuration) can be found at statusnametable.txt
used by your configuration.
Currently used status names can also be found by inspecting Kore output when certain status is received or by using the s command while certain status are active on you character.
NPC conversation codes
Range Operators
User-specified interval for an option.
Value | Description |
---|---|
X | {X} |
X..Y | [X, Y] |
X-Y | |
> X | (X, +∞) |
>= X | [X, +∞) |
< X | (-∞, X) |
<= X | (-∞, X] |
API: Features and plugins MUST use Utils::inRange(<current value>, <option contents>) to check any kind of options with range values.
Self Conditions
Conditions about the character status/information.
These condition options are shared between the attackComboSlot, attackSkillSlot, buyAuto, doCommand, equipAuto, monsterSkill, partySkill, useSelf_item, and useSelf_skill configuration blocks.
Target Conditions
Monster Conditions
Conditions about the monster status/information.
These condition attributes are shared between the attackComboSlot, attackSkillSlot, equipAuto, and monsterSkill configuration blocks.
Player Conditions
Condition about player's status/information.
Currently, only the partySkill configuration block uses these conditions.
Skill Use Conditions
Conditions about skills.
These options are shared between the attackComboSlot, attackSkillSlot, monsterSkill, partySkill, and useSelf_skill configuration blocks.
Idle Condition
Activated when the BOT this without actions to perform.
Interfaces
OpenKore Interface Implementations.
Interface to load on start can be specified with Command Line Arguments (--interface=InterfaceName).