⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 npc_refine.txt

📁 JA++的最新...很多ROSF都用这个 ] 是个不错的东西-3-
💻 TXT
字号:
//==============================================
// 精炼相关NPC
// 代码重写 by FPE(2006.6.28)
// Jathena++ 论坛:http://www.foxofice.net/bbs
//----------------------------------------------

//callfunc "MFJA_refine01","<NPC名字>";
function	script	MFJA_refine01	{
	mes "[" + getarg(0) + "]";
	mes "只要你将^FF0000神之金属原石^000000或^FF0000铝原石^000000拿来给我,我马上就可以为你提炼神之金属以及铝。我需要5个原石我才有办法帮你。";
	next;
	menu	"提炼神之金属。",A01,
		"提炼铝。",A02,
		"询问有关属性石相关事项。",-;

	mes "[" + getarg(0) + "]";
	mes "所谓属性石...";
	mes "我做锻冶金属这行已经做了二十年,听过很多这类的传说...但还没实际见过呢!";
	mes "我听说金属都各自拥有水、地、火、风等属性。";
	next;
	mes "[" + getarg(0) + "]";
	mes "听说在锻冶武器时加入属性时的话...所制作出来的武器将拥有那属性时的超强力量。";
	mes "哈哈..不过话说回来,能做出这种武器的人想必一定拥有极高的锻冶技术。";
	close;
	end;

A01:
	if(countitem(756)<5)
	{
		mes "[" + getarg(0) + "]";
		mes "哈哈哈...你真爱开玩笑。我不是跟你说过,要是没有5个神之金属原石的话,是无法制作神之金属的吗?";
		close;
		end;
	}
	delitem 756,5;
	getitem 984,1;
	mes "[" + getarg(0) + "]";
	mes "这是你要的神之金属,欢迎下次再来。";
	close;
	end;

A02:
	if(countitem(757)< 5)
	{
		mes "[" + getarg(0) + "]";
		mes "哈哈哈...你真爱开玩笑。";
		mes "我不是跟你说过,要是没有5个铝原石的话,是无法制作铝的吗?";
		close;
		end;
	}
	delitem 757,5;
	getitem 985,1;
	mes "[" + getarg(0) + "]";
	mes "这是你要的铝,欢迎下次再来。";
	close;
	end;
}

//callfunc "MFJA_refine02","<NPC名字>";
function	script	MFJA_refine02	{
	mes "[" + getarg(0) + "]";
	mes "这里有卖铁或是钢铁制武品锻治时所需要的金属!";
	mes "这里有卖锻治武器等级1的^007777强化武器用金属-强化级数一^000000";
	mes "与...锻治武器等级2的^007777强化武器用金属-强化级数二^000000等金属。";
	next;
	if((MaxWeight-Weight)<2000)
	{
		mes "[" + getarg(0) + "]";
		mes "抱歉!您目前是负重状态";
		mes "所以我无法提供服务。";
		close;
		end;
	}

	switch(select("强化武器用金属-强化级数一- 200金币","强化武器用金属-强化级数二- 1000金币","询问有没有其他金属"))
	{
	case 1:
		set @itemid,1010;
		set @value,200;
		mes "[" + getarg(0) + "]";
		mes "你想要购买多少数量?一个需要200ZENY!";
		break;
	case 2:
		set @itemid,1011;
		set @value,1000;
		mes "[" + getarg(0) + "]";
		mes "你想要购买多少数量?一个需要1000ZENY!";
		break;
	case 3:
		mes "[" + getarg(0) + "]";
		mes "你问的是制作武器等级1与2以上所需要的金属吧!";
		mes "我想你应该也知道,神之金属和铝...原来就比较难取得...";
		close;
		end;
		break;
	}

	switch(select("1个金属","2个金属","5个金属","10个金属","放弃"))
	{
	case 1:
		if(zeny<@value) break;
		set zeny,zeny-@value;
		getitem @itemid,1;
		mes "[" + getarg(0) + "]";
		mes "好了,这是你要的强化武器用金属,请收好。";
		close;
		end;
		break;
	case 2:
		if(zeny<2*@value) break;
		set zeny,zeny-2*@value;
		getitem @itemid,2;
		mes "[" + getarg(0) + "]";
		mes "好了,这是你要的强化武器用金属,请收好。";
		close;
		end;
		break;
	case 3:
		if(zeny<5*@value) break;
		set zeny,zeny-5*@value;
		getitem @itemid,5;
		mes "[" + getarg(0) + "]";
		mes "好了,这是你要的强化武器用金属,请收好。";
		close;
		end;
		break;
	case 4:
		if(zeny<10*@value) break;
		set Zeny,Zeny-10*@value;
		getitem @itemid,10;
		mes "[" + getarg(0) + "]";
		mes "好了,这是你要的强化武器用金属,请收好。";
		close;
		end;
		break;
	default:
		mes "[" + getarg(0) + "]";
		mes "那好吧,欢迎下次再来!";
		close;
		end;
		break;
	}

	mes "[" + getarg(0) + "]";
	mes "对不起哦,你现在的金币不够,这里可不许赊帐的。";
	close;
	end;
}

