Jump to content
  • Featured Topics

  • Latest Commits

  • Topics

  • Posts

    • Here is a topic that describes how Horizon stands out as an emulator and how it really works internally, giving it the wings it needs to provide a large player base. Have a read on it -  https://projecthorizon.xyz/index.php?/topic/580-how-horizon-works-under-the-hood/#comment-583
    • Hi, i was left from RO long time ago and now i want to run my offline server, but several code is outdate, can someone fix code for me here is new herc:   for (int i = 0; i < MAX_PARTY; i++) { if ((p_sd = p->data[i].sd) == NULL || p_sd->status.party_id != p_id || pc_isdead(p_sd)) continue; if (p->party.member[i].online == 0 || (!include_leader && p->party.member[i].leader == 1)) continue; if (m_name_from != NULL && strcmp(m_name_from, map->list[p_sd->bl.m].name) != 0) continue; if (!ignore_mapflags) { if (((type == 0 || type > 2) && map->list[p_sd->bl.m].flag.nowarp == 1) || (type > 0 && map->list[p_sd->bl.m].flag.noreturn == 1)) continue; } if (type == 1) { map_index = p_sd->status.save_point.map; x = p_sd->status.save_point.x; y = p_sd->status.save_point.y; } if (type > 0) if(pc_isdead(p_sd)) status->revive(&p_sd->bl, 1, 1); //and this line is what i want to add but seems not compatible pc->setpos(p_sd, map_index, x, y, CLR_TELEPORT); //else //pc->randomwarp(p_sd, CLR_TELEPORT); // this is original updated from herc } script_pushint(st, 1); return true; }     and this is old herc   for (i = 0; i < MAX_PARTY; i++) { if( !(pl_sd = p->data[i].sd) || pl_sd->status.party_id != p_id ) continue; if( str2 && strcmp(str2, map->list[pl_sd->bl.m].name) != 0 ) continue; if( pc_isdead(pl_sd) ) continue; switch( type ) { case 0: // Random if(!map->list[pl_sd->bl.m].flag.nowarp) pc->randomwarp(pl_sd,CLR_TELEPORT); break; case 1: // SavePointAll if(!map->list[pl_sd->bl.m].flag.noreturn) pc->setpos(pl_sd,pl_sd->status.save_point.map,pl_sd->status.save_point.x,pl_sd->status.save_point.y,CLR_TELEPORT); break; case 2: // SavePoint if(!map->list[pl_sd->bl.m].flag.noreturn) pc->setpos(pl_sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); break; case 3: // Leader case 4: // m,x,y //if(!map->list[pl_sd->bl.m].flag.noreturn && !map->list[pl_sd->bl.m].flag.nowarp) if(pc_isdead(pl_sd)) status->revive(&pl_sd->bl, 1, 1); //i want to make this line compatible to newest herc pc->setpos(pl_sd,map_index,x,y,CLR_TELEPORT); break; } } return true; } any help is appreciated
    • I am currently facing a significant issue on my server, which involves both rogue and stalkers with skill Plagiarism. Example: The problem arises when a Stalker with a level 10 Double Strafe skill plagiarizes a level 5 Double Strafe skill. The level 5 skill replaces the original level 10 skill. However, the copied skill does not appear in the appropriate tab. Furthermore, if the Stalker undergoes a skill reset or plagiarizes another skill, the Double Strafe skill completely disappears, resetting to level 0 and causing the Stalker to lose skill points. It's important to note that there are no modifications made to this section of the script. Here is the relevant part of the script for reference: int cidx, idx, lv = 0; cidx = skill->get_index(copy_skill); switch(can_copy(tsd, copy_skill)) { case 1: // Plagiarism { if (tsd->cloneskill_id) { idx = skill->get_index(tsd->cloneskill_id); if (tsd->status.skill[idx].flag == SKILL_FLAG_PLAGIARIZED) { tsd->status.skill[idx].id = 0; tsd->status.skill[idx].lv = 0; tsd->status.skill[idx].flag = 0; clif->deleteskill(tsd, tsd->cloneskill_id); } } lv = min(skill_lv, pc->checkskill(tsd, RG_PLAGIARISM)); tsd->cloneskill_id = copy_skill; pc_setglobalreg(tsd, script->add_variable("CLONE_SKILL"), copy_skill); pc_setglobalreg(tsd, script->add_variable("CLONE_SKILL_LV"), lv); tsd->status.skill[cidx].id = copy_skill; tsd->status.skill[cidx].lv = lv; tsd->status.skill[cidx].flag = SKILL_FLAG_PLAGIARIZED; clif->addskill(tsd, copy_skill); } Do you have any suggestions or potential solutions for this issue? I am willing to compensate anyone who can provide a fix for it.
    • Hercules doesn't have a "episode changer" nor an exact running episode. RO itself doesn't follow a straight line of updates around the world, as each server got different content at different times. We follow kRO, kind of.   If you are in pre-re, you are likely around 13.2, the latest episode before renewal, and you likely have most content (at least as far as I know).   For renewal, there isn't a specific episode, we are missing some stuff of pretty much every renewal episode. Like, we have Rebellion (which is from 15.x) but we don't have faceworm instance which if from 14.x.   If you check this filter in GitHub for example, you can see a few episodes and their missing/implemented content: https://github.com/HerculesWS/Hercules/issues?q=is%3Aissue+is%3Aopen+episode  
  • Download Statistics

    • Files
    • Comments
    • Reviews

    Latest File
    By DaviLord

    291    0

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.