Advertisement
iscream_

Untitled

Dec 14th, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.55 KB | None | 0 0
  1. payon,163,200,3 script 競技研究師 4_M_KY_HEAD,{
  2. .part = EQI_HEAD_TOP;
  3. disable_items;
  4. mes "["+strnpcinfo(1)+"]";
  5. mes "您好,我是負責將戰魂頭盔附魔強化的附魔師";
  6. mes "請問您想要強化哪個戰魂頭盔呢?";
  7. next;
  8. if(getequipid(.part) == -1)
  9. {
  10. mes "["+strnpcinfo(1)+"]";
  11. mes "您沒有裝備任何道具.";
  12. close;
  13. }
  14. for ( .@j = 0; .@j < getarraysize(.HeadID); .@j++ )
  15. if ( .HeadID[.@j] == getequipid(.@part) )
  16. .@index = (.@j+1);
  17. if ( !.@index )
  18. .@index = -1;
  19. if(.@index == -1)
  20. {
  21. mes "["+strnpcinfo(1)+"]";
  22. mes "這項裝備無法附魔.";
  23. close;
  24. }
  25. .@index = .@index - 1;
  26. .@nameid = getequipid(.part);
  27. .@refine_cnt = getequiprefinerycnt(.part);
  28. setarray .@card, getequipcardid(.part,0), getequipcardid(.part,1), getequipcardid(.part,2), getequipcardid(.part,3);
  29. setarray .@OptID[0],getequiprandomoption(.part,0,ROA_ID),getequiprandomoption(.part,1,ROA_ID),getequiprandomoption(.part,2,ROA_ID),getequiprandomoption(.part,3,ROA_ID),getequiprandomoption(.part,4,ROA_ID);
  30. setarray .@OptVal[0],getequiprandomoption(.part,0,ROA_VALUE),getequiprandomoption(.part,1,ROA_VALUE),getequiprandomoption(.part,2,ROA_VALUE),getequiprandomoption(.part,3,ROA_VALUE),getequiprandomoption(.part,4,ROA_VALUE);
  31. setarray .@OptParam[0],getequiprandomoption(.part,0,ROA_PARAM),getequiprandomoption(.part,1,ROA_PARAM),getequiprandomoption(.part,2,ROA_PARAM),getequiprandomoption(.part,3,ROA_PARAM),getequiprandomoption(.part,4,ROA_PARAM);
  32. switch(select("執行附魔","重置附魔","職業附魔升階(第二洞)"))
  33. {
  34. case 1:
  35. if(.@card[2] == 0 && .@card[3] == 0)
  36. {
  37. .@itemid = 1000228;
  38. .@item_amount = 10;
  39. .@Zeny = 100000;
  40. .@slot = 3;
  41. setarray .@Enchant,4700,4701,4702,4710,4711,4712,4720,4721,4722,4730,4731,4732,4740,4741,4742,4750,4751,4752;
  42. .@card[3] = .@Enchant[rand(getarraysize(.@Enchant))];
  43. }
  44. else if(.@card[3] > 0 && .@card[2] == 0)
  45. {
  46. .@itemid = 1000228;
  47. .@item_amount = 15;
  48. .@Zeny = 150000;
  49. .@slot = 2;
  50. setarray .@Enchant,4700,4701,4702,4703,4710,4711,4712,4713,4720,4721,4722,4723,4730,4731,4732,4733,4740,4741,4742,4743,4750,4751,4752,4753;
  51. .@card[2] = .@Enchant[rand(getarraysize(.@Enchant))];
  52. }
  53. else if(.@card[1] == 0 && .@card[2] > 0 && .@card[3] > 0)
  54. {
  55. .@itemid = 1000228;
  56. .@item_amount = 20;
  57. .@Zeny = 200000;
  58. .@slot = 1;
  59. setarray .@Enchant,4811,4810,4832,4833,4818,4817,4815,4814,4863,4864,.EnchantStage_1[.@index];
  60. .@card[1] = .@Enchant[rand(getarraysize(.@Enchant))];
  61. }
  62. else
  63. {
  64. mes "["+strnpcinfo(1)+"]";
  65. mes "這項裝備已經無法再附魔了。";
  66. close;
  67. }
  68.  
  69. mes "["+strnpcinfo(1)+"]";
  70. mes "==============================";
  71. mes "- 附魔操作: 第 "+(.@slot+1)+" 洞 附魔";
  72. mes "- 附魔價格: "+(.@Zeny)+"z";
  73. mes "- 需求道具: "+getitemname(.@itemid)+" x "+.@item_amount;
  74. mes "- 成功機率: 100%";
  75. mes "==============================";
  76. if (select("^0000FF確定附魔^000000","取消") == 1)
  77. {
  78. if(Zeny < .@Zeny)
  79. {
  80. mes "["+strnpcinfo(1)+"]";
  81. mes "金錢不足"+.@Zeny;
  82. close;
  83. }
  84. if(countitem(.@itemid) < .@item_amount)
  85. {
  86. mes "["+strnpcinfo(1)+"]";
  87. mes getitemname(.@itemid)+"不足"+.@item_amount;
  88. close;
  89. }
  90. Zeny -= .@Zeny;
  91. delitem .@itemid,.@item_amount;
  92. delequip .part;
  93. specialeffect2 154;
  94. mes "["+strnpcinfo(1)+"]";
  95. mes "第 "+.@slot+" 洞,附魔成功 -> "+getitemname(.@card[.@slot])+"!";
  96. getitem3 .@nameid,1,1,.@refine_cnt,0,.@card[0],.@card[1],.@card[2],.@card[3],.@OptID,.@OptVal,.@OptParam;
  97. }
  98. break;
  99. case 2:
  100. if(.@card[1] == 0 || .@card[2] == 0 || .@card[3] == 0)
  101. {
  102. mes "["+strnpcinfo(1)+"]";
  103. mes "這個裝備還可以繼續附魔,無法重置。";
  104. close;
  105. }
  106. .@itemid = 1000228;
  107. .@item_amount = 50;
  108. .@Zeny = 500000;
  109. mes "["+strnpcinfo(1)+"]";
  110. mes "==============================";
  111. mes "- 重置價格: "+(.@Zeny)+"z";
  112. mes "- 需求道具: "+getitemname(.@itemid)+" x "+.@item_amount;
  113. mes "==============================";
  114. next;
  115. if (select("^FF0000確定重置^000000","取消") == 1)
  116. {
  117. if(Zeny < .@Zeny)
  118. {
  119. mes "["+strnpcinfo(1)+"]";
  120. mes "金錢不足"+.@Zeny;
  121. close;
  122. }
  123. if(countitem(.@itemid) < .@item_amount)
  124. {
  125. mes "["+strnpcinfo(1)+"]";
  126. mes getitemname(.@itemid)+"不足"+.@item_amount;
  127. close;
  128. }
  129. Zeny -= .@Zeny;
  130. delitem .@itemid,.@item_amount;
  131. delequip .part;
  132. getitem3 .@nameid,1,1,.@refine_cnt,0,.@card[0],0,0,0,.@OptID,.@OptVal,.@OptParam;
  133. specialeffect2 EF_PHARMACY_OK;
  134. mes "["+strnpcinfo(1)+"]";
  135. mes getitemname(.@nameid)+"重置完成。";
  136. }
  137. break;
  138. case 3:
  139. if(inarray(.EnchantStage_1,.@card[1]) > -1)
  140. {
  141. .@itemid = 1000228;
  142. .@item_amount = 50;
  143. .@Zeny = 500000;
  144. .@rate = 25;
  145. .@stage = 1;
  146. }
  147. else if(inarray(.EnchantStage_2,.@card[1]) > -1)
  148. {
  149. .@itemid = 1000228;
  150. .@item_amount = 100;
  151. .@Zeny = 1000000;
  152. .@rate = 5;
  153. .@stage = 2;
  154. }
  155. else if(inarray(.EnchantStage_3,.@card[1]) > -1)
  156. {
  157. mes "["+strnpcinfo(1)+"]";
  158. mes "您的職業附魔已經達到最高階.";
  159. close;
  160. }
  161. else if(.@rate == 0)
  162. {
  163. mes "["+strnpcinfo(1)+"]";
  164. mes "您必須附魔職業專屬道具才可以進行升階.";
  165. close;
  166. }
  167. if(Zeny < .@Zeny)
  168. {
  169. mes "["+strnpcinfo(1)+"]";
  170. mes "金錢不足"+.@Zeny;
  171. close;
  172. }
  173. if(countitem(.@itemid) < .@item_amount)
  174. {
  175. mes "["+strnpcinfo(1)+"]";
  176. mes getitemname(.@itemid)+"不足"+.@item_amount;
  177. close;
  178. }
  179. mes "["+strnpcinfo(1)+"]";
  180. mes "==============================";
  181. mes "- 升階操作: 第 "+.@stage+" -> "+(.@stage+1)+" 階段";
  182. mes "- 升階價格: "+F_InsertComma(.@Zeny)+"z";
  183. mes "- 需求道具: "+getitemname(.@itemid)+" x "+.@item_amount;
  184. mes "- 成功機率: "+.@rate+"%";
  185. mes "==============================";
  186. next;
  187. if (select("^009900確定升階^000000","取消") == 1)
  188. {
  189. Zeny -= .@Zeny;
  190. delitem .@itemid,.@item_amount;
  191. delequip .part;
  192. if (rand(1,100) < .@rate)
  193. {
  194. .@card[1] = .@card[1]+1;
  195. specialeffect2 154;
  196. mes "["+strnpcinfo(1)+"]";
  197. mes "附魔升階成功, Lv."+(.@stage+1)+"!";
  198. }
  199. else
  200. {
  201. if (.@stage == 2)
  202. {
  203. specialeffect2 155;
  204. .@card[1] = .@card[1]-1;
  205. mes "["+strnpcinfo(1)+"]";
  206. mes "附魔升階失敗, 已降為 Lv.1!";
  207. }
  208. else
  209. {
  210. mes "["+strnpcinfo(1)+"]";
  211. mes "附魔升階失敗, 保持最低附魔等級 Lv.1";
  212. }
  213. }
  214. getitem3 .@nameid,1,1,.@refine_cnt,0,.@card[0],.@card[1],.@card[2],.@card[3],.@OptID,.@OptVal,.@OptParam;
  215. break;
  216. }
  217. end;
  218. }
  219. end;
  220.  
  221. Oninit:
  222. setarray .HeadID[0], 400024, 400025, 400026, 400027, 400028, 400029, 400030, 400031, 400032, 400033, 400034, 400035, 400036, 400037, 400038, 400039, 400040, 400041, 400042;
  223. setarray .EnchantStage_1[0], 300022, 300025, 300028, 300031, 300034, 300037, 300040, 300043, 300046, 300049, 300052, 300055, 300058, 300061, 300064, 300067, 300070, 300073;
  224. setarray .EnchantStage_2[0], 300023, 300026, 300029, 300032, 300035, 300038, 300041, 300044, 300047, 300050, 300053, 300056, 300059, 300062, 300065, 300068, 300071, 300074;
  225. setarray .EnchantStage_3[0], 300024, 300027, 300030, 300033, 300036, 300039, 300042, 300045, 300048, 300051, 300054, 300057, 300060, 300063, 300066, 300069, 300072, 300075;
  226. waitingroom strnpcinfo(0),0;
  227. end;
  228. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement