Jump to content
  • 0

Custom Enchanter NPC


celeron0134

Question


  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

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

8 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

@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 .@i,0; .@i < getarraysize( .EquipID ); set .@i,.@i + 1 )
	set .@EquipMenu$,.@EquipMenu$ + getitemname( .EquipID[.@i] )+( !getitemslots(.EquipID[.@i])?"":"["+getitemslots(.EquipID[.@i])+"]" )+":";
set .@Equip,select( .@EquipMenu$ ) - 1;
if( !countitem( .EquipID[.@Equip] ) ){
	mes "You didnt have this Equipment with you.";
	close;
}
mes "Equipment : ^FF0000"+getitemname( .EquipID[.@Equip] )+"^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 .@i,0; .@i < getarraysize( .RuneID ); set .@i,.@i + 1 )
	set .@RuneMenu$,.@RuneMenu$ + getitemname( .RuneID[.@i] )+":";
set .@Rune,select( .@RuneMenu$ ) - 1;
mes "Rune : ^FF0000"+getitemname( .RuneID[.@Rune] )+"^000000";
next;
if( select("Confirm:Cancel") == 1 ){
	if( !countitem( .RuneID[.@Rune] ) ){
		mes "Sorry you didnt have the "+getitemname( .RuneID[.@Rune] )+" with you.";
	}else{
		delitem .EquipID[.@Equip],1;
		delitem .RuneID[.@Rune],1;	
		getitem2 .EquipID[.@Equip],1,1,0,0,0,0,0,.RuneID[.@Rune];
		mes "Done.";
		mes "^0000FF"+getitemname( .EquipID[.@Equip] )+"^000000";
		mes "Enchanted with ^FF0000"+getitemname( .RuneID[.@Rune] )+"^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

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  211
  • Reputation:   17
  • Joined:  12/23/11
  • Last Seen:  

switch( select( "Strength:Intelligent:Dexterity:Agility:Vitality:Luck" )){

to

switch( getiteminfo(.EquipID[.@Equip],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
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

1 hour ago, botka4aet said:

switch( select( "Strength:Intelligent:Dexterity:Agility:Vitality:Luck" )){

to


switch( getiteminfo(.EquipID[.@Equip],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[.@Equip],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;

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  211
  • Reputation:   17
  • Joined:  12/23/11
  • Last Seen:  

Case 1: -> Case 7:

you can add 

Strength(old case!) to EQI_ARMOR (7<-----) - Armor (jackets, robes)
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

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

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

	setarray .@indices[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

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

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

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

Hello good day.. 

setarray .@indices[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 .@headstones

Case 2:

 switch select .@armorstones

Case 3:

 Switch select .@weaponstones

 

like this.. 

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...