Jump to content
  • 0

Hammer Time for Middle Headgear 2: The Enchantment


Question

Posted

Some of my players were requesting this new NPC. They linked me to the site of an official ragnarok server here: http://ragnarok.levelupgames.ph/main/enchantment-npc-guide-midheadgears/ . Its another NPC made specifically for mid gears enchantments which requires a "midgard coin" (#6242). This was out on the official server since last Sept 2012 so I was wondering if we already have the NPC for this by now?

 

Does anyone have the script/s for this? Or may I request to make one for me? I can pay for the service.

 

Let me know guys.

 

Thank you in advance! /no1

Recommended Posts

Posted

 

If getequipid was returning 0 then yeah it would.

 

 

This is awesome!

 

But kindly can you make me an edit that instead of 1M zeny it will ask for 3 pcs of the item 6242,Midgard_Coin. And will also have a random chance of 30% of success. When fail the item will not break and will retain its previous enchantment/s.

 

I plan to use this NPC but I am afraid to touch it to include these mods as I might ruin it.

 

By the way, where can I see the list in this script what enchantments this NPC could give?

 

Thank you very much Mr. Skorm!

Posted · Hidden by Skorm, November 28, 2013 - Repeat request
Hidden by Skorm, November 28, 2013 - Repeat request

 

 

If getequipid was returning 0 then yeah it would.

prontera,201,188,4	script	Neo Enchanter	851,{
	mes .npc$;
	mes "Hello there!";
	mes "I can make Neo items even better!";
	mes "If you have a ^0000FF"+getitemname(atoi(.e_itl$[1]))+"^000000,";
	mes "a ^0000FF"+getitemname(atoi(.e_itl$[0]))+"^000000,";
	mes "or a ^0000FF"+getitemname(atoi(.e_itl$[2]))+"^000000.";
	mes "I'll enchant it for 1,000,000z"; 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; }
	if(.note){
		mes "^a92435----------NOTICE----------";
		mes "The enchanted Neo armor will only";
		mes "be available during the event";
		mes "period. (October 17 - November 21)"; next;
	}
	
	mes .npc$;
	mes "Which Neo item would you like to enchant?"; next;
	while(set(.@a,.@a+1)<=.e_len) {
		if(compare("|"+.e_itl$[.@a-1]+"|","|"+getequipid(.e_loc[.@a-1])+"|"))
			set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.e_loc[.@a-1]))+"^000000]:";
		else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:";
	}
	
	select(.@menu$);
	set .@eq_loc, .e_loc[(@menu-1)];
	set .@eq_id, getequipid(.@eq_loc);
	set .@eq_rf, getequiprefinerycnt(.@eq_loc);
	if(compare("|"+.e_itm$+"|","|"+.@eq_id+"|")) {
		set .@crd0, getequipcardid(.@eq_loc,0);
		while(getd(".menu"+.@b+"$")!="") {
			mes .npc$;
			mes "Choose ^0000FF"+(.@b+1)+.itm_c$[.@b]+"^000000 enchantment for your item."; next;
			select(getd(".menu"+.@b+"$"));
			setd(".@crd"+(.@b+1),getequipcardid(.@eq_loc,(.@b+1)));
			setd(".@n_crd"+(.@b+1),((.@b>1)?.itm2[@menu-1]:.itm1[0]+((@menu-1)*10)));
			set(.@b,.@b+1);
		}
	} else {
		mes .npc$;
		mes "Sorry I don't recoginze that equipment.";
		close;
	}
	
	set Zeny, Zeny-.pric;
	delitem2 .@eq_id, 1, 1, .@eq_rf, 0, .@crd0, .@crd1, .@crd2, .@crd3;
	getitem2 .@eq_id, 1, 1, .@eq_rf, 0, .@crd0, .@n_crd1, .@n_crd2, .@n_crd3;
	misceffect .efet;
	mes .npc$;
	mes "All done!";
	equip .@eq_id;
	close;

