//==================================================================== // RagnarokOnline Original Gunslinger&Ninja Script Ver1.1 by Blaze //==================================================================== //========================================== // Warp //------------------------------------------ que_ng.gat,130,166,0 warp ngwarp0101 1,1,einbroch.gat,134,199 que_ng.gat,20,137,0 warp ngwarp0102 1,1,amatsu.gat,148,137 einbroch.gat,137,199,0 warp ngwarp0601 1,1,que_ng.gat,133,166 amatsu.gat,148,140,0 warp ngwarp0602 1,1,que_ng.gat,20,140 que_ng.gat,165,137,0 warp ngwarp6001 1,1,que_ng.gat,174,42 que_ng.gat,171,42,0 warp ngwarp6002 1,1,que_ng.gat,162,137 que_ng.gat,178,161,0 warp ngwarp6003 1,1,que_ng.gat,170,85 que_ng.gat,167,85,0 warp ngwarp6004 1,1,que_ng.gat,181,161 que_ng.gat,11,183,0 warp ngwarp6005 1,1,que_ng.gat,35,64 que_ng.gat,37,64,0 warp ngwarp6006 1,1,que_ng.gat,14,182 que_ng.gat,31,37,0 warp ngwarp6007 1,1,que_ng.gat,65,30 que_ng.gat,62,30,0 warp ngwarp6008 1,1,que_ng.gat,28,37 //========================================== // Mapflag //------------------------------------------ que_ng.gat mapflag nomemo dummy que_ng.gat mapflag noteleport dummy que_ng.gat mapflag nobranch dummy //========================================== // Shop //------------------------------------------ que_ng.gat,182,86,2 shop 武器商人 899,13100:4500,13102:20000,13150:3000,13151:17500,13154:12000,13155:32000,13200:1,13201:15,13202:30 que_ng.gat,72,29,2 shop 武器商人 725,13250:4,13251:10,13252:20,13253:40,13254:100,2117:10000,2119:40000 que_ng.gat,72,34,2 shop 道具商人 880,7521:150,7522:150,7523:150,7524:300 //========================================== // 製作NPC //------------------------------------------ que_ng.gat,177,91,4 script 弾薬職人 731,{ mes "[ジョー]"; mes "ん……?"; mes "お前もこの特殊弾に興味があるのか?"; mes "最近は俺を訪ねる奴が多くてな……"; next; mes "[ジョー]"; mes "……ふん。"; mes "まあいいだろう。仕事だからな。"; mes "お前が持っているアイテムで"; mes "特別な弾薬を作ってやろう。"; mes "さあ、どれを作ってやろうか?"; next; switch(select("フレアスフィア","ライトニングスフィア","ポイズンスフィア","ブラインドスフィア","フリージングスフィア")) { case 1: set '@need,7097; set '@amount,2; set '@getid,13203; break; case 2: set '@need,7053; set '@amount,3; set '@getid,13204; break; case 3: set '@need,937; set '@amount,10; set '@getid,13205; break; case 4: set '@need,1054; set '@amount,5; set '@getid,13206; break; case 5: set '@need,7054; set '@amount,2; set '@getid,13207; break; } mes "[ジョー]"; mes "^FF0000" +getitemname('@getid)+ "^000000だな。"; mes "^3434FF" +getitemname(1010)+ " 1個^000000"; mes "^3434FF" +getitemname(1011)+ " 1個^000000"; mes "^3434FF" +getitemname('@need)+ " " +'@amount+ "個^000000で"; mes getitemname('@getid)+ "30個作ってやろう。"; next; if(countitem(1010) < 1 || countitem(1011) < 1 || countitem('@need) < '@amount) { mes "[ジョー]"; mes "俺の気が変わらないうちに"; mes "材料を揃えてまた来るんだな。"; close; } mes "[ジョー]"; mes "……ふん。"; mes "材料はあるみたいだな。"; mes "1回分の材料で30個弾薬が出来るが"; mes "いいな?"; next; if(select("弾薬を作ってもらう","やめる")==2) { mes "[ジョー]"; mes "…………"; mes "とっとと失せな。"; close; } if(checkweight('@getid,30) == 0) { mes "[ジョー]"; mes "荷物が多すぎだ。"; mes "それでは弾薬を渡す事ができない。"; mes "荷物を減らしてまた来な。"; close; } delitem 1010,1; delitem 1011,1; delitem '@need,'@amount; getitem '@getid,30; mes "[ジョー]"; mes "ほら、出来上がったぞ。"; mes "かなり特殊な弾薬だから"; mes "取り扱いに注意しな。"; close; } que_ng.gat,73,22,2 script 忍具商人 881,{ mes "[ハンゾウ]"; mes "俺は忍が使う道具、"; mes "すなわち忍具を扱っている商人だ。"; mes "ただ、忍具っていうのはそう簡単に"; mes "売買できる物ではない。"; next; mes "[ハンゾウ]"; mes "そこで、君が集めてきた収集品を"; mes "使って、俺が忍具を作ってやろう。"; mes "どうだ、悪い話ではないだろう。"; next; mes "[ハンゾウ]"; mes "今はこんな物を取り扱っている。"; mes "どの忍具を作ってほしいんだい?"; next; switch(select("氷柱のクナイ","黒土のクナイ","激風のクナイ","猛暑のクナイ","猛毒のクナイ","風魔手裏剣・大車輪","風魔手裏剣・烈火")) { case 1: setarray '@need,13251,7522; setarray '@amount,8,2; set '@getid,13255; break; case 2: setarray '@need,13253,7524; setarray '@amount,2,1; set '@getid,13256; break; case 3: setarray '@need,13252,7523; setarray '@amount,4,2; set '@getid,13257; break; case 4: setarray '@need,13254,7521; setarray '@amount,1,2; set '@getid,13258; break; case 5: setarray '@need,13250,7524; setarray '@amount,20,1; set '@getid,13259; break; case 6: mes "[ハンゾウ]"; mes "^FF0000" +getitemname(13302)+ "^000000か。"; mes "それはまた難題だな。"; next; mes "[ハンゾウ]"; mes getitemname(13302)+ "を作るには、"; mes "^3434FF" +getitemname(999)+ " 30個^000000"; mes "^3434FF" +getitemname(7301)+ " 100個^000000"; mes "^3434FF" +getitemname(984)+ " 2個^000000"; mes "さらに手数料^3434FF40,000Zeny^000000が"; mes "必要だ。"; next; if(countitem(999) < 30 || countitem(7301) < 100 || countitem(984) < 2 || Zeny < 40000) { mes "[ハンゾウ]"; mes "材料が足りないようだね。"; mes "こっちも時間がかかりそうだし、"; mes "ゆっくり準備してきなさい。"; close; } mes "[ハンゾウ]"; mes "おお、材料が揃っているのか。"; mes "これなら" +getitemname(13302)+ "が"; mes "出来そうだが、どうする?"; next; if(select("作ってもらう","やめておきます")==2) { mes "[ハンゾウ]"; mes "ふむ……"; mes "気が変わったらまた来なさい。"; close; } if(checkweight(13302,1) == 0) { mes "[ハンゾウ]"; mes "少し物を持ちすぎのようだね。"; mes "荷物を預けたらまた来なさい。"; close; } delitem 999,30; delitem 7301,100; delitem 984,2; set Zeny,Zeny - 40000; getitem 13302,1; mes "[ハンゾウ]"; mes "よし、出来上がりだ!"; mes "いい出来だぜ。大切に使ってくれよな!"; close; case 7: mes "[ハンゾウ]"; mes "^FF0000" +getitemname(13303)+ "^000000か。"; mes "それはまた難題だな。"; next; mes "[ハンゾウ]"; mes getitemname(13303)+ "を作るには、"; mes "^3434FF" +getitemname(7521)+ " 50個^000000"; mes "^3434FF" +getitemname(999)+ " 50個^000000"; mes "^3434FF" +getitemname(7098)+ " 100個^000000"; mes "^3434FF" +getitemname(7097)+ " 100個^000000が"; mes "必要だ。"; next; if(countitem(7521) < 50 || countitem(999) < 50 || countitem(7098) < 100 || countitem(7097) < 100) { mes "[ハンゾウ]"; mes "材料が足りないようだね。"; mes "こっちも時間がかかりそうだし、"; mes "ゆっくり準備してきなさい。"; close; } mes "[ハンゾウ]"; mes "おお、材料が揃っているのか。"; mes "これなら" +getitemname(13303)+ "が"; mes "出来そうだが、どうする?"; next; if(select("作ってもらう","やめておきます")==2) { mes "[ハンゾウ]"; mes "ふむ……"; mes "気が変わったらまた来なさい。"; close; } if(checkweight(13303,1) == 0) { mes "[ハンゾウ]"; mes "少し物を持ちすぎのようだね。"; mes "荷物を預けたらまた来なさい。"; close; } delitem 7521,50; delitem 999,50; delitem 7098,100; delitem 7097,100; getitem 13303,1; mes "[ハンゾウ]"; mes "よし、出来上がりだ!"; mes "いい出来だぜ。大切に使ってくれよな!"; close; } mes "[ハンゾウ]"; mes "^FF0000" +getitemname('@getid)+ "^000000か。"; mes "その忍具を作るには、"; mes "^3434FF" +getitemname('@need[0])+ " " +'@amount[0]+ "個^000000と"; mes "^3434FF" +getitemname('@need[1])+ " " +'@amount[1]+ "個^000000が"; mes "必要だ。"; next; if(countitem('@need[0]) < '@amount[0] || countitem('@need[1]) < '@amount[1]) { mes "[ハンゾウ]"; mes "君は材料を持っていないようだね。"; mes "材料を集めてきたらまた来なさい。"; close; } mes "[ハンゾウ]"; mes "見たところ材料が揃っているようだね。"; mes "この忍具は製作が簡単だから"; mes "指定した数だけ作れるが、どうする?"; next; switch(select("材料分全て製作してもらう","1個分だけ作ってもらう","やめる")) { case 1: set '@num,countitem('@need[0]) / '@amount[0]; if(countitem('@need[1]) < ('@amount[0] * '@num)) set '@num,countitem('@need[1]) / '@amount[1]; mes "[ハンゾウ]"; mes "所持している" +getitemname('@need[0])+ " :"; mes "^0000FF" +countitem('@need[0])+ " 個^000000→^FF0000" +countitem('@need[0])-('@amount[0] * '@num)+ "個^000000"; mes "所持している" +getitemname('@need[1])+ " :"; mes "^0000FF" +countitem('@need[1])+ " 個^000000→^FF0000" +countitem('@need[1])-('@amount[1] * '@num)+ "個^000000"; mes "組み合わせ可能な" +getitemname('@getid)+ " :"; mes "^0000FF" +'@num+ " 個^000000"; next; mes "[ハンゾウ]"; mes "以上で製作するかい?"; next; if(select("はい","いいえ")==2) { mes "[ハンゾウ]"; mes "ふむ……"; mes "気が変わったらまた来なさい。"; close; } if(checkweight('@getid,'@num) == 0) { mes "[ハンゾウ]"; mes "少し物を持ちすぎのようだね。"; mes "荷物を預けたらまた来なさい。"; close; } delitem '@need[0],'@amount[0] * '@num; delitem '@need[1],'@amount[1] * '@num; getitem '@getid,'@num; break; case 2: if(checkweight('@getid,1) == 0) { mes "[ハンゾウ]"; mes "少し物を持ちすぎのようだね。"; mes "荷物を預けたらまた来なさい。"; close; } delitem '@need[0],'@amount[0]; delitem '@need[1],'@amount[1]; getitem '@getid,1; break; case 3: mes "[ハンゾウ]"; mes "ふむ……"; mes "気が変わったらまた来なさい。"; close; } mes "[ハンゾウ]"; mes "ほら、出来上がりだ。"; mes "また忍具が欲しくなったら"; mes "いつでも来なさい。"; close; }