//============================================================================== // RagnarokOnline Original Refine Script Ver0.5 by Blaze //============================================================================== prt_in.gat,60,56,0 script 連続鍛冶屋#Refine 85,{ // ********** 初期設定 ********** // 各精錬時に必要な物。左から 防具,Lv1武器,Lv2武器,Lv3武器,Lv4武器 if('price[0] == 0) { setarray 'price,20000,500,2000,25000,50000; //値段(Zeny) setarray 'itemid,985,1010,1011,984,984; //消費アイテム(ID指定) } // ********** ここまで ********** mes "[" +strnpcinfo(1)+ "]"; mes "俺は武器と防具を"; mes "連続で精錬する鍛冶屋だ。"; mes "君が装備しているアイテムの中で"; mes "好きなものを精錬できるのだ。"; mes "どの装備アイテムを"; mes "連続で精錬したいのかい?"; next; set '@pos,select(getequipname(1),getequipname(2),getequipname(3),getequipname(4),getequipname(5), getequipname(6),getequipname(7),getequipname(8),getequipname(9),getequipname(10)); mes "[" +strnpcinfo(1)+ "]"; if(getequipisequiped('@pos) == 0) { mes "何も装備してないようだが?"; mes "装備してからまた来てくれ。"; close; } if(getequipisenableref('@pos) == 0) { mes "このアイテムは精錬不可能だ。"; close; } if(getequipisidentify('@pos) == 0) { mes "これは未鑑定だから精錬できない。"; close; } if(getequiprefinerycnt('@pos) >= 10) { mes "これ以上は精錬できないぞ。"; close; } set '@wlv,getequipweaponlv('@pos); mes "君が選んだ装備を精錬するには"; mes "+1につき、^3131FF" +getitemname('itemid['@wlv])+ "^000000と"; mes "手数料^3131FF" +'price['@wlv]+ "Zeny^000000が必要だな。"; mes "どれだけ精錬するんだい?"; next; if(getequippercentrefinery('@pos) == 100) set '@word$[0],"安全圏まで精錬"; for(set '@i,10; '@i > getequiprefinerycnt('@pos); set '@i,'@i-1) set '@word$['@i],"+" +'@i+ " まで精錬"; if(select("1回ずつ精錬",'@word$[0],'@word$[1],'@word$[2],'@word$[3], '@word$[4],'@word$[5],'@word$[6],'@word$[7],'@word$[8],'@word$[9],'@word$[10]) >= 3) set '@cnt,@menu-getequiprefinerycnt('@pos)-3; else { set '@cnt,10; if(@menu == 2) set '@flag,1; //安全圏フラグセット } for(set '@i,0; '@i <= '@cnt; set '@i,'@i+1) { if(getequiprefinerycnt('@pos) >= 10) break; if('@flag && getequippercentrefinery('@pos) < 100) //安全圏フラグの時 break; if(countitem('itemid['@wlv]) < 1 || Zeny < 'price['@wlv]) { emotion 9; mes "[" +strnpcinfo(1)+ "]"; mes "おっと、材料が足りないな。"; mes getitemname('itemid['@wlv])+ "の数と所持金を"; mes "ちゃんと確認してくれよ。"; close; } mes "[" +strnpcinfo(1)+ "]"; mes "今の精錬値は ^3131FF+" +getequiprefinerycnt('@pos)+ " ^000000だ。"; if(getequippercentrefinery('@pos) < 100) { mes "^FF0000これ以上精錬すると"; mes "装備が壊れるかもしれないが、^000000"; } mes "まだ精錬するかい?"; next; if(select("はい","いいえ")==2) { mes "[" +strnpcinfo(1)+ "]"; mes "そうかい……"; mes "また来てくれよ。"; close; } delitem 'itemid['@wlv],1; set Zeny,Zeny-'price['@wlv]; if(getequippercentrefinery('@pos) > rand(100)) { successrefitem '@pos; continue; } else { failedrefitem '@pos; emotion 23; mes "[" +strnpcinfo(1)+ "]"; mes "クホホホホ……"; next; mes "[" +strnpcinfo(1)+ "]"; mes "すまん!"; mes "装備が壊れてしまったな……"; mes "……これに懲りずに"; mes "また来てくれよな、な?"; close; } } emotion 21; mes "[" +strnpcinfo(1)+ "]"; mes "さあ、出来上ったよ!"; mes "久々に良い物ができた。"; mes "武具が強くなって君も嬉しいだろ?"; close; } //============================================================================== //増やしたい時は以下のように設定 //morocc_in.gat,63,39,4 duplicate(連続鍛冶屋#Refine) 連続鍛冶屋 88 //payon.gat,140,174,5 duplicate(連続鍛冶屋#Refine) 連続鍛冶屋 59