Chocolate
Members-
Posts
59 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Chocolate
-
Hello, i liked to ask if its possible to increase the cell to 9x9 same as land protector cell Bump
-
I need help with the "Poring Summoner" script
Chocolate replied to Chocolate's question in Database Support
Okay...as what you see i can disable normal porings in the settings so special poring have ability to teleport 3~5sec its like a mvp when you hitting him he will teleport or if he is idle for 3~10sec special poring will teleport Sorry for miss tpys using phone bump -
I need help with changing the "Enchantment System" script
Chocolate posted a question in Scripting Support
//===== rAthena Script ============================================ //= Enchantment System //===== By: ======================================================= //= Kenedos //===== Current Version: ========================================== //= 1.0 //===== Compatible With: ========================================== //= rAthena SQL/TXT //===== Description: ============================================== //= Uses the 2nd, 3rd and 4th slot on armors (headgears, footgears //= garments, shields and armors) to add extra bonus status and //= diverse attributes. //===== Topic ===================================================== //= Unknown //===== Additional Comments: ====================================== //= BE WARNED : The use of decarder NPCs, Sign your Name on items //= NPCs and any other kind of NPC that make use of the extra armor //= slots will bug this whole system. Also make sure every armor //= in your server only have 1 slot at max, otherwise it will also //= cause unexpected behaviour. //= //= If you wish to change the GM level to access the command menu, //= just find the command "getgmlevel()" in this script. //= It is located a few lines bellow the header. //= //= If you wish to change the cost for the Power Stones, look for //= the "MvP Power Stone Conversion Table" in the end of the script. //================================================================= prontera,128,191,3 script Armor Enchanter 73,{ mes "["+strnpcinfo(1)+"]"; if (Sex) mes "Hello sir ^0000FF"+strcharinfo(0)+"^000000, how may I help you?"; else mes "Hello lady ^0000FF"+strcharinfo(0)+"^000000, how may I help you?"; next; if (getgmlevel() < 80) set [email protected], select("Enchant:Information:Trade MvP Misc Items"); else { set [email protected], select("Enchant:Information:Trade MvP Misc Items:^FF0000GM Special Enchant^000000"); if ([email protected] == 4) { set [email protected], 1; goto L_EnchantLoc; } } if ([email protected] == 2) { mes "["+strnpcinfo(1)+"]"; mes "Aah so you are looking information about the ^009900New Special Enchantment System^000000? Very well, I shall answer you. What's the matter?"; next; while (1) { set [email protected], select("Prices:General:Chances:Bonuses:MvP Special Enchanting"); if ([email protected] == 2) { mes "["+strnpcinfo(1)+"]"; mes "The ^009900Special Enchantment System^000000 is rather simple, first, you show me your currently equipped gear, then I will show you a list of everything I can try to enchant."; next; mes "["+strnpcinfo(1)+"]"; mes "I can only work on ^FF0000Armors^000000, ^FF0000Footgears^000000, ^FF0000Upper Headgears^000000, ^FF0000Garments^000000 and ^FF0000Shields.^000000"; next; mes "["+strnpcinfo(1)+"]"; mes "Each refine attempt will cost you some ^0000FFZeny^000000, depending on which slot you wish to try. You can have three enchantments at total per equipment piece, one in each slot."; next; mes "["+strnpcinfo(1)+"]"; mes "Enchantments in the ^0000FFSame Slot^000000 will ^FF0000Overplace^000000 currently existing ones, so be carefull not to choose the wrong slot!"; next; mes "["+strnpcinfo(1)+"]"; mes "Enchantments obviously, give you bonuses such as statuses, Hp, Sp, and many other bonuses depending on what type of enchantment you choose."; next; mes "["+strnpcinfo(1)+"]"; mes "You can choose an enchantment for a specific type of class, but not necessarily that enchantment will be restricted only to that class. After choosing a class, the specific enchantment will be given randomly."; next; mes "["+strnpcinfo(1)+"]"; mes "You can collect ^009900MvP Special Misc Items^000000 to trade them in for better enchantments, or making you able to choose one enchantment instead of giving it randomly. But be aware, those type of enchantments will be more costy!"; next; } else if ([email protected] == 1) { mes "["+strnpcinfo(1)+"]"; mes "The prices depend on which enchanting slot you pick."; mes "1st Slot - ^0000FF500,000z^000000"; mes "2nd Slot - ^0000FF1,000,000z^000000"; mes "3rd Slot - ^0000FF2,000,000z^000000"; mes "MvP Special Enchanting - ^0000FF10,000,000z^000000"; next; mes "["+strnpcinfo(1)+"]"; mes "Note that the MvP Special Enchanting does not depend on the slot number, it's a fixed price."; mes "If an enchantment fail, I'm sorry but you won't be refunded."; next; } else if ([email protected] == 3) { mes "["+strnpcinfo(1)+"]"; mes "The chances depend on which enchanting slot you pick."; mes "1st Slot - ^0000FF80% Success^000000"; mes "2nd Slot - ^0000FF70% Success^000000"; mes "3rd Slot - ^0000FF60% Success^000000"; mes "MvP Special Enchanting - ^0000FF50% Success^000000"; next; mes "["+strnpcinfo(1)+"]"; mes "^0000FFAttention^000000, when an enchantment fail, the equipment will be completely ^0000FFDestroyed^000000."; mes "The MvP Special Enchanting has a fixed chance, that means, even if you attempt to do it in the first slot, the chance will always be 50%."; next; } else if ([email protected] == 4) { mes "["+strnpcinfo(1)+"]"; mes "Once you succeed enchanting, you will get a bonus for the slot you chose. Upon choosing a class, the chance to get each random bonus for that class is exactly the same."; next; mes "["+strnpcinfo(1)+"]"; mes "The class type just helps you getting a good bonus for you, but you are not obligated to follow it. Every class can benefit from every class bonus. Now, Tell me a class, and i'll show you the available bonuses for it."; next; set [email protected], select("Swordman:Mage:Thief:Archer:Merchant:Acolyte"); if ([email protected] == 1) { mes "["+strnpcinfo(1)+"]"; mes "^0000FFSwordman STR+1^000000"; mes "^0000FFSwordman STR+2^000000"; mes "^0000FFSwordman VIT+1^000000"; mes "^0000FFSwordman VIT+2^000000"; mes "^0000FFSwordman VIT+3^000000"; mes "^0000FFSwordman STR+1/VIT+1^000000"; mes "^0000FFSwordman STR+2/VIT+1^000000"; mes "^0000FFSwordman STR+1/VIT+2^000000"; mes "^0000FFSwordman MHp+1%^000000"; mes "^0000FFSwordman MHp+2%^000000"; mes "^0000FFSwordman ATK+5^000000"; mes "^0000FFSwordman ATK+10^000000"; mes "^0000FFSwordman ATK+15^000000"; mes "^0000FFSwordman PhysicalReduction+1%^000000"; mes "^0000FFSwordman Damage+1%^000000"; mes "^0000FFSwordman Damage+2%^000000"; mes "^0000FFSwordman DEF+1^000000"; mes "^0000FFSwordman DEF+2^000000"; next; } else if ([email protected] == 2) { mes "["+strnpcinfo(1)+"]"; mes "^0000FFMage INT+1^000000"; mes "^0000FFMage INT+2^000000"; mes "^0000FFMage INT+3^000000"; mes "^0000FFMage DEX+1^000000"; mes "^0000FFMage DEX+2^000000"; mes "^0000FFMage INT+1/DEX+1^000000"; mes "^0000FFMage INT+1/DEX+2^000000"; mes "^0000FFMage INT+2/DEX+1^000000"; mes "^0000FFMage MSp+1%^000000"; mes "^0000FFMage MSp+2%^000000"; mes "^0000FFMage MSp+3%^000000"; mes "^0000FFMage Matk+1%^000000"; mes "^0000FFMage Matk+2%^000000"; mes "^0000FFMage Cast-2%^000000"; mes "^0000FFMage Cast-4%^000000"; mes "^0000FFMage MdefIgnore+1%^000000"; mes "^0000FFMage MdefIgnore+2%^000000"; mes "^0000FFMage MDEF+1^000000"; mes "^0000FFMage MDEF+2^000000"; mes "^0000FFMage MDEF+3^000000"; next; } else if ([email protected] == 3) { mes "["+strnpcinfo(1)+"]"; mes "^0000FFThief AGI+1^000000"; mes "^0000FFThief AGI+2^000000"; mes "^0000FFThief AGI+3^000000"; mes "^0000FFThief LUK+1^000000"; mes "^0000FFThief LUK+2^000000"; mes "^0000FFThief AGI+1/LUK+1^000000"; mes "^0000FFThief AGI+1/LUK+2^000000"; mes "^0000FFThief AGI+2/LUK+1^000000"; mes "^0000FFThief CRIT+2^000000"; mes "^0000FFThief CRIT+4^000000"; mes "^0000FFThief CRIT+6^000000"; mes "^0000FFThief FLEE+3^000000"; mes "^0000FFThief FLEE+6^000000"; mes "^0000FFThief FLEE+9^000000"; mes "^0000FFThief Damage+2%/MHp-1%^000000"; mes "^0000FFThief Damage+4%/MHp-2%^000000"; mes "^0000FFThief P.Dodge+1^000000"; mes "^0000FFThief P.Dodge+2^000000"; mes "^0000FFThief ASPD+1%^000000"; mes "^0000FFThief ASPD+2%^000000"; mes "^0000FFThief ASPD+3%^000000"; next; } else if ([email protected] == 4) { mes "["+strnpcinfo(1)+"]"; mes "^0000FFArcher DEX+1^000000"; mes "^0000FFArcher DEX+2^000000"; mes "^0000FFArcher DEX+3^000000"; mes "^0000FFArcher AGI+1^000000"; mes "^0000FFArcher AGI+2^000000"; mes "^0000FFArcher AGI+3^000000"; mes "^0000FFArcher AGI+1/DEX+1^000000"; mes "^0000FFArcher AGI+1/DEX+2^000000"; mes "^0000FFArcher AGI+2/DEX+1^000000"; mes "^0000FFArcher CRIT+1^000000"; mes "^0000FFArcher CRIT+2^000000"; mes "^0000FFArcher CRIT+3^000000"; mes "^0000FFArcher FLEE+3^000000"; mes "^0000FFArcher FLEE+6^000000"; mes "^0000FFArcher FLEE+9^000000"; mes "^0000FFArcher BowDamage+2%^000000"; mes "^0000FFArcher BowDamage+3%^000000"; mes "^0000FFArcher Hit+2^000000"; mes "^0000FFArcher Hit+4^000000"; mes "^0000FFArcher Hit+6^000000"; mes "^0000FFArcher ASPD+1%^000000"; mes "^0000FFArcher ASPD+2%^000000"; next; } else if ([email protected] == 5) { mes "["+strnpcinfo(1)+"]"; mes "^0000FFMerchant STR+1^000000"; mes "^0000FFMerchant STR+2^000000"; mes "^0000FFMerchant STR+3^000000"; mes "^0000FFMerchant VIT+1^000000"; mes "^0000FFMerchant AGI+1^000000"; mes "^0000FFMerchant AGI+2^000000"; mes "^0000FFMerchant STR+1/AGI+1/VIT+1^000000"; mes "^0000FFMerchant STR+2/AGI+1/VIT+1^000000"; mes "^0000FFMerchant STR+1/AGI+2/VIT+1^000000"; mes "^0000FFMerchant MHp+1%^000000"; mes "^0000FFMerchant ATK+3/STR+1^000000"; mes "^0000FFMerchant ATK+6/STR+1^000000"; mes "^0000FFMerchant ATK+9/STR+2^000000"; mes "^0000FFMerchant Greed1^000000"; mes "^0000FFMerchant Greed2^000000"; mes "^0000FFMerchant Greed3^000000"; mes "^0000FFMerchant FireResist+3%^000000"; mes "^0000FFMerchant FireResist+6%^000000"; mes "^0000FFMerchant EarthResist+2%^000000"; mes "^0000FFMerchant EarthResist+4%^000000"; mes "^0000FFMerchant ASPD+1%^000000"; mes "^0000FFMerchant ASPD+2%^000000"; next; } else if ([email protected] == 6) { mes "["+strnpcinfo(1)+"]"; mes "^0000FFAcolyte INT+1^000000"; mes "^0000FFAcolyte INT+2^000000"; mes "^0000FFAcolyte VIT+1^000000"; mes "^0000FFAcolyte VIT+2^000000"; mes "^0000FFAcolyte DEX+1^000000"; mes "^0000FFAcolyte INT+1/DEX+1/VIT+1^000000"; mes "^0000FFAcolyte INT+1/DEX+1/VIT+2^000000"; mes "^0000FFAcolyte INT+2/DEX+1/VIT+1^000000"; mes "^0000FFAcolyte MHp+1%^000000"; mes "^0000FFAcolyte MSp+1%^000000"; mes "^0000FFAcolyte MSp+2%^000000"; mes "^0000FFAcolyte Matk+1%^000000"; mes "^0000FFAcolyte Heal+2%^000000"; mes "^0000FFAcolyte Heal+3%^000000"; mes "^0000FFAcolyte Heal+4%^000000"; mes "^0000FFAcolyte DEF+1/MDEF+1^000000"; mes "^0000FFAcolyte DEF+1/MDEF+2^000000"; mes "^0000FFAcolyte DEF+1/MDEF+3^000000"; mes "^0000FFAcolyte SPRegen1/INT+1^000000"; mes "^0000FFAcolyte SPRegen2/INT+1^000000"; mes "^0000FFAcolyte SPRegen3/INT+1^000000"; mes "^0000FFAcolyte PhysicalReduction+1%^000000"; mes "^0000FFAcolyte RangedReduction+1%^000000"; mes "^0000FFAcolyte RangedReduction+2%^000000"; next; } } else if ([email protected] == 5) { mes "["+strnpcinfo(1)+"]"; mes "So you are talking about big stuff now, eh? ^009900MvP Special Enchanting^000000 is very difficult for me, therefore ^FF0000Any^000000 MvP Special enchantments will have a fixed price of 5,000,000z and a (80% - 10% * Slot Number) chance of success."; next; mes "["+strnpcinfo(1)+"]"; mes "That means, it doesn't matter if it's in the first, second or third slots, the chance will always be the same. As well as the price."; next; mes "["+strnpcinfo(1)+"]"; mes "Oh and I almost forgot, obviously, you must bring me the ^009900MvP Special Misc Items^000000, so I can trade them for ^0000FFUnique Power Stones^000000."; next; mes "["+strnpcinfo(1)+"]"; mes "Those ^0000FFUnique Power Stones^000000 are made from the extract of an MvP's power, meaning the more powerful the MvP is, the more ^0000FFUnique Power Stones^000000 it can give you."; next; mes "["+strnpcinfo(1)+"]"; mes "Here, I'll give you a list of every ^009900MvP Special Misc Items^000000 you can get, as well as how many ^0000FFUnique Power Stones^000000 they would give you..."; next; mes "["+strnpcinfo(1)+"]"; mes "^009900U.P.S^000000 = ^0000FFUnique Power Stones^000000"; callfunc("c_enchant_mvplist",1); next; mes "["+strnpcinfo(1)+"]"; mes "So now you must be wondering what you can do with those stones, well it's simple. Each ^0000FFUnique Power Stone^000000 can be traded for one normal enchantment, but by using a power stone, you can choose the specific enchantment!"; next; mes "["+strnpcinfo(1)+"]"; mes "That means, you can choose precisely what you want, meaning if you had enough power stones, you could have all the best enchantments you could ever get!"; next; mes "["+strnpcinfo(1)+"]"; mes "But not just that, the ^0000FFUnique Power Stones^000000 magic are so strong, that if you get ^FF0000Three^000000 of them together, you can try to make a ^0000FFMvP Unique Enchantment^000000"; next; mes "["+strnpcinfo(1)+"]"; mes "The chance is (60% - 10% * Slot Number) and zeny cost for those enchantments is always 1000000z, no matter the slot. The biggest difference is that their given bonus is completely different from the rest."; next; mes "["+strnpcinfo(1)+"]"; mes "If it succeeds, it will give you one of the following bonuses, note that the bonuses cannot be chosen specifically this time! They will be given randomly!"; next; mes "["+strnpcinfo(1)+"]"; mes "^0000FFUnique MHp+4%/MSp+4%^000000"; mes "^0000FFUnique MHp+6%/MSp+6%^000000"; mes "^0000FFUnique STR+3/VIT+3/DEX+3^000000"; mes "^0000FFUnique STR+3/AGI+3/LUK+3^000000"; mes "^0000FFUnique DEX+3/VIT+3/LUK+3^000000"; mes "^0000FFUnique INT+3/VIT+3/DEX+3^000000"; mes "^0000FFUnique INT+3/STR+3/AGI+3^000000"; mes "^0000FFUnique DEF+4/MDEF+4^000000"; mes "^0000FFUnique DEF+6/MDEF+6^000000"; mes "^0000FFUnique Damage Reflect5%^000000"; mes "^0000FFUnique Damage Reflect7%^000000"; mes "^0000FFUnique P.Damage+5%/MATK+5%^000000"; mes "^0000FFUnique P.Damage+7%/MATK+7%^000000"; mes "^0000FFUnique Skill/Spell Delay-7%^000000"; mes "^0000FFUnique Skill/Spell Delay-9%^000000"; mes "^0000FFUnique DEF/MDEF Ignore+3%^000000"; mes "^0000FFUnique DEF/MDEF Ignore+6%^000000"; mes "^0000FFUnique ASPD+5%/Cast Time-5%^000000"; mes "^0000FFUnique ASPD+7%/Cast Time-7%^000000"; mes "^0000FFUnique Skill/Spell Sp Cost-5%^000000"; mes "^0000FFUnique Skill/Spell Sp Cost-7%^000000"; next; } } } else if ([email protected] == 3) { callfunc("c_enchant_mvplist",0); mes "["+strnpcinfo(1)+"]"; mes "There, I gave you all the power stones I could, please come back with more ^009900MvP Misc Items^000000 later!"; close; } else if ([email protected] == 1) { L_EnchantLoc: mes "["+strnpcinfo(1)+"]"; mes "Select an equipment first, then I'll ask you the ^FF0000Enchantment Type^000000, ^FF0000Class Type^000000 (If necessary), ^0000FFSlot Number^000000, and give you the final ^009900Zeny Cost^000000 for my services."; next; setarray [email protected]$[1], "Headgear","Armor","Shield","Invalid","Garment","Footgear"; set [email protected]$,""; deletearray [email protected]; set [email protected], 1; for( set [email protected],1; [email protected] <= 6; set [email protected],[email protected]+1 ) { if (([email protected] == 3) && (getiteminfo(getequipid(3),5) == 32) && (getequipisequiped([email protected]))) { // Only catch shields set [email protected]$, [email protected]$ + [email protected]$[[email protected]] + "-" + "[" + getequipname([email protected]) + "]"; set [email protected][[email protected]], [email protected]; set [email protected], [email protected] + 1; set [email protected]$, [email protected]$ + ":"; } if(getequipisequiped([email protected]) && ([email protected] != 4) && ([email protected] != 3)) { set [email protected]$, [email protected]$ + [email protected]$[[email protected]] + "-" + "[" + getequipname([email protected]) + "]"; set [email protected][[email protected]], [email protected]; set [email protected], [email protected] + 1; set [email protected]$, [email protected]$ + ":"; } } if ([email protected]$ == "") { mes "["+strnpcinfo(1)+"]"; mes "Errr wait. Oh Sorry but you must have armors equipped to enchant them!"; close; } // Calibrating menu set [email protected], select([email protected]$); if ([email protected][[email protected]] == 1) set [email protected], 1; else if ([email protected][[email protected]] == 2) set [email protected], 2; else if ([email protected][[email protected]] == 3) set [email protected], 3; else if ([email protected][[email protected]] == 5) set [email protected], 5; else if ([email protected][[email protected]] == 6) set [email protected], 6; if ([email protected]) goto L_SelectSlot; // Selecting Types set [email protected], select("Normal Enchantment:MvP Special Enchantment"); if ([email protected] == 1) { set [email protected]_type, 0; } else { set [email protected], select ("Specific Normal Enchant:Random Unique Enchant"); if ([email protected] == 1) set [email protected]_type,1; else set [email protected]_type,2; } // Class Types if ([email protected]_type == 0) set [email protected]_type, select("Swordman:Mage:Thief:Archer:Merchant:Acolyte"); // Selecting Slots L_SelectSlot: set [email protected]_num, 0; set [email protected]_num, select("1st Slot"); if (([email protected]_num <= 0) || ([email protected]_num > 3)) { mes "["+strnpcinfo(1)+"]"; mes "Sorry but you must select a valid slot number."; close; } // Gm Option Select if ([email protected]) set [email protected]_type, 1; // Special Specific Enchant Selection if ([email protected]_type == 1) { L_SelectEnc: mes "["+strnpcinfo(1)+"]"; mes "Please now select the specific enchantment. First you choose the class type, then you select the specific enchant."; next; set [email protected]$, ""; set [email protected]_bonus, 0; if ([email protected]) { set [email protected], select("Swordman:Mage:Thief:Archer:Merchant:Acolyte:^FF0000MvP Special Enchant^000000"); if ([email protected] == 7) { set [email protected]$, "^0000FFUnique MHp+4%/MSp+4%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique MHp+6%/MSp+6%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique STR+3/VIT+3/DEX+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique STR+3/AGI+3/LUK+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique DEX+3/VIT+3/LUK+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique INT+3/VIT+3/DEX+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique INT+3/STR+3/AGI+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique DEF+4/MDEF+4^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique DEF+6/MDEF+6^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique Damage Reflect5%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique Damage Reflect7%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique P.Damage+5%/MATK+5%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique P.Damage+7%/MATK+7%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique Skill/Spell Delay-7%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique Skill/Spell Delay-9%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique DEF/MDEF Ignore+3%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique DEF/MDEF Ignore+6%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique ASPD+5%/Cast Time-5%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique ASPD+7%/Cast Time-7%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique Skill/Spell Sp Cost-5%^000000"; set [email protected]$, [email protected]$ + ":^0000FFUnique Skill/Spell Sp Cost-7%^000000"; set [email protected]_bonus, select([email protected]$) + 25126; next; } } else { set [email protected], select("Swordman:Mage:Thief:Archer:Merchant:Acolyte"); } if ([email protected] == 1) { set [email protected]$, "^0000FFSwordman STR+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman STR+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman VIT+2^000000"; set [email protected]$, [email protected]nu$ + ":^0000FFSwordman VIT+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman STR+1/VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman STR+2/VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman STR+1/VIT+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman MHp+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman MHp+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman ATK+5^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman ATK+10^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman ATK+15^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman PhysicalReduction+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman Damage+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman Damage+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman DEF+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFSwordman DEF+2^000000"; set [email protected]_bonus, select([email protected]$) + 24999; next; } else if ([email protected] == 2) { set [email protected]$, "^0000FFMage INT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage INT+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage INT+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage DEX+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage DEX+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage INT+1/DEX+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage INT+1/DEX+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage INT+2/DEX+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage MSp+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage MSp+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage MSp+3%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage Matk+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage Matk+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage Cast-2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage Cast-4%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage MdefIgnore+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage MdefIgnore+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage MDEF+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage MDEF+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFMage MDEF+3^000000"; set [email protected]_bonus, select([email protected]$) + 25017; next; } else if ([email protected] == 3) { set [email protected]$, "^0000FFThief AGI+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief AGI+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief AGI+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief LUK+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief LUK+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief AGI+1/LUK+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief AGI+1/LUK+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief AGI+2/LUK+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief CRIT+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief CRIT+4^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief CRIT+6^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief FLEE+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief FLEE+6^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief FLEE+9^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief Damage+2%/MHp-1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief Damage+4%/MHp-2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief P.Dodge+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief P.Dodge+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief ASPD+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief ASPD+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFThief ASPD+3%^000000"; set [email protected]_bonus, select([email protected]$) + 25037; next; } else if ([email protected] == 4) { set [email protected]$, "^0000FFArcher DEX+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher DEX+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher DEX+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher AGI+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher AGI+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher AGI+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher AGI+1/DEX+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher AGI+1/DEX+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher AGI+2/DEX+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher CRIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher CRIT+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher CRIT+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher FLEE+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher FLEE+6^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher FLEE+9^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher BowDamage+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher BowDamage+3%^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher Hit+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher Hit+4^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher Hit+6^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher ASPD+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFArcher ASPD+2%^000000"; set [email protected]_bonus, select([email protected]$) + 25058; next; } else if ([email protected] == 5) { set [email protected]$, "^0000FFMerchant STR+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant STR+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant STR+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant AGI+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant AGI+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant STR+1/AGI+1/VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant STR+2/AGI+1/VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant STR+1/AGI+2/VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant MHp+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant ATK+3/STR+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant ATK+6/STR+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant ATK+9/STR+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant Greed1^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant Greed2^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant Greed3^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant FireResist+3%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant FireResist+6%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant EarthResist+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant EarthResist+4%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant ASPD+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFMerchant ASPD+2%^000000"; set [email protected]_bonus, select([email protected]$) + 25080; next; } else if ([email protected] == 6) { set [email protected]$, "^0000FFAcolyte INT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte INT+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte VIT+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte DEX+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte INT+1/DEX+1/VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte INT+1/DEX+1/VIT+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte INT+2/DEX+1/VIT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte MHp+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte MSp+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte MSp+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte Matk+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte Heal+2%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte Heal+3%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte Heal+4%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte DEF+1/MDEF+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte DEF+1/MDEF+2^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte DEF+1/MDEF+3^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte SPRegen1/INT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte SPRegen2/INT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte SPRegen3/INT+1^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte PhysicalReduction+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte RangedReduction+1%^000000"; set [email protected]$, [email protected]$ + ":^0000FFAcolyte RangedReduction+2%^000000"; set [email protected]_bonus, select([email protected]$) + 25102; next; } set [email protected]_enchant, [email protected]; set [email protected], 0; } // Giving Zeny Cost, and Chance set [email protected]_cardid, getequipcardid([email protected],(4 - [email protected]_num)); set [email protected], getequipid([email protected]); if (countitem([email protected]) > 1) { mes "["+strnpcinfo(1)+"]"; mes "Ah, looks like you have more than one of the same item in your inventory, I'm sorry but you must store them first before proceeding."; close; } mes "["+strnpcinfo(1)+"]"; if ([email protected]_cardid <= 0) mes "So far so good, please confirm your enchantment."; else mes "Please confirm your enchantment. ^FF0000Overplaced old effects will be lost^000000"; // First Enchantment Type //------------------------------------------------------------------------------------------------ if ([email protected]_type == 0) { // Confirmation // The random bonus is given before the actual success... But it's hidden, obviously. if ([email protected]_type == 1) { set [email protected]_type$, "Swordman"; set [email protected]_bonus, rand(25000,25017); } else if ([email protected]_type == 2) { set [email protected]_type$, "Mage"; set [email protected]_bonus, rand(25018,25037); } else if ([email protected]_type == 3) { set [email protected]_type$, "Thief"; set [email protected]_bonus, rand(25038,25058); } else if ([email protected]_type == 4) { set [email protected]_type$, "Archer"; set [email protected]_bonus, rand(25059,25080); } else if ([email protected]_type == 5) { set [email protected]_type$, "Merchant"; set [email protected]_bonus, rand(25081,25102); } else if ([email protected]_type == 6) { set [email protected]_type$, "Acolyte"; set [email protected]_bonus, rand(25103,25126); } if ([email protected]_num == 1) set [email protected]_cost, 500000; else if ([email protected]_num == 2) set [email protected]_cost, 1000000; else if ([email protected]_num == 3) set [email protected]_cost, 2000000; mes "^0000FFEquip^000000 = "+getitemname([email protected]); mes "^0000FFChance^000000 = "+(90 - (10*[email protected]_num))+"%"; mes "^0000FFSlot Number^000000 = "+( ([email protected]_num == 1) ? "1st Slot" : ([email protected] == 2 ? "2nd Slot" : "3rd Slot") ); mes "^0000FFZeny Cost^000000 = "[email protected]_cost+"z"; mes "^0000FFClass Type^000000 = "[email protected]_type$; if ([email protected]_cardid > 0) mes "^FF0000Overplace^000000 = "+getitemname([email protected]_cardid); next; if (Select("Confirm:Cancel") == 2) close; // Check Zeny if (Zeny < [email protected]_cost) { mes "["+strnpcinfo(1)+"]"; mes "Sorry, but you are broke."; close; } // Refine Attempt progressbar "ffff00",3; // Double Check after progress bar if (Zeny < [email protected]_cost) { mes "["+strnpcinfo(1)+"]"; mes "Are you trying to fool me?! You don't have zeny anymore!"; close; } if (getequipid([email protected]) != [email protected]) { mes "["+strnpcinfo(1)+"]"; mes "What do you think you are doing, your punk?! You switched your equipment! Get lost before I sue you."; close; } // Fail if (rand(0,100) > (90 - (10*[email protected]_num))) { specialeffect2 306; mes "["+strnpcinfo(1)+"]"; mes "Wooops! I'm sorry, but it broke. There's nothing I can do about it anymore."; set Zeny, Zeny - [email protected]_cost; // delitem [email protected],1; close; } else { // Success mes "["+strnpcinfo(1)+"]"; mes "Ha! There you go, your brand new enchanted equipment!"; set [email protected], getequiprefinerycnt([email protected]); for (set [email protected], 0; [email protected] < 4; set [email protected], [email protected] + 1) set [email protected][[email protected]], getequipcardid([email protected],[email protected]); delitem [email protected],1; set Zeny, Zeny - [email protected]_cost; specialeffect2 305; if ([email protected]_num == 1) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected][1], [email protected][2], [email protected]_bonus; else if ([email protected]_num == 2) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected][1], [email protected]_bonus, [email protected][3]; else if ([email protected]_num == 3) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected]_bonus, [email protected][2], [email protected][3]; equip([email protected]); close; } } // Second Enchantment Type //------------------------------------------------------------------------------------------------ if ([email protected]_type == 1) { // Confirmation if ([email protected]) set [email protected]_cost, 1; else set [email protected]_cost, 5000000; if ([email protected]) set [email protected], 100; else set [email protected], (80 - (10*[email protected]_num)); mes "^0000FFEquip^000000 = "+getitemname([email protected]); mes "^0000FFChance^000000 = "[email protected]+"%"; mes "^0000FFSlot Number^000000 = "+( ([email protected]_num == 1) ? "1st Slot" : ([email protected] == 2 ? "2nd Slot" : "3rd Slot") ); mes "^0000FFZeny Cost^000000 = "[email protected]_cost+"z"; if ([email protected]) mes "^0000FFUnique Power Stones^000000 = 1 Consumed"; mes "^0000FFSelected Enchantment^000000 = "+getitemname([email protected]_bonus); if ([email protected]_cardid > 0) mes "^FF0000Overplace^000000 = "+getitemname([email protected]_cardid); next; if (Select("Confirm:Cancel") == 2) close; // Check Zeny if (Zeny < [email protected]_cost) { mes "["+strnpcinfo(1)+"]"; mes "Sorry, but you are broke."; close; } if ((countitem(30000) < 1) && ([email protected])) { mes "["+strnpcinfo(1)+"]"; mes "Hey! You can't Power Refine without Power Stones!"; close; } // Refine Attempt progressbar "ffff00",3; // Double Check after progress bar if (Zeny < [email protected]_cost) { mes "["+strnpcinfo(1)+"]"; mes "Are you trying to fool me?! You don't have zeny anymore!"; close; } if ( (countitem(30000) < 1) && ([email protected]) ) { mes "["+strnpcinfo(1)+"]"; mes "Hey! You can't Power Refine without Power Stones!"; close; } if (getequipid([email protected]) != [email protected]) { mes "["+strnpcinfo(1)+"]"; mes "What do you think you are doing, your punk?! You switched your equipment! Get lost before I sue you."; close; } // Fail if (rand(0,100) > [email protected]) { specialeffect2 306; mes "["+strnpcinfo(1)+"]"; mes "Wooops! I'm sorry, but it broke. There's nothing I can do about it anymore."; set Zeny, Zeny - [email protected]_cost; if ([email protected]) delitem 30000,1; delitem [email protected],1; close; } else { // Success set [email protected]_bonus, [email protected]_bonus; mes "["+strnpcinfo(1)+"]"; mes "Ha! There you go, your brand new enchanted equipment!"; set [email protected], getequiprefinerycnt([email protected]); for (set [email protected], 0; [email protected] < 4; set [email protected], [email protected] + 1) set [email protected][[email protected]], getequipcardid([email protected],[email protected]); delitem [email protected],1; if ([email protected]) delitem 30000,1; set Zeny, Zeny - [email protected]_cost; specialeffect2 305; if ([email protected]_num == 1) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected][1], [email protected][2], [email protected]_bonus; else if ([email protected]_num == 2) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected][1], [email protected]_bonus, [email protected][3]; else if ([email protected]_num == 3) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected]_bonus, [email protected][2], [email protected][3]; equip([email protected]); close; } } // Third Enchantment Type //------------------------------------------------------------------------------------------------ if ([email protected]_type == 2) { // Confirmation set [email protected]_cost, 10000000; set [email protected], (60 - (10*[email protected]_num)); mes "^0000FFEquip^000000 = "+getitemname([email protected]); mes "^0000FFChance^000000 = "[email protected]+"%"; mes "^0000FFSlot Number^000000 = "+( ([email protected]_num == 1) ? "1st Slot" : ([email protected] == 2 ? "2nd Slot" : "3rd Slot") ); mes "^0000FFZeny Cost^000000 = "[email protected]_cost+"z"; mes "^0000FFUnique Power Stones^000000 = 3 Consumed"; mes "^009900Unique MvP Random Enchantment^000000"; if ([email protected]_cardid > 0) mes "^FF0000Overplace^000000 = "+getitemname([email protected]_cardid); next; if (Select("Confirm:Cancel") == 2) close; // Check Zeny if (Zeny < [email protected]_cost) { mes "["+strnpcinfo(1)+"]"; mes "Sorry, but you are broke."; close; } if (countitem(30000) < 3) { mes "["+strnpcinfo(1)+"]"; mes "Hey! You can't Power Refine without Power Stones!"; close; } // Refine Attempt progressbar "ffff00",8; // Double Check after progress bar if (Zeny < [email protected]_cost) { mes "["+strnpcinfo(1)+"]"; mes "Are you trying to fool me?! You don't have zeny anymore!"; close; } if (countitem(30000) < 3) { mes "["+strnpcinfo(1)+"]"; mes "Hey! You can't Power Refine without Power Stones!"; close; } if (getequipid([email protected]) != [email protected]) { mes "["+strnpcinfo(1)+"]"; mes "What do you think you are doing, your punk?! You switched your equipment! Get lost before I sue you."; close; } // Fail if (rand(0,100) > [email protected]) { specialeffect2 306; specialeffect2 183; mes "["+strnpcinfo(1)+"]"; mes "Oh my god! The power was so intense the equipment broke into pieces! I'm sorry, but there's nothing I can do."; set Zeny, Zeny - [email protected]_cost; delitem 30000,3; delitem [email protected],1; close; } else { // Success mes "["+strnpcinfo(1)+"]"; mes "Wow! I can't even believe I did this myself, haha! I must be better than I thought. Oh- Yeah sorry, here's your equipment."; set [email protected], getequiprefinerycnt([email protected]); for (set [email protected], 0; [email protected] < 4; set [email protected], [email protected] + 1) set [email protected][[email protected]], getequipcardid([email protected],[email protected]); set [email protected]_bonus, rand(25127,25147); delitem [email protected],1; delitem 30000,3; set Zeny, Zeny - [email protected]_cost; specialeffect2 305; specialeffect2 113; if ([email protected]_num == 1) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected][1], [email protected][2], [email protected]_bonus; else if ([email protected]_num == 2) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected][1], [email protected]_bonus, [email protected][3]; else if ([email protected]_num == 3) getitem2 [email protected], 1, 1, [email protected], 0, [email protected][0], [email protected]_bonus, [email protected][2], [email protected][3]; equip([email protected]); close; } } } } function script c_enchant_mvplist { // Table Parameters : // mvp_itemid : ID of the Misc Item // mvp_itemcount : Number of these Items required // to exchange for only one power stone. // = MvP Power Stone Conversion Table //=============================================================================================================================== //====================================================================== // Baphomet, Amon Ra, Beelzebub, Detale, Eddga, ESL, Garm, Gloom, Scaraba Q, Kiel, Ktullanux, LoD, Maya, Mistress, Nidhoggr, Orc Hero/Orc Lord, Osiris, Pharaoh, Tao Gunka, Thanatos, Valk, Tendrillion, Hardrock // setarray [email protected]_itemid[0] , 750 , 7211 ,7754 ,7451 ,1029 ,7169,7036 ,7566 ,6326 ,7513 ,7562 // //,7108,7020 ,7018 ,6091 ,968 ,751 ,7114 ,7300 ,7450 ,7024 ,6033 ,6022 ; // setarray [email protected]_itemcount[0], 5 , 5 , 2 ,3 , 7 , 6, 7 , 3 , 4 , 4 , 3 , // //4 , 2 ,2 ,2 ,7 ,7 ,7 ,7 ,3 ,2 ,6 ,4; // //=============================================================================================================================== //========================================================================================================= if (getarg(0) == 1) for (set [email protected], 0; [email protected] < getarraysize([email protected]_itemid); set [email protected], [email protected] + 1) mes [email protected]_itemcount[[email protected]]+" ^0000FF"+getitemname([email protected]_itemid[[email protected]])+"^000000 = 1 ^009900U.P.S^000000"; else if (getarg(0) == 0) { for (set [email protected], 0; [email protected] < getarraysize([email protected]_itemid); set [email protected], [email protected] + 1) { set [email protected], 0; if (countitem([email protected]_itemid[[email protected]]) >= [email protected]_itemcount[[email protected]]) { getitem 30000,1; delitem [email protected]_itemid[[email protected]], [email protected]_itemcount[[email protected]]; set [email protected], [email protected] - 1; set [email protected], [email protected] + 1; if ([email protected] % 15) sleep2 300; // Infinity loop prevention } } } return; } how to make it armor only? -
//===== rAthena Script ======================================= //= Poring Summoner //===== By: ================================================== //= Bahmut (Made it automated) //= MoonlightRO (Original) //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= TXT & SQL //===== Link to orginal: ===================================== //= http://www.eathena.w...howtopic=236779 //============================================================ - script Poring Summoner -1,{ OnInit: //---- NPC Config ----- set .SpecialPorings,100; set .NormalPorings,0; //--------------------- initnpctimer; end; OnSpecialKill: set .SpecialPorings[1],.SpecialPorings[1]-1; announce strcharinfo(0) + " got a " + getitemname(.ItemID) + "!",bc_map; // getitem .ItemID,1; set PoringPoint,PoringPoint+1; dispbottom "You got 1 Poring Point"; dispbottom "Total Poring Points:"+PoringPoint; goto PoringCount; OnNormalKill: set .NormalPorings[1],.NormalPorings[1]-1; goto PoringCount; PoringCount: announce "Special Poring: " + .SpecialPorings[1] + " || Normal Poring: " + .NormalPorings[1],bc_map; if(!.SpecialPorings[1]) goto EndEvent; end; OnTimer3300000: RestartEvent: set .Event,0; set .SpecialPorings[1],0; set .NormalPorings[1],0; removemapflag .Map$,mf_noskill; set [email protected], rand(1,10); if ([email protected] == 10) set .Map$,"lighthalzen"; if ([email protected] == 9) set .Map$,"louyang"; if ([email protected] == 8) set .Map$,"comodo"; if ([email protected] == 7) set .Map$,"xmas"; if ([email protected] == 6) set .Map$,"aldebaran"; if ([email protected] == 5) set .Map$,"izlude"; if ([email protected] == 4) set .Map$,"payon"; if ([email protected] == 3) set .Map$,"geffen"; if ([email protected] == 2) set .Map$,"morocc"; if ([email protected] == 1) set .Map$,"prontera"; killmonster .Map$,"All"; setmapflag .Map$,mf_noskill; monster .Map$,0,0,"Poring",1002,.SpecialPorings,"Poring Summoner::OnSpecialKill"; monster .Map$,0,0,"Poring",1002,.NormalPorings,"Poring Summoner::OnNormalKill"; set .SpecialPorings[1],.SpecialPorings; set .NormalPorings[1],.NormalPorings; announce "The Poring Event has begun!",bc_all; announce "Location: " + .Map$,bc_all; announce "Special Poring: " + .SpecialPorings,bc_all; announce "Normal Poring: " + .NormalPorings,bc_all; setnpctimer 0; end; } i was wondering if its possible to add teleport for special poring 3~5sec before the special poring teleports
-
Okay i got it.
-
Hi there, the scirpt has the problem not the website content....the script trigger kills - death
-
Magic crasher skill discription - (you do an attack that calculates damage using your MATK instead of ATK but decreased using enemy's DEF,not MDEF . this skills overall damage is affected by cards you have in weapon, weapon element,size and element of the target and it might miss depending on you DEX.)
-
//===== eAthena Script ======================================================= //= PVP ladder script with dota announcement ( SQL only ) //===== By: ================================================================== //= ~AnnieRuru~ //===== Current Version: ===================================================== //= 2.9 //===== Compatible With: ===================================================== //= eAthena SQL 14279, with MySQL 5.1 //===== Description: ========================================================= //= PVP ladder store in SQL table //= plus anti-sit-killer feature //===== Topic ================================================================ //= http://www.eathena.ws/board/index.php?showtopic=177918 //===== Additional Comments: ================================================= //= still don't have modify value option, will be done ... in next year ... //============================================================================ // add all the maps that you want this script to trigger ... all pvp and event maps perhaps ? // but if you already enable "all" maps, then can comment all these guild_vs2 mapflag loadevent //guild_vs3 mapflag loadevent prtg_cas01 mapflag loadevent - script DOTAPVP -1,{ OnInit: // Config set .sound, 0; // soundeffect : 0 - disable, 1 - play soundeffect to all players on map, 2 - play soundeffect to an area around the killer, 3 - play soundeffect to killer only set .announce, 1; // announce to : 0 - global, 1 - map set .announcemap, 0; // announce the map name in the announcement ? : 0 - off, 1 - on set .announcekill, 1; // announce who pawn who's head : 0 - off, 1 - on set .msg_die, 0; // show message who kill you when die : 0 - off, 1 - on set .msg_kill, 0; // show message you kill who when killed someone : 0 - off, 1 - on set .gmnokill, 0; // GMs are not suppose to kill players. A GM with <this number> level or higher will do nothing. IF set to 60, GM60 and above kill any player will not get anything : 0 - off set .killingspree, 3; set .dominating, 4; set .megakill, 5; set .unstoppable, 6; set .wickedsick, 7; set .monsterkill, 8; set .godlike, 9; set .holyshit, 10; set .continue, 1; // after beyond-godlike, every <this number> kills will make announcement again set .owned, 5; // how many times the party/guild has to kill to announce ownage set .owncontinue, 1; // after ownage, every <this number> party/guild cumulative kills will make ownage announce again set .min_gm_menu, 90; // minimum level of GM can use the GM menu on ladder npc set .showtotal, 10; // show the length of ladder. Note : Maximum value = 128 set .showpage, 10; // set the views per page. Note : Maximum value = 128 set .loweststreak, 3; // mininum streak count allow to show in highest streak ladder. Default 3 means must at least have killing spree streak to display in ladder set .lowestownage, 5; // mininum ownage count allow to show in longest ownage ladder. Default 5 means must at least have 5 ownage counts to display in ladder setarray .maptrigger$, // only these maps will trigger this script //"all", // uncomment this to allow load all maps "guild_vs2", "prtg_cas01"; // anti-sit-killer system // a player must kill another player with this minimum <this number> base level to get the announcement and in the ladder. // Otherwise only have streak ended announcement and killed player's streak reset. // Its possible for a level 1 novice to kill a level 99 player and he/she will still get in the ladder // but a level 99 kill a level 1 player will get nothing // 0 - off this system ( default is 55, pk setting ) set .lvltokill, 0; // when a player kill another same player <this number> times in a row, the player is warp back to save point. // and the player's streak, kills, and ownage count will deduct accordingly // 0 - off this system set .counttopunish, 0; // minimum level range to kill another player // eg. when set to 20, player level 99 needs to kill another player with minimum level of 79 to get announcement and increase the kill rank. // but a player with base level 50 kills a level 99 will also get the announcement // higher base level cannot kill lower level, but lower level can kill higher level // 0 - off this system set .minlvlrange, 0; // Config ends ------------------------------------------------------------------------------------------ // to prevent bug happen if ( .announce < 0 || .announce > 1 ) set .announce, 0; if ( .continue < 1 ) set .continue, 1; if ( .owncontinue < 1 ) set .owncontinue, 1; if ( .gmnokill <= 0 ) set .gmnokill, 100; if ( .lvltokill <= 1 ) set .lvltokill, 0; if ( .counttopunish <= 1 ) set .counttopunish, 0; set .maptriggersize, getarraysize(.maptrigger$); end; // script start. OnPCKillEvent: if ( getgmlevel() >= .gmnokill ) end; getmapxy [email protected]$, [email protected], [email protected], 0; if ( .maptrigger$ != "all" ) { for ( set [email protected], 0; [email protected] < .maptriggersize; set [email protected], [email protected] +1 ) { if ( [email protected]$ == .maptrigger$[[email protected]] ) break; } if ( [email protected] == .maptriggersize ) end; } attachrid killedrid; if ( killerrid != getcharid(3) && ( .msg_die || .msg_kill ) ) { if ( .msg_die ) message strcharinfo(0),"You have been killed by "+ rid2name(killerrid); if ( .msg_kill ) message rid2name(killerrid),"You just killed "+ strcharinfo(0); } if ( @PlayersKilledStreak >= .holyshit ) set [email protected]$,"Beyond Godlike"; else if ( @PlayersKilledStreak >= .godlike ) set [email protected]$,"Godlike"; else if ( @PlayersKilledStreak >= .monsterkill ) set [email protected]$,"Monster Kill"; else if ( @PlayersKilledStreak >= .wickedsick ) set [email protected]$,"Wicked Sick"; else if ( @PlayersKilledStreak >= .unstoppable ) set [email protected]$,"Unstoppable"; else if ( @PlayersKilledStreak >= .megakill ) set [email protected]$,"Mega-kill"; else if ( @PlayersKilledStreak >= .dominating ) set [email protected]$,"Dominating"; else if ( @PlayersKilledStreak >= .killingspree ) set [email protected]$,"Killing Spree"; if ( @PlayersKilledStreak >= .killingspree && killerrid == getcharid(3) ) announce strcharinfo(0) +" has ended "+( (sex)?"him":"her" )+" own "+ [email protected]$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ [email protected]$):""),16|.announce; else if ( @PlayersKilledStreak >= .killingspree ) announce rid2name(killerrid) +" has ended "+ strcharinfo(0) +"'s "+ [email protected]$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ [email protected]$):""),16|.announce; else if ( .announcekill && killerrid != getcharid(3) ) announce rid2name(killerrid) +" has brutally slaughtered "+ strcharinfo(0) +"! "+( (.announcemap)?("at "+ [email protected]$):""),16|.announce; set @PlayersKilledStreak,0; set @dota_sql_deaths, @dota_sql_deaths +1; set @dota_multikills,0; query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )"; set [email protected]_gid, getcharid(2); if ( [email protected]_gid ) { setd ".dota_sql_"+ [email protected]_gid +"_c", 0; if ( getd(".dota_sql_"+ [email protected]_gid +"_h") ) query_sql "replace into ownladder values ( "+ [email protected]_gid +", '"+ escape_sql(getguildname([email protected]_gid)) +"', "+ getd(".dota_sql_"+ [email protected]_gid +"_c") +", "+ getd(".dota_sql_"+ [email protected]_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ [email protected]_gid +"_t") +") )"; } if ( killerrid == getcharid(3) || baselevel < .lvltokill ) end; if ( .minlvlrange ) set [email protected], baselevel; attachrid killerrid; if ( .minlvlrange && [email protected] + .minlvlrange < baselevel ) end; if ( .counttopunish ) { if ( @sitkillminute != gettime(2) ) { deletearray @sitkillid, 128; deletearray @sitkilltimes, 128; set @sitkillminute, gettime(2); } set [email protected], getarraysize(@sitkillid); for ( set [email protected],0; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( @sitkillid[[email protected]] != killedrid ) continue; else { set @sitkilltimes[[email protected]], @sitkilltimes[[email protected]] +1 ; if ( @sitkilltimes[[email protected]] >= .counttopunish ) { warp "SavePoint",0,0; announce strcharinfo(0) +" , Stop killing "+ rid2name(killedrid) + " !!!",0; debugmes strcharinfo(0) +" is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[[email protected]] + " times"; logmes "is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[[email protected]] +" times"; if ( @PlayersKilledStreak == @dota_sql_streaks ) { set @dota_sql_streaks, @dota_sql_streaks +1 - .counttopunish; set @dota_sql_streaktime, gettimetick(2); } set @PlayersKilledStreak, @PlayersKilledStreak +1 - .counttopunish; set @dota_sql_kills, @dota_sql_kills +1 - .counttopunish; query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )"; set [email protected]_gid, getcharid(2); if ( [email protected]_gid ) { if ( getd(".dota_sql_"+ [email protected]_gid +"_c") == getd(".dota_sql_"+ [email protected]_gid +"_h") ) { setd ".dota_sql_"+ [email protected]_gid +"_h", getd(".dota_sql_"+ [email protected]_gid +"_h") +1 - .counttopunish; setd ".dota_sql_"+ [email protected]_gid +"_t", gettimetick(2); } setd (".dota_sql_"+ [email protected]_gid +"_c"), getd(".dota_sql_"+ [email protected]_gid +"_c") +1 - .counttopunish; query_sql "replace into ownladder values ( "+ [email protected]_gid +", '"+ escape_sql(getguildname([email protected]_gid)) +"', "+ getd(".dota_sql_"+ [email protected]_gid +"_c") +", "+ getd(".dota_sql_"+ [email protected]_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ [email protected]_gid +"_t") +") )"; } end; } break; } } if ( [email protected] == [email protected] ) { set @sitkillid[[email protected]], killedrid; set @sitkilltimes[[email protected]], 1; } } set @PlayersKilledStreak, @PlayersKilledStreak +1 ; set @dota_sql_kills, @dota_sql_kills +1 ; if ( @PlayersKilledStreak > @dota_sql_streaks ) { set @dota_sql_streaks, @PlayersKilledStreak; set @dota_sql_streaktime, gettimetick(2); } query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )"; if ( @PlayersKilledStreak == .killingspree ) setarray [email protected]$,"killingspree.wav","is on a killing spree","!"; else if ( @PlayersKilledStreak == .dominating ) setarray [email protected]$,"dominating.wav","is dominating","!"; else if ( @PlayersKilledStreak == .megakill ) setarray [email protected]$,"megakill.wav","is owning","!"; else if ( @PlayersKilledStreak == .unstoppable ) setarray [email protected]$,"unstoppable.wav","is unstoppable","!!"; else if ( @PlayersKilledStreak == .wickedsick ) setarray [email protected]$,"wickedsick.wav","is owning everyone","!!"; else if ( @PlayersKilledStreak == .monsterkill ) setarray [email protected]$,"monsterkill.wav","made an amazing kill","!!"; else if ( @PlayersKilledStreak == .godlike ) setarray [email protected]$,"godlike.wav","is being god-like","!!!"; else if ( @PlayersKilledStreak >= .holyshit && ( (@PlayersKilledStreak - .holyshit) % .continue == 0 ) ) setarray [email protected]$,"holyshit.wav","is beyond god-like",". Someone stop "+( (sex)?"him":"her" ) +"!"; if ( [email protected]$[1] != "" ) { announce strcharinfo(0) +" "+ [email protected]$[1] +"["+ @PlayersKilledStreak +"] "+( (.announcemap)?("at "+ [email protected]$):"") + [email protected]$[2],16|.announce; if ( .sound == 1 ) soundeffectall [email protected]$[0],0,[email protected]$; else if ( .sound == 2 ) soundeffectall [email protected]$[0],0; else if ( .sound == 3 ) soundeffect [email protected]$[0],0; } set @dota_multikills, @dota_multikills + 1; deltimer "DOTAPVP::OnStreakReset"; addtimer 18000,"DOTAPVP::OnStreakReset"; set [email protected]_gid, getcharid(2); if ( [email protected]_gid && [email protected]_gid != [email protected]_gid ) { setd ".dota_sql_"+ [email protected]_gid +"_c", getd(".dota_sql_"+ [email protected]_gid +"_c") +1 ; if ( getd(".dota_sql_"+ [email protected]_gid +"_c") > getd(".dota_sql_"+ [email protected]_gid +"_h") ) { setd ".dota_sql_"+ [email protected]_gid +"_h", getd(".dota_sql_"+ [email protected]_gid +"_c"); setd ".dota_sql_"+ [email protected]_gid +"_t", gettimetick(2); } query_sql "replace into ownladder values ( "+ [email protected]_gid +", '"+ escape_sql(getguildname([email protected]_gid)) +"', "+ getd(".dota_sql_"+ [email protected]_gid +"_c") +", "+ getd(".dota_sql_"+ [email protected]_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ [email protected]_gid +"_t") +") )"; } set [email protected]_multikills, @dota_multikills; set [email protected], getcharid(3); sleep 1500; if ( [email protected]_gid && [email protected]_gid != [email protected]_gid && getd(".dota_sql_"+ [email protected]_gid +"_c") >= .owned && ( ( getd(".dota_sql_"+ [email protected]_gid +"_c") - .owned ) % .owncontinue == 0 ) ) { if ( .announce ) mapannounce [email protected]$, "The guild ["+ getguildname([email protected]_gid) +"] is OWNING["+ getd(".dota_sql_"+ [email protected]_gid +"_c") +"] !!!",16; else announce "The guild ["+ getguildname([email protected]_gid) +"] is OWNING["+ getd(".dota_sql_"+ [email protected]_gid +"_c") +"] !!!",16; if ( .sound == 1 ) soundeffectall "ownage.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "ownage.wav",0; else if ( .sound == 3 && attachrid([email protected]) ) soundeffect "ownage.wav",0; } sleep 1250; if ( !attachrid([email protected]) ) end; if ( [email protected]_multikills == 2 ) { if ( .announce ) mapannounce [email protected]$, strcharinfo(0) +" just got a Double Kill !",16; else announce strcharinfo(0) +" just got a Double Kill !",16; if ( .sound == 1 ) soundeffectall "doublekill.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "doublekill.wav",0; else if ( .sound == 3 ) soundeffect "doublekill.wav",0; } else if ( [email protected]_multikills == 3 ) { if ( .announce ) mapannounce [email protected]$, strcharinfo(0) +" just got a Triple Kill !!!",16; else announce strcharinfo(0) +" just got a Triple Kill !!!",16; if ( .sound == 1 ) soundeffectall "triplekill.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "triplekill.wav",0; else if ( .sound == 3 ) soundeffect "triplekill.wav",0; } else if ( [email protected]_multikills == 4 ) { if ( .announce ) mapannounce [email protected]$, strcharinfo(0) +" just got a Ultra Kill !!!",16; else announce strcharinfo(0) +" just got a Ultra Kill !!!",16; if ( .sound == 1 ) soundeffectall "ultrakill.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "ultrakill.wav",0; else if ( .sound == 3 ) soundeffect "ultrakill.wav",0; } else if ( [email protected]_multikills >= 5 ) { if ( .announce ) mapannounce [email protected]$, strcharinfo(0) +" is on a Rampage !!!",16; else announce strcharinfo(0) +" is on a Rampage !!!",16; if ( .sound == 1 ) soundeffectall "rampage.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "rampage.wav",0; else if ( .sound == 3 ) soundeffect "rampage.wav",0; } donpcevent "PvP Ladder::OnInit"; end; OnStreakReset: set @dota_multikills, 0; donpcevent "PvP Ladder::OnInit"; end; OnWhisperGlobal: if ( @spam_dotapvp + 3 >= gettimetick(2) ) // 3 seconds interval so player don spam this command end; set @spam_dotapvp, gettimetick(2); if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 ) query_sql "select kills, deaths, streaks, unix_timestamp(streaktime) from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime; if ( @dota_sql_kills || @dota_sql_deaths ) { dispbottom "Your current Streak : "+ @PlayersKilledStreak; dispbottom "Your total Kills : "+ @dota_sql_kills; dispbottom "Your total Deaths : "+ @dota_sql_deaths; dispbottom "Your highest Streak : "+ @dota_sql_streaks; query_sql "select date_format( from_unixtime("+ @dota_sql_streaktime +"),'%a %e/%c/%y %r')", [email protected]$; dispbottom "Your highest Streak on : "+ [email protected]$; } else dispbottom "You are not in the pvp ladder yet."; if ( getcharid(2) ) { if ( getd(".dota_sql_"+ getcharid(2) +"_h") == 0 ) { query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), [email protected], [email protected], [email protected]; setd ".dota_sql_"+ getcharid(2) +"_c", [email protected]; setd ".dota_sql_"+ getcharid(2) +"_h", [email protected]; setd ".dota_sql_"+ getcharid(2) +"_t", [email protected]; } if ( getd(".dota_sql_"+ getcharid(2) +"_h") ) { dispbottom "Your guild current Own : "+ getd(".dota_sql_"+ getcharid(2) +"_c"); dispbottom "Your guild highest Own : "+ getd(".dota_sql_"+ getcharid(2) +"_h"); query_sql "select date_format( from_unixtime("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_t"), "DOTAPVP" ) +"),'%a %e/%c/%y %r')", [email protected]$; dispbottom "Your guild highest Own on : "+ [email protected]$; } else dispbottom "Your guild is not in the ladder yet."; } end; OnPCLoginEvent: if ( .maptrigger$ != "all" ) end; OnPCLoadMapEvent: if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 ) { if ( .maptrigger$ != "all" ) { getmapxy [email protected]$, [email protected], [email protected], 0; for ( set [email protected], 0; [email protected] < .maptriggersize; set [email protected], [email protected] +1 ) { if ( [email protected]$ == .maptrigger$[[email protected]] ) break; } if ( [email protected] == .maptriggersize ) end; } query_sql "select kills, deaths, streaks, unix_timestamp(streaktime) from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime; } if ( getcharid(2) && getd(".dota_sql_"+ getcharid(2) +"_h") == 0 ) { query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), [email protected], [email protected], [email protected]; setd ".dota_sql_"+ getcharid(2) +"_c", [email protected]; setd ".dota_sql_"+ getcharid(2) +"_h", [email protected]; setd ".dota_sql_"+ getcharid(2) +"_t", [email protected]; } donpcevent "PvP Ladder::OnInit"; end; } prontera,177,186,4 script PvP Ladder 733,{ set [email protected]$, strnpcinfo(0); while (1) { mes "["+ [email protected]$ +"]"; mes "Hello "+ strcharinfo(0) +"!"; mes "What can I do for you?"; next; switch ( select ( "Display the PvP Ladder" ) ) { case 1: set [email protected], query_sql("select name, kills, deaths from pvpladder order by kills desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), [email protected]$, [email protected], [email protected]); if ( [email protected] == 0 ) { mes "["+ [email protected]$ +"]"; mes "The ladder currently is empty."; next; } for ( set [email protected],0; [email protected] < [email protected]; set [email protected], [email protected] + getvariableofnpc(.showpage,"DOTAPVP") ) { mes "[^006699Name^000000] [^00AA00Kills^000000] [^FF0000Deaths^000000]"; for ( set [email protected], [email protected]; [email protected] < (getvariableofnpc(.showpage,"DOTAPVP") + [email protected]) && [email protected] < [email protected]; set [email protected], [email protected] + 1 ) { mes "^996600"+ ([email protected]+1) +":^000000 [^006699"+ [email protected]$[[email protected]] +"^000000] [^00AA00"+ [email protected][[email protected]] +"^000000] [^FF0000"+ [email protected][[email protected]] +"^000000]"; } close; } end; //if not work < delete those 2. and add 2 {'s down. OnInit: delwaitingroom strnpcinfo(1); set [email protected], query_sql("select name, kills from pvpladder order by kills desc limit 1", [email protected]$, [email protected] ); waitingroom "Top 10 Players",0; end; } } } guild_vs2 mapflag noteleport guild_vs2 mapflag nowarp //guild_vs1 mapflag nowarp //guild_vs1 mapflag noteleport this is based on web cp kills - deaths i want to change the kills - deaths to deaths - kills meaning highest kills will posted in my web