Jump to content
  • 0
Sign in to follow this  
celeron0134

Custom Enchanter NPC

Question

a NPC that enchants orbs depending on equipment..

you need a specific orb on a specific armor.. 

example : Armor - only STR  orbs can be inserted ( Str + 1 to Str + 10) there will be a menu here

               Garment - only DEX orbs can be inserted

with Zeny cost and 100% success rate,,

Armor,Shield,garment,footgears,accessories,upper,middle,lower and lvl 4 weapons only

and retains refine equips

 

orrr -- if its possible let's say Str + 1 Orb can be doubled click and a function will pop up.. on which armor do you want to insert?  

thankyou in advance

Edited by celeron0134

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

@Haruka Mayumi if you have time to spare kindly check this thanks

prontera,155,181,5	script	Sample	757,{
mes "Which Armor you want to Enchant ?";
mes "Make sure there is no Card / Rune in it.";
next;
setarray .EquipID[0],2301,2302,2303,2304,2305,2306,2307,2308,2309,2310;
for( set [email protected],0; [email protected] < getarraysize( .EquipID ); set [email protected],[email protected] + 1 )
	set [email protected]$,[email protected]$ + getitemname( .EquipID[[email protected]] )+( !getitemslots(.EquipID[[email protected]])?"":"["+getitemslots(.EquipID[[email protected]])+"]" )+":";
set [email protected],select( [email protected]$ ) - 1;
if( !countitem( .EquipID[[email protected]] ) ){
	mes "You didnt have this Equipment with you.";
	close;
}
mes "Equipment : ^FF0000"+getitemname( .EquipID[[email protected]] )+"^000000";
switch( select( "Strength:Intelligent:Dexterity:Agility:Vitality:Luck" )){
	Case 1: setarray .RuneID[0],4700,4701,4702,4703,4704,4705,4706,4707,4708,4709; break;
	Case 2: setarray .RuneID[0],4710,4711,4712,4713,4714,4715,4716,4717,4718,4719; break;
	Case 3: setarray .RuneID[0],4720,4721,4722,4723,4724,4725,4726,4727,4728,4729; break;
	Case 4: setarray .RuneID[0],4730,4731,4732,4733,4734,4735,4736,4737,4738,4739; break;
	Case 5: setarray .RuneID[0],4740,4741,4742,4743,4744,4745,4746,4747,4748,4749; break;
	Case 6: setarray .RuneID[0],4750,4751,4752,4753,4754,4755,4756,4757,4758,4759; break;
}
for( set [email protected],0; [email protected] < getarraysize( .RuneID ); set [email protected],[email protected] + 1 )
	set [email protected]$,[email protected]$ + getitemname( .RuneID[[email protected]] )+":";
set [email protected],select( [email protected]$ ) - 1;
mes "Rune : ^FF0000"+getitemname( .RuneID[[email protected]] )+"^000000";
next;
if( select("Confirm:Cancel") == 1 ){
	if( !countitem( .RuneID[[email protected]] ) ){
		mes "Sorry you didnt have the "+getitemname( .RuneID[[email protected]] )+" with you.";
	}else{
		delitem .EquipID[[email protected]],1;
		delitem .RuneID[[email protected]],1;	
		getitem2 .EquipID[[email protected]],1,1,0,0,0,0,0,.RuneID[[email protected]];
		mes "Done.";
		mes "^0000FF"+getitemname( .EquipID[[email protected]] )+"^000000";
		mes "Enchanted with ^FF0000"+getitemname( .RuneID[[email protected]] )+"^000000";
	}
}
close;
}

what i need now is the seperation from equips.. example the setarray on case 1 runes can only be inserted on shields..

case 2 setarray can only be inserted on footgears and so on.. also i need a enchant remover that gives back the enchant runes and cards inserted on the equipment

thankyou

Share this post


Link to post
Share on other sites
  • 0
