Jump to content
  • 0

Enchant: Random Option script help


Question

Posted (edited)

Hi guys,
I'm using @Rizta's random option enchanter script and I can't seem to find a way to make it apply all slots of options at once.
As it is, you need to interact with the NPC 5 times to fully enchant the item. I want to know what kind of modification I need to make so the NPC applies all 5 random options at once.

Help pls
 

Spoiler

//===== rAthena Script =======================================
//= Random Option SurviveRO [www.survivero.com.br]
//===== By: ==================================================
//= Rizakh/Rizta
//===== Current Version: =====================================
//= 1.0 - Initial Release
//= 1.1 - Fixed erros in array
//= 1.2 - Change INT into Constants
//===== To Do ================================================
//= Translate to English for community
//= Improve script with new options
//= Optimize script 
//===== Compatible With: =====================================
//= rAthena Project, Hercules, brAthena
//===== Description: =========================================
//= Atribui opcoes aleatorias aos equipamentos.
//= com o custo de X zeny/cash
//===== Credits ==============================================
//= @Keitenai - I use your Random Option Dealer as base.
//= @Stolao - Help me with lots of problems during development
//= @Secret - Remember me that i can use while XD
//= @Ninja / @Sehrentos - Point me errors that i cant see
//= @Rizta - Me for writting and "idea" i think? xD
//===== Rights ===============================================
//= This is a private/request script for a server called
//= SurviveRO, so, you DO NOT OWN this script and CAN'T
//= repost WITHOUT permission.
//= Feel Free to change values to adapt for your server.
//============================================================
prontera,100,100,4    script    Neight    795,{
    goto NPC;
end;

OnInit:
//==============================
//    CONFIGURAÇÕES DE MOEDA
//    1 = Zeny
//    0 = Cashpoints
//==============================
set .moeda,1;        // Moeda para comprar a opcao aleatoria
set .preco,0;    // Preco da opcao aleatoria
setarray .irq[0],0,0; // Red Blood e Fine Grit
setarray .iqt[0],0,0; // Quantidade de cada item
//==============================
//    CONFIGURAÇÕES RANDOM OPTION 
//==============================
    set .sobrepor,0;    // Permite sobrepor encantamentos existentes ( 0 = off )
    set .falha,0;        // Define a chance de falha (%)
    set .valmin,2;    // Valor minimo a se tirar na opcao aleatoria
    set .valmax,13;    // Valor maximo a se tirar na opcao aleatoria
    set .slotmax,4;    // Maximo de slots para encantar( padrão = 0-4 )
    set .espera,1;        // Delay da barra de progresso em segundos
//============================
// IDS DAS RANDOM OPTIONS 
// SEPARADAS POR EQUIPAMENTOS 
// E SLOT (0 PARA 4 = 5 SLOTS)
//============================
//  Equip Top Head Possible IDS
//============================
    setarray .thd0,RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_MAGICATKPERCENT,RDMOPT_VAR_HPACCELERATION,
                   RDMOPT_VAR_SPACCELERATION,RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_HITSUCCESSVALUE,
                   RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT,
                   RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER,RDMOPT_VAR_AVOIDSUCCESSVALUE,
                   RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE,RDMOPT_VAR_ATTMPOWER;
    setarray .thd1,RDMOPT_ATTR_TOLERACE_NOTHING,RDMOPT_ATTR_TOLERACE_WATER,RDMOPT_ATTR_TOLERACE_GROUND,
                   RDMOPT_ATTR_TOLERACE_FIRE,RDMOPT_ATTR_TOLERACE_WIND,RDMOPT_ATTR_TOLERACE_POISON,
                   RDMOPT_ATTR_TOLERACE_SAINT,RDMOPT_ATTR_TOLERACE_DARKNESS,RDMOPT_ATTR_TOLERACE_TELEKINESIS,
                   RDMOPT_ATTR_TOLERACE_UNDEAD,RDMOPT_ATTR_TOLERACE_ALL;
    setarray .thd2,RDMOPT_RANGE_ATTACK_DAMAGE_USER,RDMOPT_HEAL_VALUE,RDMOPT_HEAL_MODIFY_PERCENT,
                   RDMOPT_DEC_SPELL_CAST_TIME,RDMOPT_DEC_SPELL_DELAY_TIME,RDMOPT_DEC_SP_CONSUMPTION;
    setarray .thd3,RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT,
                   RDMOPT_DAMAGE_PROPERTY_NOTHING_USER,RDMOPT_DAMAGE_PROPERTY_WATER_USER,RDMOPT_DAMAGE_PROPERTY_GROUND_USER,
                   RDMOPT_DAMAGE_PROPERTY_FIRE_USER,RDMOPT_DAMAGE_PROPERTY_WIND_USER,RDMOPT_DAMAGE_PROPERTY_POISON_USER,
                   RDMOPT_DAMAGE_PROPERTY_SAINT_USER,RDMOPT_DAMAGE_PROPERTY_DARKNESS_USER,RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_USER,RDMOPT_DAMAGE_PROPERTY_UNDEAD_USER;
    setarray .thd4,RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT,
                   RDMOPT_MDAMAGE_PROPERTY_NOTHING_USER,RDMOPT_MDAMAGE_PROPERTY_WATER_USER,RDMOPT_MDAMAGE_PROPERTY_GROUND_USER,
                   RDMOPT_MDAMAGE_PROPERTY_FIRE_USER,RDMOPT_MDAMAGE_PROPERTY_WIND_USER,RDMOPT_MDAMAGE_PROPERTY_POISON_USER,
                   RDMOPT_MDAMAGE_PROPERTY_SAINT_USER,RDMOPT_MDAMAGE_PROPERTY_DARKNESS_USER,RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_USER,
                   RDMOPT_MDAMAGE_PROPERTY_UNDEAD_USER;
//=============================
// Equip Mid Head Possible IDS
//=============================
    setarray .mhd0,RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
    setarray .mhd1,RDMOPT_RACE_TOLERACE_NOTHING,RDMOPT_RACE_TOLERACE_UNDEAD,RDMOPT_RACE_TOLERACE_ANIMAL,
                   RDMOPT_RACE_TOLERACE_PLANT,RDMOPT_RACE_TOLERACE_INSECT,RDMOPT_RACE_TOLERACE_FISHS,
                   RDMOPT_RACE_TOLERACE_DEVIL,RDMOPT_RACE_TOLERACE_HUMAN,RDMOPT_RACE_TOLERACE_ANGEL,RDMOPT_RACE_TOLERACE_DRAGON;
    setarray .mhd2,RDMOPT_HEAL_VALUE,RDMOPT_HEAL_MODIFY_PERCENT,RDMOPT_DEC_SPELL_CAST_TIME,
                   RDMOPT_DEC_SPELL_DELAY_TIME,RDMOPT_DEC_SP_CONSUMPTION,RDMOPT_RANGE_ATTACK_DAMAGE_USER;
    setarray .mhd3,RDMOPT_RACE_DAMAGE_NOTHING,RDMOPT_RACE_DAMAGE_UNDEAD,RDMOPT_RACE_DAMAGE_ANIMAL,
                   RDMOPT_RACE_DAMAGE_PLANT,RDMOPT_RACE_DAMAGE_INSECT,RDMOPT_RACE_DAMAGE_FISHS,
                   RDMOPT_RACE_DAMAGE_DEVIL,RDMOPT_RACE_DAMAGE_HUMAN,RDMOPT_RACE_DAMAGE_ANGEL,
                   RDMOPT_RACE_DAMAGE_DRAGON,RDMOPT_RACE_MDAMAGE_NOTHING,RDMOPT_RACE_MDAMAGE_UNDEAD,
                   RDMOPT_RACE_MDAMAGE_ANIMAL,RDMOPT_RACE_MDAMAGE_PLANT,RDMOPT_RACE_MDAMAGE_INSECT,
                   RDMOPT_RACE_MDAMAGE_FISHS,RDMOPT_RACE_MDAMAGE_DEVIL,RDMOPT_RACE_MDAMAGE_HUMAN,
                   RDMOPT_RACE_MDAMAGE_ANGEL,RDMOPT_RACE_MDAMAGE_DRAGON;
    setarray .mhd4,RDMOPT_VAR_MAXHPPERCENT,RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,
                   RDMOPT_VAR_SPACCELERATION,RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_MAGICATKPERCENT,
                   RDMOPT_VAR_PLUSASPD,RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_ATTPOWER,
                   RDMOPT_VAR_HITSUCCESSVALUE,RDMOPT_VAR_ATTMPOWER,RDMOPT_VAR_ITEMDEFPOWER,
                   RDMOPT_VAR_MDEFPOWER,RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,
                   RDMOPT_VAR_CRITICALSUCCESSVALUE;
//==============================
// Equipe Low Head Possible IDS
//==============================
    setarray .lhd0,RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
    setarray .lhd1,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION,RDMOPT_VAR_PLUSASPD,
                   RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_ATTPOWER,RDMOPT_VAR_HITSUCCESSVALUE,
                   RDMOPT_VAR_ATTMPOWER,RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER,
                   RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE;
    setarray .lhd2,RDMOPT_DAMAGE_CRI_TARGET,RDMOPT_DAMAGE_CRI_USER,RDMOPT_RANGE_ATTACK_DAMAGE_USER,RDMOPT_HEAL_VALUE,RDMOPT_VAR_HITSUCCESSVALUE;
    setarray .lhd3,RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT,
                   RDMOPT_VAR_MAXHPAMOUNT,RDMOPT_VAR_MAXSPAMOUNT,RDMOPT_VAR_HPACCELERATION,
                   RDMOPT_VAR_SPACCELERATION,RDMOPT_VAR_PLUSASPDPERCENT;
    setarray .lhd4,RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET,RDMOPT_DAMAGE_PROPERTY_WATER_TARGET,RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET,RDMOPT_DAMAGE_PROPERTY_WIND_TARGET,RDMOPT_DAMAGE_PROPERTY_POISON_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET,RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET,RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET;               
//==============================
// Equipe Armor Possible IDS
//==============================
    setarray .arm0,RDMOPT_BODY_ATTR_NOTHING,RDMOPT_BODY_ATTR_WATER,RDMOPT_BODY_ATTR_GROUND,
                   RDMOPT_BODY_ATTR_FIRE,RDMOPT_BODY_ATTR_WIND,RDMOPT_BODY_ATTR_POISON,
                   RDMOPT_BODY_ATTR_SAINT,RDMOPT_BODY_ATTR_DARKNESS,RDMOPT_BODY_ATTR_TELEKINESIS,
                   RDMOPT_BODY_ATTR_UNDEAD;
    setarray .arm1,RDMOPT_VAR_MAXHPPERCENT,RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,
                   RDMOPT_VAR_SPACCELERATION,RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER;
    setarray .arm2,RDMOPT_RACE_TOLERACE_NOTHING,RDMOPT_RACE_TOLERACE_UNDEAD,RDMOPT_RACE_TOLERACE_ANIMAL,
                   RDMOPT_RACE_TOLERACE_PLANT,RDMOPT_RACE_TOLERACE_INSECT,RDMOPT_RACE_TOLERACE_FISHS,
                   RDMOPT_RACE_TOLERACE_DEVIL,RDMOPT_RACE_TOLERACE_HUMAN,RDMOPT_RACE_TOLERACE_ANGEL,
                   RDMOPT_RACE_TOLERACE_DRAGON,RDMOPT_RACE_MDAMAGE_NOTHING,
                   RDMOPT_RACE_MDAMAGE_UNDEAD,RDMOPT_RACE_MDAMAGE_ANIMAL,RDMOPT_RACE_MDAMAGE_PLANT,
                   RDMOPT_RACE_MDAMAGE_INSECT,RDMOPT_RACE_MDAMAGE_FISHS,RDMOPT_RACE_MDAMAGE_DEVIL,
                   RDMOPT_RACE_MDAMAGE_HUMAN,RDMOPT_RACE_MDAMAGE_ANGEL,RDMOPT_RACE_MDAMAGE_DRAGON;
    setarray .arm3,RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT,
                   RDMOPT_VAR_MDEFPOWER,RDMOPT_VAR_ITEMDEFPOWER;
    setarray .arm4,RDMOPT_BODY_INDESTRUCTIBLE,RDMOPT_RANGE_ATTACK_DAMAGE_USER,RDMOPT_DAMAGE_SIZE_SMALL_USER,
                   RDMOPT_DAMAGE_SIZE_MIDIUM_USER,RDMOPT_DAMAGE_SIZE_LARGE_USER,RDMOPT_DAMAGE_CRI_USER;
//==============================
// Equipe RHand Possible IDS
//==============================
    setarray .rwp0,RDMOPT_WEAPON_ATTR_NOTHING,RDMOPT_WEAPON_ATTR_WATER,RDMOPT_WEAPON_ATTR_GROUND,
                   RDMOPT_WEAPON_ATTR_FIRE,RDMOPT_WEAPON_ATTR_WIND,RDMOPT_WEAPON_ATTR_POISON,
                   RDMOPT_WEAPON_ATTR_SAINT,RDMOPT_WEAPON_ATTR_DARKNESS,RDMOPT_WEAPON_ATTR_TELEKINESIS,RDMOPT_WEAPON_ATTR_UNDEAD;
    setarray .rwp1,RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_HITSUCCESSVALUE,RDMOPT_VAR_ATTMPOWER,
                   RDMOPT_VAR_PLUSASPD,RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_CRITICALSUCCESSVALUE,
                   RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
    setarray .rwp2,RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET,RDMOPT_DAMAGE_PROPERTY_WATER_TARGET,RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET,RDMOPT_DAMAGE_PROPERTY_WIND_TARGET,RDMOPT_DAMAGE_PROPERTY_POISON_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET,RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET,RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET,RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET,RDMOPT_MDAMAGE_PROPERTY_WATER_TARGET,
                   RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET,RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET,RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET,
                   RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET,RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET,RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET,
                   RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET,RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET;
    setarray .rwp3,RDMOPT_CLASS_DAMAGE_NORMAL_TARGET,RDMOPT_CLASS_DAMAGE_BOSS_TARGET,RDMOPT_CLASS_MDAMAGE_NORMAL,
                   RDMOPT_CLASS_MDAMAGE_BOSS,RDMOPT_CLASS_IGNORE_DEF_PERCENT_NORMAL,RDMOPT_CLASS_IGNORE_DEF_PERCENT_BOSS,
                   RDMOPT_CLASS_IGNORE_MDEF_PERCENT_NORMAL,RDMOPT_CLASS_IGNORE_MDEF_PERCENT_BOSS,RDMOPT_DAMAGE_CRI_TARGET,
                   RDMOPT_DAMAGE_SIZE_SMALL_TARGET,RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET,RDMOPT_DAMAGE_SIZE_LARGE_TARGET;
    setarray .rwp4,RDMOPT_RANGE_ATTACK_DAMAGE_TARGET,RDMOPT_HP_DRAIN,RDMOPT_SP_DRAIN,
                   RDMOPT_WEAPON_INDESTRUCTIBLE,RDMOPT_MDAMAGE_SIZE_SMALL_TARGET,RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET,
                   RDMOPT_MDAMAGE_SIZE_LARGE_TARGET,RDMOPT_RACE_CRI_PERCENT_NOTHING,RDMOPT_RACE_CRI_PERCENT_UNDEAD,
                   RDMOPT_RACE_CRI_PERCENT_ANIMAL,RDMOPT_RACE_CRI_PERCENT_PLANT,RDMOPT_RACE_CRI_PERCENT_INSECT,
                   RDMOPT_RACE_CRI_PERCENT_FISHS,RDMOPT_RACE_CRI_PERCENT_DEVIL,RDMOPT_RACE_CRI_PERCENT_HUMAN,
                   RDMOPT_RACE_CRI_PERCENT_ANGEL,RDMOPT_RACE_CRI_PERCENT_DRAGON;
//==============================
// Equipe LHand Possible IDS
//==============================
    setarray .lwp0,RDMOPT_VAR_MAXHPAMOUNT,RDMOPT_VAR_MAXSPAMOUNT,RDMOPT_VAR_STRAMOUNT,
                   RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,RDMOPT_VAR_INTAMOUNT,
                   RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT,RDMOPT_VAR_MAXHPPERCENT,
                   RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION,
                   RDMOPT_VAR_PLUSASPD,RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_HITSUCCESSVALUE,
                   RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER,RDMOPT_VAR_AVOIDSUCCESSVALUE,
                   RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE;                
    setarray .lwp1,RDMOPT_ATTR_TOLERACE_NOTHING,RDMOPT_ATTR_TOLERACE_WATER,RDMOPT_ATTR_TOLERACE_GROUND,
                   RDMOPT_ATTR_TOLERACE_FIRE,RDMOPT_ATTR_TOLERACE_WIND,RDMOPT_ATTR_TOLERACE_POISON,
                   RDMOPT_ATTR_TOLERACE_SAINT,RDMOPT_ATTR_TOLERACE_DARKNESS,RDMOPT_ATTR_TOLERACE_TELEKINESIS,
                   RDMOPT_ATTR_TOLERACE_UNDEAD,RDMOPT_ATTR_TOLERACE_ALL;
    setarray .lwp2,RDMOPT_RACE_TOLERACE_NOTHING,RDMOPT_RACE_TOLERACE_UNDEAD,RDMOPT_RACE_TOLERACE_ANIMAL,
                   RDMOPT_RACE_TOLERACE_PLANT,RDMOPT_RACE_TOLERACE_INSECT,RDMOPT_RACE_TOLERACE_FISHS,
                   RDMOPT_RACE_TOLERACE_DEVIL,RDMOPT_RACE_TOLERACE_HUMAN,RDMOPT_RACE_TOLERACE_ANGEL,
                   RDMOPT_RACE_TOLERACE_DRAGON;
    setarray .lwp3,RDMOPT_DAMAGE_SIZE_SMALL_USER,RDMOPT_DAMAGE_SIZE_MIDIUM_USER,RDMOPT_DAMAGE_SIZE_LARGE_USER,
                   RDMOPT_DAMAGE_CRI_USER,RDMOPT_RANGE_ATTACK_DAMAGE_USER,RDMOPT_MDAMAGE_SIZE_SMALL_USER,
                   RDMOPT_MDAMAGE_SIZE_MIDIUM_USER,RDMOPT_MDAMAGE_SIZE_LARGE_USER;
    setarray .lwp4,RDMOPT_CLASS_DAMAGE_NORMAL_USER,RDMOPT_CLASS_DAMAGE_BOSS_USER,RDMOPT_CLASS_MDAMAGE_NORMAL,
                   RDMOPT_CLASS_MDAMAGE_BOSS,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION;
//==============================
// Equipe Garment Possible IDS
//==============================
    setarray .gar0,RDMOPT_VAR_MAXHPAMOUNT,RDMOPT_VAR_MAXSPAMOUNT,RDMOPT_VAR_STRAMOUNT,
                   RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,RDMOPT_VAR_INTAMOUNT,
                   RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT,RDMOPT_VAR_MAXHPPERCENT,
                   RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION,
                   RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_MAGICATKPERCENT,RDMOPT_VAR_PLUSASPD,
                   RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_ATTPOWER,RDMOPT_VAR_HITSUCCESSVALUE,
                   RDMOPT_VAR_ATTMPOWER,RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER,
                   RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE;
    setarray .gar1,RDMOPT_ATTR_TOLERACE_NOTHING,RDMOPT_ATTR_TOLERACE_WATER,RDMOPT_ATTR_TOLERACE_GROUND,
                   RDMOPT_ATTR_TOLERACE_FIRE,RDMOPT_ATTR_TOLERACE_WIND,RDMOPT_ATTR_TOLERACE_POISON,
                   RDMOPT_ATTR_TOLERACE_SAINT,RDMOPT_ATTR_TOLERACE_DARKNESS,RDMOPT_ATTR_TOLERACE_TELEKINESIS,
                   RDMOPT_ATTR_TOLERACE_UNDEAD,RDMOPT_ATTR_TOLERACE_ALL;
    setarray .gar2,RDMOPT_RACE_CRI_PERCENT_NOTHING,RDMOPT_RACE_CRI_PERCENT_UNDEAD,RDMOPT_RACE_CRI_PERCENT_ANIMAL,
                   RDMOPT_RACE_CRI_PERCENT_PLANT,RDMOPT_RACE_CRI_PERCENT_INSECT,RDMOPT_RACE_CRI_PERCENT_FISHS,
                   RDMOPT_RACE_CRI_PERCENT_DEVIL,RDMOPT_RACE_CRI_PERCENT_HUMAN,RDMOPT_RACE_CRI_PERCENT_ANGEL,
                   RDMOPT_RACE_CRI_PERCENT_DRAGON;
    setarray .gar3,RDMOPT_RACE_IGNORE_DEF_PERCENT_NOTHING,RDMOPT_RACE_IGNORE_DEF_PERCENT_UNDEAD,RDMOPT_RACE_IGNORE_DEF_PERCENT_ANIMAL,
                   RDMOPT_RACE_IGNORE_DEF_PERCENT_PLANT,RDMOPT_RACE_IGNORE_DEF_PERCENT_INSECT,RDMOPT_RACE_IGNORE_DEF_PERCENT_FISHS,
                   RDMOPT_RACE_IGNORE_DEF_PERCENT_DEVIL,RDMOPT_RACE_IGNORE_DEF_PERCENT_HUMAN,RDMOPT_RACE_IGNORE_DEF_PERCENT_ANGEL,
                   RDMOPT_RACE_IGNORE_DEF_PERCENT_DRAGON,RDMOPT_RACE_IGNORE_MDEF_PERCENT_NOTHING,RDMOPT_RACE_IGNORE_MDEF_PERCENT_UNDEAD,
                   RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANIMAL,RDMOPT_RACE_IGNORE_MDEF_PERCENT_PLANT,RDMOPT_RACE_IGNORE_MDEF_PERCENT_INSECT,
                   RDMOPT_RACE_IGNORE_MDEF_PERCENT_FISHS,RDMOPT_RACE_IGNORE_MDEF_PERCENT_DEVIL,RDMOPT_RACE_IGNORE_MDEF_PERCENT_HUMAN,
                   RDMOPT_RACE_IGNORE_MDEF_PERCENT_ANGEL,RDMOPT_RACE_IGNORE_MDEF_PERCENT_DRAGON,RDMOPT_CLASS_IGNORE_DEF_PERCENT_NORMAL,
                   RDMOPT_CLASS_IGNORE_DEF_PERCENT_BOSS,RDMOPT_CLASS_IGNORE_MDEF_PERCENT_NORMAL,RDMOPT_CLASS_IGNORE_MDEF_PERCENT_BOSS;
    setarray .gar4,RDMOPT_DAMAGE_SIZE_PERFECT,RDMOPT_DAMAGE_CRI_USER,RDMOPT_RANGE_ATTACK_DAMAGE_USER,
                   RDMOPT_MDAMAGE_SIZE_SMALL_USER,RDMOPT_MDAMAGE_SIZE_MIDIUM_USER,RDMOPT_MDAMAGE_SIZE_LARGE_USER;
//==============================
// Equipe Shoes Possible IDS
//==============================
    setarray .shs0,RDMOPT_VAR_MAXHPAMOUNT,RDMOPT_VAR_MAXSPAMOUNT,RDMOPT_VAR_STRAMOUNT,
                   RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,RDMOPT_VAR_INTAMOUNT,
                   RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT,RDMOPT_VAR_MAXHPPERCENT,
                   RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION,
                   RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_MAGICATKPERCENT,RDMOPT_VAR_PLUSASPD,
                   RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_ATTPOWER,RDMOPT_VAR_HITSUCCESSVALUE,
                   RDMOPT_VAR_ATTMPOWER,RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER,
                   RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE;
    setarray .shs1,RDMOPT_MDAMAGE_SIZE_SMALL_TARGET,RDMOPT_MDAMAGE_SIZE_MIDIUM_TARGET,RDMOPT_MDAMAGE_SIZE_LARGE_TARGET,
                   RDMOPT_DAMAGE_SIZE_SMALL_TARGET,RDMOPT_DAMAGE_SIZE_MIDIUM_TARGET,RDMOPT_DAMAGE_SIZE_LARGE_TARGET;
    setarray .shs2,RDMOPT_CLASS_MDAMAGE_NORMAL,RDMOPT_CLASS_MDAMAGE_BOSS,RDMOPT_CLASS_DAMAGE_NORMAL_USER,
                   RDMOPT_CLASS_DAMAGE_NORMAL_TARGET;
    setarray .shs3,RDMOPT_RACE_DAMAGE_PLANT,RDMOPT_RACE_DAMAGE_INSECT,RDMOPT_RACE_DAMAGE_FISHS,
                   RDMOPT_RACE_DAMAGE_DEVIL,RDMOPT_RACE_DAMAGE_HUMAN,RDMOPT_RACE_DAMAGE_ANGEL,
                   RDMOPT_RACE_DAMAGE_DRAGON,RDMOPT_RACE_MDAMAGE_NOTHING,RDMOPT_RACE_MDAMAGE_UNDEAD,
                   RDMOPT_RACE_MDAMAGE_ANIMAL,RDMOPT_RACE_MDAMAGE_PLANT,RDMOPT_RACE_MDAMAGE_INSECT,
                   RDMOPT_RACE_MDAMAGE_FISHS,RDMOPT_RACE_MDAMAGE_DEVIL,RDMOPT_RACE_MDAMAGE_HUMAN,
                   RDMOPT_RACE_MDAMAGE_ANGEL,RDMOPT_RACE_MDAMAGE_DRAGON;
    setarray .shs4,RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET,RDMOPT_DAMAGE_PROPERTY_WATER_TARGET,RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET,RDMOPT_DAMAGE_PROPERTY_WIND_TARGET,RDMOPT_DAMAGE_PROPERTY_POISON_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET,RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET,RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET,
                   RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET,RDMOPT_MDAMAGE_PROPERTY_NOTHING_TARGET,RDMOPT_MDAMAGE_PROPERTY_GROUND_TARGET,
                   RDMOPT_MDAMAGE_PROPERTY_FIRE_TARGET,RDMOPT_MDAMAGE_PROPERTY_WIND_TARGET,RDMOPT_MDAMAGE_PROPERTY_POISON_TARGET,
                   RDMOPT_MDAMAGE_PROPERTY_SAINT_TARGET,RDMOPT_MDAMAGE_PROPERTY_DARKNESS_TARGET,RDMOPT_MDAMAGE_PROPERTY_TELEKINESIS_TARGET,
                   RDMOPT_MDAMAGE_PROPERTY_UNDEAD_TARGET;
//==============================
// Equipe RAccessory Possible IDS
//==============================
    setarray .rac0,RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
    setarray .rac1,RDMOPT_VAR_MAXHPAMOUNT,RDMOPT_VAR_MAXSPAMOUNT,RDMOPT_VAR_MAXHPPERCENT,
                   RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION;
    setarray .rac2,RDMOPT_VAR_PLUSASPD,RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_HITSUCCESSVALUE,
                   RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE;
    setarray .rac3,RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_MAGICATKPERCENT,RDMOPT_VAR_ATTPOWER,
                   RDMOPT_VAR_ATTMPOWER,RDMOPT_RANGE_ATTACK_DAMAGE_TARGET,RDMOPT_DAMAGE_SIZE_PERFECT;
    setarray .rac4,RDMOPT_HEAL_VALUE,RDMOPT_HEAL_MODIFY_PERCENT,RDMOPT_DEC_SPELL_CAST_TIME,
                   RDMOPT_DEC_SPELL_DELAY_TIME,RDMOPT_DEC_SP_CONSUMPTION,RDMOPT_HP_DRAIN,
                   RDMOPT_SP_DRAIN,RDMOPT_RACE_CRI_PERCENT_NOTHING,RDMOPT_RACE_CRI_PERCENT_UNDEAD,
                   RDMOPT_RACE_CRI_PERCENT_ANIMAL,RDMOPT_RACE_CRI_PERCENT_PLANT,RDMOPT_RACE_CRI_PERCENT_INSECT,
                   RDMOPT_RACE_CRI_PERCENT_FISHS,RDMOPT_RACE_CRI_PERCENT_DEVIL,RDMOPT_RACE_CRI_PERCENT_HUMAN,
                   RDMOPT_RACE_CRI_PERCENT_ANGEL,RDMOPT_RACE_CRI_PERCENT_DRAGON;
//==============================
// Equipe LAcessory Possible IDS
//==============================
    setarray .lac0,RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
                   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
    setarray .lac1,RDMOPT_VAR_MAXHPAMOUNT,RDMOPT_VAR_MAXSPAMOUNT,RDMOPT_VAR_MAXHPPERCENT,
                   RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION;
    setarray .lac2,RDMOPT_VAR_PLUSASPD,RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_HITSUCCESSVALUE,
                   RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE;
    setarray .lac3,RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_MAGICATKPERCENT,RDMOPT_VAR_ATTPOWER,
                   RDMOPT_VAR_ATTMPOWER,RDMOPT_RANGE_ATTACK_DAMAGE_TARGET,RDMOPT_DAMAGE_SIZE_PERFECT;
    setarray .lac4,RDMOPT_HEAL_VALUE,RDMOPT_HEAL_MODIFY_PERCENT,RDMOPT_DEC_SPELL_CAST_TIME,
                   RDMOPT_DEC_SPELL_DELAY_TIME,RDMOPT_DEC_SP_CONSUMPTION,RDMOPT_HP_DRAIN,
                   RDMOPT_SP_DRAIN,RDMOPT_RACE_CRI_PERCENT_NOTHING,RDMOPT_RACE_CRI_PERCENT_UNDEAD,
                   RDMOPT_RACE_CRI_PERCENT_ANIMAL,RDMOPT_RACE_CRI_PERCENT_PLANT,RDMOPT_RACE_CRI_PERCENT_INSECT,
                   RDMOPT_RACE_CRI_PERCENT_FISHS,RDMOPT_RACE_CRI_PERCENT_DEVIL,RDMOPT_RACE_CRI_PERCENT_HUMAN,
                   RDMOPT_RACE_CRI_PERCENT_ANGEL,RDMOPT_RACE_CRI_PERCENT_DRAGON;
//==============================
// Lista de ID's ignorados
//==============================
    setarray .ignora[0], 0,86;
//==============================
// FIM DAS CONFIGURAÇÕES DE ID
// PARA RANDOM Option
//==============================
end;                        

NPC:
disable_items;
    mes "[ Neight ]";
    mes "Olá jovem!";
    mes "Eu estou pesquisando uma";
    mes "forma de adicionar";
    mes "encantamentos ^FF0000aleatórios^000000";
    mes "em um equipamento.";
    next;
    mes "[ Neight ]";
    mes "Eu posso fazer qualquer um dos seus";
    mes "equipamentos mais fortes";
    mes "do que suas versões atuais...";
next;
mes "[ Neight ]";
    if(.moeda){
        mes "Por um preço de ^0000FF"+.preco+" Zeny^000000,";
        mes "e também",.iqt[0]+"x ^0000FF"+ getitemname(6242) +"^000000";
    } else {
        mes "Por um preço de ^0000FF"+.preco+" Cashpoints^000000,";
        mes "e também",.iqt[1]+"x ^0000FF"+ getitemname(6242) +"^000000";
    }    
    mes "Eu vou aplicar uma opção ^FF0000ALEATÓRIA^000000";
    mes "no seu equipamento";
    next;
    mes "[ Neight ]";
    mes "Eu esqueci de mencionar que";
    mes "há uma chance de ^FF0000"+.falha+"%^000000 ";
    mes "que o processo ^FF0000FALHE^000000";
    mes "e eu perca seu equipamento junto...";
    next;
    mes "[ Neight ]";
    mes "Você gostaria de arriscar";
    mes "encantar seu item com uma chance de";
    mes "^FF0000"+.falha+"%^000000 de ^FF0000Falhe^000000";
    mes "e perder seu equipamento?";
    next;
    if(select("^0000FFEu vou testar minha sorte! Encante meu equipamento!^000000:Nem! Tô de boas...")==2) goto OnCancel;
    mes "[ Neight ]";
    mes "Esplêndido!";
    mes "Este processo levará";
    mes "cerca de ^0000FF"+.espera+"^000000 segundos...";
    mes "Não mova um músculo enquanto";
    mes "eu encanto seu equipamento";
    close2;
    if(countitem(.irq[0]) < .iqt[0])
        goto PriceFail;
    if(.moeda){
        if(Zeny < .preco)
            goto PriceFail;
        else
            set Zeny,Zeny-.preco;
            delitem .irq[0],.iqt[0];
    } else {
        if(#CASHPOINTS < .preco)
            goto PriceFail;
        else    
            set #CASHPOINTS,#CASHPOINTS-.preco;
            delitem .irq[1],.iqt[1];
    }        
        
    setarray .@eq[1], EQI_HEAD_TOP,EQI_ARMOR,EQI_HAND_R,EQI_HAND_L,EQI_GARMENT,EQI_SHOES,EQI_ACC_R,EQI_ACC_L,EQI_HEAD_MID,EQI_HEAD_LOW;
    for(set .@i,1; .@i<getarraysize(.@eq); set .@i,.@i+1){
        if(getequipisequiped(.@eq[.@i])){
            set .@menu$,.@menu$+F_getpositionname(.@eq[.@i])+" ~ [ ^0000FF" + getequipname(.@eq[.@i]) + "^000000 ]";
            set .@equipped,1;
        } set .@menu$,.@menu$+":";
    } set .@part,.@eq[select(.@menu$)];
    set .@val, rand(.valmin,.valmax);

    if(!.sobrepor)
    {
        while(getequiprandomoption(.@part, .@indx, ROA_ID, getcharid(0)))
        {
            ++.@indx;
            if(.@indx > .slotmax) { goto OnMax; }
        }
    }
IgnoreCheck:
    if(.@part == EQI_HEAD_TOP){
        //dispbottom .@indx+" slot ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .thd0[rand(getarraysize(.thd0))];
    } else    if(.@indx == 1){
        .@opt = .thd1[rand(getarraysize(.thd1))];
    } else    if(.@indx == 2){
        .@opt = .thd2[rand(getarraysize(.thd2))];
    } else    if(.@indx == 3){
        .@opt = .thd3[rand(getarraysize(.thd3))];
    } else    if(.@indx == 4){
        .@opt = .thd4[rand(getarraysize(.thd4))];
    }
}
    if(.@part == EQI_HEAD_MID){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .mhd0[rand(getarraysize(.mhd0))];
    } else    if(.@indx == 1){
        .@opt = .mhd1[rand(getarraysize(.mhd1))];
    } else    if(.@indx == 2){
        .@opt = .mhd2[rand(getarraysize(.mhd2))];
    } else    if(.@indx == 3){
        .@opt = .mhd3[rand(getarraysize(.mhd3))];
    } else    if(.@indx == 4){
        .@opt = .mhd4[rand(getarraysize(.mhd4))];
    }
}
    if(.@part == EQI_HEAD_LOW){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .lhd0[rand(getarraysize(.lhd0))];
    } else    if(.@indx == 1){
        .@opt = .lhd1[rand(getarraysize(.lhd1))];
    } else    if(.@indx == 2){
        .@opt = .lhd2[rand(getarraysize(.lhd2))];
    } else    if(.@indx == 3){
        .@opt = .lhd3[rand(getarraysize(.lhd3))];
    } else    if(.@indx == 4){
        .@opt = .lhd4[rand(getarraysize(.lhd4))];
    }
}
    if(.@part == EQI_ARMOR){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .arm0[rand(getarraysize(.arm0))];
    } else    if(.@indx == 1){
        .@opt = .arm1[rand(getarraysize(.arm1))];
    } else    if(.@indx == 2){
        .@opt = .arm2[rand(getarraysize(.arm2))];
    } else    if(.@indx == 3){
        .@opt = .arm3[rand(getarraysize(.arm3))];
    } else    if(.@indx == 4){
        .@opt = .arm4[rand(getarraysize(.arm4))];
    }
}
    if(.@part == EQI_HAND_R){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0) {
        .@opt = .rwp0[rand(getarraysize(.rwp0))];
    } else    if(.@indx == 1) {
        .@opt = .rwp1[rand(getarraysize(.rwp1))];
    } else    if(.@indx == 2) {
        .@opt = .rwp2[rand(getarraysize(.rwp2))];
    } else    if(.@indx == 3) {
        .@opt = .rwp3[rand(getarraysize(.rwp3))];
    } else    if(.@indx == 4) {
        .@opt = .rwp4[rand(getarraysize(.rwp4))];
    }
}
    if(.@part == EQI_HAND_L){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .lwp0[rand(getarraysize(.lwp0))];
    } else    if(.@indx == 1){
        .@opt = .lwp1[rand(getarraysize(.lwp1))];
    } else    if(.@indx == 2){
        .@opt = .lwp2[rand(getarraysize(.lwp2))];
    } else    if(.@indx == 3){
        .@opt = .lwp3[rand(getarraysize(.lwp3))];
    } else    if(.@indx == 4){
        .@opt = .lwp4[rand(getarraysize(.lwp4))];
    }
}
    if(.@part == EQI_GARMENT){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .gar0[rand(getarraysize(.gar0))];
    } else    if(.@indx == 1){
        .@opt = .gar1[rand(getarraysize(.gar1))];
    } else    if(.@indx == 2){
        .@opt = .gar2[rand(getarraysize(.gar2))];
    } else    if(.@indx == 3){
        .@opt = .gar3[rand(getarraysize(.gar3))];
    } else    if(.@indx == 4){
        .@opt = .gar4[rand(getarraysize(.gar4))];
    }
}
    if(.@part == EQI_SHOES){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .shs0[rand(getarraysize(.shs0))];
    } else    if(.@indx == 1){
        .@opt = .shs1[rand(getarraysize(.shs1))];
    } else    if(.@indx == 2){
        .@opt = .shs2[rand(getarraysize(.shs2))];
    } else    if(.@indx == 3){
        .@opt = .shs3[rand(getarraysize(.shs3))];
    } else    if(.@indx == 4){
        .@opt = .shs4[rand(getarraysize(.shs4))];
    }
}
    if(.@part == EQI_ACC_R){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .rac0[rand(getarraysize(.rac0))];
    } else    if(.@indx == 1){
        .@opt = .rac1[rand(getarraysize(.rac1))];
    } else    if(.@indx == 2){
        .@opt = .rac2[rand(getarraysize(.rac2))];
    } else    if(.@indx == 3){
        .@opt = .rac3[rand(getarraysize(.rac3))];
    } else    if(.@indx == 4){
        .@opt = .rac4[rand(getarraysize(.rac4))];
    }
}
    if(.@part == EQI_ACC_L){
        //dispbottom .@indx+" slot "+.@part+" ID "+.@opt+"";
        if(.@indx == 0){
        .@opt = .lac0[rand(getarraysize(.lac0))];
    } else    if(.@indx == 1){
        .@opt = .lac1[rand(getarraysize(.lac1))];
    } else    if(.@indx == 2){
        .@opt = .lac2[rand(getarraysize(.lac2))];
    } else    if(.@indx == 3){
        .@opt = .lac3[rand(getarraysize(.lac3))];
    } else    if(.@indx == 4){
        .@opt = .lac4[rand(getarraysize(.lac4))];
    }
}
    for(set .@f,1; .@f<getarraysize(.ignore); set .@f,.@f+1)
        if(.@opt==.ignore[.@f])
            goto IgnoreCheck;        
    
    progressbar "ffff00",.espera;
    
    // Falha...
    if(.falha > 100) set .falha,100;
    if(rand(100) < .falha) goto OnFailure;

    // Sucesso!!
    specialeffect2 154;
    setrandomoption(.@part,.@indx,.@opt,.@val,.@indx,getcharid(0));

