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