Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/17/20 in all areas

  1. Probably not xD Anyways, I am working on development of a new patcher as a successor to the original aka NEMO. Initially, I was planning to just release the source for NEMO but is quite outdated. So I decided to just start off fresh utilizing concepts from the original along with new ideas (Already have some implemented, which I will explain later) Also this time, I will be keeping it open source. I will publish to Github once there is a solid foundation. I am building it using the latest version of Qt (5.15) and utilizing QML for creating the GUI. I want to give it a more modern appearance, however, I am a "novice" on this front. So I am inviting suggestions for the UI from the talented individuals here.
    2 points
  2. roCORD for rAthena Hey everyone, I am currently working on a Discord bot which allows interaction between a Discord server and an in game channel. Support for Version 1 is now dropped! Version 2 can be found under this link -> https://github.com/Normynator/roCORD/tree/development Documentation about installation and configuration can be found here -> https://github.com/Normynator/roCORD/tree/development/docs More updates on Version 2 will follow.
    1 point
  3. View File FluxCP Theme:[FREE] [RESPONSIVE] Hurt Free Theme 2nd FluxCP Responsive Theme base on Bulma.io This fluxCP only compatible with rAthena FluxCP = https://github.com/rathena/FluxCP DEMO LINK HERE >>> CLICK HERE <<< [ WHEN VISITING THE LINK PLEASE CHANGE THE THEME TO = hurtFreeV2 = FOR THIS THEME ] you can login the page using this:- admin:- username = test password = test normal user:- username = test password = test Come with Easy config ./themes/hurtFreeV2/config/hurtsky_settings.php 'yourServerName' => 'Hurtsky', //this name maybe will be use on top and footer 'newsTitleLimit' => 10, //this will limit character/letter in title of RSS 'newsContentLimit' => 100, //this will limit character/letter in content of RSS 'enableSocialNetworkLink' => true, //disable this will remove the get connected section 'enableFacebookIcon' => true, 'facebookLink' => 'https://hurtsky.com/fluxcp', 'enableDiscordIcon' => true, 'discordInviteLink' => 'https://hurtsky.com/fluxcp', 'enableTwitterIcon' => true, 'twitterLink' => 'https://hurtsky.com/fluxcp', 'footerCopyrightTrademarkLable' => 'All trademarks referenced herein are the properties of their respective owners', 'footerCopyrightInitialDate' => 2017, How to install: 1. place the folder under ./theme/ 2. open file ./config/application.php 3. change 'ThemeName' => array('default','bootstrap'), to 'ThemeName' => array('hurtFreeV2'), 4. for WOE status, you need to import this SQL file to database = woe_status.sql 5. also add this NPC script to your emulator = woe_status.txt 6. done THIS FREE THEME PROVIDED AS IT NO SUPPORT COME WITH IT USE IT AT YOUR OWN RISK Submitter Hurtsky Submitted 09/03/2018 Category Fully Coded Themes Video Content Author hurtsky  
    1 point
  4. This is "Barter" / "Expanded barter" type shop, it is not implanted yet in rathena. https://github.com/rathena/rathena/issues/5062
    1 point
  5. Update all yours old emotions for new const following this list: ('E_GASP', 'ET_SURPRISE'), ('E_WHAT', 'ET_QUESTION'), ('E_HO', 'ET_DELIGHT'), ('E_LV', 'ET_THROB'), ('E_SWT', 'ET_SWEAT'), ('E_IC', 'ET_AHA'), ('E_AN', 'ET_FRET'), ('E_AG', 'ET_ANGER'), ('E_CASH', 'ET_MONEY'), ('E_DOTS', 'ET_THINK'), ('E_SCISSORS', 'ET_SCISSOR'), ('E_ROCK', 'ET_ROCK'), ('E_PAPER', 'ET_WRAP'), ('E_KOREA', 'ET_FLAG'), ('E_LV2', 'ET_BIGTHROB'), ('E_THX', 'ET_THANKS'), ('E_WAH', 'ET_KEK'), ('E_SRY', 'ET_SORRY'), ('E_HEH', 'ET_SMILE'), ('E_SWT2', 'ET_PROFUSELY_SWEAT'), ('E_HMM', 'ET_SCRATCH'), ('E_NO1', 'ET_BEST'), ('E_NO', 'ET_STARE_ABOUT'), ('E_OMG', 'ET_HUK'), ('E_OH', 'ET_O'), ('E_X', 'ET_X'), ('E_HLP', 'ET_HELP'), ('E_GO', 'ET_GO'), ('E_SOB', 'ET_CRY'), ('E_GG', 'ET_KIK'), ('E_KIS', 'ET_CHUP'), ('E_KIS2', 'ET_CHUPCHUP'), ('E_PIF', 'ET_HNG'), ('E_OK', 'ET_OK'), ('E_MUTE', 'ET_CHAT_PROHIBIT'), ('E_INDONESIA', 'ET_INDONESIA_FLAG'), ('E_BZZ', 'ET_STARE'), ('E_RICE', 'ET_HUNGRY'), ('E_AWSM', 'ET_COOL'), ('E_MEH', 'ET_MERONG'), ('E_SHY', 'ET_SHY'), ('E_PAT', 'ET_GOODBOY'), ('E_MP', 'ET_SPTIME'), ('E_SLUR', 'ET_SEXY'), ('E_COM', 'ET_COMEON'), ('E_YAWN', 'ET_SLEEPY'), ('E_GRAT', 'ET_CONGRATULATION'), ('E_HP', 'ET_HPTIME'), ('E_PHILIPPINES', 'ET_PH_FLAG'), ('E_MALAYSIA', 'ET_MY_FLAG'), ('E_SINGAPORE', 'ET_SI_FLAG'), ('E_BRAZIL', 'ET_BR_FLAG'), ('E_FLASH', 'ET_SPARK'), ('E_SPIN', 'ET_CONFUSE'), ('E_SIGH', 'ET_OHNO'), ('E_DUM', 'ET_HUM'), ('E_LOUD', 'ET_BLABLA'), ('E_OTL', 'ET_OTL'), ('E_DICE1', 'ET_DICE1'), ('E_DICE2', 'ET_DICE2'), ('E_DICE3', 'ET_DICE3'), ('E_DICE4', 'ET_DICE4'), ('E_DICE5', 'ET_DICE5'), ('E_DICE6', 'ET_DICE6'), ('E_INDIA', 'ET_INDIA_FLAG'), ('E_LUV', 'ET_LUV'), ('E_RUSSIA', 'ET_FLAG8'), ('E_VIRGIN', 'ET_FLAG9'), ('E_MOBILE', 'ET_MOBILE'), ('E_MAIL', 'ET_MAIL'), ('E_CHINESE', 'ET_ANTENNA0'), ('E_ANTENNA1', 'ET_ANTENNA1'), ('E_ANTENNA2', 'ET_ANTENNA2'), ('E_ANTENNA3', 'ET_ANTENNA3'), ('E_HUM', 'ET_HUM2'), ('E_ABS', 'ET_ABS'), ('E_OOPS', 'ET_OOPS'), ('E_SPIT', 'ET_SPIT'), ('E_ENE', 'ET_ENE'), ('E_PANIC', 'ET_PANIC'), ('E_WHISP', 'ET_WHISP'), ('E_YUT1', 'ET_YUT1'), ('E_YUT2', 'ET_YUT2'), ('E_YUT3', 'ET_YUT3'), ('E_YUT4', 'ET_YUT4'), ('E_YUT5', 'ET_YUT5'), ('E_YUT6', 'ET_YUT6'), ('E_YUT7', 'ET_YUT7') tool: https://github.com/rathena/rathena/blob/1c9506277c56fb0edf7f71966fe1365b3130536d/tools/convert_emotions.py PR: https://github.com/rathena/rathena/pull/2527
    1 point
  6. E_HO change to ET_DELIGHT E_NO1 change to ET_BEST
    1 point
  7. Neo is the creator of 'NemoDiff', I believe that the look he refers to is something for the interface of the new diff, not a patcher like Thor.
    1 point
  8. Sorry, I'm not familiar enough with client mods, so I don't really know how to do it. I just say that you modified the client to show cast range and thought you could configure it to show ground effects as well. It's honestly hard to tell from here, why it doesn't work. I could try again on my rAthena if I can reproduce it somehow, but last time I tried, spaming was possible and I also know rAthena based servers where it works. You probably will need to debug it on your machine directly using Visual Studio. Actually, in the current implementation it doesn't even use timerskill anymore, but I'm not sure if you have that. Let me guide you through the code so you can understand and debug it. In the current implementation, the placing of the meteor storm cells starts here (skill.c): case WZ_METEOR: case SU_CN_METEOR: { int area = skill_get_splash(skill_id, skill_lv); short tmpx = 0, tmpy = 0; if (sd && skill_id == SU_CN_METEOR) { short item_idx = pc_search_inventory(sd, ITEMID_CATNIP_FRUIT); if (item_idx >= 0) { pc_delitem(sd, item_idx, 1, 0, 1, LOG_TYPE_CONSUME); flag |= 1; } } for (i = 1; i <= skill_get_time(skill_id, skill_lv)/skill_get_unit_interval(skill_id); i++) { // Creates a random Cell in the Splash Area tmpx = x - area + rnd()%(area * 2 + 1); tmpy = y - area + rnd()%(area * 2 + 1); skill_unitsetting(src, skill_id, skill_lv, tmpx, tmpy, flag+i*skill_get_unit_interval(skill_id)); } } break; The number of meteor should be "time" define in skill_cast_db.txt (which you quoted early, so at level 9 which you are casting the video it should be 6000) divided by the interval you defined in skill_unit_db which should be 1000. So 6000/1000 = 6 meteor cells placed. Each cell will get a different timer as the Meteors will start at different times (but those don't even count as timerskills, so it doesn't add to the limit). case WZ_METEOR: case SU_CN_METEOR: limit = flag - (flag&1); val1 = (flag&1); flag = 0; // Flag should not influence anything else for these skills break; ^ Here we make sure that the values of the cell are set correctly. default: if (group->val2 == 1 && (group->skill_id == WZ_METEOR || group->skill_id == SU_CN_METEOR)) { // Deal damage before expiration break; } skill_delunit(unit); break; ^ This code ensure that Meteor Storm cells don't get removed before dealing damage. default: if (group->skill_id == WZ_METEOR || group->skill_id == SU_CN_METEOR) { if (group->val2 == 0 && (DIFF_TICK(tick, group->tick) >= group->limit - group->interval || DIFF_TICK(tick, group->tick) >= unit->limit - group->interval)) { // Unit will expire the next interval, start dropping Meteor struct block_list* src; if ((src = map_id2bl(group->src_id)) != NULL) { clif_skill_poseffect(src, group->skill_id, group->skill_lv, bl->x, bl->y, tick); group->val2 = 1; } } // No damage until expiration return 0; } break; ^ This code handles the display of the falling meteor which is 1 second before the cell expires. else if (group->skill_id == WZ_METEOR || group->skill_id == SU_CN_METEOR) { skill_delunit(unit); return 0; } ^ And here we finally delete it after they dealt damage. So, that's how it works in the current rAthena implementation. It doesn't show any error in the map server, right? Something like unit limit reached?
    1 point
×
×
  • Create New...