end;
    
    
OnMax:
    mes "[ Neight ]";
    mes "Ops... Seu equipamento ja";
    mes "foi encantado ao máximo!";
    mes " ";
    mes "Perdão, mas, não posso";
    mes "adicionar mais encantamentos";
    mes "ao seu item.";
close;

OnFailure:
specialeffect2 EF_PHARMACY_FAIL;
    mes "[ Neight ]"," ";
    mes "Me perdoe..."," ";
    mes "^FF0000O processo falhou...";
    mes "Seu item foi destruído.^000000";
    delequip .@part;
close;

PriceFail:
    mes "[ Neight ]";
    mes "O que e isso?";
    mes "Você está brincando comigo?";
    mes "Perdão, mas, eu não trabalho";
    mes "de graça!";
    mes "Você pode voltar quando";
    mes "tiver dinheiro para me pagar";
    mes "pelos meus serviços.";
close;

OnCancel:
    mes "[ Neight ]";
    mes "Vista-se.";
    mes "Deixe-me saber caso";
    mes "você mude de ideia";
close;
}

Nvm, managed to do it but idk if it's the correct way.
Those are the changes I made:

Spoiler

    set .@val0, rand(.valmin,.valmax);
    set .@val1, rand(.valmin,.valmax);
    set .@val2, rand(.valmin,.valmax);
    set .@val3, rand(.valmin,.valmax);
    set .@val4, rand(.valmin,.valmax);