//NPC Constants
	OnInit:
		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
		set      .npc$  ,    "[Neo Enchanter]";                              // NPC Name
		set      .note  ,    1;                                              // Shows notice 1=on/0=off
		set      .pric  ,    1000000;                                        // Price
		set      .efet  ,    154;                                            // Effect Number
		setarray .itm1  ,    4704, 4764;                                     // Item Menu1 Range
		setarray .itm2  ,    4802, 4788, 4765, 4763, 4799;                   // Item Menu2
		setarray .itm_c$,    "st", "nd", "rd";                               // Numbers
		setarray .eqp$  ,    "Shield", "Garment", "Accessory1", "Accessory2";// Menu3
		setarray .e_itl$,    "2137", "2548", "2763", "2763";                 // Equip Items
		setarray .e_loc ,    3, 5, 7, 8;                                     // Equip Locations
		set      .e_itm$,    implode(.e_itl$,"|");
		set      .e_len ,    getarraysize(.eqp$);
		set      .i_len ,    getarraysize(.itm2);
		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
		for(set(.@a,.itm1[0]);.@a<=.itm1[1];set(.@a,.@a+10))
			set .menu0$, .menu0$+ getitemname(.@a)+":";
		set .menu1$, .menu0$;
		for(set(.@a,0);.@a<.i_len;set(.@a,.@a+1))
			set .menu2$, .menu2$+ getitemname(.itm2[.@a])+":";
}

 

 

This is awesome!

 

But kindly can you make me an edit that instead of 1M zeny it will ask for 3 pcs of the item 6242,Midgard_Coin. And will also have a random chance of 30% of success. When fail the item will not break and will retain its previous enchantment/s.

 

I plan to use this NPC but I am afraid to touch it to include these mods as I might ruin it.

 

By the way, where can I see the list in this script what enchantments this NPC could give?

 

Thank you very much Mr. Skorm!

 

 

 

Anyone? :)

 

Thanks!

Posted

 

This is awesome!

 

But kindly can you make me an edit that instead of 1M zeny it will ask for 3 pcs of the item 6242,Midgard_Coin. And will also have a random chance of 30% of success. When fail the item will not break and will retain its previous enchantment/s.

 

I plan to use this NPC but I am afraid to touch it to include these mods as I might ruin it.

 

By the way, where can I see the list in this script what enchantments this NPC could give?

 

Thank you very much Mr. Skorm!

 

 

I have no time to test, but the changes have been made.

prontera,201,188,4	script	Neo Enchanter	851,{
	mes .npc$;
	mes "Hello there!";
	mes "I can make Neo items even better!";
	mes "If you have a ^0000FF"+getitemname(atoi(.e_itl$[1]))+"^000000,";
	mes "a ^0000FF"+getitemname(atoi(.e_itl$[0]))+"^000000,";
	mes "or a ^0000FF"+getitemname(atoi(.e_itl$[2]))+"^000000.";
	mes "I'll enchant it for "+.pric+" "+getitemname(.item)+"(s)"; next;
	if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
	if(countitem(.item)<.pric) { mes .npc$; mes "I'm sorry you don't have enough "+getitemname(.item)+", please come back later."; close; }
	if(.note){
		mes "^a92435----------NOTICE----------";
		mes "The enchanted Neo armor will only";
		mes "be available during the event";
		mes "period. (October 17 - November 21)"; next;
	}
	
	mes .npc$;
	mes "Which Neo item would you like to enchant?"; next;
	while(set(.@a,.@a+1)<=.e_len) {
		if(compare("|"+.e_itl$[.@a-1]+"|","|"+getequipid(.e_loc[.@a-1])+"|"))
			set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.e_loc[.@a-1]))+"^000000]:";
		else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:";
	}
	
	select(.@menu$);
	set .@eq_loc, .e_loc[(@menu-1)];
	set .@eq_id, getequipid(.@eq_loc);
	set .@eq_rf, getequiprefinerycnt(.@eq_loc);
	if(compare("|"+.e_itm$+"|","|"+.@eq_id+"|")) {
		set .@crd0, getequipcardid(.@eq_loc,0);
		while(getd(".menu"+.@b+"$")!="") {
			mes .npc$;
			mes "Choose ^0000FF"+(.@b+1)+.itm_c$[.@b]+"^000000 enchantment for your item."; next;
			select(getd(".menu"+.@b+"$"));
			setd(".@crd"+(.@b+1),getequipcardid(.@eq_loc,(.@b+1)));
			setd(".@n_crd"+(.@b+1),((.@b>1)?.itm2[@menu-1]:.itm1[0]+((@menu-1)*10)));
			set(.@b,.@b+1);
		}
	} else {
		mes .npc$;
		mes "Sorry I don't recoginze that equipment.";
		close;
	}
	
	delitem(.item,.pric);
	if(rand(101)<=.rate) {
		delitem2 .@eq_id, 1, 1, .@eq_rf, 0, .@crd0, .@crd1, .@crd2, .@crd3;
		getitem2 .@eq_id, 1, 1, .@eq_rf, 0, .@crd0, .@n_crd1, .@n_crd2, .@n_crd3;
		misceffect .efet;
		mes .npc$;
		mes "All done!";
		emotion e_no1,0;
		equip .@eq_id;
	} else {
		misceffect 155;
		mes .npc$;
		mes "I'm sorry I've failed you";
		emotion e_sob,0;
	}
	close;

