sign_your_items.txt 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. //===== eAthena Script =======================================
  2. //= * Sign Your Items *
  3. //===== By: ==================================================
  4. //= Lupus
  5. //===== Current Version: =====================================
  6. //= 1.0
  7. //===== Compatible With: =====================================
  8. //= eAthena 1
  9. //===== Description: =========================================
  10. //= Write you name on your rare equipment or weapon ^_-
  11. //= Original X-Mas mini-quest(could be used as a permanent one)
  12. //===== Additional Comments: =================================
  13. //= 1.0 First release
  14. //============================================================
  15. prt_in,24,61,7 script Perchik 47,{
  16. mes "[Perchik]";
  17. if(BaseJob==Job_Novice || BaseLevel<50) {
  18. mes "Sorry, I don't help newbies. Go kill more Porings.";
  19. emotion e_sry;
  20. close;
  21. }
  22. mes "Hi, I can ^000090sign your name^000000 on almost any rare item you can hold.";
  23. next;
  24. menu "Tell me more...",-, "Sign my items, please",M_DO;
  25. mes "[Perchik]";
  26. mes "I can put your name on any slotless equipment or weapon.";
  27. emotion e_ic;
  28. next;
  29. mes "[Perchik]";
  30. mes "A week ago, my BOSS told me to send away newbies. I dunno why.";
  31. next;
  32. mes "[Perchik]";
  33. mes "For my work I accept ^0000803 Gift Box^000000es (gray one)";
  34. mes "plus ^FF00005000z^000000 per each refine of your item.";
  35. next;
  36. emotion e_cry;
  37. mes "[Perchik]";
  38. mes "Alas, I have 12 hungry children";
  39. mes "and a very angry wife.";
  40. next;
  41. mes "[Perchik]";
  42. mes "Or it was... 12 angry children";
  43. mes "and a very hungry wife...";
  44. emotion e_hmm;
  45. close;
  46. M_DO:
  47. mes "[Perchik]";
  48. mes "Show me your items to sign...";
  49. M_MENU:
  50. next;
  51. menu getequipname(1),M_PART1,getequipname(9),M_PART9,getequipname(10),M_PART10,getequipname(2),M_PART2,getequipname(4),M_PART4,
  52. getequipname(3),M_PART3,getequipname(5),M_PART5,getequipname(6),M_PART6,getequipname(7),M_PART7,getequipname(8),M_PART8;
  53. //Head Gear
  54. M_PART1:
  55. set @part,1;
  56. if (getequipisequiped(1)) goto L_CHECK1;
  57. mes "[Perchik]";
  58. mes "A bald head under a cheap wig... There's nothing worthy to sign.";
  59. emotion 6;
  60. goto M_MENU;
  61. M_PART9:
  62. set @part,9;
  63. if (getequipisequiped(9)) goto L_CHECK1;
  64. mes "[Perchik]";
  65. mes "Glasses... I can't see any glasses...";
  66. emotion 20;
  67. goto M_MENU;
  68. M_PART10:
  69. set @part,10;
  70. if (getequipisequiped(10)) goto L_CHECK1;
  71. mes "[Perchik]";
  72. mes "I don't see any mask here.";
  73. emotion 20;
  74. goto M_MENU;
  75. //Armor
  76. M_PART2:
  77. set @part,2;
  78. if (getequipisequiped(2)) goto L_CHECK1;
  79. mes "[Perchik]";
  80. mes "Your belly...? Yes, it's rather fat.";
  81. emotion 6;
  82. goto M_MENU;
  83. //Left Hand
  84. M_PART3:
  85. set @part,3;
  86. if (getequipisequiped(3)) goto L_CHECK1;
  87. mes "[Perchik]";
  88. mes "Sign your left hand? I'm not a celebrity, you know...";
  89. emotion 4;
  90. goto M_MENU;
  91. //Right Hand
  92. M_PART4:
  93. set @part,4;
  94. if (getequipisequiped(4)) goto L_CHECK1;
  95. mes "[Perchik]";
  96. mes "It isn't an armor... It's a mud!!! Wash your hands more often.";
  97. emotion 4;
  98. goto M_MENU;
  99. //Garment
  100. M_PART5:
  101. set @part,5;
  102. if (getequipisequiped(5)) goto L_CHECK1;
  103. mes "[Perchik]";
  104. mes "Look... It's empty...";
  105. goto M_MENU;
  106. //Foot Gear
  107. M_PART6:
  108. set @part,6;
  109. if (getequipisequiped(6)) goto L_CHECK1;
  110. mes "[Perchik]";
  111. mes "Aw!! I don't like stinky feet.";
  112. emotion 16;
  113. goto M_MENU;
  114. //Accessory1
  115. M_PART7:
  116. set @part,7;
  117. if (getequipisequiped(7)) goto L_CHECK1;
  118. mes "[Perchik]";
  119. mes "Yep... a pocket with a huge hole...";
  120. emotion 20;
  121. goto M_MENU;
  122. //Accessory2
  123. M_PART8:
  124. set @part,8;
  125. if (getequipisequiped(8)) goto L_CHECK1;
  126. mes "[Perchik]";
  127. mes "I see your fat belly...";
  128. emotion 20;
  129. goto M_MENU;
  130. L_CHECK1:
  131. set @ref,0;
  132. set @id,getequipid(@part);
  133. if(getequipisidentify(@part)) goto L_CHECK2;
  134. mes "[Perchik]";
  135. mes "How could you equip such unknown item?";
  136. npctalk "What a sneaky cheater!";
  137. emotion e_wah;
  138. close;
  139. L_CHECK2:
  140. set @ref,getequiprefinerycnt(@part);
  141. mes "[Perchik]";
  142. mes "You want me to sign your "+getitemname(@id)+"...";
  143. if(BaseJob==Job_Novice) {
  144. mes "But you're a Novice. My BOSS told me to send such weaklings away.";
  145. emotion e_sry;
  146. goto M_MENU;
  147. }
  148. set @slot0,getequipcardid(@part,0);
  149. set @slot1,getequipcardid(@part,1);
  150. set @slot2,getequipcardid(@part,2);
  151. set @slot3,getequipcardid(@part,3);
  152. if(@slot0==255 || @slot0==254 || @slot0<0) {
  153. mes "Alas, this item's already signed.";
  154. mes "I would never touch masters work.";
  155. emotion e_hmm;
  156. goto M_MENU;
  157. }
  158. if(@slot0>4000 && @slot0<5000) {
  159. mes "A card? Here?!";
  160. mes "As I said before, I don't sign items with cards.";
  161. emotion e_hmm;
  162. goto M_MENU;
  163. }
  164. if(getiteminfo(@id,10)) {
  165. mes "Sorry. I don't sign slotted items.";
  166. emotion e_sry;
  167. goto M_MENU;
  168. }
  169. if(@ref)mes "It has been refined "+@ref+" times... Adding ^FF00005000z^000000 per time.";
  170. mes "Give me ^0000803 gray Gift Boxes^000000";
  171. if(@ref)mes "and ^FF0000"+(5000*@ref)+"z^000000.";
  172. next;
  173. menu "Ok!",-, "Leave",M_END;
  174. if(Zeny>=(5000*@ref) && countitem(644)>=3) {
  175. delitem 644,3;
  176. set Zeny,Zeny-(5000*@ref);
  177. goto L_MAKE;
  178. }
  179. mes "[Perchik]";
  180. mes "I don't work for 'thanks'.";
  181. emotion e_sry;
  182. close;
  183. L_MAKE:
  184. if(countitem2(@id,1,@ref,0,@slot0,@slot1,@slot2,@slot3)==0) {
  185. mes "[Perchik]";
  186. mes "Where is... "+getitemname(@id)+"?";
  187. npctalk "You're a snoozy cheater!";
  188. logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id);
  189. emotion e_wah;
  190. close;
  191. }
  192. delitem2 @id,1,1,@ref,0,@slot0,@slot1,@slot2,@slot3;
  193. mes "[Perchik]";
  194. mes "Done!";
  195. emotion e_proud;
  196. getitem2 @id,1,1,@ref,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
  197. close;
  198. M_END:
  199. mes "[Perchik]";
  200. mes "See you...";
  201. emotion e_yawn;
  202. close;
  203. }