//callfunc "MFJA_refine03","<NPC名字>";
function	script	MFJA_refine03	{
	mes "[" + getarg(0) + "]";
	mes "我是专门锻治武器与防具的铁匠,我可以为你锻治装置项目中的物品。你想要锻治装置项目中的哪一项物品呢?";
	next;
	switch(select(getequipname(1),getequipname(2),getequipname(3),getequipname(4),getequipname(5),getequipname(6),getequipname(7),getequipname(8),getequipname(9),getequipname(10)))
	{
		set @part,@menu;
		if(getequipisequiped(@part)) break;
		mes "[" + getarg(0) + "]";
		mes "要不要我把你的头脑锻治得聪明一点啊?";
		close;
		end;
		break;
	}

	if(getequipisenableref(@part)==0)
	{
		mes "[" + getarg(0) + "]";
		mes "这项装置无法精炼。";
		close;
		end;
	}
	if(getequipisidentify(@part)==0)
	{
		mes "[" + getarg(0) + "]";
		mes "这个因为是未鉴定的所以不能精炼。";
		close;
		end;
	}
	if(getequiprefinerycnt(@part)>=10)
	{
		mes "[" + getarg(0) + "]";
		mes "这件装备已经锻治到最高等级,无法再锻治了..";
		close;
		end;
	}

	switch(getequipweaponlv(@part))
	{
	case 0:
		mes "[" + getarg(0) + "]";
		mes "要锻治你所选择的这项装备需要^ff9999铝^000000以及费用2000金币。";
		mes "你确定要继续吗?";
		next;
		if(select("继续","取消")==2)
		{
			mes "[" + getarg(0) + "]";
			mes "那好吧,欢迎下次再来!";
			close;
			end;
		}
		if(getequippercentrefinery(@part)!=100)
		{
			mes "[" + getarg(0) + "]";
			mes "看来这装备已经锻治很多次了的样子...要是再继续锻治的话,可能会造成损坏喔!";
			next;
			mes "[" + getarg(0) + "]";
			mes "要是损坏的话可就不能继续使用了!!插在里面的卡片和特征也^ff0000全部都被消失了^000000!!";
			next;
			mes "[" + getarg(0) + "]";
			mes "而且,装备也会消失掉哦,你确定要继续吗?";
			next;
			if(select("继续","取消")==2)
			{
				mes "[" + getarg(0) + "]";
				mes "很好。";
				mes "如果太过无理的锻治武器,而造成损坏,我心情也会跟着变坏的。";
				close;
				end;
			}
		}
		if(countitem(985)<1 || zeny<2000)
		{
			mes "[" + getarg(0) + "]";
			mes "这些就是你所拥有的所有物品吗?";
			mes "虽然很可惜,但是你的材料不足,我也实在爱莫能助,再说,我付出也应该得要有所收获嘛!";
			close;
			end;
		}
		delitem 985,1;
		set zeny,zeny-2000;
		break;
	case 1:
		mes "[" + getarg(0) + "]";
		mes "你想要锻治武器等级1的武器啊!";
		mes "要锻治的话需要^ff9999强化武器用金属-强化级数一^000000以及费用50金币。";
		mes "你要继续吗?";
		next;
		if(select("继续","取消")==2)
		{
			mes "[" + getarg(0) + "]";
			mes "那好吧,欢迎下次再来!";
			close;
			end;
		}
		if(getequippercentrefinery(@part)!=100)
		{
			mes "[" + getarg(0) + "]";
			mes "看来这装备已经锻治很多次了的样子...要是再继续锻治的话,可能会造成损坏喔!";
			next;
			mes "[" + getarg(0) + "]";
			mes "要是损坏的话可就不能继续使用了!!插在里面的卡片和特征也^ff0000全部都被消失了^000000!!";
			next;
			mes "[" + getarg(0) + "]";
			mes "而且,装备也会消失掉哦,你确定要继续吗?";
			next;
			if(select("继续","取消")==2)
			{
				mes "[" + getarg(0) + "]";
				mes "很好。";
				mes "如果太过无理的锻治武器,而造成损坏,我心情也会跟着变坏的。";
				close;
				end;
			}
		}
		if(countitem(1010)<1 || zeny<50)
		{
			mes "[" + getarg(0) + "]";
			mes "这些就是你所拥有的所有物品吗?";
			mes "虽然很可惜,但是你的材料不足,我也实在爱莫能助,再说,我付出也应该得要有所收获嘛!";
			close;
			end;
		}
		delitem 1010,1;
		set zeny,zeny-50;
		break;
	case 2:
		mes "[" + getarg(0) + "]";
		mes "你想要锻治武器等级2的武器啊!";
		mes "要锻治的话需要^ff9999强化武器用金属-强化级数二^000000以及费用200金币。";
		mes "你要继续吗?";
		next;
		if(select("继续","取消")==2)
		{
			mes "[" + getarg(0) + "]";
			mes "那好吧,欢迎下次再来!";
			close;
			end;
		}
		if(getequippercentrefinery(@part)!=100)
		{
			mes "[" + getarg(0) + "]";
			mes "看来这装备已经锻治很多次了的样子...要是再继续锻治的话,可能会造成损坏喔!";
			next;
			mes "[" + getarg(0) + "]";
			mes "要是损坏的话可就不能继续使用了!!插在里面的卡片和特征也^ff0000全部都被消失了^000000!!";
			next;
			mes "[" + getarg(0) + "]";
			mes "而且,装备也会消失掉哦,你确定要继续吗?";
			next;
			if(select("继续","取消")==2)
			{
				mes "[" + getarg(0) + "]";
				mes "很好。";
				mes "如果太过无理的锻治武器,而造成损坏,我心情也会跟着变坏的。";
				close;
				end;
			}
		}
		if(countitem(1011)<1 || zeny<200)
		{
			mes "[" + getarg(0) + "]";
			mes "这些就是你所拥有的所有物品吗?";
			mes "虽然很可惜,但是你的材料不足,我也实在爱莫能助,再说,我付出也应该得要有所收获嘛!";
			close;
			end;
		}
		delitem 1011,1;
		set zeny,zeny-200;
		break;
	case 3:
		mes "[" + getarg(0) + "]";
		mes "你想要锻治武器等级3的武器啊!";
		mes "要锻治的话需要^ff9999神之金属^000000以及费用2500金币。";
		mes "你要继续吗?";
		next;
		if(select("继续","取消")==2)
		{
			mes "[" + getarg(0) + "]";
			mes "那好吧,欢迎下次再来!";
			close;
			end;
		}
		if(getequippercentrefinery(@part)!=100)
		{
			mes "[" + getarg(0) + "]";
			mes "看来这装备已经锻治很多次了的样子...要是再继续锻治的话,可能会造成损坏喔!";
			next;
			mes "[" + getarg(0) + "]";
			mes "要是损坏的话可就不能继续使用了!!插在里面的卡片和特征也^ff0000全部都被消失了^000000!!";
			next;
			mes "[" + getarg(0) + "]";
			mes "而且,装备也会消失掉哦,你确定要继续吗?";
			next;
			if(select("继续","取消")==2)
			{
				mes "[" + getarg(0) + "]";
				mes "很好。";
				mes "如果太过无理的锻治武器,而造成损坏,我心情也会跟着变坏的。";
				close;
				end;
			}
		}
		if(countitem(984)<1 || zeny<2500)
		{
			mes "[" + getarg(0) + "]";
			mes "这些就是你所拥有的所有物品吗?";
			mes "虽然很可惜,但是你的材料不足,我也实在爱莫能助,再说,我付出也应该得要有所收获嘛!";
			close;
			end;
		}
		delitem 984,1;
		set zeny,zeny-2500;
		break;
	case 4:
		mes "[" + getarg(0) + "]";
		mes "你想要锻治武器等级4的武器啊!";
		mes "要锻治的话需要^ff9999神之金属^000000以及费用20000金币。";
		mes "你要继续吗?";
		next;
		if(select("继续","取消")==2)
		{
			mes "[" + getarg(0) + "]";
			mes "那好吧,欢迎下次再来!";
			close;
			end;
		}
		if(getequippercentrefinery(@part)!=100)
		{
			mes "[" + getarg(0) + "]";
			mes "看来这装备已经锻治很多次了的样子...要是再继续锻治的话,可能会造成损坏喔!";
			next;
			mes "[" + getarg(0) + "]";
			mes "要是损坏的话可就不能继续使用了!!插在里面的卡片和特征也^ff0000全部都被消失了^000000!!";
			next;
			mes "[" + getarg(0) + "]";
			mes "而且,装备也会消失掉哦,你确定要继续吗?";
			next;
			if(select("继续","取消")==2)
			{
				mes "[" + getarg(0) + "]";
				mes "很好。";
				mes "如果太过无理的锻治武器,而造成损坏,我心情也会跟着变坏的。";
				close;
				end;
			}
		}
		if(countitem(984)<1 || zeny<20000)
		{
			mes "[" + getarg(0) + "]";
			mes "这些就是你所拥有的所有物品吗?";
			mes "虽然很可惜,但是你的材料不足,我也实在爱莫能助,再说,我付出也应该得要有所收获嘛!";
			close;
			end;
		}
		delitem 984,1;
		set zeny,zeny-20000;
		break;
	}

	if(getequippercentrefinery(@part)<=rand(100))
	{
		mes "[" + getarg(0) + "]";
		mes "锵!锵!!锵!";
		failedrefitem @part;
		next;
		emotion 4;
		mes "[" + getarg(0) + "]";
		mes "咳咳咳咳咳咳咳!!!";
		next;
		mes "[" + getarg(0) + "]";
		mes "真...丢脸。";
		mes "武器在锻治的过程中损坏了。";
		mes "我...我...早就告诉过你会这样的嘛!";
		close;
		end;
	}
	mes "[" + getarg(0) + "]";
	mes "锵!锵!!锵!";
	successrefitem @part;
	next;
	emotion 18;
	mes "[" + getarg(0) + "]";
	mes "拿去吧!已经做好了。好久没锻治出那麽优质的武器了,武器变强了你一定也很高兴吧!";
	close;
	end;
}

