Jump to content
  • 0

Item Inventory Position Help


NexusXVI

Question


  • Group:  Members
  • Topic Count:  61
  • Topics Per Day:  0.01
  • Content Count:  227
  • Reputation:   6
  • Joined:  01/18/12
  • Last Seen:  

//NPC Constants
	OnInit:
		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
		set      .npc$  ,	"[^0000FFEnchant Expert^000000]"; // NPC Name
		set      .pric  ,	1000000;                          // Price
		set      .efet  ,	154;                              // Effect Number
		setarray .perc  ,	100,80,50,10;                     // Percent slot
		setarray .crd_c$,	"st", "nd", "rd", "th";           // Count
		setarray .itm32  ,   4760;                             // Sheilds
		setarray .itm16  ,   4761;                             // Armor
		setarray .itm4  ,   4762;                             // Garment
		setarray .itm64  ,   4763, 4764;                       // Footgear
		setarray .itm128  ,   4765;                             // Accessory1
		setarray .itm10  ,   4766;                             // Accessory2
		setarray .itm2  ,   4765;                             // Weapon
		setarray .itm1 ,   4766;                             // Low Headgear
		setarray .itm512  ,   4767;                             // Mid Headgear
		setarray .itm256  ,   4767;                             // Upper Headgear
		setarray .eqp$  ,	"Upper Headgear", "Mid Headgear", "Low Headgear", "Armor", "Left Hand", "Right Hand", "Garment",
		                	"Shoes", "Accessory1", "Accessory2";
		set      .e_len ,	getarraysize(.eqp$);
		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
}

This is skorm's Enchanter NPC,

I just want to ask some help to properly re-udjust the locations of this on the menu,, Because it shows that the LOWER HGear is on the position of ARMOR, I have checked the forums and the wiki for location specifics but I can't find it.

 

Anyone can help?

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

  • Group:  Forum Moderator
  • Topic Count:  33
  • Topics Per Day:  0.01
  • Content Count:  1268
  • Reputation:   382
  • Joined:  02/03/12
  • Last Seen:  

quiz_00,17,124,4	script	Katonai	821,{

	mes .npc$;
	mes "Hello there!";
	mes "I can enchant your items,";
	mes "for a small fee of "+.pric+"z.";
	emotion e_no1,0; next;
	if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
	if(Zeny<.pric) { mes .npc$; mes "I'm sorry you don't have enough Zeny, please come back later."; close; }
	
	mes .npc$;
	mes "Which item would you like to enchant?"; next;
	for( .@a = 0; .@a < .e_len; .@a++ ) {
		if(getequipid(.equiploc[.@a])>-1) {
			set .@menu$, .@menu$+.eqp$[.@a]+"- [^0000FF"+getitemname(getequipid(.equiploc[.@a]))+"^000000]:";
		} else { set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a]+"- [Empty]^000000:"; }
	}
		
	select(.@menu$);
	set .@eq_loc, .equiploc[@menu-1];
	set .@eq_itm, getequipid(.@eq_loc);
	if(.@eq_itm<0) {
		mes .npc$;
		mes "Hmm, I don't think you have anything equipped there.";
		close;
	}
	
	set .@menu$, "";
	set(.@eq,(getiteminfo(.@eq_itm,2)==4?4:.@eq_loc));
	for(set(.@b,0);.@b<getarraysize(getd(".itm"+.@eq));set(.@b,.@b+1)) {
		set(.@items,getd(".itm"+.@eq+"["+.@b+"]"));
		if(getiteminfo(.@items,2)>-1)
			if(set(.@c,countitem(.@items))) {
				set .@menu$, .@menu$+getitemname(.@items)+" x"+.@c+":";
				set .@b,.@b+1; set .@item[.@b], .@items;
			}
	}
			
	if(.@menu$=="") {
		mes .npc$;
		mes "Hmm, you don't seem to have any enchantment orbs for that equipment.";
		close;
	}

	mes .npc$;
	mes "Please, select an enchantment from the menu."; next;
	select(.@menu$);
	set .@itm, .@item[@menu];

	set .@menu$, ""; set .@a, 0;
	while((set(.@a,.@a+1)-1)<4) {
		setd(".@crd"+.@a, getequipcardid(.@eq_loc,.@a-1));
		if(getequipcardid(.@eq_loc,.@a-1))
			set .@menu$, .@menu$+.@a+.crd_c$[.@a-1]+" Slot- [^a92435"+getitemname(getequipcardid(.@eq_loc,.@a-1))+"^000000]:";
		else set .@menu$, .@menu$+.@a+.crd_c$[.@a-1]+" Slot- [^30ad25Empty^000000]:";
	}
	
	mes .npc$;
	mes "Select a slot."; next;
	set(.@slot,select(.@menu$)-1);
	set .@eqrf,	getequiprefinerycnt(.@eq_loc);
	if(getequipcardid(.@eq_loc,.@slot)) {
		mes .npc$;
		mes "Would you like me to remove this card?"; next;
		if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
		getitem getequipcardid(.@eq_loc,.@slot),1;
		delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
		setd(".@crd"+(@menu+1), 0);
		getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
	}

	if(rand(101)>.perc[.@slot]) {
		mes .npc$;
		mes "I'm sorry but I've failed you!";
		misceffect 155; emotion e_sob,0;
		set Zeny,Zeny-.pric;
		close;
	}
	
	set Zeny,Zeny-.pric;
	delitem .@itm,1;
	delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
	setd(".@crd"+(@menu+1), .@itm);
	getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
	misceffect .efet;
	emotion e_no1,0;
	mes .npc$;
	mes "All done!";
	equip .@eq_itm;
	close;

