Leaderboard
Popular Content
Showing content with the highest reputation on 05/27/17 in all areas
-
2 points
-
View File Third Job Costumes & New Classes: Corrected Third Job Costumes + New Classes The Correction With the advent of jRO releasing new Job Costumes, and also, the new classes from the Taekwon branch, many of server owners want to replace the vanilla sprites or even, implement the bodystyle system. But, there's a catch! Originally jRO, and now, even kRO spriters, have made it completely off of the default pattern of palette. In a classic example, you can notice the pattern of the RO palettes. What matters is the position of the colours, as an example, for all jobs, the white-ish tones will be always on the same row, so we can use it to create custom palettes. See how it works: But jRO didn't follow the classic pattern, making it incompatible with custom palettes (@Kamishi ones included). So, I edited frame by frame of each job sprite, of each gender, mounted or not, correcting them, converting them in a way so many of the previously created palettes will work. This package includes: Alternate Outfits: Alternate Royal Guard M/F + Gryffon Battlemount + Lion Mount Alternate Ranger M/F + Warg Battlemount + Ostrich Mount Alternate Minstrel/Wanderer + Ostrich Mount Alternate ArchBishop M/F + Alpaca Mount Alternate Warlock M/F + Fox Mount Alternate Mechanic M/F + Savage Mount Alternate Genetic M/F + Savage Mount Alternate Guillotine Cross M/F + Hyena Mount Alternate Shadow Chaser M/F + Hyena Mount Alternate Sorcerer M/F + Fox Mount Alternate Sura M/F + Alpaca Mount Alternate Rune Knight M/F + Dragon Battlemount + Lion Mount New Classes Star Emperor M/F + Wolf Mount Soul Reaper M/F + Wolf Mount As requested by @Emistry, I also added an extra, making it more compatible to default palettes: Kagerou/Oboro + Frog Mount Following the another @Emistry's request, all files are now already on GRFs. The previous version had no Cashmount palette included, this one fixes the issue. Only the already released costumes are supported at this moment. The Rune Knight seems to be the last of them, it's over a year from the first release! As a final part of the package, I'm including Classic Palettes for all Alternate Costumes. Enjoy the final product! Submitter Haziel Submitted 02/24/2016 Category Job Sprites Content Author Gravity Corp1 point
-
April Digest 2017 The following digest covers the month of April, 2017. Staff Changes Jeybla is now a Core Developer srhmike is now a Forum Moderator Sryx is now a Forum Moderator Cyro is now a Forum Moderator Technoken is now a Forum Moderator Promise is now a Forum Moderator Development Highlights CORE: Fixed Storage bug (c218eb6) Added cash shop support to 2012-04-10 (3cce333) Fixed a bug with Renewal table loading (ec1fe15) Added new script command: chatmes, getfreecell (72fe4cd, 0c2ccc7) Re-link monster drop data with item data (d6594ee) Fixed sleep times getting freed twice (4b9ade3) Fixed debug output for missing char server tables (780ebd1) Removed password outputs on login server console (100d71e) Added current_equip_item_index check (384917b) Adjusted Status Change display in status window (a75133e) Removed empty script check for usable items (38e0496) Implemented Channel System expansion (c87dba5, c3ad04d, 4f99567) Fixed Blessing ending Curse before the Curse check (f1af321) Updated Homunculus-S skill failure messages (452d9c6, b4857cc) Added deprecation functionality to script engine (5923633) Removed unnecessary library includes (4cfaa18, 31cd394) Initial release item Random Option for monster drop (e59cdff) DATABASE: Skill update: Claymore Trap, Blast Mine, Land Mine, Monster's Bombs, Feint Bomb, Stealth Field, Neutral Barrier, Pain Killer (5d90380, 0a35e3a, 1261d92, caed389, 800f491, cbc3b26) Item DB updated (f0b7feb, a040a52) Expanded Baby Jobs (39e54d6, b7d802a, 2029f2e, ad0731f, ed24be1) Added missing Quest ID in quest_db.txt (f57f3e7) Added support for the latest NPC and Mob IDs (7d20033, 25da0fe) Adjusted skill_nocast_db settings (a7c682f) SCRIPT: Fixed a bug in Sara Memory (a6b252c) Removed extra semi-colon from multiple scripts (73b798b) Updated DTS Warper in moc_ruins map (3986195) Fixed wrong condition in monk.txt (c098d0c) Converted some scripts to warps (cdc0527) Fixed a bug in Continental Guard NPC (9e6b02a) OTHERS: Updated Instancing document (82967fc) Fixed a compile warning and error (4369b47, f9a0f81) Removed ancient SQL Upgrade files (9af37d2) Updated default PACKETVER to 55 -> 20151104 (33c31ca) Fixed misc grammar on documentation (58bad46) Removed rAthena-15.sln (da36b26) Updated appveyor.yml to use new solution (7fb245b) Added missing EOL in project files (fcba7b7) Moved the .bat scripts into the tools folder (448e5e8) Updated gitignore for the moved shell scripts (3995fff) Redirected build output into the .vs folder (bfeb697) Added a -D equivalent for msbuild in Appveyor (4348ef3) Added Visual Studio x64 support (07b2ef2) Removed dbghelp.dll (be9b13d) Enabled x64 in Appveyor (4a64986) Statistics Excluding merges, 12 authors have pushed 67 commits to master and 132 commits to all branches. On master, 295 files have changed. There have been 25,469 additions and 18,650 deletions. There are 23 merged Pull Requests and 15 Proposed Pull Requests. There are 24 new Issues and 41 Closed Issues. List of Contributors @Akkarinage, @aleos89, @anacondaqq, @Atemo, @CairoLee, @crazystorm2017, @cydh, @Encon21, @Everade, @feltenc, @hazimjauhari90, @Jeybla, @Joy-Ro, @Lemongrass3110, @LiamKarlMitchell, @Limestone, @MishimaHaruna, @MrAntares, @Playtester, @spangler88, @technoken, @TheNoobCompany, @Tokeiburu, @secretdataz, @stealth62, @wilkemeyer, @Yuchinin Show your support to rAthena by submitting your Issue or Pull Requests! By providing enough useful info (Git Hash, Client Date, RE/Pre-RE, crashdump, how to reproduce, etc) you will help us to solve the issues faster1 point
-
it didn't gave me any error and your error message says you are missing " } " in your script, recheck1 point
-
prontera,158,173,4 script Coin Trader 860,{ // ---------------------- // - Core Code // ---------------------- cutin "kafra_08",2; mes "[" + .colors$[1] + .npc_name$ + .colors$[0] + "]"; mes "What would you like to do today?"; set .@trade_type, select("- Coins -> Zeny:- Zeny -> Coins"); mes "Very well. Here is the list on how much each coin is worth:"; for (set .@a, 0; .@a < getarraysize(.coin_id); set .@a, .@a + 1) { mes .colors$[3 + .@a] + getitemname(.coin_id[.@a]) + .colors$[0] + ": " + .coin_to_zeny_format$[.@a] + "z"; set .@coin_menu$, .@coin_menu$ + (.@coin_menu$ == "" ? "" : ":") + .colors$[3 + .@a] + getitemname(.coin_id[.@a]) + .colors$[0]; } mes "Tell me, what coin would you like to exchange?"; next; set .@coin_choice, select(.@coin_menu$) - 1; next; mes "[" + .colors$[1] + .npc_name$ + .colors$[0] + "]"; switch(.@trade_type) { case 1: // Coins -> Zeny mes "How much coins would you like to give up?"; input .@amount; if (.@amount <= 0) { // Invalid Number? mes .colors$[2] + "Please Input a number greater than 0:"; cutin "",255; close; } else if (countitem(.coin_id[.@coin_choice]) < .@amount) { mes .colors$[2] + "I'm sorry, you do not have " + .@amount + " " + getitemname(.coin_id[.@coin_choice]) + (.@amount == 1 ? "" : "s"); cutin "",255; close; } else { // Ok! Checks Passed, Let's Trade! if(Zeny >= 2000000000) goto L_FullZeny; //Checks to see if the player has more than 1.8b set Zeny,Zeny + (.coin_to_zeny[.@coin_choice] * .@amount); delitem .coin_id[.@coin_choice],.@amount; cutin "",255; break; } case 2: // Zeny -> Coins mes "How much coins would you like?"; input .@amount; if (.@amount <= 0) { // Invalid Number? mes .colors$[2] + "Please Input a number greater than 0:"; cutin "",255; close; } else if (!checkweight(.coin_id[.@coin_choice],.@amount)) { // Will it Make Char Overweight? mes .colors$[2] + "I'm Sorry, but you can't carry this due to weight restrictions"; cutin "",255; close; } else if (Zeny < .coin_to_zeny[.@coin_choice] * .@amount) { mes .colors$[2] + "I'm sorry, you do not have enough zeny..."; cutin "",255; close; } else { // Checks OK! Let's trade! set Zeny, Zeny - (.coin_to_zeny[.@coin_choice] * .@amount); getitem .coin_id[.@coin_choice], .@amount; cutin "",255; } } mes "[" + .colors$[1] + .npc_name$ + .colors$[0] + "]"; mes "Pleasure doing business with you."; close2; cutin "", 255; close; L_FullZeny: next; mes "[" + .colors$[1] + .npc_name$ + .colors$[0] + "]"; mes "I'm sorry, but I can't allow you to exchange Coins into Zeny when you have over 1.8b zeny."; close; // ---------------------- // - Soft Code // ---------------------- OnInit: // Store NPC Name set .npc_name$, "Coin Master"; // Storing Colours // Order of Array: Default Text, NPC Name, Error, coin_type1, coin_type2, coin_type3, coin_type4, etc... // Note: If you plan on adding additional coins, simply add a new color here setarray .colors$[0],"^000000", "^336699", "^550000", "^996633", "^666666", "^FFFF66", "^99CCCC"; // Set Coin Item ID's // In Order coin_id1, coin_id2, coin_id3, coin_id4, etc... setarray .coin_id[0],674, 671, 675, 670; // Coin -> Zeny Value // Change the Value you want the coins to be worth | Order: Mithril Coin, Gold Coin, Silver Coin, Bag of Gold Coin setarray .coin_to_zeny[0],1000000,10000000,200000000,1000000000; // Currency Formatted String of Zeny | Order: Bronze Coin, Gold Coin, Platinum Coin, Mithril Coin setarray .coin_to_zeny_format$[0],"1,000,000","10,000,000","200,000,000","1,000,000,000"; }1 point
-
Download the translated package from here: https://github.com/zackdreaver/ROenglishRE1 point
-
1 point
-
You can check rAthena officially supported clients list here I've tested 2016-12-28 so far its working fine,1 point
-
I think it is. Just a combination of logics between OnPCLoadMapEvent, OnPCStatCalcEvent and Strcharinfo. Or if you're into it, manually do it via database onequip script. //edit You can also create a mapflag and a new script event like OnPCEquipEvent via source modding1 point
-
I was thinking about it and someone might be exploiting the npc by dropping or storing the items in the middle of the transaction... Try this instead. prontera,101,101,5 script exchange_test 100,{ getinventorylist; .@len = @inventorylist_count; copyarray .@inv_list[0], @inventorylist_id[0], .@len; setarray .@items, 501, 502, 503; setarray .@exchange, 504, 506, 507; .@l_2 = getarraysize(.@items); .@l_3 = getarraysize(.@exchange); for( .@a = 0; .@a < .@len; .@a++ ) { for( .@b = 0; .@b < .@l_2; .@b++ ) if( .@inv_list[.@a] == .@items[.@b] ) .@selection$ = .@selection$ + getitemname(.@inv_list[.@a]) + ":"; .@selection$ = .@selection$ + ":"; } mes "Pick from the items you'd like to exchange."; .@menu = select(.@selection$)-1; mes "You've selected "+getitemname(.@inv_list[.@menu])+". What would you like to exchange it with?"; for( .@a = 0; .@a < .@l_3; .@a++ ) .@s_2$[getarraysize(.@s_2$)] = getitemname(.@exchange[.@a]); .@s_3$ = implode( .@s_2$, ":" ); .@menu2 = select(.@s_3$)-1; if( countitem(.@inv_list[.@menu]) >= 1 ) { delitem .@inv_list[.@menu], 1; getitem .@exchange[.@menu2], 1; } else mes "Something went wrong."; close; }1 point