Jump to content
  • 0

Error Setting Random Option


Rizta

Question


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.01
  • Content Count:  109
  • Reputation:   5
  • Joined:  08/12/17
  • Last Seen:  

Hello everyone.

Im trying to release a script that enchant every item with random options chosen by array (i think someone request that in somewhere in rA).

Currently the script works, but, randomically i get the error in title when try enchant. I imagine that somehow the script was searching for this "id 0" reference in the database even if I did not indicate it as a possibility.

I tried clear all the arrays and test with only 1 value, and choose the ID 2 that correspond to MaxSP + X and even with that i still getting this error randomically.

Btw it happens in all slots, literally randomically x_X 

Here's the fullcode

Spoiler

//===== rAthena Script =======================================
//= Random Option SurviveRO
//===== By: ==================================================
//= Rizakh
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
//= Atribui opcoes aleatorias aos equipamentos.
//= com o custo de X zeny/cash
//============================================================

//trin_in,177,178,4

trin_in,177,178,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,5000;	// Preco da opcao aleatoria
//setarray .irq[0],990,7041; // Red Blood e Fine Grit
//setarray .iqt[0],1,1; // Quantidade de cada item
//==============================
//	CONFIGURAÇÕES RANDOM OPTION 
//==============================
	set .sobrepor,0;	// Permite sobrepor encantamentos existentes ( 0 = off )
	set .falha,5;		// Define a chance de falha (%)
	//set .MaxOpt,192;		// Maximum item option a player can enchant ( reference: https://github.com/rathena/rathena/blob/master/db/const.txt#L1645-L1836 )
	//set .MinOpt,1;		// Minimum item option a player can enchant
	set .valmin,2;	// Valor minimo a se tirar na opcao aleatoria
	set .valmax,5;	// 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[1],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[1],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[1],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[1],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[1],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[1],RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
	               RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
	setarray .mhd1[1],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[1],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[1],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[1],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[1],RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
	               RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
	setarray .lhd1[1],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[1],RDMOPT_DAMAGE_CRI_TARGET,RDMOPT_DAMAGE_CRI_USER,RDMOPT_RANGE_ATTACK_DAMAGE_USER,RDMOPT_HEAL_VALUE,RDMOPT_VAR_HITSUCCESSVALUE;
	setarray .lhd3[1],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[1],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[1],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[1],RDMOPT_VAR_MAXHPPERCENT,RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,
	               RDMOPT_VAR_SPACCELERATION,RDMOPT_VAR_ITEMDEFPOWER,RDMOPT_VAR_MDEFPOWER;
	setarray .arm2[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],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[1],RDMOPT_CLASS_MDAMAGE_NORMAL,RDMOPT_CLASS_MDAMAGE_BOSS,RDMOPT_CLASS_DAMAGE_NORMAL_USER,
		           RDMOPT_CLASS_DAMAGE_NORMAL_TARGET;
	setarray .shs3[1],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[1],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[1],RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
				   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
	setarray .rac1[1],RDMOPT_VAR_MAXHPAMOUNT,RDMOPT_VAR_MAXSPAMOUNT,RDMOPT_VAR_MAXHPPERCENT,
				   RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION;
	setarray .rac2[1],RDMOPT_VAR_PLUSASPD,RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_HITSUCCESSVALUE,
				   RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE;
	setarray .rac3[1],RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_MAGICATKPERCENT,RDMOPT_VAR_ATTPOWER,
			       RDMOPT_VAR_ATTMPOWER,RDMOPT_RANGE_ATTACK_DAMAGE_TARGET,RDMOPT_DAMAGE_SIZE_PERFECT;
	setarray .rac4[1],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[1],RDMOPT_VAR_STRAMOUNT,RDMOPT_VAR_AGIAMOUNT,RDMOPT_VAR_VITAMOUNT,
				   RDMOPT_VAR_INTAMOUNT,RDMOPT_VAR_DEXAMOUNT,RDMOPT_VAR_LUKAMOUNT;
	setarray .lac1[1],RDMOPT_VAR_MAXHPAMOUNT,RDMOPT_VAR_MAXSPAMOUNT,RDMOPT_VAR_MAXHPPERCENT,
				   RDMOPT_VAR_MAXSPPERCENT,RDMOPT_VAR_HPACCELERATION,RDMOPT_VAR_SPACCELERATION;
	setarray .lac2[1],RDMOPT_VAR_PLUSASPD,RDMOPT_VAR_PLUSASPDPERCENT,RDMOPT_VAR_HITSUCCESSVALUE,
				   RDMOPT_VAR_AVOIDSUCCESSVALUE,RDMOPT_VAR_PLUSAVOIDSUCCESSVALUE,RDMOPT_VAR_CRITICALSUCCESSVALUE;
	setarray .lac3[1],RDMOPT_VAR_ATKPERCENT,RDMOPT_VAR_MAGICATKPERCENT,RDMOPT_VAR_ATTPOWER,
			       RDMOPT_VAR_ATTMPOWER,RDMOPT_RANGE_ATTACK_DAMAGE_TARGET,RDMOPT_DAMAGE_SIZE_PERFECT;
	setarray .lac4[1],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","5x ^0000FF"+ getitemname(6242) +"^000000";
	} else {
		mes "Por um preço de ^0000FF"+.preco+" Cashpoints^000000,";
		mes "e também","1x ^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(6242) < 5)
		goto PriceFail;
	if(.moeda){
		if(Zeny < .preco)
			goto PriceFail;
		else
			set Zeny,Zeny-.preco;
			delitem 6242,5;
	} else {
		if(#CASHPOINTS < .preco)
			goto PriceFail;
		else	
			set #CASHPOINTS,#CASHPOINTS-.preco;
			delitem 6242,1;
	}		
		
	setarray .@eq[1], EQI_HEAD_TOP,EQI_ARMOR,EQI_HAND_L,EQI_HAND_R,EQI_GARMENT,EQI_SHOES,EQI_ACC_L,EQI_ACC_R,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);

	while(getequiprandomoption(.@part, .@indx, ROA_ID, getcharid(0))){
		++.@indx;
		if(.@indx > 4) { 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;
}	

 

Here's the error:

[Error]: buildin_setrandomoption: Random option ID 0 does not exists.
Edited by Rizta
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  91
  • Reputation:   22
  • Joined:  10/24/14
  • Last Seen:  

Hey, i think it's because your arrays starts from index 1, but using rand start from 0

.@opt = .thd0[rand(getarraysize(.thd0))];

 

Edited by Sehrentos
up
  • Upvote 1
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...