[1] | 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 | } |
---|