//NPC Constants
	OnInit:
		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
		set      .npc$  ,	"[^0000FFEnchant Expert^000000]"; // NPC Name
		set      .pric  ,	1000000;                          // Price
		set      .efet  ,	154;                              // Effect Number
		setarray .perc  ,	100,80,50,10;                     // Percent slot
		setarray .crd_c$,	"st", "nd", "rd", "th";           // Count
		setarray .itm32  ,   4760;                             // Sheilds
		setarray .itm16  ,   4761;                             // Armor
		setarray .itm4  ,   4762;                             // Garment
		setarray .itm64  ,   4763, 4764;                       // Footgear
		setarray .itm128  ,   4765;                             // Accessory1
		setarray .itm10  ,   4766;                             // Accessory2
		setarray .itm2  ,   4765;                             // Weapon
		setarray .itm1 ,   4766;                             // Low Headgear
		setarray .itm512  ,   4767;                             // Mid Headgear
		setarray .itm256  ,   4767;                             // Upper Headgear
		setarray .eqp$  ,	"Upper Headgear", "Mid Headgear", "Low Headgear", "Armor", "Left Hand", "Right Hand", "Garment",
		                	"Shoes", "Accessory1", "Accessory2";
		setarray .equiploc, EQI_HEAD_TOP, EQI_HEAD_MID, EQI_HEAD_LOW, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R;
		set      .e_len ,	getarraysize(.eqp$);
		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
}

Working version.

Edited by Skorm
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  615
  • Reputation:   201
  • Joined:  11/09/11
  • Last Seen:  

Where is the rest of the code? That information is just variables being set...

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  615
  • Reputation:   201
  • Joined:  11/09/11
  • Last Seen:  

You could just adjust the menu order if it's wrong... change the location of the strings...

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  61
  • Topics Per Day:  0.01
  • Content Count:  227
  • Reputation:   6
  • Joined:  01/18/12
  • Last Seen:  

//===== rAthena Script ============================================
//= Enchantment System
//===== By: =======================================================
//= Kenedos
//===== Current Version: ==========================================
//= 1.0
//===== Compatible With: ==========================================
//= rAthena SQL/TXT
//===== Description: ==============================================
//= Uses the 2nd, 3rd and 4th slot on armors (headgears, footgears
//= garments, shields and armors) to add extra bonus status and
//= diverse attributes.
//===== Topic =====================================================
//= Unknown
//===== Additional Comments: ======================================
//= BE WARNED : The use of decarder NPCs, Sign your Name on items
//= NPCs and any other kind of NPC that make use of the extra armor
//= slots will bug this whole system. Also make sure every armor
//= in your server only have 1 slot at max, otherwise it will also
//= cause unexpected behaviour.
//=
//= If you wish to change the GM level to access the command menu,
//= just find the command "getgmlevel()" in this script.
//= It is located a few lines bellow the header.
//=
//= If you wish to change the cost for the Power Stones, look for
//= the "MvP Power Stone Conversion Table" in the end of the script.
//=================================================================

