📄 npc_function.txt
字号:
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(1011)<1 || Zeny<2000 ) goto L_CANCEL_2;
delitem 1011,1;
set Zeny,Zeny-2000;
break;
case 3:
mes "["+getarg(0)+"]";
mes "レベル3の武器を精錬したいのかい?";
mes "精錬するため、 ^ff9999オリデオコン^000000と";
mes "手数料25000Zenyが必要だな。";
mes "続けるのか?";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(984)<1 || Zeny<25000 ) goto L_CANCEL_2;
delitem 984,1;
set Zeny,Zeny-25000;
break;
case 4:
mes "["+getarg(0)+"]";
mes "レベル4の武器を精錬したいのかい?";
mes "精錬するため、 ^ff9999オリデオコン^000000と";
mes "手数料50000Zenyが必要だな。";
mes "続けるのか?";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(984)<1 || Zeny<50000 ) goto L_CANCEL_2;
delitem 984,1;
set Zeny,Zeny-50000;
}
mes "["+getarg(0)+"]";
mes "カン! カン! カン!!";
if ( getequippercentrefinery(@part)<=rand(100) ) {
failedrefitem @part;
next;
emotion getarg(2);
mes "["+getarg(0)+"]";
mes "クホホホホ…";
next;
mes "["+getarg(0)+"]";
mes "すまん!";
mes "精錬中に武具が壊れてしまったな…";
mes "ほ、ほら、俺がやめろって";
mes "最初に言っただろう?";
close;
}
successrefitem @part;
next;
emotion getarg(1);
mes "["+getarg(0)+"]";
mes "さあ、出来上ったよ!";
mes "久々に良い物ができた。";
mes "武具が強くなって君も嬉しいだろ?";
close;
L_OverRefine:
mes "["+getarg(0)+"]";
mes "おおっと!この武器はもうたくさんの";
mes "精錬をしてきたみたいだな…これ以上";
mes "精錬したら武器が壊れるかも";
mes "しれないぞ。武器が壊れたら";
mes "2度と使えなくなる…それでも";
mes "精錬をする気なのかい?";
next;
if ( select("はい","いいえ")==1 ) return;
L_CANCEL_1:
mes "["+getarg(0)+"]";
mes "良い選択だな。";
mes "俺も無理して他人の武器を壊したら";
mes "気分が悪くなるからさ…";
close;
L_CANCEL_2:
mes "["+getarg(0)+"]";
mes "それが君が持ってる全部かい?";
mes "残念だが、材料が足りないんじゃ";
mes "仕方がないな。";
mes "俺はただでやってやるほど";
mes "心が広くないからな。";
close;
L_CANCEL_3:
mes "["+getarg(0)+"]";
mes "君が嫌なら仕方がないだろう…";
close;
}
//==============================================================================
//武具精錬NPCセリフパターン2(フェイヨン·ジュノー)
//callfunc "refine2","NPCNAME",success_emotion,falure_emotion;
function script refine2 {
mes "["+getarg(0)+"]";
mes "来たか。まあとにかく";
mes "精錬したい装備を出せ。";
next;
set @part,select(getequipname(1),getequipname(2),getequipname(3),getequipname(4),getequipname(5),getequipname(6),getequipname(7),getequipname(8),getequipname(9),getequipname(10));
if ( getequipisequiped(@part)==0 ) {
mes "["+getarg(0)+"]";
switch ( @part ) {
case 1:
mes "俺は忙しい!お前の冗談に";
mes "付き合っている時間など無いんだ。";
mes "頭を突っ込んでどうするつもりだ?";
close;
case 2:
mes "俺は忙しいと言っているだろう!";
close;
case 3:
mes "くだらない冗談はやめてくれ!";
close;
case 4:
mes "お前、精錬する気あるのか?";
close;
case 5:
mes "かえれ!";
close;
case 6:
mes "くだらない悪戯に付き合う";
mes "暇は無いんだ!";
close;
case 7:
mes "精錬しないのなら用は無いだろ?";
close;
case 8:
mes "俺は忙しい!";
close;
case 9:
mes "どこを精錬するって?";
close;
case 10:
mes "帰ってくれないか?";
close;
}
}
if ( getequipisenableref(@part)==0 ) {
mes "["+getarg(0)+"]";
mes "これは精錬できない。";
mes "他を当たってくれ。";
close;
}
if ( getequipisidentify(@part)==0 ) {
mes "["+getarg(0)+"]";
mes "わけのわからない物を";
mes "精錬する趣味は無い…";
close;
}
if ( getequiprefinerycnt(@part)>=10 ) {
mes "["+getarg(0)+"]";
mes "これ以上手を加えるところが";
mes "無いぞ!";
close;
}
switch ( getequipweaponlv(@part) ) {
case 0:
mes "["+getarg(0)+"]";
mes "お前が選んだ装備を精錬するには";
mes "^ff9999エルニウム^000000と";
mes "手数料20000Zenyが必要だな。";
mes "ビタ1Zeny負けられない。";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(985)<1 || Zeny<20000 ) goto L_CANCEL_2;
delitem 985,1;
set Zeny,Zeny-20000;
break;
case 1:
mes "["+getarg(0)+"]";
mes "レベル1の武器を精錬したいのか?";
mes "精錬するため、 ^ff9999プラコン^000000と";
mes "手数料500Zenyが必要だな。";
mes "ビタ1Zeny負けられない。";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(1010)<1 || Zeny<500 ) goto L_CANCEL_2;
delitem 1010,1;
set Zeny,Zeny-500;
break;
case 2:
mes "["+getarg(0)+"]";
mes "レベル2の武器を精錬したいのか?";
mes "精錬するため、 ^ff9999エンベルタコン^000000と";
mes "手数料2000Zenyが必要だな。";
mes "ビタ1Zeny負けられない。";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(1011)<1 || Zeny<2000 ) goto L_CANCEL_2;
delitem 1011,1;
set Zeny,Zeny-2000;
break;
case 3:
mes "["+getarg(0)+"]";
mes "レベル3の武器を精錬したいのか?";
mes "精錬するため、 ^ff9999オリデオコン^000000と";
mes "手数料25000Zenyが必要だな。";
mes "久しぶりに俺の実力を見せてやるか。";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(984)<1 || Zeny<25000 ) goto L_CANCEL_2;
delitem 984,1;
set Zeny,Zeny-25000;
break;
case 4:
mes "["+getarg(0)+"]";
mes "レベル4の武器を精錬したいのか?";
mes "精錬するため、 ^ff9999オリデオコン^000000と";
mes "手数料50000Zenyが必要だな。";
mes "レベル4の武器か…興奮するぜ!";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(984)<1 || Zeny<50000 ) goto L_CANCEL_2;
delitem 984,1;
set Zeny,Zeny-50000;
}
mes "["+getarg(0)+"]";
mes "カン! カン! カン!!";
if ( getequippercentrefinery(@part)<=rand(100) ) {
failedrefitem @part;
next;
emotion getarg(2);
mes "["+getarg(0)+"]";
mes "ふ…";
next;
mes "["+getarg(0)+"]";
mes "残念だ…";
mes "まあ人生こういうこともある。";
mes "落ち込むなよ…";
close;
}
successrefitem @part;
next;
emotion getarg(1);
mes "["+getarg(0)+"]";
mes "バッチリだ!";
mes "また来てくれ。";
close;
L_OverRefine:
mes "["+getarg(0)+"]";
mes "く…どこからこんな厄介な物を";
mes "持ってきたんだ…。";
mes "これ以上の精錬は危険だ。";
mes "それを承知でやるというのか?";
next;
if ( select("はい","いいえ")==1 ) return;
L_CANCEL_1:
mes "["+getarg(0)+"]";
mes "つまらん…";
mes "俺は忙しい、帰ってくれ。";
close;
L_CANCEL_2:
mes "["+getarg(0)+"]";
mes "1Zenyも負けられないから";
mes "精錬したければお金を持ってきな。";
close;
L_CANCEL_3:
mes "["+getarg(0)+"]";
mes "遊びじゃないんだよ!";
close;
}
//==============================================================================
//武具精錬NPCセリフパターン3(モロク)
//callfunc "refine3","NPCNAME",success_emotion,falure_emotion;
function script refine3 {
mes "["+getarg(0)+"]";
mes "私は武器と防具を精錬する鍛冶屋。";
mes "汝が装備しているアイテムの中で";
mes "好きなものを精錬できる。";
mes "どの装備アイテムを";
mes "精錬したいのか?";
next;
set @part,select(getequipname(1),getequipname(2),getequipname(3),getequipname(4),getequipname(5),getequipname(6),getequipname(7),getequipname(8),getequipname(9),getequipname(10));
if ( getequipisequiped(@part)==0 ) {
mes "["+getarg(0)+"]";
switch ( @part ) {
case 1:
mes "汝の足りない脳みそを";
mes "精錬してさしあげようか?";
close;
case 2:
mes "私の熱い体で汝の体を";
mes "精錬してあげるわ!";
close;
case 3:
mes "汝の左手を改造する技術は無い。";
close;
case 4:
mes "汝の右手をマシンガンに";
mes "するのは無理だ。";
close;
case 5:
mes "ローブを持っていないな。";
close;
case 6:
mes "臭い…";
close;
case 7:
case 8:
mes "どのアクセサリーか?";
close;
case 9:
case 10:
mes "何を精錬せよと言う?";
mes "他のアイテムの事か?";
close;
}
}
if ( getequipisenableref(@part)==0 ) {
mes "["+getarg(0)+"]";
mes "このアイテムは精錬不可能。";
close;
}
if ( getequipisidentify(@part)==0 ) {
mes "["+getarg(0)+"]";
mes "これは未鑑定だから精錬できない。";
close;
}
if ( getequiprefinerycnt(@part)>=10 ) {
mes "["+getarg(0)+"]";
mes "これ以上は精錬できない。";
close;
}
switch ( getequipweaponlv(@part) ) {
case 0:
mes "["+getarg(0)+"]";
mes "汝が選んだ装備を精錬するには";
mes "^ff9999エルニウム^000000と ";
mes "手数料20000Zenyが必要だ。";
mes "続けるか?";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) {
mes "["+getarg(0)+"]";
mes "ふむ…この防具はもうたくさんの";
mes "精錬をしてきたみたいだな…これ以上";
mes "精錬したら防具が壊れるかも";
mes "しれない。防具が壊れたら";
mes "2度と使えなくなる…それでも";
mes "精錬をする気なのか?";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_1;
}
if ( countitem(985)<1 || Zeny<20000 ) goto L_CANCEL_2;
delitem 985,1;
set Zeny,Zeny-20000;
break;
case 1:
mes "["+getarg(0)+"]";
mes "レベル1の武器を精錬したいのか?";
mes "精錬するため、 ^ff9999プラコン^000000と";
mes "手数料500Zenyが必要だ。";
mes "続けるか?";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(1010)<1 || Zeny<500 ) goto L_CANCEL_2;
delitem 1010,1;
set Zeny,Zeny-500;
break;
case 2:
mes "["+getarg(0)+"]";
mes "レベル2の武器を精錬したいのか?";
mes "精錬するため、 ^ff9999エンベルタコン^000000と";
mes "手数料2000Zenyが必要だ。";
mes "続けるか?";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(1011)<1 || Zeny<2000 ) goto L_CANCEL_2;
delitem 1011,1;
set Zeny,Zeny-2000;
break;
case 3:
mes "["+getarg(0)+"]";
mes "レベル3の武器を精錬したいのか?";
mes "精錬するため、 ^ff9999オリデオコン^000000と";
mes "手数料25000Zenyが必要だ。";
mes "続けるか?";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(984)<1 || Zeny<25000 ) goto L_CANCEL_2;
delitem 984,1;
set Zeny,Zeny-25000;
break;
case 4:
mes "["+getarg(0)+"]";
mes "レベル4の武器を精錬したいのか?";
mes "精錬するため、 ^ff9999オリデオコン^000000と";
mes "手数料50000Zenyが必要だ。";
mes "続けるか?";
next;
if ( select("はい","いいえ")==2 ) goto L_CANCEL_3;
if ( getequippercentrefinery(@part)<100 ) callsub L_OverRefine,getarg(0);
if ( countitem(984)<1 || Zeny<50000 ) goto L_CANCEL_2;
delitem 984,1;
set Zeny,Zeny-50000;
}
mes "["+getarg(0)+"]";
mes "カン! カン! カン!!";
if ( getequippercentrefinery(@part)<=rand(100) ) {
failedrefitem @part;
next;
emotion getarg(2);
mes "["+getarg(0)+"]";
mes "………";
next;
mes "["+getarg(0)+"]";
mes "すまない…";
mes "精錬中に武具が壊れてしまった…";
mes "しかし、最初に忠告はしたぞ?";
close;
}
successrefitem @part;
next;
emotion getarg(1);
mes "["+getarg(0)+"]";
mes "さあ、出来た!";
mes "久々に良い物ができたな。";
mes "武具が強くなって汝も嬉しかろう?";
close;
L_OverRefine:
mes "["+getarg(0)+"]";
mes "ふむ…この武器はもうたくさんの";
mes "精錬をしてきたみたいだな…これ以上";
mes "精錬したら武器が壊れるかも";
mes "しれない。武器が壊れたら";
mes "2度と使えなくなる…それでも";
mes "精錬をする気なのか?";
next;
if ( select("はい","いいえ")==1 ) return;
L_CANCEL_1:
mes "["+getarg(0)+"]";
mes "良い選択だ。";
mes "私も無理して他人の武器を壊したら";
mes "気分が悪くなるから…";
close;
L_CANCEL_2:
mes "["+getarg(0)+"]";
mes "それが汝が持ってる全部か?";
mes "残念だが、材料が足りないならば";
mes "仕方がない。";
mes "私はただでやってさしあげるほど";
mes "心が広くない。";
close;
L_CANCEL_3:
mes "["+getarg(0)+"]";
mes "汝がやめるなら仕方がない…";
close;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -