Jump to content
  • 0

Enchant: Random Option script help


angreusz

Question


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  6
  • Reputation:   0
  • Joined:  07/23/14
  • Last Seen:  

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
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  928
  • Reputation:   170
  • Joined:  04/05/13
  • Last Seen:  

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));

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  5
  • Reputation:   0
  • Joined:  11/20/19
  • Last Seen:  

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 
Link to comment
Share on other sites

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.

×
×
  • Create New...