//NPC Constants
	OnInit:
		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
		set      .npc$  ,    "[Neo Enchanter]";                              // NPC Name
		set      .note  ,    1;                                              // Shows notice 1=on/0=off
		set      .pric  ,    3;                                              // Price
		set      .item  ,    6242;                                           // required item
		set      .rate  ,    30;
		set      .efet  ,    154;                                            // Effect Number
		setarray .itm1  ,    4704, 4764;                                     // Item Menu1 Range
		setarray .itm2  ,    4802, 4788, 4765, 4763, 4799;                   // Item Menu2
		setarray .itm_c$,    "st", "nd", "rd";                               // Numbers
		setarray .eqp$  ,    "Shield", "Garment", "Accessory1", "Accessory2";// Menu3
		setarray .e_itl$,    "2137", "2548", "2763", "2763";                 // Equip Items
		setarray .e_loc ,    3, 5, 7, 8;                                     // Equip Locations
		set      .e_itm$,    implode(.e_itl$,"|");
		set      .e_len ,    getarraysize(.eqp$);
		set      .i_len ,    getarraysize(.itm2);
		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
		for(set(.@a,.itm1[0]);.@a<=.itm1[1];set(.@a,.@a+10))
			set .menu0$, .menu0$+ getitemname(.@a)+":";
		set .menu1$, .menu0$;
		for(set(.@a,0);.@a<.i_len;set(.@a,.@a+1))
			set .menu2$, .menu2$+ getitemname(.itm2[.@a])+":";
}
Posted

 

 

This is awesome!

 

But kindly can you make me an edit that instead of 1M zeny it will ask for 3 pcs of the item 6242,Midgard_Coin. And will also have a random chance of 30% of success. When fail the item will not break and will retain its previous enchantment/s.

 

I plan to use this NPC but I am afraid to touch it to include these mods as I might ruin it.

 

By the way, where can I see the list in this script what enchantments this NPC could give?

 

Thank you very much Mr. Skorm!

 

 

I have no time to test, but the changes have been made.

 

 

Nice!

 

Buyt where can I set which enchants should it give? I believe the neo enchanter should give 3 enchants?

 

Thank you my friend!

Posted

Nice!

 

Buyt where can I set which enchants should it give? I believe the neo enchanter should give 3 enchants?

 

Thank you my friend!

 

		setarray .itm1  ,    4704, 4764;                                     // Item Menu1 Range
		setarray .itm2  ,    4802, 4788, 4765, 4763, 4799;                   // Item Menu2
Posted

 

Nice!

 

Buyt where can I set which enchants should it give? I believe the neo enchanter should give 3 enchants?

 

Thank you my friend!

 

		setarray .itm1  ,    4704, 4764;                                     // Item Menu1 Range
		setarray .itm2  ,    4802, 4788, 4765, 4763, 4799;                   // Item Menu2

Oh. Can we make it 3 enchants?

 

Thanks!

 

Posted

Oh. Can we make it 3 enchants?

 

Thanks!

 

 

This information has more than 3.

 

http://ragnarok.levelupgames.ph/main/neo-echantment-special-event/

 

I'll leave the rest up to you.