// -----艾尔贝塔-----
alberta_in.gat,21,63,5	script	智诺普	84,{ callfunc "MFJA_refine01",strnpcinfo(1); }
alberta_in.gat,13,71,4	script	卡拉曼莉斯	86,{ callfunc "MFJA_refine02",strnpcinfo(1); }
alberta_in.gat,28,58,4	script	弗雷德利	85,{ callfunc "MFJA_refine03",strnpcinfo(1); }

// ----- 普隆德拉 -----
prt_in.gat,63,69,4	script	帝特立西	84,{ callfunc "MFJA_refine01",strnpcinfo(1); }
prt_in.gat,56,68,4	script	普勒越	86,{ callfunc "MFJA_refine02",strnpcinfo(1); }
prt_in.gat,63,60,4	script	忽克连	85,{ callfunc "MFJA_refine03",strnpcinfo(1); }

// ----- 梦罗克 -----
morocc_in.gat,72,32,4	script	亚度拉	85,{ callfunc "MFJA_refine01",strnpcinfo(1); }
morocc_in.gat,63,32,4	script	沙德	85,{ callfunc "MFJA_refine02",strnpcinfo(1); }
morocc_in.gat,73,38,4	script	亚拉甘	85,{ callfunc "MFJA_refine03",strnpcinfo(1); }

// ----- 斐扬 -----
payon_in01.gat,6,47,4	script	夏金	88,{ callfunc "MFJA_refine01",strnpcinfo(1); }
payon_in01.gat,13,47,4	script	伯克纳德	88,{ callfunc "MFJA_refine02",strnpcinfo(1); }
payon_in01.gat,6,50,4	script	安东尼奥	88,{ callfunc "MFJA_refine03",strnpcinfo(1); }

// ----- 尤诺 -----
yuno_in01.gat,164,27,4	script	汤马思	84,{ callfunc "MFJA_refine01",strnpcinfo(1); }
yuno_in01.gat,171,27,4	script	艾尔来特	86,{ callfunc "MFJA_refine02",strnpcinfo(1); }
yuno_in01.gat,171,21,4	script	尤思特	85,{ callfunc "MFJA_refine03",strnpcinfo(1); }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -