Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/26/13 in all areas

  1. View File Advanced Stylist Original idea of this script : http://www.eathena.ws/board/index.php?showtopic=148888 Well, this was my favourite stylist script in eAthena ....xD Since i got some time, and lately received a request on editing a stylist npc script. So i come with with the idea to add some minor features or enhance the original script. The script are written from scratch... A very quick and simple intro for the script, Able to nagivate styles easily ( Forward, Backward, Jump ). Able to blacklist certain style for each style group and separately by Gender. Removed save / load features since not really useful. Enable Zeny as payment for the services. Able to enable any of the 3 services. ( Hairstyle, Hair Color, Cloth Color ) Support multiple type of Currency Payment. ( Item , Cash Points , Zeny and etc ) Customizable. ( If any style was blacklisted, a default style will be displayed ) The script are rewrited and clean up some unecessary parts. Credits : AnnieRuru Hudelf Submitter Emistry Submitted 03/26/2013 Category Utilities Video Content Author Emistry  
    2 points
  2. overwritting is server wide. actually I just think a bit more we won't even need to deal with folder, since supported filename will be hardcoded, I mean like MSG_CONF_NAME_EN = "conf/msg_conf/map_msg_en.conf"; MSG_CONF_NAME_BR = "conf/msg_conf/map_msg_br.conf"; etc, unless we make list in a file later. Anyway that why the bitmask to select wich multilang you wanna load is important, cause I doubt many will want to have en+br+mal+fr+esp+.... Currently yes we read all servers read file at begining and store them into char table, then we simply return those stored value in runtime. (look do_init ) But hmm yeah we could also move the load when a new sd->lang is defined, that would probably be best for ram and I think reading it shouldn't be too cpu extensive. But hmm I'd think we should focus on static first before then perhaps extends to that malloc possibility. (we probably need to add somes timer with it, (too not load and unload too much)). Otherwise for the sd->lang treatement, well we not necessarly need to treat them in common, more that I think about it login won't be multitable but just with the default one they wished (like an actual import). Char idk yet, need to be carefull with jobname since they repeated in map, idk what mistmatch will do yet, auction is ok since it's just some mail confirmation. But in short you could point to correct table in each server msg_txt redefinition like :map_msg_txt() wich probably be easier to deal with then the final _msg_txt(). There a small function like that for each server that point to the common one wich give as argument tell which table to use at wich index. Only annoying point is the fallback will be less effective but well shouldn't happen anyway. (maybe I'll add a bug ShowDebug to ask admin to add translation when fallback happen haha).
    2 points
  3. Aw. If a picture was provided it would be easier to narrow it down. All I could find on this was a single thread -> http://www.eathena.ws/board/index.php?showtopic=198891 It had an attachment too (see file attached) but Its only textures, not map files. DJRoomPublic.rar
    2 points
  4. Like guardian system ? - script spawn_woe -1,{ OnAgitStart:// when woe start sleep 2; for( .@i = 0; .@i < .size_mob; .@i++ ) { for( .@j = 0; .@j < .size_map; .@j++ ) { if( GetCastleData( .map_woe$[.@j],1 ) ) { for( .@k = 0; .@k < .mob_count[.@i]; .@k++ ) guardian .map_woe$[.@j],0,0,"--ja--", .mob_ID[.@i]; } else monster .map_woe$[.@j],0,0,"--ja--", .mob_ID[.@i], .mob_count[.@i],""; } } end; OnAgitEnd:// when woe end sleep 2; for( .@i = 0; .@i < .size_map; .@i++ ) { sleep2 1; killmonsterall .map_woe$[.@i]; } end; OnNPCKillEvent: sleep2 1; if( agitcheck() && compare( .mob_id_c$, killedrid +"" ) && compare( .map_woe_c$, strcharinfo(3) ) ) {// check is woe on + if mob in .mob_ID list + map in .map_woe$ list if( GetCastleData( strcharinfo(3),1 ) ) guardian strcharinfo(3),0,0,"--ja--", killedrid; else monster strcharinfo(3),0,0,"--ja--", killedrid,1,""; } end; OnInit: // ------- setting setarray .mob_ID, 1638, 1639; // add more mob id setarray .mob_count, 40, 40;// number of mobs summoned / .mob_ID array column setarray .map_woe$, "aldeg_cas01", "aldeg_cas02"; // yours woe map //-------- end of setting .size_mob = getarraysize( .mob_ID ); .size_map = getarraysize( .map_woe$ ); for( .@i = 0; .@i < .size_mob; .@i++ ) .@tmp$[.@i] = .mob_ID[.@i]; .mob_id_c$ = implode( .@tmp$, "|" ); .map_woe_c$ = implode( .map_woe$, "|" ); end; } Add in guild/agit_main.txt killmonsterall strcharinfo(3); after // The Emperium has been broken. OnAgitBreak: set .@GID,getcharid(2); and donpcevent "spawn_woe::OnAgitStart"; after announce "The [" + getcastlename(strnpcinfo(2)) + "] castle has been conquered by the [" + getguildName(.@GID) + "] guild.",bc_all|bc_woe;
    2 points
  5. This is a fantastic and very reasonable way for rAthena to encompass a larger community. It certainly gets my vote. If no developer disagrees, we can begin work on this immediately. Lilith: Are you able to code the implementation of this, and contribute a Russian translation? To everyone else: If you have the time, please post or let me know if you're willing to write a translation for your native language. We will need, at minimum, one file for each language in our International Forums. That's also an interesting idea; it's not as immediately useful, but worth considering. Let's return to it after msg_conf is finished or under way.
    2 points
  6. BotKiller 6 BotKiller 6 is a powerfull antibot system based on Scripts, useful to detect Bots without modify your server executables nor install external libraries. Features BK6 support external modules, giving flexibility and security to your server. BK6 was integrated with a new multi-language system that support multiple languages at the same time, the users can change the default language whispering to npc:lang BK6 give you enough time to find a safe place before initiate the interrogatory, during that time the player will glow to visually alert to other players about this process. During the interrogatory, the player will see the remaining time to respond in real time. BK6 rewards player when their effectiveness is OK responding the antibot (AGI,DEX,Zeny,Exp) BK6 will try to bypass recently interrogated players and definitely will ignore chatting or vending players. The Administrators are allowed to send a manual interrogatory to anyone in any moment. The players are allowed to send a manual interrogatory to any other common player, excepting players chatting, vending or in locked places (whisp to npc:bkconfig to configure BK6 safe zones) BK6 now uses "real time" in prison, the countdown only works when the guy remains logged in the jail. When the countdown is over, the player have to respond a new interrogatory to be sure is a human. if failed, the countdown is restarted and the Bot player is kicked from the server. BK6 store logs that helps administrators to detect Bots Players and apply other sanctions. Installation: Download the script: bk6.rar (6.17) Additional Languages: Portuguese: BK6_PT.txt (by Pedro Brito) Modify "script_athena.conf" setting this values to the check_* parameters. check_cmdcount: 655360 check_gotocount: 655360 Create this folders in your server root: npc/custom/bk npc/custom/bk/lang npc/custom/bk/mods Copy this scripts in the following paths: npc/custom/bk/LangManagement.txt npc/custom/bk/VarSystem.txt npc/custom/bk/BotKiller6.txt npc/custom/bk/lang/BK6_EN.txt npc/custom/bk/lang/BK6_ES.txt npc/custom/bk/mods/BK6_Asc2Num.txt npc/custom/bk/mods/BK6_Asc2Word.txt npc/custom/bk/mods/BK6_Fakename.txt npc/custom/bk/mods/BK6_Img2Num.txt npc/custom/bk/mods/BK6_SMath.txt npc/custom/bk/mods/BK6_Lie2Me.txt npc/custom/bk/mods/BK6_WordNum.txt To use Img2Num Module, use this client patch: BK6_Img2Num.rar Edit npc/scripts_custom.conf adding the following lines: // Unlimited Variable System npc: npc/custom/bk/VarSystem.txt // Multi-Language System npc: npc/custom/bk/LangManagement.txt // Translations npc: npc/custom/bk/lang/BK6_EN.txt // English Dialogs npc: npc/custom/bk/lang/BK6_ES.txt // Spanish Dialogs // Remember to copy and declare here any additional language // BotKiller Main Script npc: npc/custom/bk/BotKiller6.txt // BotKiller Modules npc: npc/custom/bk/mods/BK6_Asc2Num.txt npc: npc/custom/bk/mods/BK6_Asc2Word.txt npc: npc/custom/bk/mods/BK6_Fakename.txt npc: npc/custom/bk/mods/BK6_Img2Num.txt npc: npc/custom/bk/mods/BK6_Lie2Me.txt npc: npc/custom/bk/mods/BK6_SMath.txt npc: npc/custom/bk/mods/BK6_WordNum.txt Run your server and whisp to npc:bkconfig to configure BotKiller 6. * Note: BotKiller 6 doesn't work on TXT based servers, please don't request it * Some Demos: Basic Demo: Modules: Lie2Me Module: Asc2Number Module: Img2Num Module: Simple Math Module: Asc2Word Module: Word Num Module: Testing GM Commands trying to ByPass BotKiller 6: History: 2011-05-01: 6.0 - New version, a friendly Police in Midgard! 2012-01-18: 6.1 - Using the new version of Unlimited Variable System! 2012-01-19: 6.11 - Fixed some problems in the jail! 2012-01-19: 6.12 - Fixed another wierd function in the jail! 2012-01-28: 6.13 - npc:bk don't show player selector when found only 1' 2012-01-28: 6.13 - removed some useless variables in functions
    1 point
  7. E - Script Collection Last Update : September 10, 2013 Refine Function SQL Mission Board Monster Marching Vendor Control Advanced Stylist Coin Exchanger Doppelganger Race Of The Day Limited Items Multi Currency Shop Random News GM Online List Link Broken E-Inquiry DotA Runes Flower Counting Game Class Restriction Chain Quest Build Manager Misc Scripts : Freebies Script Card Trader Gold Room [ Pick Gold ] Gold Room [ Guild Tax ] Map Restriction [ GM Based ] Daily Reward Monthly Reward Monster Spawner Monster Summoner with Last Summoned Display Players Stats & Equipments 3rd Job Item Giver Exchanger [ Cashpoint to Coins ] Exchanger [ Poring Coin - Zeny ] Exchanger [ Points to Tickets ] Exchanger [ Item to Item ] Exchanger [ Item to Item ] Exchanger [ Multi Item to 1 Item ] Party Match Auto Ban Over Stats Users Soul Link Buff Kill Players gain Cash Points Party Members All Get Items [ Snippet ] Message Board Stalker Class Skill Reproduce NPC Multiple Selection Quest [ Template ] In-Game Item Rewarder In-Game Points Rewarder Invasion Event Custom Item Rate Status Point Seller [ Snippet ] Anti Bot Security Script Anti Bot Script [ Code / Question ] Item Combo Restriction [ LHZ Card ] Drop Item Upon Death PVP Switcher + Announcer [ Guild Master ] Rotating Waitingroom Messages +10 Refiner [ Specific Items ] Random Rate Item Exchanger MVP Invasion Premium Users [ Boost Rates ] Display Cutin Image upon Login Custom Randomed Box Items Kick GM during WOE Custom Crafting NPC Restrict Same IP [ Certain Map ] Coloured Items Exchanger Guild Master Changer Party Team PK Match Gambling Game IRC Channel Crafting NPC Guild Storage Restriction Stage Game [ Version 4 ] Monster Wiki Event [ Version 3 ] Special Thank you for my Tutor : Notes : I am a bit lazy to write all those Script Descriptions, i do believe that all of you able to get how this script works. Anyway, i will still doing my best to write the Updated Changelog or informations about the script as detail as possible. All the Scripts above are uploaded to Pastebin . Abide the Following Rule : Scripts Error / Not Working , you have to Explain it in Details. ( Add in Images / Modified Scripts ) Do not SPAM / BUMP in my Topic. Do not ask for Support stuffs for other Scripts in this Topic. Link Down , then drop [ @Emistry ] a message. I Reserved the Right for NOT Answering your Posts if you did not abide my Topic's Rules. Keep This In Your Mind : All the Scripts i distribute here are NOT FOR COMMERCIAL USES . DO NOT remove my Credits if you are using part of the scripts to modify your own. DO NOT re-release the scripts in any form / way. If you ♥ these Scripts , Click on to Vote this Topic up. Or you may also click on at above the Topic
    1 point
  8. mapnametable.txt : Add //Clock Tower Nightmare c_tower2_.rsw#Clock Tower, 2nd Floor# c_tower3_.rsw#Clock Tower, 3nd Floor# / / Events silk_lair.rsw#Pythons Lair# //EP.14.3 moro_vol.rsw#Fire Basin# moro_cav.rsw#Fire Cave# [email protected]#Biohseu Island# [email protected]#Biohseu Island# [email protected]#Biohseu Island# [email protected]#Morse Cave# 1@xm_d.rsw#Horror Toy Factory# [email protected]#Damascene Ago# [email protected]#Nightmares of the Jitterbug# //Trace of Hero dali02.rsw#Dimensional Crack# [email protected]#Worm's Nest Face# [email protected]#Memories of Sara# dali.rsw#Dimensional Crack# [email protected]#Top Floor of Damascene# [email protected]#Top Floor of Devil Tower# [email protected]#Morroc Castle Underground# 1@ge_st.rsw#Geffen Magic Tournament# [email protected]#Geffen Magic Tournament# 1@gef_in.rsw#Geffen Magic Tournament# [email protected]#Specter of Palace# //Monster Wave [email protected]#Wave Dungeon - Forest# [email protected]#Wave Dungeon - Sky# [email protected]#Wave Dungeon - Lava# //Bomb room evt_bomb.rsw#Labyrinth Events# //Castles Memorial Dungeon gl_cas02_.rsw#Corridor 2nd Floor# gl_chyard_.rsw#Monastery Cemetery# 2@gl_k.rsw#Old Templar 2nd Floor# 1@gl_k.rsw#Old Templar 1st Floor# cardpostfixnametable.txt - Add 4557# 4488# cardprefixnametable - Add 4545#Fledgling# 4546#¸ÁÇÑ# 4556#Power Word# 4557#of Power Spell# 4488#Half of Doom# 4559#Blitz# jobinheritlist.txt - Remplace all 4001#0# 23#0# 1#0# 4#0# 2#0# 5#0# 3#0# 6#0# 24#0# 25#0# 7#1# 14#1# 4002#1# 4008#7# 4015#14# 8#4# 15#4# 4005#4# 4009#8# 4016#15# 9#2# 16#2# 4003#2# 4010#9# 4017#16# 10#5# 18#5# 4006#5# 4011#10# 4019#18# 11#3# 19#3# 20#3# 4004#3# 4012#11# 4020#19# 4021#20# 12#6# 17#6# 4007#6# 4013#12# 4018#17# 4023#0# 4024#1# 4027#4# 4025#2# 4028#5# 4026#3# 4029#6# 4030#7# 4037#14# 4031#8# 4038#15# 4032#9# 4039#16# 4033#10# 4041#18# 4034#11# 4042#19# 4043#20# 4035#12# 4040#17# 4045#23# 4046#0# 4047#4046# 4049#4046# 4050#0# 4051#4050# 4052#4050# 4054#7# 4060#4008# 4057#8# 4063#4009# 4059#12# 4065#4013# 4055#9# 4061#4010# 4056#11# 4062#4012# 4072#17# 4079#4018# 4058#10# 4064#4011# 4066#14# 4073#4015# 4067#16# 4074#4017# 4068#19# 4075#4020# 4069#20# 4076#4021# 4070#15# 4077#4016# 4071#18# 4078#4019# 4096#4054# 4097#4055# 4098#4056# 4099#4057# 4100#4058# 4101#4059# 4102#4066# 4103#4067# 4104#4068# 4105#4069# 4106#4070# 4107#4071# 4108#4072# questid2display.txt - Add //-¿µ¿õÀÇ ÈçÀû 15002#¸Þ¸ð¸®¾ó ´øÀü: »ç¶óÀÇ ±â¾ï#SG_FEEL#QUE_NOIMAGE# ÀÔÀåÈÄ 20½Ã°£ µ¿¾È »ç¶óÀÇ ±â¾ï ´øÀü ÀÔÀåÀÌ ±ÝÁöµË´Ï´Ù. ¾Æ·¡ ÀûÈù ¸¶°¨½Ã°£ ÀÌÈÄ¿¡ ÀÔÀå °¡´ÉÇÕ´Ï´Ù.# 20½Ã°£ À̳» ÀçÀÔÀå ±ÝÁö# 15003#ŽÇè°¡ ·¹¿ÂÀÇ ºÎŹ#SG_FEEL#QUE_NOIMAGE# ¸Þ¸ð¸®¾ó ´øÀü: »ç¶óÀÇ ±â¾ïÀ» Ŭ¸®¾îÇÑ µÚ ŽÇè°¡ ·¹¿ÂÀ» ã¾Æ°¡ÀÚ.# »ç¶óÀÇ ±â¾ï Ŭ¸®¾î# //-- ep 14.3 ºñ¿À½ºÀÇ ¼¶ 15005#¸Þ¸ð¸®¾ó ´øÀü: ºñ¿À½ºÀÇ ¼¶#SG_FEEL#QUE_NOIMAGE# ÀÔÀå ÈÄ 23½Ã°£ µ¿¾È ºñ¿À½ºÀÇ ¼¶ ÀÔÀåÀÌ ±ÝÁöµË´Ï´Ù. ¾Æ·¡ ÀûÈù ¸¶°¨½Ã°£ ÀÌÈÄ¿¡ ÀÔÀå °¡´ÉÇÕ´Ï´Ù.# 23½Ã°£ À̳» ÀçÀÔÀå ±ÝÁö# 15006#ºñ¿À½ºÀÇ ¼¶ ŽÇè#SG_FEEL#QUE_NOIMAGE# ¸Þ¸ð¸®¾ó ´øÀü: ºñ¿À½ºÀÇ ¼¶ ŽÇè ½ÃÀÛ# ºñ¿ÀÀÇ ¼¶ ŽÇè ½ÃÀÛ# 15007#¸Þ¸ð¸®¾ó ´øÀü: ºñ¿À½ºÀÇ ¼¶#SG_FEEL#QUE_NOIMAGE# ÀÔÀå ÈÄ 5ºÐ µ¿¾ÈÀº ºñ¿À½ºÀÇ ¼¶ ÀçÀÔÀåÀÌ °¡´ÉÇÕ´Ï´Ù. ¾Æ·¡ ÀûÈù ¸¶°¨½Ã°£ ÀÌÈĺÎÅÍ´Â ÀÔÀåÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.# 5ºÐÀ̳» ÀçÀÔÀå °¡´É# 15008#¸Þ¸ð¸®¾ó ´øÀü: ºñ¿À½ºÀÇ ¼¶#SG_FEEL#QUE_NOIMAGE# ÀÔÀåÇÑÁö 5ºÐ À̳»¿¡ ´øÀüÀ» Ŭ¸®¾îÇÏ¿© 23½Ã°£ µ¿¾È ºñ¿À½ºÀÇ ¼¶ ÀÔÀåÀÌ ±ÝÁöµË´Ï´Ù.# 23½Ã°£ À̳» ÀçÀÔÀå ±ÝÁö# 15014#120·¹º§¼±¹°È¹µæ#SG_FEEL#QUE_NOIMAGE# 120·¹º§Ã¼Å©¿ë# 120·¹º§Ã¼Å©¿ë# 15015#150·¹º§¼±¹°È¹µæ#SG_FEEL#QUE_NOIMAGE# 150·¹º§Ã¼Å©¿ë# 150·¹º§Ã¼Å©¿ë# 15016#160·¹º§¼±¹°È¹µæ#SG_FEEL#QUE_NOIMAGE# 160·¹º§Ã¼Å©¿ë# 160·¹º§Ã¼Å©¿ë# 15017#175·¹º§¼±¹°È¹µæ#SG_FEEL#QUE_NOIMAGE# 175·¹º§Ã¼Å©¿ë# 175·¹º§Ã¼Å©¿ë# lua files\skillinfoz\skilldescript.lua - Add [SKID.GC_DARKCROW] = { "Dark Crow", "Max Level:^777777 5 ^000000", "Type:^33cc00 Active / Damage - Special ^000000", "Effect:^777777 Give an enemy a painful wound for 5 seconds, causing short ranged attacks to deal greater damage to the target.^000000", "[Level 1] : ^777777 100% Damage / Melee damage received +30%^000000", "[Level 2] : ^777777 200% Damage / Melee damage received +60%^000000", "[Level 3] : ^777777 300% Damage / Melee damage received +90%^000000", "[Level 4] : ^777777 400% Damage / Melee damage received +120%^000000", "[Level 5] : ^777777 500%Damage / Melee damage received +150%^000000" }, [SKID.RA_UNLIMIT] = { "Unlimit", "Max Level:^777777 5 ^000000", "Type:^777777 Active / Buff (Toggle) ^000000", "Effect:^777777 Tap into the power of the god of hunting and archery to increase the explosive power of ranged attacks for a short time.^000000", "[Level 1] : ^777777 For 1min, increase ranged physical damage by 50%^000000", "[Level 2] : ^777777 For 1min, increase ranged physical damage by 100%^000000", "[Level 3] : ^777777 For 1min, increase ranged physical damage by 150%^000000", "[Level 4] : ^777777 For 1min, increase ranged physical damage by 200%^000000", "[Level 5] : ^777777 For 1min, increase ranged physical damage by 250%^000000" }, [SKID.LG_KINGS_GRACE] = { "Kings Grace", "Max Level:^777777 5 ^000000", "Type:^777777 Active / Buff ^000000", "Effect:^777777Bestow royal blessings to the caster and allies around the caster to recover HP and protect against status effects.^000000", "^777777Remove the following status: Poison, Blind, Frozen, Stone Curse, Stun, Sleep, Bleeding, Curse,^000000", "^777777Chaos, Hallucination, Silence, Burning, Crystalize, Freezing, Sleep, Fear, Mandragora Howling.^000000", "[Level 1] : ^777777 Recover 4% of HP every 5 seconds ^000000", "[Level 2] : ^777777 Recover 5% of HP every 5 seconds ^000000", "[Level 3] : ^777777 Recover 6% of HP every 5 seconds ^000000", "[Level 4] : ^777777 Recover 7% of HP every 5 seconds ^000000", "[Level 5] : ^777777 Recover 8% of HP every 5 seconds ^000000" }, [SKID.RK_DRAGONBREATH_WATER] = { "Dragon Breath (Water)", "Max Level:^777777 10 ^000000", "Type:^777777 Range Damage ^000000", "Effect:^777777Deal ice-elemental damage with your dragon's breath. Sometimes it has a chance to slow down the movement. The damage depends on the stats of the rider.^000000" }, [SKID.NC_MAGMA_ERUPTION] = { "Magma Eruption", "Max Level:^777777 5 ^000000", "Type:^777777 Active ^000000", "Effect:^777777 Land with a powerful force a wave of lava eruption which when it hits the floor, damage 7x7 cell around with a burning chance during 5 seconds. It can't be used more than 3 times at the same time.^000000", "[Level 1] : ^777777 1000 fixed damage every 0.5 seconds, 10% of burning chance ^000000", "[Level 2] : ^777777 1200 fixed damage every 0.5 seconds, 20% of burning chance ^000000", "[Level 3] : ^777777 1400 fixed damage every 0.5 seconds, 30% of burning chance ^000000", "[Level 4] : ^777777 1600 fixed damage every 0.5 seconds, 40% of burning chance ^000000", "[Level 5] : ^777777 1800 fixed damage every 0.5 seconds, 50% of burning chance ^000000" }, [SKID.WM_FRIGG_SONG] = { "Frigg's Song", "Max Level:^777777 5 ^000000", "Type:^777777 Active / Buff ^000000", "Effect:^777777 Requires a whip/instrument to cast. Raise the Max HP of nearby allies and recover their HP gradually for 60 seconds.^000000", "^777777 Consumes 1 Crystalized Teardrop.^000000", "^777777 If used in PvP or WoE, the skill only affects the caster and nearby party members.^000000", "[Level 1] : ^777777 Area of effect :7x7 Range, MHP 5% increase, restores 100hp per second^000000", "[Level 2] : ^777777 Area of effect :9x9 Range, MHP 10% increase, restores 120hp per second^000000", "[Level 3] : ^777777 Area of effect :11x11 Range, MHP 15% increase, restores 140hp per second^000000", "[Level 4] : ^777777 Area of effect :13x13 Range, MHP 20% increase, restores 160hp per second^000000", "[Level 5] : ^777777 Area of effect :15x15 Range, MHP 25% increase, restores 180hp per second^000000" }, [SKID.SO_ELEMENTAL_SHIELD] = { "Elemental Shield", "Max Level:^777777 5 ^000000", "Type:^777777 Active / Support ^000000", "Target:^777777Ground^000000", "Effect:^777777By expending summoned elemental's magic, sorcerer creates a magical barrier on the cells where the caster and party members are standing on.^000000 ", "^777777Magical barrier disapper once his life reaches 0 or when skill duration ends. Affect self and all party members within sorcerer's screen.^000000 ", "^777777The magical barrier only blocks melee physical damage and caster's summoned element disappears on use.^000000 ", "^777777Consumes 1 blue gemstone^000000 " }, [SKID.SR_FLASHCOMBO] = { "Flash Combo", "Max Level:^777777 5 ^000000", "Type:^777777 Active / Combo ^000000", "Effect:^777777 Activate 4 consecutive combo attacks : Dragon Combo, Fallen Empire, Tiger Cannon, Sky Blow in extremely fast succession. Each skill activates at caster's max learned skill level.^000000", "[Level 1] : ^777777Use 5 spirit spheres , ATK +40 during 4 seconds^000000", "[Level 2] : ^777777Use 5 spirit spheres , ATK +60 during 4 seconds^000000", "[Level 3] : ^777777Use 4 spirit spheres , ATK +80 during 4 seconds^000000", "[Level 4] : ^777777Use 4 spirit spheres , ATK +100 during 4 seconds^000000", "[Level 5] : ^777777Use 3 spirit spheres , ATK +120 during 4 seconds^000000" }, [SKID.SC_ESCAPE] = { "Escape", "Max Level:^777777 5 ^000000", "Type:^777777 Active / Support ^000000", "Effect:^777777 Caster immediately lays down a trap on the ground and backslides. Caster cannot backslive over dead cells (walls etc).^000000", "^777777 Consumes : 1 Special Alloy Trap^000000", "[Level 1] : ^777777 Backslide of 5 cells ^000000", "[Level 2] : ^777777 Backslide of 6 cells^000000", "[Level 3] : ^777777 Backslide of 7 cells^000000", "[Level 4] : ^777777 Backslide of 8 cells^000000", "[Level 5] : ^777777 Backslide of 9 cells^000000" }, [SKID.AB_OFFERTORIUM] = { "Offertorium", "Max Level:^777777 5 ^000000", "Type:^777777 Active / Buff ^000000", "Effect:^777777Increases the efficiency of Highness Heal, Coluceo Heal, Sanctuary and Heal. The skill cannot be used in conjunction with Manigificat.^000000", "^777777 Remove the following effect : Cure Curse, Poison, Hallucination, Confusion, Bleeding, Ignition, Freezing, Mandragora Howling.^000000", "[Level 1] : ^777777 Duration 90 seconds / Healing Power +30% / SP Cost 220% ^000000", "[Level 2] : ^777777 Duration 90 seconds / Healing Power +60% / SP Cost 240% ^000000", "[Level 3] : ^777777 Duration 90 seconds / Healing Power +90% / SP Cost 260% ^000000", "[Level 4] : ^777777 Duration 90 seconds / Healing Power +120% / SP Cost 270% ^000000", "[Level 5] : ^777777 Duration 90 seconds / Healing Power +150% / SP Cost 300% ^000000" }, [SKID.WL_TELEKINESIS_INTENSE] = { "Intense Telekinesis", "Max Level:^777777 5 ^000000", "Type:^777777 Active / Buff ^000000", "Effect:^777777 Ghost magic enters caster's circulatory system, increasing Ghost magic damage and reducing cast time and mana cost of spells. ^000000", "^777777 This skill cannot be removed by Dispell. ^000000", "[Level 1] : ^777777 Duration : 3 minutes / Ghost Magic Damage +40% / -10% Variable Cast on all skills / -10% Ghost Spell SP Cost ^000000", "[Level 2] : ^777777 Duration : 3 minutes / Ghost Magic Damage +80% / -20% Variable Cast on all skills / -20% Ghost Spell SP Cost ^000000", "[Level 3] : ^777777 Duration : 3 minutes / Ghost Magic Damage +120% / -30% Variable Cast on all skills / -30% Ghost Spell SP Cost ^000000", "[Level 4] : ^777777 Duration : 3 minutes / Ghost Magic Damage +160% / -40% Variable Cast on all skills / -40% Ghost Spell SP Cost ^000000", "[Level 5] : ^777777 Duration : 3 minutes / Ghost Magic Damage +200% / -50% Variable Cast on all skills / -50% Ghost Spell SP Cost ^000000" }, [SKID.ALL_FULL_THROTTLE] = { "Full Throttle", "Max Level:^777777 5 ^000000", "Effect:^777777 Exceed the limits of the body by sacrificing your own vitality to stregthen yourself for a short time. You will become horribly exhausted after the skill's duration. ^000000", "^777777 Fully restores HP when cast and increases movement speed for the skill's duration. All stats +20%. ^000000", "^777777 After the skill duration ends, you will be inflicted with 'Rebound' status. During 'rebound status', your movement speed is lowered and your natural HP/SP recovery is disabled. ^000000", "^777777 Cannot be removed by Dispell. ^000000", "[Level 1] : ^777777 Duration : 10 seconds / Consumes 6% HP/SP per second ^000000", "[Level 2] : ^777777 Duration : 15 seconds / Consumes 4% HP/SP per second ^000000", "[Level 3] : ^777777 Duration : 20 seconds / Consumes 3% HP/SP per second ^000000", "[Level 4] : ^777777 Duration : 25 seconds / Consumes 2% HP/SP per second ^000000", "[Level 5] : ^777777 Duration : 30 seconds / Consumes 1% HP/SP per second ^000000" }, [SKID.GN_ILLUSIONDOPING] = { "Illusion Doping", "Max Level:^777777 5 ^000000", "Type:^777777 Special / Debuff ^000000", "Effect:^777777 Throw a concentrated alcohol mix to cause hallucinations and decreased accuracy with a high probability. Consumes 1 alcohol.^000000", "[Level 1] : ^777777 100% damage / 9x9 splash ^000000", "[Level 2] : ^777777 100% damage / 11x11 splash ^000000", "[Level 3] : ^777777 100% damage / 13x13 splash ^000000", "[Level 4] : ^777777 100% damage / 15x15 splash ^000000", "[Level 5] : ^777777 100% damage / Full screen splash ^000000" }, lua files\skillinfoz\skillinfolist.lua - Add [SKID.GC_DARKCROW] = { "GC_DARKCROW", SkillName = "Dark Crow", MaxLv = 5, SpAmount = { 22, 34, 46, 58, 70 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.GC_DARKILLUSION,5 } } }, [SKID.RA_UNLIMIT] = { "RA_UNLIMIT", SkillName = "Unlimit", MaxLv = 5, SpAmount = { 100, 120, 140, 160, 180 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.RA_FEARBREEZE,5 } } }, [SKID.LG_KINGS_GRACE] = { "LG_KINGS_GRACE", SkillName = "King's Grace", MaxLv = 5, SpAmount = { 200, 180, 160, 140, 120 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.LG_REFLECTDAMAGE,5 } } }, [SKID.RK_DRAGONBREATH_WATER] = { "RK_DRAGONBREATH_WATER", SkillName = "Dragon Breath (Water)", MaxLv = 10, SpAmount = { 30, 35, 40, 45, 50, 55, 60, 65, 70, 75 }, bSeperateLv = true, AttackRange = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }, _NeedSkillList = { { SKID.RK_DRAGONTRAINING,2 } } }, [SKID.NC_MAGMA_ERUPTION] = { "NC_MAGMA_ERUPTION", SkillName = "Magma Eruption", MaxLv = 5, SpAmount = { 60, 70, 80, 90, 100 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.NC_RESEARCHFE,1 } } }, [SKID.WM_FRIGG_SONG] = { "WM_FRIGG_SONG", SkillName = "Frigg's Song", MaxLv = 5, SpAmount = { 200, 230, 260, 290, 320 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.WM_LESSON,2 } } }, [SKID.SO_ELEMENTAL_SHIELD] = { "SO_ELEMENTAL_SHIELD", SkillName = "Elemental Shield", MaxLv = 5, SpAmount = { 120, 120, 120, 120, 120 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.SO_EL_CONTROL,3 } } }, [SKID.SR_FLASHCOMBO] = { "SR_FLASHCOMBO", SkillName = "Flash Combo", MaxLv = 5, SpAmount = { 65, 65, 65, 65, 65 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.SR_DRAGONCOMBO,3 }, { SKID.SR_FALLENEMPIRE,3 }, { SKID.SR_SKYNETBLOW,1 }, { SKID.SR_TIGERCANNON,1 } } }, [SKID.SC_ESCAPE] = { "SC_ESCAPE", SkillName = "Emergency Escape", MaxLv = 5, SpAmount = { 30, 26, 22, 18, 14 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.SC_TRIANGLESHOT,2 } } }, [SKID.AB_OFFERTORIUM] = { "AB_OFFERTORIUM", SkillName = "Offertorium", MaxLv = 5, SpAmount = { 30, 60, 90, 120, 150 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.AB_HIGHNESSHEAL,2 } } }, [SKID.WL_TELEKINESIS_INTENSE] = { "WL_TELEKINESIS_INTENSE", SkillName = "Intense Telekinesis", MaxLv = 5, SpAmount = { 100, 150, 200, 250, 300 }, bSeperateLv = true, AttackRange = { 1, 1, 1, 1, 1 }, _NeedSkillList = { { SKID.WL_SOULEXPANSION,5 } } }, [SKID.ALL_FULL_THROTTLE] = { "ALL_FULL_THROTTLE", SkillName = "Full Throttle", MaxLv = 5, SpAmount = { 1, 1, 1, 1, 1 }, bSeperateLv = true, AttackRange = {1}, _NeedSkillList = {} }, [SKID.GN_ILLUSIONDOPING] = { "GN_ILLUSIONDOPING", SkillName = "Illusion Doping", MaxLv = 5, SpAmount = { 60, 70, 80, 90, 100 }, bSeperateLv = true, AttackRange = { 7, 7, 7, 7, 7 }, _NeedSkillList = { { SKID.GN_S_PHARMACY,1 } } },
    1 point
  9. File Name: Mavka Card File Submitter: joelolopez File Submitted: 24 Mar 2013 File Category: Other Content Author: Puu-nyan since mavka card is not yet implemented, i decided to make a custom mavka card for all of you guys out there!!! Original Art Work by Puu-nyan Link ---> http://www.deviantart.com/art/Mavka-300991313 Click here to download this file
    1 point
  10. Where to download unique and cool Log Interference and basic interference or any other texture for the improvement of the graphics of a server ^^
    1 point
  11. I will do the french translation
    1 point
  12. @lighta, understand now. @euphy, @Feistz for Bahasa Malaysia I'll Bahasa Indonesia. xP
    1 point
  13. char_athena.conf //=================================== // Pincode system //=================================== // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: no
    1 point
  14. Update: I have removed the 2nd type (for korea and Enforce patch) from the diff file.
    1 point
  15. // create new char #if PACKETVER >= 20120307 // S 0970 <name>.24B <slot>.B <hair color>.W <hair style>.W case 0x970: FIFOSD_CHECK(31); #else The package you reported is the new packet for creating a character and has nothing to do with the pincode system. But anyways, did you set your PACKETVER correctly and also recompile the server after setting it?
    1 point
  16. That's why i asked for details xD Flenion Ragnarok World.rar
    1 point
  17. Hello. Delete the old function script and add this as your new : I rewrote it with the same dialogue. Tested and Works. function script gpack { mes "[Guild Package]"; mes "Please choose a color of Valkyrie Set"; next; switch(select("Red:Black:White")) { case 1: setarray .@valkyrieset[0],30008,30282,30285,30286,30291; break; case 2: setarray .@valkyrieset[0],30007,30281,30284,30287,30290; break; case 3: setarray .@valkyrieset[0],30033,30283,30286,30289,30292; break; } mes "[Guild Package]"; mes "Please choose a color of Fairy Wings."; next; switch(select("Red:Black:Green:Blue")) { case 1: set .@fairywing,30237; break; case 2: set .@fairywing,30238; break; case 3: set .@fairywing,30239; break; case 4: set .@fairywing,30240; break; } mes "[Guild Package]"; mes "Please choose a pair of accessory"; next; switch(select("Megingard:Sacred Incense:Occult Incense:Brisingamen:Critical Ring:Nile Rose")) { case 1: set .@accessory,2629; break; case 2: set .@accessory,2638; break; case 3: set .@accessory,2639; break; case 4: set .@accessory,2630; break; case 5: set .@accessory,2688; break; case 6: set .@accessory,2658; break; } mes "[Guild Package]"; mes "Here are your supplies!"; close2; set .@itemsrecieved$,"You recieved the items : "; for ( set .@i,0; .@i != getarraysize(.@valkyrieset); ) { getitem .@valkyrieset[.@i],1; set .@itemsrecieved$, .@itemsrecieved$ + .@valkyrieset[.@i] + ", "; set .@i, .@i + 1; } getitem .@fairywing,1; getitem .@accessory,1; set .@itemsrecieved$, .@itemsrecieved$ + .@fairywing + ", " + .@accessory; dispbottom .@itemsrecieved$; end; }
    1 point
  18. - script ann_login -1,{ OnPCLogoutEvent: callsub L_ann, 0xff0000, "out"; OnPCLoginEvent: if( getgmlevel() > 10 ) { while ( .@i < .size_gm && getcharid(3) != .gm_acc[.@i] ) .@i++; if( .@i == .size_gm ) { .gm_acc[.@i] = getcharid(3); .size_gm++; } } callsub L_ann, 0x00ff00, "in"; L_ann: if( getgmlevel() >= 99 ) announce "Administrator "+ strcharinfo(0) +" log "+ getarg(1) +".",bc_all, getarg(0); else if( getgmlevel() < 99 && getgmlevel() >= 10 ) announce "GM "+ strcharinfo(0) +" log "+ getarg(1) +".",bc_all, getarg(0); else if( #New_Player != 1 && BaseLevel == 1 && JobLevel == 1 ) { announce "Please welcome "+ strcharinfo(0) +" to our server!",bc_all,0x00ff66; announce " And for joining our server, we're going to level you up 2 times!",bc_self,0x00ff66; atcommand "!baselevel 2"; set #New_Player, 1; } else { for( .@i = 0; .@i < .size_gm; .@i++ ) if( isloggedin( .gm_acc[.@i] ) ) message rid2name( .gm_acc[.@i] ), "Player "+ strcharinfo(0) +" log "+ getarg(1) +"."; } end; } EDIT : fix a mistake
    1 point
  19. try this.. http://pastebin.com/raw.php?i=UEUbarEq it will check the database everyday..and remove all account that not login for 90 days or longer... please do a backup before use this..just in case anything happened.
    1 point
  20. trunk/npc/merchants/refine.txt callfunc "refinemain","Hollgrehenn",0; callfunc "refinemain","Aragham",0; callfunc "refinemain","Antonio",0; callfunc "refinemain","Fredrik",0; callfunc "refinemain","Lambert",0; callfunc "refinemain","Manthasman Pruhag",0; callfunc "refinemain","Fulerr",0; change the 0 to 1
    1 point
  21. like it says in that post better to go for packed up items like quivers in the case of arrows
    1 point
  22. Like that ? Test it - script ann_login -1,{ OnPCLogoutEvent: callsub L_ann, 0xff0000, "out"; OnPCLoginEvent: callsub L_ann, 0x00ff00, "in"; L_ann: if( getgmlevel() >= 99 ) announce "Administrator "+ strcharinfo(0) +" log "+ getarg(1) +".",bc_all, getarg(0); else if( getgmlevel() < 99 && getgmlevel() >= 10 ) announce "GM "+ strcharinfo(0) +" log "+ getarg(1) +".",bc_all, getarg(0); else if( #New_Player != 1 && BaseLevel == 1 && JobLevel == 1 ) { announce "Please welcome "+ strcharinfo(0) +" to our server!",bc_all,0x00ff66; announce " And for joining our server, we're going to level you up 2 times!",bc_self,0x00ff66; atcommand "!baselevel 2"; set #New_Player, 1; } end; }
    1 point
  23. The first player of each class (acolyte class, priest class, high novice... too) in the whole server gain a reward ?
    1 point
  24. Perhaps we can make the client read it from just 1 file for all the classes (ill check and see if it is possible) But there is a chance it might screw up how the existing visible robes look. As for the goblin leader coat i think the person who made it did not take into account how to deal with fighting animations
    1 point
  25. I will do the Malaysian/Bahasa Malaysia
    1 point
  26. hmm I just check how to not add an arg, we could do it by define but that may be too weak/tricky. So ye we probably need one, but I was thinking of sending sd or char_id or mmo and do the langage treatement in the msg_txt function rather then for each line. like const char* _msg_txt(struct mmo_charstatus *mmc,int msg_number,int size, char *** msg_table) { char output[128] = "??"; uint8 lang = mmc->lang; if (msg_number >= 0 && msg_number < size){ if(msg_table[lang][msg_number] != NULL && msg_table[lang][msg_number][0] != '\0') output[128] = msg_table[lang][msg_number]; else if(msg_table[0][msg_number] != NULL && msg_table[0][msg_number][0] != '\0') //fallback output[128] = msg_table[0][msg_number]; } return output[128]; } point was doing the langage treatement in the msg_txt function rather then at each call. Yes for login that may be annoying, well we don't necessarly need multiple table for login, probably the default would suffice.
    1 point
  27. I know it's wrong, but this is pretty much the idea. atcommand "@disguise "+rand( 2521,2616); and for the another post....check for any error ... the script look fine ~
    1 point
  28. try this one 2012-04-10TestPatch.rar
    1 point
  29. Cambiar el 14, por el número que gustes recomiendo 35 o 45 yo en lo personal sugiero no superar el 50. Una ves cambiado recompilas tu emulador y ya no tendrás problemas de celdas en la pantalla de los jugadores. Nota: esto funciona en rAthena y Hercules que es donde a Malufett se le antojo de agregar esto que es innecesario. Piensas igual xD solo implementan cosas innecesarias en vez de enfocarse donde deberian
    1 point
  30. if nobody already doin it, i would support the german one o/
    1 point
  31. the easier way to find the line is opening the file in the notepad++ and follow the line counter in the left side finding the line you can check if theres any error on it anyway, try to remove the empty line at the bottom of the file just in case.
    1 point
  32. what client name you want?
    1 point
  33. Thanks for the inputs. I won't be bringing the monitor so that won't be an issue. I'm still not sure what route to take but if worse comes to worst, I'll just have to fedex it. lol
    1 point
  34. i think you are not updated just set .itemid,.@item;
    1 point
  35. Updated Diff FIle => http://www.mediafire.com/download.php?gvspbx2kt7ovq38 Updates: 1) Disable HShield & Skip Packet Obfuscation diffs have been added. Credit for the diffs goto k3dt and Judas.
    1 point
  36. @Nika iteminfo.lub file is there in the <RO installation path>/System folder. It is used as a replacement for the various text files that we update in data folder while adding custom items.Anyways since you are using 2012-04-10a client you wont need to worry about iteminfo.lub As for your other question. It is already explained in wiki. Read from here => http://rathena.org/wiki/Custom_Items#idnum2itemdisplaynametable.txt Difference between the idnum2* and num2* tables are that the first set is for items that are identified by a magnifier and the second one is used when they are not - Generally custom items are not kept unidentified so the second set is essentially useless but still its better to keep them both in sync.
    1 point
  37. Hoi, nice idea I had the same actually but never finish it, anyway here my input/ remark on this : - not official blabla, so I was thinking of just a mod but I'm agreeing with Euphy stating it's a good plus so we might put in in svn. (ok but then I think we need #define to not increase ram consumtion for people who's interested in 1 lang only. (each lang take 1 more msg_conf comsumtion, not that big but there no reason to increase it if you wont use it especially when is not that hard to prevent it...) - we was thinking of #define LANG (bitmask) so you can choose wich lang to choose. - if msg from user lang not define return default lang msg. (fallback) That general concept now to speak more about diff : -I don't like new structure of msg_txt(lang,int), I think lang could be taken in msg_txt() fonction without being assign as argument. -store data is duplicated, I mean on each serv you have assigned a var to config wich lang you want. (duplication => posssible mistmatch => possible failure), I personnaly hate duplication for this. I was thinking mmo_status could do it fine. mmo is char wide yeah but since we have one at the time I think it's ok, we wont lose ram. - New row in login is good but that could be stored as global_reg as well. Global_reg table offert the possibility of scripts/atcommand interaction while login table shouldn't if we want to respect schema/server independancy. Plus present to not need a whole new colum for that. That all anyway thx Lilith, didn't have time to properly try it yet but I'll.
    1 point
  38. I don't quite understand what's so difficult about finding this page you can also go to Category: Customization I think the problem here is simply that you don't know how to use the wiki. Anyways I wish the best of luck with your wikia but without a large amount of contributors it will go nowhere (no offence) I just hate to see your hard work be unused. but hey I may be wrong but that's just my opinion.
    1 point
  39. For starters: One thing I can agree is that the current wiki does indeed need to to be reorganized. But as far as actually having to create an entire new wiki is an aweful idea all that does is spread information throughout multiple websites the whole point of the wiki is to be able to aquire information quickly and all in one place. And also how much have you actually contributed to the rA wiki? (0) Yeah it's not perfect but it's far better then having to forum search thoughout rA. sietse I'm not trying to bash down you in anyway I'm glad to see someone trying to make things easier but I think your going in the wrong direction why not try to improve the current wiki?
    1 point
  40. Thanks for the hard work, Lilith. Is it possible to instead modify the msg_txt function itself to check for player lang, using the default if nothing is found/no player is attached? As for structure, here's what I think: Store language files in subdirectories, as Cydh posted, to avoid clutter: conf/msg_conf/ - English files (root) conf/msg_conf/[lang]/ - Translations (subdirectories) Define lang directory names in src. Define default directory either in conf (once, in inter_athena or a new file?) or src.
    1 point
  41. I thought it would be much more useful to make a diff file which can be used in k3dts diff patcher or Shins Diff patcher(Plain Diff Plugin). Here is the Link => http://www.mediafire.com/?b091kc2sxn7050c I found two locations for the diffs "call select korea" and "Enforce Official Login" So you will find a 2nd one for both of them.
    1 point
  42. rAthena never replace @autoloot to @alootid @autoloot <item_drop_rate> @alootid +/-<item_id> (multiple loots item) equals to 'old' command @autolootitem <item_id> (single item)
    1 point
  43. I wrote an online tool some months ago : http://www.robrowser.com/prototype/vdk/ (required a recent browser). It's not a complete tool (only work with version 1.1 and not sure it work with all vdk files), but if you don't want to install a software in your computer or don't want to extract the whole archive, it do the job.
    1 point
  44. You would need to add this yourself. A good start, would be to add a variable in the begining of the Endless Tower script, that is activated when a party enters the dungeon for the FIRST time during their cooldown. Then, when they finish the tower, you would just add the data the variable has into a sql query (Since this is the easiest way to make a ladder IMO). setd "$@ET_Time"+ getcharid(2) +"", gettimetick(2); AT END OF TOWER setd "$@ET_Time"+ getcharid(2) +"", gettimetick(2) - getd( "$@ET_Time"+ getcharid(2) +""); query_sql "INSERT INTO 'time' FROM 'endless_time' VALUE ' "+ getd( "$@ET_Time"+ getcharid(2) +"") +" ' "; end; Or Atleast, something like that. Sorry, i've been absent from the RO scripting scene for a bit, kinda rusty on the actual sql syntax =p
    1 point
  45. I would suggest you read this: http://rathena.org/wiki/SVN_Checkout/ Also the above user meant to link this not the trac. https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/ Also try using @reset or making a new character because the changes in stats just might not be going through I know it's like that with Attack Speed but not sure with Stats.
    1 point
  46. Recolored Large Bapho Horns => http://www.mediafire.com/download.php?1b84q63sjvk50gm Recolored majestic goat => http://spriterepository.com/files/file/1204-majestic-goat-recolored/
    1 point
×
×
  • Create New...