Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/18/22 in all areas

  1. This is going to be a blunt post. For some time now the rAthena staff have been actively working to reduce the number of reseller advertisements that crop up on our forums, our Discord server, Facebook, websites, etc. We strongly advise that rAthena users do not engage with resellers. The code/content isn’t theirs to sell. You receive little to no support. You are at risk of being scammed. You are not supporting the developers of their respective projects or original content creators. You are lining the pockets of thieves and scammers who have no idea what they’re doing. The original project authors begin to feel demotivated - this can cause them to stop working on this and upcoming projects altogether. The number of reports from our users who have been scammed has increased significantly over the last year. If you wish to hire the services of a known and trusted developer, please use https://rathena.org/board/thirdpartyservices/ - this list of members of our forum has been vetted and approved. This is a list of members who are not going to scam you. If you decide to give your money to some random idiot that claims to have “full working premade x, y, z” then that’s on you. We can’t stop you, but you’re certainly adding fuel to the fire and these idiots will continue to take advantage of other members of our community. If you receive a DM from anyone trying to sell content on rAthena’s Discord or forum and the person is not listed on the Third Party Services page, we suggest taking evidence and report the users to a member of staff. So, what should you do instead? Setting up rAthena and a working client is easy. You don’t need someone else to do it for you - that is not how you learn. Using any of the multitude of tutorials and wiki pages will help you get your rAthena server up and running. If you don’t do it yourself, you will not learn where the configurations are. You won’t learn how to modify an item/mob. You won’t know how to enable an NPC. If you’re now thinking “well, I don’t have time, that’s why I pay someone” then maybe running a game server is not for you. Reseller = Bad. Learning and Self-Betterment = Good. I’m hoping this post gets our point across loud and clear.
    4 points
  2. I run all 2021 clients just fine, same files, just a different msgstringtable.txt, but even without the correct one it works, just displays "NO MSG" for certain lines Regards, Chris
    1 point
  3. Bards and dancers can use the "Compose" skill to play melody for everyone around them, and in addition a donation box is placed next to them, where other passing players can give zeny's to encourage the street musician to continue his work and feed your family! Musicians cannot open a songwriting area in the same view as each other, so it's your chance to grab the best spot to perform your musics!
    1 point
  4. Hello sir i think need to add this skill.cpp Find : case SL_ALCHEMIST: case SL_ASSASIN: case SL_BARDDANCER: case SL_BLACKSMITH: case SL_CRUSADER: case SL_HUNTER: case SL_KNIGHT: case SL_MONK: case SL_PRIEST: case SL_ROGUE: case SL_SAGE: case SL_SOULLINKER: case SL_STAR: case SL_SUPERNOVICE: case SL_WIZARD: if (sd && tsc && (tsc->data[SC_SOULGOLEM] || tsc->data[SC_SOULSHADOW] || tsc->data[SC_SOULFALCON] || tsc->data[SC_SOULFAIRY])) { // Soul links from Soul Linker and Soul Reaper skills don't stack. clif_skill_fail(sd, skill_id, USESKILL_FAIL,0); break; } //NOTE: here, 'type' has the value of the associated MAPID, not of the SC_SPIRIT constant. if (sd && dstsd && !((dstsd->class_&MAPID_UPPERMASK) == type)) { clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } Add : case SL_ALCHEMIST: case SL_ASSASIN: case SL_BARDDANCER: case SL_BLACKSMITH: case SL_CRUSADER: case SL_HUNTER: case SL_KNIGHT: case SL_MONK: case SL_PRIEST: case SL_ROGUE: case SL_SAGE: case SL_SOULLINKER: case SL_STAR: case SL_SUPERNOVICE: case SL_WIZARD: + case SL_GUNNER: + case SL_NINJA: if (sd && tsc && (tsc->data[SC_SOULGOLEM] || tsc->data[SC_SOULSHADOW] || tsc->data[SC_SOULFALCON] || tsc->data[SC_SOULFAIRY])) { // Soul links from Soul Linker and Soul Reaper skills don't stack. clif_skill_fail(sd, skill_id, USESKILL_FAIL,0); break; } //NOTE: here, 'type' has the value of the associated MAPID, not of the SC_SPIRIT constant. if (sd && dstsd && !((dstsd->class_&MAPID_UPPERMASK) == type)) { clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } status.cpp Find : /* Storing the target job rather than simply SC_SPIRIT simplifies code later on */ SkillStatusChangeTable[skill_get_index(SL_ALCHEMIST)] = (sc_type)MAPID_ALCHEMIST, SkillStatusChangeTable[skill_get_index(SL_MONK)] = (sc_type)MAPID_MONK, SkillStatusChangeTable[skill_get_index(SL_STAR)] = (sc_type)MAPID_STAR_GLADIATOR, SkillStatusChangeTable[skill_get_index(SL_SAGE)] = (sc_type)MAPID_SAGE, SkillStatusChangeTable[skill_get_index(SL_CRUSADER)] = (sc_type)MAPID_CRUSADER, SkillStatusChangeTable[skill_get_index(SL_SUPERNOVICE)] = (sc_type)MAPID_SUPER_NOVICE, SkillStatusChangeTable[skill_get_index(SL_KNIGHT)] = (sc_type)MAPID_KNIGHT, SkillStatusChangeTable[skill_get_index(SL_WIZARD)] = (sc_type)MAPID_WIZARD, SkillStatusChangeTable[skill_get_index(SL_PRIEST)] = (sc_type)MAPID_PRIEST, SkillStatusChangeTable[skill_get_index(SL_BARDDANCER)] = (sc_type)MAPID_BARDDANCER, SkillStatusChangeTable[skill_get_index(SL_ROGUE)] = (sc_type)MAPID_ROGUE, SkillStatusChangeTable[skill_get_index(SL_ASSASIN)] = (sc_type)MAPID_ASSASSIN, SkillStatusChangeTable[skill_get_index(SL_BLACKSMITH)] = (sc_type)MAPID_BLACKSMITH, SkillStatusChangeTable[skill_get_index(SL_HUNTER)] = (sc_type)MAPID_HUNTER, SkillStatusChangeTable[skill_get_index(SL_SOULLINKER)] = (sc_type)MAPID_SOUL_LINKER, add : /* Storing the target job rather than simply SC_SPIRIT simplifies code later on */ SkillStatusChangeTable[skill_get_index(SL_ALCHEMIST)] = (sc_type)MAPID_ALCHEMIST, SkillStatusChangeTable[skill_get_index(SL_MONK)] = (sc_type)MAPID_MONK, SkillStatusChangeTable[skill_get_index(SL_STAR)] = (sc_type)MAPID_STAR_GLADIATOR, SkillStatusChangeTable[skill_get_index(SL_SAGE)] = (sc_type)MAPID_SAGE, SkillStatusChangeTable[skill_get_index(SL_CRUSADER)] = (sc_type)MAPID_CRUSADER, SkillStatusChangeTable[skill_get_index(SL_SUPERNOVICE)] = (sc_type)MAPID_SUPER_NOVICE, SkillStatusChangeTable[skill_get_index(SL_KNIGHT)] = (sc_type)MAPID_KNIGHT, SkillStatusChangeTable[skill_get_index(SL_WIZARD)] = (sc_type)MAPID_WIZARD, SkillStatusChangeTable[skill_get_index(SL_PRIEST)] = (sc_type)MAPID_PRIEST, SkillStatusChangeTable[skill_get_index(SL_BARDDANCER)] = (sc_type)MAPID_BARDDANCER, SkillStatusChangeTable[skill_get_index(SL_ROGUE)] = (sc_type)MAPID_ROGUE, SkillStatusChangeTable[skill_get_index(SL_ASSASIN)] = (sc_type)MAPID_ASSASSIN, SkillStatusChangeTable[skill_get_index(SL_BLACKSMITH)] = (sc_type)MAPID_BLACKSMITH, SkillStatusChangeTable[skill_get_index(SL_HUNTER)] = (sc_type)MAPID_HUNTER, SkillStatusChangeTable[skill_get_index(SL_SOULLINKER)] = (sc_type)MAPID_SOUL_LINKER, + SkillStatusChangeTable[skill_get_index(SL_GUNNER)] = (sc_type)MAPID_GUNSLINGER, + SkillStatusChangeTable[skill_get_index(SL_NINJA)] = (sc_type)MAPID_NINJA, restart your server then recompile i hope it helps ?
    1 point
  5. That error appears when the lua file's content is messed up, like at manually updating it. Replace the whole file. Another problem might be if you are using encoded .lub files instead of decoded ones. Also NEMO patch for RecommendedQuestInfoList and OnGoingQuestInfoList don't accept the .lub extension. Look at my signtature, there you have a whole Renewal Translation Project.
    1 point
  6. Ive got the same problem when I used this ... I hope my response is not too late ... I managed to fixed it by changing OnPCLoginEvent: /////////////////////////////////////////////////////////////////////////////// // Informs whether the Account protection system is active /////////////////////////////////////////////////////////////////////////////// dispbottom "[Account Protection]"; if(#BLOCKPASS){ dispbottom "Security System Enable: Use @"+.comando$+" For more information."; } else { dispbottom "Security System Disable: Use @"+.comando$+" For more information."; } end; to this one : OnPCLoginEvent: /////////////////////////////////////////////////////////////////////////////// // Informs whether the Account protection system is active /////////////////////////////////////////////////////////////////////////////// dispbottom "[Account Protection]"; if(#BLOCKPASS){ dispbottom "Security System Enable: Use @"+.comando$+" For more information."; block 1; } else { dispbottom "Security System Disable: Use @"+.comando$+" For more information."; block 0; } end;
    1 point
×
×
  • Create New...