Guest User

Untitled

a guest
Mar 13th, 2018
985
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.92 KB | None | 0 0
  1. /*
  2. 做個npc 可以先選擇1.低階附魔 需要a物品 不管低階高階 只要是附魔一爆掉 可以花某種物品保住武器或防具 低階1個 高階需要兩個才可以
  3. 2.高階副魔 需要b物品
  4. 然後再選擇武器跟防具 1.武器附魔 低階的話 可以附出 57%機會失敗 失敗以後可以用某種物品保住裝備
  5. 10%機會進入魔力1-5、
  6. 10%機會進入名弓1-5、
  7. 10%機會進入鬥志1-5、
  8. 10%機會進入尖銳1-3、
  9. 3%機會ASPD+2
  10. 魔力、名弓、鬥志 1等:40% 尖銳 :1等50% 2等 40% 3等10%
  11. 2等:20%
  12. 3等:30%
  13. 4等:7%
  14. 5等:3%
  15. ASPD只要一進入就是+2
  16. ---------------------------------------------
  17. 高階武器附魔 60%機率失敗
  18. 10%機會進入魔力6-10、
  19. 10%機會進入名弓6-10、
  20. 10%機會進入鬥志6-10、
  21. 2%機會進入尖銳4-5、
  22. 1%機會ASPD+4
  23. 6等:50% 尖銳4:70%
  24. 7等:30% 尖銳5:30%
  25. 8等10%
  26. 9等5%
  27. 10等1%
  28. ASPD只要一進入就是+4
  29. 2.防具附魔 低階的話 可以附出:每個能力最多+1~+5/進入各能力值統一20%進入60%爆炸////機率:+1:40%;+2:20%;+3:30%;+4:7%;+5:3%
  30. 高階的防具附魔:每個能力+6~+10 進入各能力值都是10% 機率 +6:50% +7:30% +8:10% +9:7% +10:3%
  31. */
  32. //==4S
  33. //ask Item1
  34. prontera,162,105,3 script 附魔 906,{
  35. //==========================================================================設定
  36. set .@ReqItem1,6422; //低階消耗物品
  37. set .@ReqItem2,6421; //高階消耗物品
  38.  
  39. set .@SafeItem,6797; //保裝道具
  40. set .@SafeReq1,1; //低階消耗數量
  41. set .@SafeReq2,3; //高階消耗數量
  42.  
  43. //以下注意設定 尤其是引號 ""
  44. set .@WaFailR1,63; //低階武器失敗機率
  45. setarray .@WaBonus1$, //低階武器附魔效果
  46. "4811:50,4810:30,4809:10,4808:8,4820:2","10",
  47. "4812:50,4813:30,4814:10,4815:8,4826:2","10",
  48. "4832:50,4833:30,4834:10,4835:8,4836:2","10",
  49. "4816:60,4817:35,4818:5","5",
  50. "4807","2";
  51.  
  52. set .@WaFailR2,63; //高階武器失敗機率
  53. setarray .@WaBonus2$, //高階武器附魔效果
  54. "4827:54,4828:30,4829:10,4830:5,4831:1","11",
  55. "4821:54,4822:30,4823:10,4824:5,4825:1","11",
  56. "4837:54,4838:30,4839:10,4840:5,4841:1","11",
  57. "4843:80,4844:20","3",
  58. "4842","1";
  59.  
  60. set .@ArFailR1,50; //低階防具失敗機率
  61. setarray .@ArBonus1$, //低階防具附魔效果
  62. "4700:20,4710:10,4720:20,4730:20,4740:20,4750:10","20",
  63. "4701:20,4711:10,4721:20,4731:20,4741:20,4751:10","10",
  64. "4702:20,4712:10,4722:20,4732:20,4742:20,4752:10","8",
  65. "4703:20,4713:10,4723:20,4733:20,4743:20,4753:10","8",
  66. "4704:20,4714:10,4724:20,4734:20,4744:20,4754:10","4";
  67.  
  68. set .@ArFailR2,50; //高階防具失敗機率
  69. setarray .@ArBonus2$, //高階防具附魔效果
  70. "4705:20,4715:10,4725:20,4735:20,4745:20,4755:10","30",
  71. "4706:20,4716:10,4726:20,4736:20,4746:20,4756:10","10",
  72. "4707:20,4717:10,4727:20,4737:20,4747:20,4757:10","4",
  73. "4708:20,4718:10,4728:20,4738:20,4748:20,4758:10","4",
  74. "4709:20,4719:10,4729:20,4739:20,4749:20,4759:10","2";
  75. //==========================================================================設定結束
  76. mes "附魔專人";
  77. mes "選擇低階或高階附魔";
  78. mes "附魔失敗時裝備會消失";
  79. mes "^FF0000附魔會把第4洞的卡片吃掉請注意^000000";
  80. mes "附魔能力請看更新公告2/27";
  81. mes "可用11週年代幣保護裝備低階需要1個,高階需要3個";
  82. .@hd = select("低階附魔(需要1個E級代幣):高階附魔(需要1個D級代幣)");
  83. if(countitem(getd(".@ReqItem"+.@hd))<1) {
  84. mes "消耗物品不夠.";
  85. close;
  86. }
  87. .@fa = 0;
  88. if(countitem(.@SafeItem)>=getd(".@SafeReq"+.@hd)) {
  89. mes "持有 "+getitemname(.@SafeItem);
  90. mes "是否消耗用來保護裝備?";
  91. if(select("是:否")==1)
  92. .@fa = 1;
  93. }
  94. mes "選擇附魔裝備";
  95. set .@PrintList$,"";
  96. for(.@i=0;.@i<10;.@i++) {
  97. if(getequipid(.@i)>0)
  98. .@PrintList$+=getequipname(.@i);
  99. .@PrintList$+=":";
  100. }
  101. .@sel = select(.@PrintList$)-1;
  102. next;
  103. mes "消耗下列物品";
  104.  
  105. if(.@fa)
  106. mes " "+getitemname(.@SafeItem);
  107. mes " "+getitemname(getd(".@ReqItem"+.@hd));
  108. mes "對 "+getequipname(.@sel)+" 進行附魔";
  109. mes "確認進行?";
  110. if(select("是:否")==2)
  111. close;
  112. delitem getd(".@ReqItem"+.@hd),1;
  113. if(.@fa)
  114. delitem .@SafeItem,getd(".@SafeReq"+.@hd);
  115. .@TypeStr$ = "Ar";
  116. if(getiteminfo(getequipid(.@sel),2)==5)
  117. .@TypeStr$ = "Wa";
  118. .@rv = rand(100);
  119. if(getd(".@"+.@TypeStr$+"FailR"+.@hd) > .@rv) goto Failed;
  120. .@itemid=getequipid(.@sel);
  121. .@itemrefine = getequiprefinerycnt(.@sel);
  122. .@itemc[1] = getequipcardid(.@sel,0);
  123. .@itemc[2] = getequipcardid(.@sel,1);
  124. .@itemc[3] = getequipcardid(.@sel,2);
  125. .@itemc[4] = getequipcardid(.@sel,3);
  126. delequip .@sel;
  127. .@st = getd(".@"+.@TypeStr$+"FailR"+.@hd);
  128. .@b$ = "";
  129. for(.@ij=1;.@ij<getarraysize(getd(".@"+.@TypeStr$+"Bonus"+.@hd+"$"));.@ij+=2) {
  130. .@tv = atoi(getd(".@"+.@TypeStr$+"Bonus"+.@hd+"$["+.@ij+"]"));
  131. if(.@rv>=.@st&&.@rv<.@st+.@tv) {
  132. .@b$ = getd(".@"+.@TypeStr$+"Bonus"+.@hd+"$["+(.@ij-1)+"]");
  133. break;
  134. }
  135. .@st+=.@tv;
  136. }
  137. .@rv = rand(100);
  138. .@st = 0;
  139. if(compare(.@b$,",")) {
  140. explode(.@tsr$,.@b$,",");
  141. for(.@ij=0;.@ij<getarraysize(.@tsr$);.@ij++) {
  142. explode(.@tsr2$,.@tsr$[.@ij],":");
  143. if(.@rv>=.@st&&.@rv<.@st+atoi(.@tsr2$[1])) {
  144. .@itemc[4]= atoi(.@tsr2$[0]);
  145. break;
  146. }
  147. .@st+=atoi(.@tsr2$[1]);
  148. }
  149. } else
  150. .@itemc[4]= atoi(.@b$);
  151. getitem2 .@itemid,1,1,.@itemrefine,0,.@itemc[1],.@itemc[2],.@itemc[3],.@itemc[4];
  152. mes "成功了!";
  153. close;
  154. Failed:
  155. if(.@fa) {
  156. mes "物品失敗了,但是有裝備保護所以沒有消失.";
  157. } else {
  158. delequip .@sel;
  159. mes "物品失敗了,裝備消失.";
  160. }
  161. close;
  162. }
Advertisement
Add Comment
Please, Sign In to add comment