Spoiler

    if(.@part == EQI_HEAD_TOP){
        //dispbottom .@indx+" slot ID "+.@opt+"";
        if(.@indx == 0){
        .@opt0 = .thd0[rand(getarraysize(.thd0))];
        .@opt1 = .thd1[rand(getarraysize(.thd1))];
        .@opt2 = .thd2[rand(getarraysize(.thd2))];
        .@opt3 = .thd3[rand(getarraysize(.thd3))];
        .@opt4 = .thd4[rand(getarraysize(.thd4))];
    }
}

Spoiler

    setrandomoption(.@part,0,.@opt0,.@val0,0,getcharid(0));
    setrandomoption(.@part,1,.@opt1,.@val1,1,getcharid(0));
    setrandomoption(.@part,2,.@opt2,.@val2,2,getcharid(0));
    setrandomoption(.@part,3,.@opt3,.@val3,3,getcharid(0));
    setrandomoption(.@part,4,.@opt4,.@val4,4,getcharid(0));
 

Can someone confirm if it is the correct way to do it?

Edited by angreusz

2 answers to this question

Recommended Posts

  • 0
Posted

Simply add more line to setrandomoption

 setrandomoption(.@part,0,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,1,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,2,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,3,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,4,.@opt,.@val,.@indx,getcharid(0));

 

  • 0
Posted
On 9/2/2019 at 3:17 PM, Start_ said:

Simply add more line to setrandomoption


 setrandomoption(.@part,0,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,1,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,2,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,3,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,4,.@opt,.@val,.@indx,getcharid(0));

 

 if(!.sobrepor)
    {
        while(getequiprandomoption(.@part, .@indx, ROA_ID, getcharid(0)))                                
        {
            ++.@indx;
            if(.@indx > .slotmax) { goto OnMax; }
        }
    }

change

 

 if(!.sobrepor)
    {
        while(getequiprandomoption(.@part, .@indx, ROA_ID, getcharid(0)))
        {

 setrandomoption(.@part,0,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,1,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,2,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,3,.@opt,.@val,.@indx,getcharid(0));
 setrandomoption(.@part,4,.@opt,.@val,.@indx,getcharid(0));


            ++.@indx;
            if(.@indx > .slotmax) { goto OnMax; }
        }
    }

 

 
Is this correct? pls 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...