prontera,201,188,4	script	Neo Enchanter	851,{
	mes .npc$;
	mes "Hello there!";
	mes "I can make Neo items even better!";
	mes "If you have a ^0000FF"+getitemname(atoi(.e_itl$[1]))+"^000000,";
	mes "a ^0000FF"+getitemname(atoi(.e_itl$[0]))+"^000000,";
	mes "or a ^0000FF"+getitemname(atoi(.e_itl$[2]))+"^000000.";
	mes "I'll enchant it for "+.pric+" "+getitemname(.item)+"(s)."; next;
	if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; }
	if(countitem(.item)<.pric) { mes .npc$; mes "I'm sorry you don't have enough "+getitemname(.item)+", please come back later."; close; }
	if(.note){
		mes "^a92435----------NOTICE----------";
		mes "The enchanted Neo armor will only";
		mes "be available during the event";
		mes "period. (October 17 - November 21)"; next;
	}
	
	mes .npc$;
	mes "Which Neo item would you like to enchant?"; next;
	while(set(.@a,.@a+1)<=.e_len) {
		if(compare("|"+.e_itl$[.@a-1]+"|","|"+getequipid(.e_loc[.@a-1])+"|"))
			set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.e_loc[.@a-1]))+"^000000]:";
		else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:";
	}
	
	select(.@menu$);
	set .@eq_loc, .e_loc[(@menu-1)];
	set .@eq_id, getequipid(.@eq_loc);
	set .@eq_rf, getequiprefinerycnt(.@eq_loc);
	if(compare("|"+.e_itm$+"|","|"+.@eq_id+"|")) {
		set .@crd0, getequipcardid(.@eq_loc,0);
		while(getd(".menu"+.@b+"$")!="") {
			mes .npc$;
			mes "Choose ^0000FF"+(.@b+1)+.itm_c$[.@b]+"^000000 enchantment for your item."; next;
			select(getd(".menu"+.@b+"$"));
			setd(".@crd"+(.@b+1),getequipcardid(.@eq_loc,(.@b+1)));
			setd(".@n_crd"+(.@b+1),getd(".itm"+(.@b+1)+"["+(@menu-1)+"]"));
			set(.@b,.@b+1);
		}
	} else {
		mes .npc$;
		mes "Sorry I don't recoginze that equipment.";
		close;
	}
	
	delitem(.item,.pric);
	if(rand(101)<=.rate) {
		delitem2 .@eq_id, 1, 1, .@eq_rf, 0, .@crd0, .@crd1, .@crd2, .@crd3;
		getitem2 .@eq_id, 1, 1, .@eq_rf, 0, .@crd0, .@n_crd1, .@n_crd2, .@n_crd3;
		misceffect .efet;
		mes .npc$;
		mes "All done!";
		emotion e_no1,0;
		equip .@eq_id;
	} else {
		misceffect 155;
		mes .npc$;
		mes "I'm sorry I've failed you";
		emotion e_sob,0;
	}
	close;

//NPC Constants
	OnInit:
		//=-=-=-=-=-=-=Configuration=-=-=-=-=-=-=
		set      .npc$  ,    "[Neo Enchanter]";                              // NPC Name
		set      .note  ,    1;                                              // Shows notice 1=on/0=off
		set      .pric  ,    3;                                              // Price
		set      .item  ,    6242;                                           // required item
		set      .rate  ,    30;
		set      .efet  ,    154;                                            // Effect Number
		setarray .itm1  ,    4704;                                           // Item Menu1
		setarray .itm2  ,    4764;                                           // Item Menu2
		setarray .itm3  ,    4802, 4788, 4765, 4763, 4799;                   // Item Menu3
		setarray .itm_c$,    "st", "nd", "rd";                               // Numbers
		setarray .eqp$  ,    "Shield", "Garment", "Accessory1", "Accessory2";// Menu3
		setarray .e_itl$,    "2137", "2548", "2763", "2763";                 // Equip Items
		setarray .e_loc ,    3, 5, 7, 8;                                     // Equip Locations
		set      .e_itm$,    implode(.e_itl$,"|");
		set      .e_len ,    getarraysize(.eqp$);
		set      .len0  ,    getarraysize(.itm1);
		set      .len1  ,    getarraysize(.itm2);
		set      .len2  ,    getarraysize(.itm3);
		//=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-=
		while(getd(".len"+.@a)) {
			for(set(.@b,0);.@b<getd(".len"+.@a);set(.@b,.@b+1))
				setd ".menu"+.@a+"$", getd(".menu"+.@a+"$")+ getitemname(getd(".itm"+(.@a+1)+"["+.@b+"]"))+":";
			set(.@a,.@a+1);
		}
}
Posted

Skorm in mid gear enchant Bling npc, How to  do this? When the enchant failed then the item will be deleted. Thank you.

if(rand(0,3)) { mes .npc$; mes "I'm sorry but I've failed you!"; misceffect 155; emotion e_sob,0; delitem .item,.pric; delitem2 .@geid, 1, 1, .@gerf, 0, .@crd1, .@crd2, .@crd3, .@crd4; close; }
Posted · Hidden by Skorm, September 4, 2014 - No reason given
Hidden by Skorm, September 4, 2014 - No reason given

R> MID GEAR ENCHANTER NPC the code above is not working Please help!

Posted

my neo items are rentitem for 7 days. but when enchants, rentitem is gone. how to make it to still a rentitem for 7days?

 

 

Use rentitem instead of getitem when giving out items after enchantments. Next problem is how to know current remaining "rent time" of the item when giving them out.

Posted

 

my neo items are rentitem for 7 days. but when enchants, rentitem is gone. how to make it to still a rentitem for 7days?

 

 

Use rentitem instead of getitem when giving out items after enchantments. Next problem is how to know current remaining "rent time" of the item when giving them out.

 

dunno what will i edit :o need some help

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...