switch( select( "Strength:Intelligent:Dexterity:Agility:Vitality:Luck" )){

to

switch( getiteminfo(.EquipID[[email protected]],10)){

And change case to correct number according this

EQI_COMPOUND_ON (-1)      - Item slot that calls this script (In context of item script)
EQI_ACC_L (0)             - Accessory 1
EQI_ACC_R (1)             - Accessory 2
EQI_SHOES (2)             - Footgear (shoes, boots)
EQI_GARMENT (3)           - Garment (mufflers, hoods, manteaux)
EQI_HEAD_LOW (4)          - Lower Headgear (beards, some masks)
EQI_HEAD_MID (5)          - Middle Headgear (masks, glasses)
EQI_HEAD_TOP (6)          - Upper Headgear
EQI_ARMOR (7)             - Armor (jackets, robes)
EQI_HAND_L (8)            - Left hand (weapons, shields)
EQI_HAND_R (9)            - Right hand (weapons)
EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear
EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear
EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear
EQI_COSTUME_GARMENT (13)  - Costume Garment
EQI_AMMO (14)    		  - Arrow/Ammunition
EQI_SHADOW_ARMOR (15)     - Shadow Armor
EQI_SHADOW_WEAPON (16)    - Shadow Weapon
EQI_SHADOW_SHIELD (17)    - Shadow Shield
EQI_SHADOW_SHOES (18)     - Shadow Shoes
EQI_SHADOW_ACC_R (19)     - Shadow Accessory 2
EQI_SHADOW_ACC_L (20)     - Shadow Accessory 1

 

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, botka4aet said:
switch( select( "Strength:Intelligent:Dexterity:Agility:Vitality:Luck" )){

to

switch( getiteminfo(.EquipID[[email protected]],10)){

And change case to correct number according this

EQI_COMPOUND_ON (-1)      - Item slot that calls this script (In context of item script)
EQI_ACC_L (0)             - Accessory 1
EQI_ACC_R (1)             - Accessory 2
EQI_SHOES (2)             - Footgear (shoes, boots)
EQI_GARMENT (3)           - Garment (mufflers, hoods, manteaux)
EQI_HEAD_LOW (4)          - Lower Headgear (beards, some masks)
EQI_HEAD_MID (5)          - Middle Headgear (masks, glasses)
EQI_HEAD_TOP (6)          - Upper Headgear
EQI_ARMOR (7)             - Armor (jackets, robes)
EQI_HAND_L (8)            - Left hand (weapons, shields)
EQI_HAND_R (9)            - Right hand (weapons)
EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear
EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear
EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear
EQI_COSTUME_GARMENT (13)  - Costume Garment
EQI_AMMO (14)    		  - Arrow/Ammunition
EQI_SHADOW_ARMOR (15)     - Shadow Armor
EQI_SHADOW_WEAPON (16)    - Shadow Weapon
EQI_SHADOW_SHIELD (17)    - Shadow Shield
EQI_SHADOW_SHOES (18)     - Shadow Shoes
EQI_SHADOW_ACC_R (19)     - Shadow Accessory 2
EQI_SHADOW_ACC_L (20)     - Shadow Accessory 1

 

this one?

setarray .EquipID[0],2301,2302,2303,2304,2305,2306,2307,2308,2309,2310;

or this one?

switch( getiteminfo(.EquipID[[email protected]],10)){
	Case 1: setarray .RuneID[0],4700,4701,4702,4703,4704,4705,4706,4707,4708,4709; break;
	Case 2: setarray .RuneID[0],4710,4711,4712,4713,4714,4715,4716,4717,4718,4719; break;
	Case 3: setarray .RuneID[0],4720,4721,4722,4723,4724,4725,4726,4727,4728,4729; break;
	Case 4: setarray .RuneID[0],4730,4731,4732,4733,4734,4735,4736,4737,4738,4739; break;
	Case 5: setarray .RuneID[0],4740,4741,4742,4743,4744,4745,4746,4747,4748,4749; break;
	Case 6: setarray .RuneID[0],4750,4751,4752,4753,4754,4755,4756,4757,4758,4759; break;

 

Share this post


Link to post
Share on other sites
  • 0
Case 1: -> Case 7:

you can add 

Strength(old case!) to EQI_ARMOR (7<-----) - Armor (jackets, robes)

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, botka4aet said:
Case 1: -> Case 7:

you can add 

Strength(old case!) to EQI_ARMOR (7<-----) - Armor (jackets, robes)

can you show me the full script? i tried it but  the cases are dependent on the setarray .EquipID[0] which means if i put armor on the 7th slot on .EquipID[0] it will work.. but the prob is its limited on 1 armor only ( cotton shirts) and can't add more.. 

 

what i need is.. when you talked to the NPC..  switch(select your current equipment . and when you pick like example a headgear.. it will go case 1 of the rune.. if shield it will go case 2; .. id like to enchant any armors too and not dependent on the setarray

Share this post


Link to post
Share on other sites
  • 0
	setarray [email protected][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;

like the script of the refining NPC where the menu will be your current equipment.. 

when EQI_HEAD_TOP is picked = only STR runes are available on headgears,,

when EQI_ARMOR is picked = only AGI runes are available on armors

when EQI_HAND_L (SHIELD) only VIT runes are available on shield -- and checks if the equipped is shield and not weapons

 

Share this post


Link to post
Share on other sites
  • 0

bump please - tried making 7 NPCS for it to work.. i need them to be on 1 NPC

Share this post


Link to post
Share on other sites
  • 0

Hello good day.. 

setarray [email protected][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;

Case 1: 

   switch select [email protected]

Case 2:

 switch select [email protected]

Case 3:

 Switch select [email protected]

 

like this.. 

Share this post


Link to post
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.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.