akbare

Fusion v1.0

Aug 17th, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. //===== eAthena Script =======================================
  2. //= Item Fusion
  3. //===== By: ==================================================
  4. //= Euphy
  5. //===== Current Version: =====================================
  6. //= 1.0
  7. //===== Description: =========================================
  8. //= Slots a given item within another.
  9. //============================================================
  10.  
  11. prontera,163,167,4 script Fusion Master 808,{
  12. mes "[Fusion Master]";
  13. mes "After ten long years of searching,";
  14. mes "I've finally come across a way to";
  15. mes "make equipment stronger than";
  16. mes "anyone would've thought...";
  17. next;
  18. switch(select("Keep listening...:Fuse items:^777777Cancel^000000")) {
  19. case 1:
  20. mes "[Fusion Master]";
  21. mes "The process is called ^0055FFFusion^000000.";
  22. mes "With it, I can combine two pieces";
  23. mes "of equipment, doubling its";
  24. mes "strength. Of course, there is a";
  25. mes "chance I might fail... ^FF0000and";
  26. mes "your equipment will break.^000000";
  27. next;
  28. case 2:
  29. mes "[Fusion Master]";
  30. if (Zeny < .Price) {
  31. mes "It costs "+.Price+"z to fuse items. Come back later."; close; }
  32. mes "What would you like to fuse?";
  33. if (.Price) mes "Each attempt will cost "+.Price+"z.";
  34. next;
  35. set .@menu$,"";
  36. for(set .@i,0; .@i<getarraysize(.Items); set .@i,.@i+3)
  37. set .@menu$, .@menu$+((countitem(.Items[.@i+1])?"^0055FF":"^FF0000"))+getitemname(.Items[.@i+1])+"^000000 & "+((countitem(.Items[.@i+2])?"^0055FF":"^FF0000"))+getitemname(.Items[.@i+2])+":";
  38. set .@i, (select(.@menu$)-1)*3;
  39. mes "[Fusion Master]";
  40. mes "^0055FF"+getitemname(.Items[.@i+2])+"^000000 ~~> ^0055FF"+getitemname(.Items[.@i+1])+"^000000";
  41. mes " ";
  42. if (!countitem(.Items[.@i+1]) || !countitem(.Items[.@i+2])) {
  43. mes "You don't have the required materials."; close; }
  44. if (.Ticket && .Items[.@i] < 100)
  45. if (countitem(.Ticket)) {
  46. mes "^FF00001 "+getitemname(.Ticket)+" will be consumed.^000000";
  47. set .@NoFail,1; }
  48. if (!.@NoFail && .Items[.@i] < 100) {
  49. if (.DispChance) mes "^FF0000There is a "+(100-.Items[.@i])+"% chance of failure.^000000";
  50. else mes "^FF0000The process may fail.^000000"; }
  51. mes "Do you wish to proceed?";
  52. next;
  53. if(select("Continue:^777777Cancel^000000")==2) close;
  54. mes "[Fusion Master]";
  55. delitem .Items[.@i+1],1;
  56. delitem .Items[.@i+2],1;
  57. if (.@NoFail) delitem .Ticket,1;
  58. if (.Price) set Zeny, Zeny-.Price;
  59. if(rand(1,100) > .Items[.@i] && !.@NoFail) {
  60. specialeffect2 155;
  61. mes "Oh, no...";
  62. close; }
  63. mes "Success!";
  64. mes "Here's your new item!";
  65. getitem2 .Items[.@i+1],1,1,0,0,0,0,0,.Items[.@i+2];
  66. if (.Announce) announce strcharinfo(0)+" has successfully fused "+getitemname(.Items[.@i+1])+" with "+getitemname(.Items[.@i+2])+"!",0;
  67. specialeffect2 91;
  68. case 3:
  69. close;
  70. }
  71. OnInit:
  72. // --------------------- Config ---------------------
  73. // Format: <% success>,<Item A>,<Item B>{,...};
  74. // Item B will be slotted inside of Item A; maximum 42 fusion items.
  75.  
  76. setarray .Items[0],50,1202,1228,75,5025,2254,10,1102,1141;
  77. set .Price,0; // Zeny cost per fusion attempt, if any
  78. set .Ticket,7227; // Item ID consumed for 100% success rate (0 to disable)
  79. set .Announce,1; // Announce successful fusion? (1:yes / 0:no)
  80. set .DispChance,1; // Show the success rate? (1:yes / 0:no)
  81. end;
  82. // --------------------------------------------------
  83. }
Add Comment
Please, Sign In to add comment