quiz_00,17,124,4	script	Katonai	821,{

	mes .npc$;
	mes "Hello there!";
	mes "I can enchant your items,";
	mes "for a small fee of "+.pric+"z.";
	emotion e_no1,0; next;
	if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
	if(Zeny<.pric) { mes .npc$; mes "I'm sorry you don't have enough Zeny, please come back later."; close; }
	
	mes .npc$;
	mes "Which item would you like to enchant?"; next;
	while(set(.@a,.@a+1)<=.e_len) {
		if(getequipid(.@a)>-1)
			set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.@a))+"^000000]:";
		else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:";
	}
		
	select(.@menu$);
	set .@eq_loc, @menu;
	set .@eq_itm, getequipid(.@eq_loc);
	if(.@eq_itm<0) {
		mes .npc$;
		mes "Hmm, I don't think you have anything equipped there.";
		close;
	}
	
	set .@menu$, "";
	set(.@eq,(getiteminfo(.@eq_itm,2)==4?4:.@eq_loc));
	for(set(.@b,0);.@b<getarraysize(getd(".itm"+.@eq));set(.@b,.@b+1)) {
		set(.@items,getd(".itm"+.@eq+"["+.@b+"]"));
		if(getiteminfo(.@items,2)>-1)
			if(set(.@c,countitem(.@items))) {
				set .@menu$, .@menu$+getitemname(.@items)+" x"+.@c+":";
				set .@b,.@b+1; set .@item[.@b], .@items;
			}
	}
			
	if(.@menu$=="") {
		mes .npc$;
		mes "Hmm, you don't seem to have any enchantment orbs for that equipment.";
		close;
	}

	mes .npc$;
	mes "Please, select an enchantment from the menu."; next;
	select(.@menu$);
	set .@itm, .@item[@menu];

	set .@menu$, ""; set .@a, 0;
	while((set(.@a,.@a+1)-1)<4) {
		setd(".@crd"+.@a, getequipcardid(.@eq_loc,.@a-1));
		if(getequipcardid(.@eq_loc,.@a-1))
			set .@menu$, .@menu$+.@a+.crd_c$[.@a-1]+" Slot- [^a92435"+getitemname(getequipcardid(.@eq_loc,.@a-1))+"^000000]:";
		else set .@menu$, .@menu$+.@a+.crd_c$[.@a-1]+" Slot- [^30ad25Empty^000000]:";
	}
	
	mes .npc$;
	mes "Select a slot."; next;
	set(.@slot,select(.@menu$)-1);
	set .@eqrf,	getequiprefinerycnt(.@eq_loc);
	if(getequipcardid(.@eq_loc,.@slot)) {
		mes .npc$;
		mes "Would you like me to remove this card?"; next;
		if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
		getitem getequipcardid(.@eq_loc,.@slot),1;
		delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
		setd(".@crd"+(@menu+1), 0);
		getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
	}

	if(rand(101)>.perc[.@slot]) {
		mes .npc$;
		mes "I'm sorry but I've failed you!";
		misceffect 155; emotion e_sob,0;
		set Zeny,Zeny-.pric;
		close;
	}
	
	set Zeny,Zeny-.pric;
	delitem .@itm,1;
	delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
	setd(".@crd"+(@menu+1), .@itm);
	getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4;
	misceffect .efet;
	emotion e_no1,0;
	mes .npc$;
	mes "All done!";
	equip .@eq_itm;
	close;

//NPC Constants
	OnInit:
		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
		set      .npc$  ,	"[^0000FFEnchant Expert^000000]"; // NPC Name
		set      .pric  ,	1000000;                          // Price
		set      .efet  ,	154;                              // Effect Number
		setarray .perc  ,	100,80,50,10;                     // Percent slot
		setarray .crd_c$,	"st", "nd", "rd", "th";           // Count
		setarray .itm32  ,   4760;                             // Sheilds
		setarray .itm16  ,   4761;                             // Armor
		setarray .itm4  ,   4762;                             // Garment
		setarray .itm64  ,   4763, 4764;                       // Footgear
		setarray .itm128  ,   4765;                             // Accessory1
		setarray .itm10  ,   4766;                             // Accessory2
		setarray .itm2  ,   4765;                             // Weapon
		setarray .itm1 ,   4766;                             // Low Headgear
		setarray .itm512  ,   4767;                             // Mid Headgear
		setarray .itm256  ,   4767;                             // Upper Headgear
		setarray .eqp$  ,	"Upper Headgear", "Mid Headgear", "Low Headgear", "Armor", "Left Hand", "Right Hand", "Garment",
		                	"Shoes", "Accessory1", "Accessory2";
		set      .e_len ,	getarraysize(.eqp$);
		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
}

 

This was the code, yep I have been fiddling with it, but I think the costume part of the inventory is also making a mess on it. I had tried every thing I know lol,

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  615
  • Reputation:   201
  • Joined:  11/09/11
  • Last Seen:  

Nice. If u don't get an answer by the time I get home I will check it out. I am mobile atm and it's hard to see anything.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  61
  • Topics Per Day:  0.01
  • Content Count:  227
  • Reputation:   6
  • Joined:  01/18/12
  • Last Seen:  

It's still showing the same problem @Skorm , The Headgears are still positioned on the armor part of the script, and now the costume shows on the accessory part :D

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