📄 npc_refine.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 + -