Leaderboard
Popular Content
Showing content with the highest reputation on 05/21/14 in all areas
-
Hey Curiosity, I liked your idea, so I've added a new feature in GRF Editor to load GRF files with a custom DLL (this can be done in Tools > Settings > Compression method > Custom compression... and simply select the cps.dll provided with your download). That way, you can extract files and treat the GRF just like any other one xD. There is however one issue that I can't really do much about. New files added cannot be compressed with LZMA because the compress method in the DLL does a normal zlib compression. It would be quite useful if you could implement it though, but that's entirely up to you . (Oh also, I've added a repack feature which is basically meant for repacking the GRF with a custom DLL, so that could be useful to you). Thank you for the release!2 points
-
Xantara's FluxCP Everyone knows of FluxCP. However, with the creation of rAthena, there became a need to support renewal changes and other features such as the new group system. This is where my Control Panel comes in. Xantara's FluxCP is a free and open source control panel to work with rAthena. Forked from FluxCP by Paradox924X and Byteflux at r1121. I will continually merge updates from the original FluxCP. Demo: http://web.artistic-coder.com/fluxcp-rA Note: this site is used to test new functionality and custom addons so it may not always be functioning properly Features The original/base FluxCP already comes with a lot of features. Here I will only highlight those that came after the fork. For a full list, click here. Updated Ragnarok Data Full Birthdate Functionality Working GM Group System Mob Skills SQLized Zeny Log Page Specific Item Drop Rates Toggle for Pre-Renewal or Renewal SQL Data Alchemist Ranking Blacksmith Ranking Paginated Item Shop Character/job images (static) WIP Account management system (link one or more in-game accounts to one CP account) Queued Accepted Suggestions (have suggestions? post them here!) Search in logs page Pin code functionality Character sprites with palettes (would replace static images) Requirements Apache webserver with PHP 5.2 or greater PDO extension with MySQL support (http://www.php.net/pdo) PHP GD2 for security images (Optional) Enabled Zip extension for exporting guild emblems (Optional) Apache/mod_rewrite for using the "Clean URLs" feature Download There are three ways to get a copy of this Control Panel. For detailed installation instructions, click here (TBD). 1. GIT Clone git clone https://github.com/missxantara/fluxcp-ra.git * For Windows, you can take a look at using TortoiseGit with its friendly user interface. 2. SVN Checkout svn checkout https://github.com/missxantara/fluxcp-ra/trunk/ * For Windows, you can take a look at using TortoiseSVN with its friendly user interface. 3. ZIP Download https://github.com/missxantara/fluxcp-ra/archive/master.zip Extra Downloads Extract to the root folder of your FluxCP system Job Image Files: http://missxantara.github.io/fluxcp-ra/downloads/FluxCP_Jobs_Images_2012-04-28.zip Updated details: April 28, 2013 Credits: Xantara Monster Image Files: http://missxantara.github.io/fluxcp-ra/downloads/FluxCP_Monsters_Eclage_14.2.zip Updated details: Mob ID #2380 of Eclage (Episode 14.2) Credits: Brynner Item Icon Files: http://missxantara.github.io/fluxcp-ra/downloads/FluxCP_Item_Icons_2012-04-08.zip Updated details: April 8, 2013 Credits: Latheesan's Extractor Item Image Files: http://missxantara.github.io/fluxcp-ra/downloads/FluxCP_Item_Images_2012-04-08.zip Updated details: April 8, 2013 Credits: Latheesan's Extractor Quick Links Wiki: https://github.com/missxantara/fluxcp-ra/wiki Bug/Suggestion Reports: https://github.com/missxantara/fluxcp-rA/issues GitPage: http://missxantara.github.io/fluxcp-ra Misc. Feel free to post any suggestions here. If suitable, they may be polled by general users before being decided to be implemented or not. If you have a feature already coded that you would like to share, please do send a GIT pull request or send me an SVN diff of the work - I'd love to take a look at it! Please note that working on this open-source project will furthermore serve as a learning opportunity for me. If you find that I've implemented something that could be improved, I urge you to let me know - your knowledge on this subject would be greatly appreciated! Like my work? Rep up the topic first post1 point
-
LessGRF What? LessGRF (LGRF) is an extension to the GRF format which adds a new algorithm for file compression. Normally the GRF will compress files using the DEFLATE algorithm which is the compression method typically used in ZIP files, but LessGRF adds the LZMA algorithm as an option. Why? Ragnarok's GRF files can get quite big. Back in the days the game data used to take up a few hundred megabytes, but today the GRF archives are about 2GB and contain tens of thousands of files. Since the data is starting to get pretty big it's possible to save quite a bit of space simply by re-compressing the game files with a more efficient algorithm. In my test on a full data.grf the file was reduced to about 60% of its former size. Maybe someone will find it useful if they want to make a mini client or something? Honestly, this was just a little experiment I did out of curiosity. How? Two simple steps are all that's necessary to use the LGRF format. First, download this file. 1. Installation To upgrade your client, replace the cps.dll in your Ragnarok folder with the one from the download. (Make a backup of the old DLL file first.) 2. Recompression Extract GRFCrush.exe somewhere. Run it from command line or just drag and drop your GRF file onto it. It will generate a new GRF file which you can use instead of the old one. The recompression process will likely take about 20 minutes on a moderately powerful computer. Q&A Q: Since the compression rate is better, will files load slower? A: I've not notice any different in map load times. LZMA is more expensive to decompress, but modern processors are so fast the load time might just as well be reduced since less data has to be read from the hard disk. Q: Can I use both GRF files and LGRF files at the same time? A: Yes. The new cps.dll supports the old GRF compression as well. You can mix LGRF and GRF Q: Can patchers or GRF tools update LGRF archives? A: Very likely, but only if they don't attempt to decode the data in the process. Q: Can current GRF tools extract files from LGRF archives? A: No. Q: ...Does that mean it can also be used for GRF protection? A: I wouldn't recommend it. (That being said I guess this is no less "secure" than GRF protectors like SecureGRF.) Q: Are there any penalties involved with using this format? A: Incompatibility with GRF extractors is currently the only thing I've been able to think of. Let me know if you notice something else.1 point
-
Hello, first of all, this Guide was requested by a friend of mine, there's an already existing guide in the Wiki http://rathena.org/wiki/Custom_Items and it's more detailed, you may use it as reference Remember that this Guide is for 2012-04-10 clients and simillar! Before starting, you will need the following Diffs at least (recommended): Uncheck "read data folder first" so it will read first your GRFs Uncheck "load lua before lub" if you have .lua i recommend you to change them all to .lub Checked "Increase Item View ID" (i recommend 15,000 View IDs, max 30,000) Checked "Read multiple GRF" (i recommend max 2 custom GRFs) Also, make sure that your DATA.INI reads your GRFs This Guide doesn't use iteminfo.lub, just lua files Requeriments Adding the items | Text File Side Adding the items | Sprite Side And that's it, if you follow this Guide step by step without skipping the notes and so on you shouldn't have any error. If you are stuck or soemthing don't pm me D: just repply to this post. You may ask why, well the answer is simeple, you should repply to this post first so if someone has the same error, problem or got stucked like you it may find the answer here. This is really easy to do, it's about practice and you will do it automaticlly with the time. I can add 1 single custom item in about 2 minutes with everything ready to add. Well, good luck! FAQs: To do: Fix some (many) grammar mistakes X Add colors ✓ (done) Add FAQs ✓1 point
-
here of Beginner Eathena the list Succubus_Wing LDHorn LDTail LDWing Archangel_Wing Archdemon_Wing Arctic_Wing Blood_Wing Bloodybutterfly_Wing Darkfairy_Wing Deviling_Wing Dragon_Wing Elemental_Wing Firey_Wing Gargoyle_Wing Greatevil_Wing Ice_Wing Incubus_Wing Lessergargoyle_Wing Littleangel_Wing Phaser_Wing Retribution_Wing Vampire_Wing Whitefairy_Wing Wing_Of_Balance EPhelm EPsholder EPwing SAear SAhelm SAwing Dark_Blue_Valkyrie_Helm Dark_Brown_Valkyrie_Helm Dark_Cyan_Valkyrie_Helm Dark_Gold_Valkyrie_Helm Dark_Green_Valkyrie_Helm Dark_Orange_Valkyrie_Helm Dark_Pink_Valkyrie_Helm Dark_Purple_Valkyrie_Helm Dark_Red_Valkyrie_Helm Dark_Silver_Valkyrie_Helm Black_Feather_Beret Brown_Feather_Beret Gold_Feather_Beret Green_Feather_Beret Light_Blue_Feather_Beret Orange_Feather_Beret Pink_Feather_Beret Purple_Feather_Beret Red_Feather_Beret Silver_Feather_Beret White_Feather_Beret Black_Crown Blue_Crown Brown_Crown Cyan_Crown Gold_Crown Golden_Crown Green_Crown Orange_Crown Pink_Crown Purple_Crown Red_Crown Silver_Crown White_Crown Blue_Helm_of_Baal Cyan_Helm_of_Baal Gold_Helm_of_Baal Green_Helm_of_Baal Helm_of_Baal Purple_Helm_of_Baal Red_Helm_of_Baal White_Helm_of_Baal Black_Incubus_Horn Blue_Incubus_Horn Cyan_Incubus_Horn Gold_Incubus_Horn Green_Incubus_Horn Purple_Incubus_Horn Red_Incubus_Horn White_Incubus_Horn Black_Luxury_Hat Blue_Luxury_Hat Cyan_Luxury_Hat Gold_Luxury_Hat Green_Luxury_Hat Luxury_Hat Purple_Luxury_Hat Red_Luxury_Hat New_Black_Valkyrie_Helm New_Blue_Valkyrie_Helm New_Brown_Valkyrie_Helm New_Cyan_Valkyrie_Helm New_Gold_Valkyrie_Helm New_Green_Valkyrie_Helm New_Orange_Valkyrie_Helm New_Pink_Valkyrie_Helm New_Purple_Valkyrie_Helm New_Red_Valkyrie_Helm New_Silver_Valkyrie_Helm New_White_Valkyrie_Helm Black_Sage_Ring Blue_Sage_Ring Cyan_Sage_Ring Gold_Sage_Ring Green_Sage_Ring Purple_Sage_Ring Red_Sage_Ring Sage_Ring White_Sage_Ring Black_Sakkat_Bamboo Blue_Sakkat_Bamboo Cyan_Sakkat_Bamboo Gold_Sakkat_Bamboo Purple_Sakkat_Bamboo Red_Sakkat_Bamboo Sakkat_Bamboo White_Sakkat_Bamboo Black_Valkyrie_Helm Blue_Valkyrie_Helm Brown_Valkyrie_Helm Cyan_Valkyrie_Helm Gold_Valkyrie_Helm Green_Valkyrie_Helm Orange_Valkyrie_Helm Pink_Valkyrie_Helm Purple_Valkyrie_Helm Red_Valkyrie_Helm Silver_Valkyrie_Helm White_Valkyrie_Helm Blue_Dark_Lord_Helm Cyan_Dark_Lord_Helm Dark_Lord_Helm Gold_Dark_Lord_Helm Green_Dark_Lord_Helm Purple_Dark_Lord_Helm Red_Dark_Lord_Helm White_Dark_Lord_Helm Animated_Angel_Wings Black_Animated_Angel_Wings Blue_Animated_Angel_Wings Cyan_Animated_Angel_Wings Gold_Animated_Angel_Wings Green_Animated_Angel_Wings Purple_Animated_Angel_Wings Red_Animated_Angel_Wings Black_Butterfly_Wings Blue_Butterfly_Wings Brown_Butterfly_Wings Cyan_Butterfly_Wings Gold_Butterfly_Wings Green_Butterfly_Wings Orange_Butterfly_Wings Pink_Butterfly_Wings Purple_Butterfly_Wings Red_Butterfly_Wings Silver_Butterfly_Wings White_Butterfly_Wings Black_Deviling_Wings Blue_Deviling_Wings Brown_Deviling_Wings Cyan_Deviling_Wings Deviling_Wings Gold_Deviling_Wings Green_Deviling_Wings Orange_Deviling_Wings Pink_Deviling_Wings Purple_Deviling_Wings Red_Deviling_Wings Silver_Deviling_Wings White_Deviling_Wings Black_Fairy_Wings Blue_Fairy_Wings Brown_Fairy_Wings Cyan_Fairy_Wings Gold_Fairy_Wings Green_Fairy_Wings Orange_Fairy_Wings Pink_Fairy_Wings Purple_Fairy_Wings Red_Fairy_Wings Silver_Fairy_Wings White_Fairy_Wings New_Dark_Blue_Fairy_Wings New_Dark_Cyan_Fairy_Wings New_Dark_Gold_Fairy_Wings New_Dark_Green_Fairy_Wings New_Dark_Purple_Fairy_Wings New_Dark_Red_Fairy_Wings Rastafari_Fairy_Wings New_Black_Fairy_Wings New_Blue_Fairy_Wings New_Cyan_Fairy_Wings New_Gold_Fairy_Wings New_Green_Fairy_Wings New_Purple_Fairy_Wings New_Red_Fairy_Wings New_White_Fairy_Wings the customs http://ro 2-website.bplaced.net/zeugs/custom.rar1 point
-
Please take a look to this thread: http://rathena.org/board/topic/92638-client-version-and-failed-to-connect/ I am referring to NeoMind's post in particular:1 point
-
Did you try to change the value between the version tag? (From 0 into 42)1 point
-
SO.... how do i fix my problem ?? even i use 2012 client also reject from server T^T hello guys so i veiw my server packet db the 2013-07-03 client is version 42 and then when reject from server and the charser-sql .bat got something come out [Warning] : s aid=1 has an incorrect version =0 in clientinfo . server compiled 42 help me please !!! please !!! W.T.* stop bumping and acting like tomorrow is the end of the world. Are you using 2013-08-07 client or 2012 client? Anyhow, whatever your client date is, you need to make sure that the configuration inside mmo.h is the same. After changing it, you need to recompile EVERYTHING. (See rA's Wiki for compilation process. available on Windows and Linux) If you're using the latest version of rA, then open db/packet_db.txt and set packet_db_ver to "default" Try those first and tell us the result My client is 2011-03-15a and this is what in my clientinfo.xml: <?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <servicetype>korea</servicetype> <servertype>sakray</servertype> <connection> <display>Ragnarok</display> <balloon>the balloon</balloon> <desc>description</desc> <address>*********</address> <port>6900</port> <langtype>4</langtype> <registrationweb>******</registrationweb> <aid> <admin>2000000</admin> <admin>2000001</admin> <admin>2000002</admin> </aid> <loading> <image>loading01.jpg</image> </loading> </connection> </clientinfo> *langtype 4 stands for the localization in Taiwan1 point
-
Try this comodo,191,157,4 script Set of the day 83,{ if (rewarded > gettimetick(2)) close; mes"[Set of the day]"; mes "Welcome to FiestaRO!"; mes "Ready to receive your set of the day?"; next; mes "[Set of the day]"; mes "Today's set is called ^FF0000 The Great Madara ^000000."; mes "Set of the day only last for ^00FF00 3 hours ^000000 so make it count!"; sleep 1000; rentitem 31874,10800; sleep 5000; rentitem 31895,10800; sleep 1000; set rewarded, gettimetick(2) + 86400; close; }1 point
-
test it - shop Emistry_Shop -1,512:100 // -------------------------------------------------- fire_event,25,40,4 script Event Shop#1 111,{ function ShopSettings; function ValidateCost; function CurrencyInfo; function ClearData; function ValueConvert; function ErrorNotice; OnInit: waitingroom "Hunt Shop",0; mes "Each Shop from the Menu may purchase using ^FF0000Different Currency^000000."; mes "^00FF00____________________________^000000"; mes "So,Which shop you would like to look at it"; next; select("Headgear","Foods","Cossumber"); ClearData(); ShopSettings( @menu ); npcshopitem "Emistry_Shop",512,100; npcshopdelitem "Emistry_Shop",512; for(set .@i,0; .@i < getarraysize( @ItemLists ); set .@i,.@i+1) npcshopadditem "Emistry_Shop",@ItemLists[.@i],@ItemCost[.@i]; mes "Okay...wait awhile"; mes "^00FF00____________________________^000000"; CurrencyInfo( @Currency$ ); mes "^00FF00____________________________^000000"; callshop "Emistry_Shop",1; npcshopattach "Emistry_Shop"; end; function ShopSettings { switch( getarg(0) ){ Case 1: // Currency [ Item ID / Variable Name ] set @Currency$,"hunter_points"; // Item ID Lists setarray @ItemLists[0],5377,5288,5146,5269,5376,5235,5236,5237,5289,5306,5322,5366; // ITEM ID // Item Price setarray @ItemCost[0],200,220,150,400,450,250,250,250,200,250,230,300; // ITEM COST/AMOUNT break; Case 2: // Currency [ Item ID / Variable Name ] set @Currency$,"hunter_points"; // Item ID Lists setarray @ItemLists[0],1815; // Item Price setarray @ItemCost[0],100; break; Case 3: // Currency [ Item ID / Variable Name ] set @Currency$,"hunter_points"; // Item ID Lists setarray @ItemLists[0],2776,12260,14037; // Item Price setarray @ItemCost[0],500,50,30; break; // Case 4,5,6.....etc... default: ErrorNotice( "Invalid Menu Selection for Menu "+@menu+"." ); close; } if( @Currency$ == "" ) ErrorNotice( "Invalid Currency Setting in Menu "+@menu+" ." ); if( getarraysize( @ItemCost ) != getarraysize( @ItemLists ) || getarraysize( @ItemLists ) != getarraysize( @ItemCost ) ) ErrorNotice( "Missing or Extra Value of Item or Cost Settings in Menu "+@menu+" ." ); return; } function ErrorNotice { mes "^FF0000ERROR^000000 - "+getarg(0); mes "^00FF00____________________________^000000"; mes "Inform this Message to ^0000FFGame Staffs^000000 immediately !"; close; } function CurrencyInfo { if( getitemname( atoi( getarg(0) ) ) != "null" ){ mes "Item Currency : ^FF0000"+getitemname( atoi( getarg(0) ) )+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( countitem( atoi( getarg(0) ) ) )+"^000000"; }else if( getitemname( atoi( getarg(0) ) ) == "null" ){ mes "Variable Currency : ^FF0000"+getarg(0)+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( getd( getarg(0) ) )+"^000000"; } return; } function ValidateCost { if( getitemname( atoi( getarg(0) ) ) != "null" ){ if( countitem( atoi( getarg(0) ) ) < getarg(1) ) return 1; }else{ if( getd( getarg(0) ) < getarg(1) ) return 1; } return 0; } function ClearData { set @Currency$,""; set @TotalCost,0; deletearray @bought_nameid[0],getarraysize( @bought_nameid ); deletearray @bought_quantity[0],getarraysize( @bought_quantity ); deletearray @ItemLists[0],getarraysize( @ItemLists ); deletearray @ItemCost[0],getarraysize( @ItemCost ); return; } function ValueConvert { set .@num, atoi(""+getarg(0)); if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0); set .@l, getstrlen(""+.@num); for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) { set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$; if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$; } return .@num$; } OnBuyItem: ShopSettings( @menu ); for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) for(set @j,0; @j < getarraysize( @ItemLists ); set @j,@j+1) if( @ItemLists[@j] == @bought_nameid[@i] ) set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] ); mes "^FF0000 BILLING LIST^000000"; mes "^00FF00____________________________^000000"; for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 ) mes "^FF0000"+@bought_quantity[@i]+" x ^0000FF"+getitemname( @bought_nameid[@i] )+"^000000"; mes "^00FF00____________________________^000000"; if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" x "+getitemname( atoi( @Currency$ ) )+"^000000"; else if( getitemname( atoi( @Currency$ ) ) == "null" ){ mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" "+@Currency$+"^000000"; } mes "^00FF00____________________________^000000"; if( ValidateCost( @Currency$,@TotalCost ) ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+getitemname( atoi( @Currency$ ) )+"^000000"; else{ mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+@Currency$+"^000000"; } }else{ if( select( "^0000FFPurchase^000000:Cancel" ) == 1 ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) delitem atoi( @Currency$ ),@TotalCost; else{ set getd( @Currency$ ),getd( @Currency$ ) - @TotalCost; } for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) getitem @bought_nameid[@i],@bought_quantity[@i]; message strcharinfo(0),"Purchased "+getarraysize( @bought_nameid )+" Items."; mes "Thank you for shopping."; } } ClearData(); close; }1 point