Jump to content

acbx

Members
  • Posts

    18
  • Joined

  • Last visited

Posts posted by acbx

  1. Those files didn't work ? 

    And i forgot to show the "bug" in quest box in game

    The quest's description doesn't appear

     

    I really need some help here...

    image.thumb.png.46fd560b6955867ed823c9def66c5279.png

     

    I think the error is on this script below

    data\luafiles514\lua files\datainfo\questinfo_f.lub

    function RecommendedQuestInfoLoad()
    	for questID, table in pairs(RecommendedQuestInfoList) do
    		if nil == table.Title then
    			table.Title = ""
    		end
    		if nil == table.IconName then
    			table.IconName = ""
    		end
    		if nil == table.Summary then
    			table.Summary = ""
    		end
    		if nil == table.BgName then
    			table.BgName = ""
    		end
    		if nil == table.NpcSpr then
    			table.NpcSpr = ""
    		end
    		if nil == table.NpcNavi then
    			table.NpcNavi = ""
    		end
    		if nil == table.NpcPosX then
    			table.NpcPosX = 0
    		end
    		if nil == table.NpcPosY then
    			table.NpcPosY = 0
    		end
    		InsertRecommededQuestInfo(questID, table.Title, table.IconName, table.Summary, table.BgName, table.NpcSpr, table.NpcNavi, table.NpcPosX, table.NpcPosY)
    		if nil ~= table.QuestInfo1 then
    			for k, v in pairs(table.QuestInfo1) do
    				AddRecommendedQuestInfo(questID, 0, v)
    			end
    		end
    		if nil ~= table.QuestInfo2 then
    			for k, v in pairs(table.QuestInfo2) do
    				AddRecommendedQuestInfo(questID, 1, v)
    			end
    		end
    		if nil ~= table.QuestInfo3 then
    			for k, v in pairs(table.QuestInfo3) do
    				AddRecommendedQuestInfo(questID, 2, v)
    			end
    		end
    	end
    end

     

  2. Boa tarde

     

    Provavelmente é uma pergunta ridícula de se fazer, mas eu realmente gostaria de saber a diferença do formato .yml. Poderiam explicar, por favor?

     

    Eu gostaria de saber, pois como estou começando a utilizar o "Server Database Editor" e ele de forma alguma reconhece as tabelas das skill, acredito que talvez seja algum erro com a formato do arquivo.

  3. It worked! Thank you, so much!

     

    I just have changed few things.

     

    My test is in the last line of all files.

     

    I don't know why the print got "shaky"

    https://ibb.co/GkQs1j4

     

    mob_drop.txt

    // Monster Drop Database
    // Add drop item to monster
    //
    // Structure:
    // <mobid>,<itemid>,<rate>{,<randopt_groupid>,<flag>}
    //
    // <mobid>  : Monster ID. See db/[pre-]re/mob_db.txt
    // <itemid> : Item ID.
    // <rate>   : 1 = 0.01%
    //            100 = 1%
    //            10000 = 100%
    //            Just like rate in mob_db.txt, adjusted by battle_config.
    //            To remove original drop from monster, use 0 as rate.
    // Optional:
    // <randopt_groupid> : If set, the dropped item will be modified by Random Option Group based on db/[pre-]re/item_randomopt_group.txt
    // <flag>            : 1 - The item is protected from steal.
    //                     2 - As MVP Reward
    1002,1201,10000,RDMOPTG_KNIFE

     

    item_randomopt_db.txt

    // Items Random Option Database	
    //
    // Structure of Database:
    // ID,{ Bonus Script }
    RDMOPT_VAR_MAXHPAMOUNT,{ bonus bMaxHP,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MAXSPAMOUNT,{ bonus bMaxSP,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_STRAMOUNT,{ bonus bStr,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_AGIAMOUNT,{ bonus bAgi,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_VITAMOUNT,{ bonus bVit,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_INTAMOUNT,{ bonus bInt,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_DEXAMOUNT,{ bonus bDex,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_LUKAMOUNT,{ bonus bLuk,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MAXHPPERCENT,{ bonus bMaxHPrate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MAXSPPERCENT,{ bonus bMaxSPrate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_HPACCELERATION,{ bonus bHPrecovRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_SPACCELERATION,{ bonus bSPrecovRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_ATKPERCENT,{ bonus2 bAddClass,Class_All,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MAGICATKPERCENT,{ bonus bMatkRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_PLUSASPD,{ bonus bAspd,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_PLUSASPDPERCENT,{ bonus bAspdRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_ATTPOWER,{ bonus bAtk,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_HITSUCCESSVALUE,{ bonus bHit,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_ATTMPOWER,{ bonus bMatk,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_ITEMDEFPOWER,{ bonus bDef,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MDEFPOWER,{ bonus bMdef,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_AVOIDSUCCESSVALUE,{ bonus bFlee,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,{ bonus bFlee2,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_CRITICALSUCCESSVALUE,{ bonus bCritical,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_NOTHING,{ bonus2 bSubEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_WATER,{ bonus2 bSubEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_GROUND,{ bonus2 bSubEle,Ele_Earth,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_FIRE,{ bonus2 bSubEle,Ele_Fire,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_WIND,{ bonus2 bSubEle,Ele_Wind,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_POISON,{ bonus2 bSubEle,Ele_Poison,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_SAINT,{ bonus2 bSubEle,Ele_Holy,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_DARKNESS,{ bonus2 bSubEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_TELEKINESIS,{ bonus2 bSubEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_UNDEAD,{ bonus2 bSubEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_ALL,{ bonus2 bSubEle,Ele_All,getrandomoptinfo(ROA_VALUE); }
    // TODO: Confirm if damage reduction is implemented correctly.
    // kRO desc : <ELEMENT> ?????? ?? ?? ??? %d%% ??.
    RDMOPT_DAMAGE_PROPERTY_NOTHING_USER,{ bonus2 bSubDefEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET,{ bonus2 bAddEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_WATER_USER,{ bonus2 bSubDefEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_WATER_TARGET,{ bonus2 bAddEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_GROUND_USER,{ bonus2 bSubDefEle,Ele_Earth,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET,{ bonus2 bAddEle,Ele_Earth,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_FIRE_USER,{ bonus2 bSubDefEle,Ele_Fire,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET,{ bonus2 bAddEle,Ele_Fire,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_WIND_USER,{ bonus2 bSubDefEle,Ele_Wind,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_WIND_TARGET,{ bonus2 bAddEle,Ele_Wind,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_POISON_USER,{ bonus2 bSubDefEle,Ele_Poison,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_POISON_TARGET,{ bonus2 bAddEle,Ele_Poison,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_SAINT_USER,{ bonus2 bSubDefEle,Ele_Holy,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET,{ bonus2 bAddEle,Ele_Holy,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_DARKNESS_USER,{ bonus2 bSubDefEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET,{ bonus2 bAddEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_USER,{ bonus2 bSubDefEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET,{ bonus2 bAddEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_UNDEAD_USER,{ bonus2 bSubDefEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET,{ bonus2 bAddEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_NOTHING_USER,{ bonus3 bSubEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET,{ bonus2 bMagicAddEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_WATER_USER,{ bonus3 bSubEle,Ele_Water,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET,{ bonus2 bMagicAddEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_GROUND_USER,{ bonus3 bSubEle,Ele_Earth,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET,{ bonus2 bMagicAddEle,Ele_Earth,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_FIRE_USER,{ bonus3 bSubEle,Ele_Fire,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET,{ bonus2 bMagicAddEle,Ele_Fire,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_WIND_USER,{ bonus3 bSubEle,Ele_Wind,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET,{ bonus2 bMagicAddEle,Ele_Wind,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_POISON_USER,{ bonus3 bSubEle,Ele_Poison,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET,{ bonus2 bMagicAddEle,Ele_Poison,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_SAINT_USER,{ bonus3 bSubEle,Ele_Holy,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET,{ bonus2 bMagicAddEle,Ele_Holy,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_DARKNESS_USER,{ bonus3 bSubEle,Ele_Dark,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET,{ bonus2 bMagicAddEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_USER,{ bonus3 bSubEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET,{ bonus2 bMagicAddEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_UNDEAD_USER,{ bonus3 bSubEle,Ele_Undead,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET,{ bonus2 bMagicAddEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_BODY_ATTR_NOTHING,{ bonus bDefEle,Ele_Neutral; }
    RDMOPT_BODY_ATTR_WATER,{ bonus bDefEle,Ele_Water; }
    RDMOPT_BODY_ATTR_GROUND,{ bonus bDefEle,Ele_Earth; }
    RDMOPT_BODY_ATTR_FIRE,{ bonus bDefEle,Ele_Fire; }
    RDMOPT_BODY_ATTR_WIND,{ bonus bDefEle,Ele_Wind; }
    RDMOPT_BODY_ATTR_POISON,{ bonus bDefEle,Ele_Poison; }
    RDMOPT_BODY_ATTR_SAINT,{ bonus bDefEle,Ele_Holy; }
    RDMOPT_BODY_ATTR_DARKNESS,{ bonus bDefEle,Ele_Dark; }
    RDMOPT_BODY_ATTR_TELEKINESIS,{ bonus bDefEle,Ele_Ghost; }
    RDMOPT_BODY_ATTR_UNDEAD,{ bonus bDefEle,Ele_Undead; }
    //RDMOPT_BODY_ATTR_ALL,{ /* Needs more info */ }
    RDMOPT_RACE_TOLERACE_NOTHING,{ bonus2 bSubRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_UNDEAD,{ bonus2 bSubRace,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_ANIMAL,{ bonus2 bSubRace,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_PLANT,{ bonus2 bSubRace,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_INSECT,{ bonus2 bSubRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_FISHS,{ bonus2 bSubRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_DEVIL,{ bonus2 bSubRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_HUMAN,{ bonus2 bSubRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bSubRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_ANGEL,{ bonus2 bSubRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_DRAGON,{ bonus2 bSubRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_NOTHING,{ bonus2 bAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_UNDEAD,{ bonus2 bAddRace,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_ANIMAL,{ bonus2 bAddRace,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_PLANT,{ bonus2 bAddRace,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_INSECT,{ bonus2 bAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_FISHS,{ bonus2 bAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_DEVIL,{ bonus2 bAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_HUMAN,{ bonus2 bAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bAddRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_ANGEL,{ bonus2 bAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_DRAGON,{ bonus2 bAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_NOTHING,{ bonus2 bMagicAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_UNDEAD,{ bonus2 bMagicAddRace,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_ANIMAL,{ bonus2 bMagicAddRace,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_PLANT,{ bonus2 bMagicAddRace,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_INSECT,{ bonus2 bMagicAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_FISHS,{ bonus2 bMagicAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_DEVIL,{ bonus2 bMagicAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_HUMAN,{ bonus2 bMagicAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bMagicAddRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_ANGEL,{ bonus2 bMagicAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_DRAGON,{ bonus2 bMagicAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_CRI_PERCENT_NOTHING,{ bonus2 bCriticalAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_UNDEAD,{ bonus2 bCriticalAddRace,RC_Undead,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_ANIMAL,{ bonus2 bCriticalAddRace,RC_Brute,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_PLANT,{ bonus2 bCriticalAddRace,RC_Plant,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_INSECT,{ bonus2 bCriticalAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_FISHS,{ bonus2 bCriticalAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_DEVIL,{ bonus2 bCriticalAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_HUMAN,{ bonus2 bCriticalAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE)/10; bonus2 bCriticalAddRace,RC_Player,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_ANGEL,{ bonus2 bCriticalAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_DRAGON,{ bonus2 bCriticalAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING,{ bonus2 bIgnoreDefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_UNDEAD,{ bonus2 bIgnoreDefRaceRate,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_ANIMAL,{ bonus2 bIgnoreDefRaceRate,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_PLANT,{ bonus2 bIgnoreDefRaceRate,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT,{ bonus2 bIgnoreDefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS,{ bonus2 bIgnoreDefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL,{ bonus2 bIgnoreDefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN,{ bonus2 bIgnoreDefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreDefRaceRate,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL,{ bonus2 bIgnoreDefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON,{ bonus2 bIgnoreDefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING,{ bonus2 bIgnoreMdefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_UNDEAD,{ bonus2 bIgnoreMdefRaceRate,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANIMAL,{ bonus2 bIgnoreMdefRaceRate,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLANT,{ bonus2 bIgnoreMdefRaceRate,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT,{ bonus2 bIgnoreMdefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS,{ bonus2 bIgnoreMdefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreMdefRaceRate,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL,{ bonus2 bIgnoreMdefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON,{ bonus2 bIgnoreMdefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_DAMAGE_NORMAL_TARGET,{ bonus2 bAddClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_DAMAGE_BOSS_TARGET,{ bonus2 bAddClass,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_DAMAGE_NORMAL_USER,{ bonus2 bSubClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_DAMAGE_BOSS_USER,{ bonus2 bSubClass,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_MDAMAGE_NORMAL,{ bonus2 bMagicAddClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_MDAMAGE_BOSS,{ bonus2 bMagicAddClass,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_IGNORE_DEF_PERCENT_NORMAL,{ bonus2 bIgnoreDefClassRate,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_IGNORE_DEF_PERCENT_BOSS,{ bonus2 bIgnoreDefClassRate,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_IGNORE_MDEF_PERCENT_NORMAL,{ bonus2 bIgnoreMdefClassRate,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_IGNORE_MDEF_PERCENT_BOSS,{ bonus2 bIgnoreMdefClassRate,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_SMALL_TARGET,{ bonus2 bAddSize,Size_Small,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET,{ bonus2 bAddSize,Size_Medium,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_LARGE_TARGET,{ bonus2 bAddSize,Size_Large,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_SMALL_USER,{ bonus2 bSubSize,Size_Small,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_MIDIUM_USER,{ bonus2 bSubSize,Size_Medium,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_LARGE_USER,{ bonus2 bSubSize,Size_Large,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_PERFECT,{ bonus bNoSizeFix,1; }
    RDMOPT_DAMAGE_CRI_TARGET,{ bonus bCritAtkRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_CRI_USER,{ bonus bCriticalDef,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RANGE_ATTACK_DAMAGE_TARGET,{ bonus bLongAtkRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RANGE_ATTACK_DAMAGE_USER,{ bonus bLongAtkDef,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_HEAL_VALUE,{ bonus bHealPower,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_HEAL_MODIFY_PERCENT,{ bonus bHealPower2,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DEC_SPELL_CAST_TIME,{ bonus bVariableCastrate,-(getrandomoptinfo(ROA_VALUE));}
    RDMOPT_DEC_SPELL_DELAY_TIME,{ bonus bDelayrate,-(getrandomoptinfo(ROA_VALUE)); }
    RDMOPT_DEC_SP_CONSUMPTION,{ bonus bUseSPrate,-(getrandomoptinfo(ROA_VALUE)); }
    //RDMOPT_HP_DRAIN,{ /* Needs more info */ }
    //RDMOPT_SP_DRAIN,{ /* Needs more info */ }
    RDMOPT_WEAPON_ATTR_NOTHING,{ bonus bAtkEle,Ele_Neutral; }
    RDMOPT_WEAPON_ATTR_WATER,{ bonus bAtkEle,Ele_Water; }
    RDMOPT_WEAPON_ATTR_GROUND,{ bonus bAtkEle,Ele_Earth; }
    RDMOPT_WEAPON_ATTR_FIRE,{ bonus bAtkEle,Ele_Fire; }
    RDMOPT_WEAPON_ATTR_WIND,{ bonus bAtkEle,Ele_Wind; }
    RDMOPT_WEAPON_ATTR_POISON,{ bonus bAtkEle,Ele_Poison; }
    RDMOPT_WEAPON_ATTR_SAINT,{ bonus bAtkEle,Ele_Holy; }
    RDMOPT_WEAPON_ATTR_DARKNESS,{ bonus bAtkEle,Ele_Dark; }
    RDMOPT_WEAPON_ATTR_TELEKINESIS,{ bonus bAtkEle,Ele_Ghost; }
    RDMOPT_WEAPON_ATTR_UNDEAD,{ bonus bAtkEle,Ele_Undead; }
    RDMOPT_WEAPON_INDESTRUCTIBLE,{ bonus bUnbreakableWeapon,1; }
    RDMOPT_BODY_INDESTRUCTIBLE,{ bonus bUnbreakableArmor,1; }
    RDMOPT_MDAMAGE_SIZE_SMALL_TARGET,{ bonus2 bMagicAddSize,Size_Small,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET,{ bonus2 bMagicAddSize,Size_Medium,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_SIZE_LARGE_TARGET,{ bonus2 bMagicAddSize,Size_Large,getrandomoptinfo(ROA_VALUE); }
    //RDMOPT_MDAMAGE_SIZE_SMALL_USER,{}
    //RDMOPT_MDAMAGE_SIZE_MIDIUM_USER,{}
    //RDMOPT_MDAMAGE_SIZE_LARGE_USER,{}
    //redefined?
    //RDMOPT_ATTR_TOLERACE_ALL,{}

     

    item_randomopt_group.txt

    // <randopt_groupid>,<rate>,<randopt_id1>,<randopt_value1>,<randopt_param1>{,<randopt_id2>,<randopt_value2>,<randopt_param2>,<randopt_id3>,<randopt_value3>,<randopt_param3>,<randopt_id4>,<randopt_value4>,<randopt_param4>,<randopt_id5>,<randopt_value5>,<randopt_param5>}
    RDMOPTG_KNIFE,10000,RDMOPT_VAR_MAXHPAMOUNT,100,0,RDMOPT_VAR_ATKPERCENT,500,0

     

    const.txt

    // Script Constant Database
    //
    // Structure of Database:
    // Identifier	Value[	Type]
    //
    // Alternatively:
    // Identifier,Value[,Type]
    //
    // 01. Identifier   Unique name for the constant, must not have same name as script commands, functions or variables.
    // 02. Value        Value assigned to the constant. This value cannot be changed during the runtime of the server.
    // 03. Type         Specifies whether the identifier is a constant (0) or a parameter (1) (optional, defaults to 0).
    //
    // NOTE:            Parameters are special in that they retrieve certain runtime values depending on the specified ID
    //                  in field Value. Depending on the implementation values assigned by scripts to parameters will affect
    //                  runtime values, such as Zeny, as well (see pc_readparam/pc_setparam).
    
    RDMOPT_VAR_MAXHPAMOUNT	1
    RDMOPT_VAR_MAXSPAMOUNT	2
    RDMOPT_VAR_STRAMOUNT	3
    RDMOPT_VAR_AGIAMOUNT	4
    RDMOPT_VAR_VITAMOUNT	5
    RDMOPT_VAR_INTAMOUNT	6
    RDMOPT_VAR_DEXAMOUNT	7
    RDMOPT_VAR_LUKAMOUNT	8
    RDMOPT_VAR_MAXHPPERCENT	9
    RDMOPT_VAR_MAXSPPERCENT	10
    RDMOPT_VAR_HPACCELERATION	11
    RDMOPT_VAR_SPACCELERATION	12
    RDMOPT_VAR_ATKPERCENT	13
    RDMOPT_VAR_MAGICATKPERCENT	14
    RDMOPT_VAR_PLUSASPD	15
    RDMOPT_VAR_PLUSASPDPERCENT	16
    RDMOPT_VAR_ATTPOWER	17
    RDMOPT_VAR_HITSUCCESSVALUE	18
    RDMOPT_VAR_ATTMPOWER	19
    RDMOPT_VAR_ITEMDEFPOWER	20
    RDMOPT_VAR_MDEFPOWER	21
    RDMOPT_VAR_AVOIDSUCCESSVALUE	22
    RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE	23
    RDMOPT_VAR_CRITICALSUCCESSVALUE	24
    RDMOPT_ATTR_TOLERACE_NOTHING	25
    RDMOPT_ATTR_TOLERACE_WATER	26
    RDMOPT_ATTR_TOLERACE_GROUND	27
    RDMOPT_ATTR_TOLERACE_FIRE	28
    RDMOPT_ATTR_TOLERACE_WIND	29
    RDMOPT_ATTR_TOLERACE_POISON	30
    RDMOPT_ATTR_TOLERACE_SAINT	31
    RDMOPT_ATTR_TOLERACE_DARKNESS	32
    RDMOPT_ATTR_TOLERACE_TELEKINESIS	33
    RDMOPT_ATTR_TOLERACE_UNDEAD	34
    RDMOPT_ATTR_TOLERACE_ALL	35
    RDMOPT_DAMAGE_PROPERTY_NOTHING_USER	36
    RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET	37
    RDMOPT_DAMAGE_PROPERTY_WATER_USER	38
    RDMOPT_DAMAGE_PROPERTY_WATER_TARGET	39
    RDMOPT_DAMAGE_PROPERTY_GROUND_USER	40
    RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET	41
    RDMOPT_DAMAGE_PROPERTY_FIRE_USER	42
    RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET	43
    RDMOPT_DAMAGE_PROPERTY_WIND_USER	44
    RDMOPT_DAMAGE_PROPERTY_WIND_TARGET	45
    RDMOPT_DAMAGE_PROPERTY_POISON_USER	46
    RDMOPT_DAMAGE_PROPERTY_POISON_TARGET	47
    RDMOPT_DAMAGE_PROPERTY_SAINT_USER	48
    RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET	49
    RDMOPT_DAMAGE_PROPERTY_DARKNESS_USER	50
    RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET	51
    RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_USER	52
    RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET	53
    RDMOPT_DAMAGE_PROPERTY_UNDEAD_USER	54
    RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET	55
    RDMOPT_MDAMAGE_PROPERTY_NOTHING_USER	56
    RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET	57
    RDMOPT_MDAMAGE_PROPERTY_WATER_USER	58
    RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET	59
    RDMOPT_MDAMAGE_PROPERTY_GROUND_USER	60
    RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET	61
    RDMOPT_MDAMAGE_PROPERTY_FIRE_USER	62
    RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET	63
    RDMOPT_MDAMAGE_PROPERTY_WIND_USER	64
    RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET	65
    RDMOPT_MDAMAGE_PROPERTY_POISON_USER	66
    RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET	67
    RDMOPT_MDAMAGE_PROPERTY_SAINT_USER	68
    RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET	69
    RDMOPT_MDAMAGE_PROPERTY_DARKNESS_USER	70
    RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET	71
    RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_USER	72
    RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET	73
    RDMOPT_MDAMAGE_PROPERTY_UNDEAD_USER	74
    RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET	75
    RDMOPT_BODY_ATTR_NOTHING	76
    RDMOPT_BODY_ATTR_WATER	77
    RDMOPT_BODY_ATTR_GROUND	78
    RDMOPT_BODY_ATTR_FIRE	79
    RDMOPT_BODY_ATTR_WIND	80
    RDMOPT_BODY_ATTR_POISON	81
    RDMOPT_BODY_ATTR_SAINT	82
    RDMOPT_BODY_ATTR_DARKNESS	83
    RDMOPT_BODY_ATTR_TELEKINESIS	84
    RDMOPT_BODY_ATTR_UNDEAD	85
    RDMOPT_BODY_ATTR_ALL	86
    RDMOPT_RACE_TOLERACE_NOTHING	87
    RDMOPT_RACE_TOLERACE_UNDEAD	88
    RDMOPT_RACE_TOLERACE_ANIMAL	89
    RDMOPT_RACE_TOLERACE_PLANT	90
    RDMOPT_RACE_TOLERACE_INSECT	91
    RDMOPT_RACE_TOLERACE_FISHS	92
    RDMOPT_RACE_TOLERACE_DEVIL	93
    RDMOPT_RACE_TOLERACE_HUMAN	94
    RDMOPT_RACE_TOLERACE_ANGEL	95
    RDMOPT_RACE_TOLERACE_DRAGON	96
    RDMOPT_RACE_DAMAGE_NOTHING	97
    RDMOPT_RACE_DAMAGE_UNDEAD	98
    RDMOPT_RACE_DAMAGE_ANIMAL	99
    RDMOPT_RACE_DAMAGE_PLANT	100
    RDMOPT_RACE_DAMAGE_INSECT	101
    RDMOPT_RACE_DAMAGE_FISHS	102
    RDMOPT_RACE_DAMAGE_DEVIL	103
    RDMOPT_RACE_DAMAGE_HUMAN	104
    RDMOPT_RACE_DAMAGE_ANGEL	105
    RDMOPT_RACE_DAMAGE_DRAGON	106
    RDMOPT_RACE_MDAMAGE_NOTHING	107
    RDMOPT_RACE_MDAMAGE_UNDEAD	108
    RDMOPT_RACE_MDAMAGE_ANIMAL	109
    RDMOPT_RACE_MDAMAGE_PLANT	110
    RDMOPT_RACE_MDAMAGE_INSECT	111
    RDMOPT_RACE_MDAMAGE_FISHS	112
    RDMOPT_RACE_MDAMAGE_DEVIL	113
    RDMOPT_RACE_MDAMAGE_HUMAN	114
    RDMOPT_RACE_MDAMAGE_ANGEL	115
    RDMOPT_RACE_MDAMAGE_DRAGON	116
    RDMOPT_RACE_CRI_PERCENT_NOTHING	117
    RDMOPT_RACE_CRI_PERCENT_UNDEAD	118
    RDMOPT_RACE_CRI_PERCENT_ANIMAL	119
    RDMOPT_RACE_CRI_PERCENT_PLANT	120
    RDMOPT_RACE_CRI_PERCENT_INSECT	121
    RDMOPT_RACE_CRI_PERCENT_FISHS	122
    RDMOPT_RACE_CRI_PERCENT_DEVIL	123
    RDMOPT_RACE_CRI_PERCENT_HUMAN	124
    RDMOPT_RACE_CRI_PERCENT_ANGEL	125
    RDMOPT_RACE_CRI_PERCENT_DRAGON	126
    RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING	127
    RDMOPT_RACE_IGNORE_DEF_PERCENT_UNDEAD	128
    RDMOPT_RACE_IGNORE_DEF_PERCENT_ANIMAL	129
    RDMOPT_RACE_IGNORE_DEF_PERCENT_PLANT	130
    RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT	131
    RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS	132
    RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL	133
    RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN	134
    RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL	135
    RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON	136
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING	137
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_UNDEAD	138
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANIMAL	139
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLANT	140
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT	141
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS	142
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL	143
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN	144
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL	145
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON	146
    RDMOPT_CLASS_DAMAGE_NORMAL_TARGET	147
    RDMOPT_CLASS_DAMAGE_BOSS_TARGET	148
    RDMOPT_CLASS_DAMAGE_NORMAL_USER	149
    RDMOPT_CLASS_DAMAGE_BOSS_USER	150
    RDMOPT_CLASS_MDAMAGE_NORMAL	151
    RDMOPT_CLASS_MDAMAGE_BOSS	152
    RDMOPT_CLASS_IGNORE_DEF_PERCENT_NORMAL	153
    RDMOPT_CLASS_IGNORE_DEF_PERCENT_BOSS	154
    RDMOPT_CLASS_IGNORE_MDEF_PERCENT_NORMAL	155
    RDMOPT_CLASS_IGNORE_MDEF_PERCENT_BOSS	156
    RDMOPT_DAMAGE_SIZE_SMALL_TARGET	157
    RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET	158
    RDMOPT_DAMAGE_SIZE_LARGE_TARGET	159
    RDMOPT_DAMAGE_SIZE_SMALL_USER	160
    RDMOPT_DAMAGE_SIZE_MIDIUM_USER	161
    RDMOPT_DAMAGE_SIZE_LARGE_USER	162
    RDMOPT_DAMAGE_SIZE_PERFECT	163
    RDMOPT_DAMAGE_CRI_TARGET	164
    RDMOPT_DAMAGE_CRI_USER	165
    RDMOPT_RANGE_ATTACK_DAMAGE_TARGET	166
    RDMOPT_RANGE_ATTACK_DAMAGE_USER	167
    RDMOPT_HEAL_VALUE	168
    RDMOPT_HEAL_MODIFY_PERCENT	169
    RDMOPT_DEC_SPELL_CAST_TIME	170
    RDMOPT_DEC_SPELL_DELAY_TIME	171
    RDMOPT_DEC_SP_CONSUMPTION	172
    RDMOPT_HP_DRAIN	173
    RDMOPT_SP_DRAIN	174
    RDMOPT_WEAPON_ATTR_NOTHING	175
    RDMOPT_WEAPON_ATTR_WATER	176
    RDMOPT_WEAPON_ATTR_GROUND	177
    RDMOPT_WEAPON_ATTR_FIRE	178
    RDMOPT_WEAPON_ATTR_WIND	179
    RDMOPT_WEAPON_ATTR_POISON	180
    RDMOPT_WEAPON_ATTR_SAINT	181
    RDMOPT_WEAPON_ATTR_DARKNESS	182
    RDMOPT_WEAPON_ATTR_TELEKINESIS	183
    RDMOPT_WEAPON_ATTR_UNDEAD	184
    RDMOPT_WEAPON_INDESTRUCTIBLE	185
    RDMOPT_BODY_INDESTRUCTIBLE	186
    RDMOPT_MDAMAGE_SIZE_SMALL_TARGET	187
    RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET	188
    RDMOPT_MDAMAGE_SIZE_LARGE_TARGET	189
    RDMOPT_MDAMAGE_SIZE_SMALL_USER	190
    RDMOPT_MDAMAGE_SIZE_MIDIUM_USER	191
    RDMOPT_MDAMAGE_SIZE_LARGE_USER	192
    //RDMOPT_ATTR_TOLERACE_ALL	193
    
    SWORDCLAN	1
    ARCWANDCLAN	2
    GOLDENMACECLAN	3
    CROSSBOWCLAN	4
    JUMPINGCLAN	5
    
    // TESTE
    RDMOPTG_KNIFE	1

     

  4. Hello

    I need some help with this error, please.

    [Error]: mob_readdb_drop: Invalid 'randopt_groupid' '{ RDMOPT_VAR_MAXHPAMOUNT };' for monster '1002'.
    [Error]: sv_readdb: Could not process contents of line 18 of "db/pre-re/mob_drop.txt".

     

    My mob_drop (pre-re)

    // Monster Drop Database
    // Add drop item to monster
    //
    // Structure:
    // <mobid>,<itemid>,<rate>{,<randopt_groupid>,<flag>}
    //
    // <mobid>  : Monster ID. See db/[pre-]re/mob_db.txt
    // <itemid> : Item ID.
    // <rate>   : 1 = 0.01%
    //            100 = 1%
    //            10000 = 100%
    //            Just like rate in mob_db.txt, adjusted by battle_config.
    //            To remove original drop from monster, use 0 as rate.
    // Optional:
    // <randopt_groupid> : If set, the dropped item will be modified by Random Option Group based on db/[pre-]re/item_randomopt_group.txt
    // <flag>            : 1 - The item is protected from steal.
    //                     2 - As MVP Reward
    1002,1201,10000,{ RDMOPT_VAR_MAXHPAMOUNT };

     

    My item_randomopt (pre-re)

    // Items Random Option Database	
    //
    // Structure of Database:
    // ID,{ Bonus Script }
    RDMOPT_VAR_MAXHPAMOUNT,{ bonus bMaxHP,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MAXSPAMOUNT,{ bonus bMaxSP,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_STRAMOUNT,{ bonus bStr,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_AGIAMOUNT,{ bonus bAgi,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_VITAMOUNT,{ bonus bVit,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_INTAMOUNT,{ bonus bInt,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_DEXAMOUNT,{ bonus bDex,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_LUKAMOUNT,{ bonus bLuk,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MAXHPPERCENT,{ bonus bMaxHPrate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MAXSPPERCENT,{ bonus bMaxSPrate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_HPACCELERATION,{ bonus bHPrecovRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_SPACCELERATION,{ bonus bSPrecovRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_ATKPERCENT,{ bonus2 bAddClass,Class_All,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MAGICATKPERCENT,{ bonus bMatkRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_PLUSASPD,{ bonus bAspd,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_PLUSASPDPERCENT,{ bonus bAspdRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_ATTPOWER,{ bonus bAtk,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_HITSUCCESSVALUE,{ bonus bHit,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_ATTMPOWER,{ bonus bMatk,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_ITEMDEFPOWER,{ bonus bDef,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_MDEFPOWER,{ bonus bMdef,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_AVOIDSUCCESSVALUE,{ bonus bFlee,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,{ bonus bFlee2,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_VAR_CRITICALSUCCESSVALUE,{ bonus bCritical,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_NOTHING,{ bonus2 bSubEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_WATER,{ bonus2 bSubEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_GROUND,{ bonus2 bSubEle,Ele_Earth,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_FIRE,{ bonus2 bSubEle,Ele_Fire,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_WIND,{ bonus2 bSubEle,Ele_Wind,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_POISON,{ bonus2 bSubEle,Ele_Poison,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_SAINT,{ bonus2 bSubEle,Ele_Holy,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_DARKNESS,{ bonus2 bSubEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_TELEKINESIS,{ bonus2 bSubEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_UNDEAD,{ bonus2 bSubEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_ATTR_TOLERACE_ALL,{ bonus2 bSubEle,Ele_All,getrandomoptinfo(ROA_VALUE); }
    // TODO: Confirm if damage reduction is implemented correctly.
    // kRO desc : <ELEMENT> ?????? ?? ?? ??? %d%% ??.
    RDMOPT_DAMAGE_PROPERTY_NOTHING_USER,{ bonus2 bSubDefEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET,{ bonus2 bAddEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_WATER_USER,{ bonus2 bSubDefEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_WATER_TARGET,{ bonus2 bAddEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_GROUND_USER,{ bonus2 bSubDefEle,Ele_Earth,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET,{ bonus2 bAddEle,Ele_Earth,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_FIRE_USER,{ bonus2 bSubDefEle,Ele_Fire,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET,{ bonus2 bAddEle,Ele_Fire,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_WIND_USER,{ bonus2 bSubDefEle,Ele_Wind,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_WIND_TARGET,{ bonus2 bAddEle,Ele_Wind,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_POISON_USER,{ bonus2 bSubDefEle,Ele_Poison,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_POISON_TARGET,{ bonus2 bAddEle,Ele_Poison,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_SAINT_USER,{ bonus2 bSubDefEle,Ele_Holy,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET,{ bonus2 bAddEle,Ele_Holy,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_DARKNESS_USER,{ bonus2 bSubDefEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET,{ bonus2 bAddEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_USER,{ bonus2 bSubDefEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET,{ bonus2 bAddEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_UNDEAD_USER,{ bonus2 bSubDefEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET,{ bonus2 bAddEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_NOTHING_USER,{ bonus3 bSubEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET,{ bonus2 bMagicAddEle,Ele_Neutral,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_WATER_USER,{ bonus3 bSubEle,Ele_Water,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET,{ bonus2 bMagicAddEle,Ele_Water,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_GROUND_USER,{ bonus3 bSubEle,Ele_Earth,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET,{ bonus2 bMagicAddEle,Ele_Earth,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_FIRE_USER,{ bonus3 bSubEle,Ele_Fire,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET,{ bonus2 bMagicAddEle,Ele_Fire,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_WIND_USER,{ bonus3 bSubEle,Ele_Wind,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET,{ bonus2 bMagicAddEle,Ele_Wind,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_POISON_USER,{ bonus3 bSubEle,Ele_Poison,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET,{ bonus2 bMagicAddEle,Ele_Poison,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_SAINT_USER,{ bonus3 bSubEle,Ele_Holy,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET,{ bonus2 bMagicAddEle,Ele_Holy,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_DARKNESS_USER,{ bonus3 bSubEle,Ele_Dark,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET,{ bonus2 bMagicAddEle,Ele_Dark,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_USER,{ bonus3 bSubEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET,{ bonus2 bMagicAddEle,Ele_Ghost,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_PROPERTY_UNDEAD_USER,{ bonus3 bSubEle,Ele_Undead,getrandomoptinfo(ROA_VALUE),BF_MAGIC; }
    RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET,{ bonus2 bMagicAddEle,Ele_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_BODY_ATTR_NOTHING,{ bonus bDefEle,Ele_Neutral; }
    RDMOPT_BODY_ATTR_WATER,{ bonus bDefEle,Ele_Water; }
    RDMOPT_BODY_ATTR_GROUND,{ bonus bDefEle,Ele_Earth; }
    RDMOPT_BODY_ATTR_FIRE,{ bonus bDefEle,Ele_Fire; }
    RDMOPT_BODY_ATTR_WIND,{ bonus bDefEle,Ele_Wind; }
    RDMOPT_BODY_ATTR_POISON,{ bonus bDefEle,Ele_Poison; }
    RDMOPT_BODY_ATTR_SAINT,{ bonus bDefEle,Ele_Holy; }
    RDMOPT_BODY_ATTR_DARKNESS,{ bonus bDefEle,Ele_Dark; }
    RDMOPT_BODY_ATTR_TELEKINESIS,{ bonus bDefEle,Ele_Ghost; }
    RDMOPT_BODY_ATTR_UNDEAD,{ bonus bDefEle,Ele_Undead; }
    //RDMOPT_BODY_ATTR_ALL,{ /* Needs more info */ }
    RDMOPT_RACE_TOLERACE_NOTHING,{ bonus2 bSubRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_UNDEAD,{ bonus2 bSubRace,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_ANIMAL,{ bonus2 bSubRace,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_PLANT,{ bonus2 bSubRace,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_INSECT,{ bonus2 bSubRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_FISHS,{ bonus2 bSubRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_DEVIL,{ bonus2 bSubRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_HUMAN,{ bonus2 bSubRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bSubRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_ANGEL,{ bonus2 bSubRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_TOLERACE_DRAGON,{ bonus2 bSubRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_NOTHING,{ bonus2 bAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_UNDEAD,{ bonus2 bAddRace,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_ANIMAL,{ bonus2 bAddRace,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_PLANT,{ bonus2 bAddRace,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_INSECT,{ bonus2 bAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_FISHS,{ bonus2 bAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_DEVIL,{ bonus2 bAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_HUMAN,{ bonus2 bAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bAddRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_ANGEL,{ bonus2 bAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_DAMAGE_DRAGON,{ bonus2 bAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_NOTHING,{ bonus2 bMagicAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_UNDEAD,{ bonus2 bMagicAddRace,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_ANIMAL,{ bonus2 bMagicAddRace,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_PLANT,{ bonus2 bMagicAddRace,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_INSECT,{ bonus2 bMagicAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_FISHS,{ bonus2 bMagicAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_DEVIL,{ bonus2 bMagicAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_HUMAN,{ bonus2 bMagicAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bMagicAddRace,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_ANGEL,{ bonus2 bMagicAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_MDAMAGE_DRAGON,{ bonus2 bMagicAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_CRI_PERCENT_NOTHING,{ bonus2 bCriticalAddRace,RC_Formless,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_UNDEAD,{ bonus2 bCriticalAddRace,RC_Undead,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_ANIMAL,{ bonus2 bCriticalAddRace,RC_Brute,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_PLANT,{ bonus2 bCriticalAddRace,RC_Plant,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_INSECT,{ bonus2 bCriticalAddRace,RC_Insect,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_FISHS,{ bonus2 bCriticalAddRace,RC_Fish,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_DEVIL,{ bonus2 bCriticalAddRace,RC_Demon,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_HUMAN,{ bonus2 bCriticalAddRace,RC_DemiHuman,getrandomoptinfo(ROA_VALUE)/10; bonus2 bCriticalAddRace,RC_Player,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_ANGEL,{ bonus2 bCriticalAddRace,RC_Angel,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_CRI_PERCENT_DRAGON,{ bonus2 bCriticalAddRace,RC_Dragon,getrandomoptinfo(ROA_VALUE)/10; }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING,{ bonus2 bIgnoreDefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_UNDEAD,{ bonus2 bIgnoreDefRaceRate,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_ANIMAL,{ bonus2 bIgnoreDefRaceRate,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_PLANT,{ bonus2 bIgnoreDefRaceRate,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT,{ bonus2 bIgnoreDefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS,{ bonus2 bIgnoreDefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL,{ bonus2 bIgnoreDefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN,{ bonus2 bIgnoreDefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreDefRaceRate,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL,{ bonus2 bIgnoreDefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON,{ bonus2 bIgnoreDefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING,{ bonus2 bIgnoreMdefRaceRate,RC_Formless,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_UNDEAD,{ bonus2 bIgnoreMdefRaceRate,RC_Undead,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANIMAL,{ bonus2 bIgnoreMdefRaceRate,RC_Brute,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLANT,{ bonus2 bIgnoreMdefRaceRate,RC_Plant,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT,{ bonus2 bIgnoreMdefRaceRate,RC_Insect,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS,{ bonus2 bIgnoreMdefRaceRate,RC_Fish,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,getrandomoptinfo(ROA_VALUE); bonus2 bIgnoreMdefRaceRate,RC_Player,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL,{ bonus2 bIgnoreMdefRaceRate,RC_Angel,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON,{ bonus2 bIgnoreMdefRaceRate,RC_Dragon,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_DAMAGE_NORMAL_TARGET,{ bonus2 bAddClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_DAMAGE_BOSS_TARGET,{ bonus2 bAddClass,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_DAMAGE_NORMAL_USER,{ bonus2 bSubClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_DAMAGE_BOSS_USER,{ bonus2 bSubClass,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_MDAMAGE_NORMAL,{ bonus2 bMagicAddClass,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_MDAMAGE_BOSS,{ bonus2 bMagicAddClass,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_IGNORE_DEF_PERCENT_NORMAL,{ bonus2 bIgnoreDefClassRate,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_IGNORE_DEF_PERCENT_BOSS,{ bonus2 bIgnoreDefClassRate,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_IGNORE_MDEF_PERCENT_NORMAL,{ bonus2 bIgnoreMdefClassRate,Class_Normal,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_CLASS_IGNORE_MDEF_PERCENT_BOSS,{ bonus2 bIgnoreMdefClassRate,Class_Boss,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_SMALL_TARGET,{ bonus2 bAddSize,Size_Small,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET,{ bonus2 bAddSize,Size_Medium,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_LARGE_TARGET,{ bonus2 bAddSize,Size_Large,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_SMALL_USER,{ bonus2 bSubSize,Size_Small,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_MIDIUM_USER,{ bonus2 bSubSize,Size_Medium,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_LARGE_USER,{ bonus2 bSubSize,Size_Large,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_SIZE_PERFECT,{ bonus bNoSizeFix,1; }
    RDMOPT_DAMAGE_CRI_TARGET,{ bonus bCritAtkRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DAMAGE_CRI_USER,{ bonus bCriticalDef,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RANGE_ATTACK_DAMAGE_TARGET,{ bonus bLongAtkRate,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_RANGE_ATTACK_DAMAGE_USER,{ bonus bLongAtkDef,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_HEAL_VALUE,{ bonus bHealPower,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_HEAL_MODIFY_PERCENT,{ bonus bHealPower2,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_DEC_SPELL_CAST_TIME,{ bonus bVariableCastrate,-(getrandomoptinfo(ROA_VALUE));}
    RDMOPT_DEC_SPELL_DELAY_TIME,{ bonus bDelayrate,-(getrandomoptinfo(ROA_VALUE)); }
    RDMOPT_DEC_SP_CONSUMPTION,{ bonus bUseSPrate,-(getrandomoptinfo(ROA_VALUE)); }
    //RDMOPT_HP_DRAIN,{ /* Needs more info */ }
    //RDMOPT_SP_DRAIN,{ /* Needs more info */ }
    RDMOPT_WEAPON_ATTR_NOTHING,{ bonus bAtkEle,Ele_Neutral; }
    RDMOPT_WEAPON_ATTR_WATER,{ bonus bAtkEle,Ele_Water; }
    RDMOPT_WEAPON_ATTR_GROUND,{ bonus bAtkEle,Ele_Earth; }
    RDMOPT_WEAPON_ATTR_FIRE,{ bonus bAtkEle,Ele_Fire; }
    RDMOPT_WEAPON_ATTR_WIND,{ bonus bAtkEle,Ele_Wind; }
    RDMOPT_WEAPON_ATTR_POISON,{ bonus bAtkEle,Ele_Poison; }
    RDMOPT_WEAPON_ATTR_SAINT,{ bonus bAtkEle,Ele_Holy; }
    RDMOPT_WEAPON_ATTR_DARKNESS,{ bonus bAtkEle,Ele_Dark; }
    RDMOPT_WEAPON_ATTR_TELEKINESIS,{ bonus bAtkEle,Ele_Ghost; }
    RDMOPT_WEAPON_ATTR_UNDEAD,{ bonus bAtkEle,Ele_Undead; }
    RDMOPT_WEAPON_INDESTRUCTIBLE,{ bonus bUnbreakableWeapon,1; }
    RDMOPT_BODY_INDESTRUCTIBLE,{ bonus bUnbreakableArmor,1; }
    RDMOPT_MDAMAGE_SIZE_SMALL_TARGET,{ bonus2 bMagicAddSize,Size_Small,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET,{ bonus2 bMagicAddSize,Size_Medium,getrandomoptinfo(ROA_VALUE); }
    RDMOPT_MDAMAGE_SIZE_LARGE_TARGET,{ bonus2 bMagicAddSize,Size_Large,getrandomoptinfo(ROA_VALUE); }

     

  5. Bom dia, pessoal!

     

    Eu sou novo nesse "lance" de criar servidores de Ragnarok, e estou com algumas duvidas.

     

    1 - Por que existem lua/lub files dentro da pasta data, e também dentro da pasta System?

     

    2 - Qual a diferença da pasta luafiles e luafiles 514?

     

    3 - Mesmo tendo arquivos lua/lub dentro da System e data, também existem dentro da grf. Tem necessidade disso mesmo?

     

    4 - Por que existem diversos arquivos praticamente com o mesmo nome; exemplo_true.lua, exemplo_Sak.lua, exemplo_Sakray.lua, exemplo_Custom e etc?

     

    5- Todos esses arquivos lua/lub poderiam estar todos centralizados apenas dentro de uma unica pasta?

     

     

    Estou fazendo essas perguntas porque eu quero fazer o meu próprio client-side, porém estou com muitas duvidas referente a esses tipos de arquivos espalhados e "poluindo" toda a estrutura.
     

    Baixei diversos servidores, e varias grf e as extrai para encontrar um padrão, mas não obtive exito no mesmo.

     

    Existe algum tutorial atualizado de como se criar do zero seu client-side? 

     

    Quero fazer isso para criar uma base mais limpa e sem tantos arquivos desnecessários, e futuramente quando adquirido esse conhecimento fazer um tutorial detalhado para toda a comunidade.

     

    Desde já, muito obrigado!

×
×
  • Create New...