Files
Client/rylCoder_16.02.2008_src/gsfStruct-release.xml
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

385 lines
14 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<!--
################################################
## ##
## RYL mcf & gsf file editor ##
## ##
## (C) 2006 & 2007 AlphA ##
## ##
## This source is for private development. ##
## You can have this source only with the ##
## owners permission. ##
## ##
################################################
<cell type=[Known data type] name=[Header name] col=[column number] hide=[yes/no] val=[def. value] replace=[table ID] />
Known data types:
byte - 1 byte
i16 - signed 16bit(2 byte) integer
ui16 - unsigned 16bit(2 byte) integer
i32 - signed 32bit(4 byte) integer
ui32 - unsigned 32bit(4 byte) integer
float - 32bit single (4 byte) floating point value
char[len] - string with the specified length of bytes
Cell name:
The name that will be the header of this column
Cell hide:
The cell will not be written to output but will be written
on compiling to gsf. Cell val has to be specified.
Cell col:
The position of the col in the resulting table. Starts from 1
Cell hex:
Set to 1 on integer or byte types to display and parse the data as hex
Cell endtag:
For char[] types only: The byte value what to take as the ending of the text
Default is 0x0. This tag will be added upon compiling.
Cell multiplier:
for float/int types and no replacement can be in use in the same time:
Multiplies the number from binary with the given number. By saving it divides.
Cell replace:
This col will be replaced with another value if it maches any inputs in the
replacement table with the given ID
Cell redir_case:
IN/OU - will the col be used in the template searching procedures or not.
Linesplit val:
The value the type has to have to make a line split (start a new line)
Can be in normal 10(0-9) integer and 16(0-F) style hex(prefixed with a 0x)
This column is read in after parsing all the cells. If the linesplit cant be
recognized it wont move to a new line, it just starts adding new cols from the
cells start again.
-->
<gsf>
<file name="ItemScript" version="1600">
<replacements>
<replacement id="1">
<elem to="SHIRT" from="1" />
<elem to="TUNIC" from="2" />
<elem to="CON_ARMOUR" from="3" />
<elem to="CON_HELM" from="4" />
<elem to="CON_GLOVE" from="5" />
<elem to="CON_BOOTS" from="6" />
<elem to="DEX_ARMOUR" from="7" />
<elem to="DEX_HELM" from="8" />
<elem to="DEX_GLOVE" from="9" />
<elem to="DEX_BOOTS" from="10" />
<elem to="ONEHANDED_SWORD" from="11" />
<elem to="TWOHANDED_SWORD" from="12" />
<elem to="ONEHANDED_AXE" from="13" />
<elem to="TWOHANDED_AXE" from="14" />
<elem to="ONEHANDED_BLUNT" from="15" />
<elem to="TWOHANDED_BLUNT" from="16" />
<elem to="BOW" from="17" />
<elem to="CROSSBOW" from="18" />
<elem to="STAFF" from="19" />
<elem to="DAGGER" from="20" />
<elem to="SHIELD" from="21" />
<elem to="CON_BODY" from="22" />
<elem to="CON_HEAD" from="23" />
<elem to="CON_PELVIS" from="24" />
<elem to="CON_PROTECT_A" from="25" />
<elem to="DEX_BODY" from="26" />
<elem to="DEX_HEAD" from="27" />
<elem to="DEX_PELVIS" from="28" />
<elem to="DEX_PROTECT_A" from="29" />
<elem to="COM_BLUNT" from="30" />
<elem to="COM_SWORD" from="31" />
<elem to="OPP_HAMMER" from="32" />
<elem to="OPP_AXE" from="33" />
<elem to="OPP_SLUSHER" from="34" />
<elem to="OPP_TALON" from="35" />
<elem to="OPP_SYTHE" from="36" />
<elem to="SKILL_A_GUARD" from="37" />
<elem to="SKILL_A_ATTACK" from="38" />
<elem to="SKILL_A_GUN" from="39" />
<elem to="SKILL_A_KNIFE" from="40" />
<elem to="ARROW" from="41" />
<elem to="BOLT" from="42" />
<elem to="AMMO" from="43" />
<elem to="POTION" from="44" />
<elem to="EXPBOOK" from="45" />
<elem to="CASHBOOK" from="46" />
<elem to="EVENT_LOTTERY" from="47" />
<elem to="PORTAL" from="48" />
<elem to="FIRE_CRACKER" from="49" />
<elem to="SKILLBOOK" from="50" />
<elem to="GEM" from="51" />
<elem to="ORE" from="52" />
<elem to="ETC" from="53" />
<elem to="EVENT_DROP" from="54" />
<elem to="CAMP_KIT" from="55" />
<elem to="SHORT_RANGE_ARMS_KIT" from="56" />
<elem to="LONG_RANGE_ARMS_KIT" from="57" />
<elem to="AIRSHIP_KIT" from="58" />
<elem to="WORLDWEAPON_K_KIT" from="59" />
<elem to="WORLDWEAPON_M_KIT" from="60" />
<elem to="MINERAL_KIT" from="61" />
<elem to="QUEST_ITEM" from="62" />
<elem to="NECKLACE" from="63" />
<elem to="RING" from="64" />
<elem to="RUNE" from="65" />
</replacement>
<replacement id="2">
<elem to="NONE" from="0" />
<elem to="STR" from="1" />
<elem to="DEX" from="2" />
<elem to="CON" from="3" />
<elem to="INT" from="4" />
<elem to="WIS" from="5" />
<elem to="LEVEL" from="6" />
</replacement>
<replacement id="3">
<elem to="X" from="7" />
<elem to="F" from="6" />
<elem to="D" from="5" />
<elem to="C" from="4" />
<elem to="B" from="3" />
<elem to="A" from="2" />
<elem to="AA" from="1" />
<elem to="AAA" from="0" />
</replacement>
<replacement id="4">
<elem to="X" from="0" />
<elem to="O" from="1" />
</replacement>
</replacements>
</file>
<file name="ItemScript" version="1700">
<replacements>
<replacement id="1">
<elem to="SHIRT" from="1" />
<elem to="TUNIC" from="2" />
<elem to="CON_ARMOUR" from="3" />
<elem to="CON_HELM" from="4" />
<elem to="CON_GLOVE" from="5" />
<elem to="CON_BOOTS" from="6" />
<elem to="DEX_ARMOUR" from="7" />
<elem to="DEX_HELM" from="8" />
<elem to="DEX_GLOVE" from="9" />
<elem to="DEX_BOOTS" from="10" />
<elem to="ONEHANDED_SWORD" from="11" />
<elem to="TWOHANDED_SWORD" from="12" />
<elem to="ONEHANDED_AXE" from="13" />
<elem to="TWOHANDED_AXE" from="14" />
<elem to="ONEHANDED_BLUNT" from="15" />
<elem to="TWOHANDED_BLUNT" from="16" />
<elem to="BOW" from="17" />
<elem to="CROSSBOW" from="18" />
<elem to="STAFF" from="19" />
<elem to="DAGGER" from="20" />
<elem to="SHIELD" from="21" />
<elem to="CON_BODY" from="22" />
<elem to="CON_HEAD" from="23" />
<elem to="CON_PELVIS" from="24" />
<elem to="CON_PROTECT_A" from="25" />
<elem to="DEX_BODY" from="26" />
<elem to="DEX_HEAD" from="27" />
<elem to="DEX_PELVIS" from="28" />
<elem to="DEX_PROTECT_A" from="29" />
<elem to="COM_BLUNT" from="30" />
<elem to="COM_SWORD" from="31" />
<elem to="OPP_HAMMER" from="32" />
<elem to="OPP_AXE" from="33" />
<elem to="OPP_SLUSHER" from="34" />
<elem to="OPP_TALON" from="35" />
<elem to="OPP_SYTHE" from="36" />
<elem to="SKILL_A_GUARD" from="37" />
<elem to="SKILL_A_ATTACK" from="38" />
<elem to="SKILL_A_GUN" from="39" />
<elem to="SKILL_A_KNIFE" from="40" />
<elem to="ARROW" from="41" />
<elem to="BOLT" from="42" />
<elem to="AMMO" from="43" />
<elem to="POTION" from="44" />
<elem to="EXPBOOK" from="45" />
<elem to="CASHBOOK" from="46" />
<elem to="EVENT_LOTTERY" from="47" />
<elem to="PORTAL" from="48" />
<elem to="FIRE_CRACKER" from="49" />
<elem to="SKILLBOOK" from="50" />
<elem to="GEM" from="51" />
<elem to="ORE" from="52" />
<elem to="ETC" from="53" />
<elem to="EVENT_DROP" from="54" />
<elem to="CAMP_KIT" from="55" />
<elem to="SHORT_RANGE_ARMS_KIT" from="56" />
<elem to="LONG_RANGE_ARMS_KIT" from="57" />
<elem to="AIRSHIP_KIT" from="58" />
<elem to="WORLDWEAPON_K_KIT" from="59" />
<elem to="WORLDWEAPON_M_KIT" from="60" />
<elem to="MINERAL_KIT" from="61" />
<elem to="QUEST_ITEM" from="62" />
<elem to="NECKLACE" from="63" />
<elem to="RING" from="64" />
<elem to="RUNE" from="65" />
</replacement>
<replacement id="2">
<elem to="NONE" from="0" />
<elem to="STR" from="1" />
<elem to="DEX" from="2" />
<elem to="CON" from="3" />
<elem to="INT" from="4" />
<elem to="WIS" from="5" />
<elem to="LEVEL" from="6" />
</replacement>
<replacement id="3">
<elem to="X" from="7" />
<elem to="F" from="6" />
<elem to="D" from="5" />
<elem to="C" from="4" />
<elem to="B" from="3" />
<elem to="A" from="2" />
<elem to="AA" from="1" />
<elem to="AAA" from="0" />
</replacement>
<replacement id="4">
<elem to="X" from="0" />
<elem to="O" from="1" />
</replacement>
</replacements>
</file>
<file name="Script1">
<structure>
<cells size="14" hascolumns="0">
<cell type="char[14]" name="Bad_word" />
</cells>
<linesplit type="byte" val="0" />
</structure>
</file>
<file name="Chemical">
<structure>
<cells size="9" hascolumns="1">
<cell type="ui16" name="Pick_item" col="1" />
<cell type="ui16" name="Put_item" col="3" />
<cell type="ui16" name="Result_item" col="5" />
<cell type="byte" name="Pick_item_num" col="2" />
<cell type="byte" name="Put_item_num" col="4" />
<cell type="byte" name="Result_item_num" col="6" />
</cells>
<linesplit type="byte" val="0" />
</structure>
</file>
<file name="SpecialCompensation">
<structure>
<cells size="2" hascolumns="0">
<cell type="ui16" name="Item" />
</cells>
<linesplit type="ui16" val="0" />
</structure>
</file>
<file name="SkillScript">
<structure>
<cells size="516" hascolumns="1">
<cell type="char[32]" name="EffectFlag" col="20" />
<cell type="char[32]" name="HitFlag" col="21" />
<cell type="char[32]" name="CastingFlag" col="19" />
<cell type="char[64]" name="Name[5]" col="4" />
<cell type="char[32]" name="DDS" col="24" />
<cell type="ui16" name="MinX" col="25" />
<cell type="ui16" name="MinY" col="26" />
<cell type="ui16" name="MaxX" col="27" />
<cell type="ui16" name="MaxY" col="28" />
<cell type="char[256]" name="Text" col="37" endtag="0x0A" />
<cell type="ui32" name="Type" col="2" replace="1" />
<cell type="ui32" name="Target" col="10" replace="2" />
<cell type="ui32" name="Limit" col="5" replace="4" />
<cell type="ui16" name="Stat[0]" col="6" replace="3" />
<cell type="ui16" name="Value[0]" col="7" />
<cell type="ui16" name="ID" col="1" hex="1" />
<cell type="ui16" name="StartMP" col="14"/>
<cell type="ui16" name="LevelMP" col="15"/>
<cell type="ui16" name="LockAdd" col="16"/>
<cell type="ui16" name="StartTick" col="17"/>
<cell type="ui16" name="LevelTick" col="18"/>
<cell type="ui16" name="Parent" col="35" hex="1" />
<cell type="ui16" name="Child" col="36" hex="1" />
<cell type="ui32" name="CoolDownTime" col="22"/>
<cell type="float" name="mRange" col="11" />
<cell type="float" name="Range" col="12" />
<cell type="float" name="Region" col="13" />
<cell type="byte" name="Protection" col="31" />
<cell type="byte" name="Gauge" col="34" />
<cell type="byte" name="ClassSkill" col="3" />
<cell type="byte" name="Interrupt" col="32" />
<cell type="byte" name="Counter" col="33" />
<cell type="byte" name="EndScript" col="30" />
<cell type="byte" name="EndCoolDown" col="23" />
<cell type="byte" name="Hit" col="29" />
<cell type="ui16" name="Stat[1]" col="8" replace="3" />
<cell type="ui16" name="Value[1]" col="9" />
</cells>
</structure>
<replacements>
<replacement id="1">
<elem to="NONE" from="0" />
<elem to="PASSIVE" from="1" />
<elem to="INSTANCE" from="2" />
<elem to="CAST" from="3" />
<elem to="CHANT" from="4" />
<elem to="ITEM" from="6" />
<elem to="SET" from="7" />
<elem to="ACTION" from="8" />
</replacement>
<replacement id="2">
<elem to="NONE" from="0" />
<elem to="MELEE" from="1" />
<elem to="FRIEND" from="2" />
<elem to="ENEMY" from="3" />
<elem to="FRDEAD" from="4" />
<elem to="PARTY" from="8" />
<elem to="FREXME" from="9" />
<elem to="SUMMON" from="11" />
</replacement>
<replacement id="3">
<elem to="NONE" from="0" />
<elem to="STR" from="1" />
<elem to="DEX" from="2" />
<elem to="CON" from="3" />
<elem to="INT" from="4" />
<elem to="WIS" from="5" />
<elem to="LEVEL" from="6" />
</replacement>
<replacement id="4">
<elem to="NONE" from="0" />
<elem to="FORFIGHTER" from="1" />
<elem to="WITHDAGGER" from="5" />
<elem to="RANGED" from="7" />
<elem to="GUARDARM" from="9" />
<elem to="WITHWEAPON" from="10" />
<elem to="ATTACKARM" from="11" />
<elem to="GUNARM" from="12" />
<elem to="KNIFEARM" from="13" />
</replacement>
</replacements>
<rules>
<repeatemptyline listentocol="3" onvalue="1" repeat="4" />
</rules>
</file>
<file name="MonsterProtoType" version="1600">
<replacements>
<replacement id="1">
<elem to="X" from="0" />
<elem to="O" from="1" />
</replacement>
</replacements>
</file>
<file name="MonsterProtoType" version="1700">
<replacements>
<replacement id="1">
<elem to="X" from="0" />
<elem to="O" from="1" />
</replacement>
</replacements>
</file>
<file name="MineralVein">
</file>
</gsf>