-
Content Count
355 -
Joined
-
Last visited
-
Days Won
13
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by pan
-
Sorry I had made some mistakes in my last snippets, they're correct now...
-
I don't think so, I've just searched Hercules' source and found nothing with any of those names...
-
It's on srcmapbattle.c case SR_EARTHSHAKER: if( tsc && (tsc->data[SC_HIDING] || tsc->data[SC_CLOAKING] || // [(Skill Level x 150) x (Caster Base Level / 100) + (Caster INT x 3)] % tsc->data[SC_CHASEWALK] || tsc->data[SC_CLOAKINGEXCEED] || tsc->data[SC__INVISIBILITY]) ){ skillratio += -100 + 150 * skill_lv; RE_LVL_DMOD(100); skillratio += status_get_int(src) * 3; }else{ //[(Skill Level x 50) x (Caster Base Level / 100) + (Caster INT x 2)] % skillratio += 50 * (skill_lv-2); RE_LVL_DMOD(100); skillratio += status_get_int(src) * 2; } break;
-
What's the purpose of those changes? It's difficult to know if they're right or wrong without knowing their purpose :x
-
Most of these changes are database related and the others could be made with a simple script, but as you requested in source support I'll post them as source modifications, except for those that can be made altering databases. Regarding those db changes: Open dbreskill_tree.conf and search for: SG_DEVIL: 10 SG_FRIEND: 3 SG_KNOWLEDGE: 10 SG_FUSION: { MaxLevel: 1 SG_KNOWLEDGE: 9 }Add just below it: WZ_VERMILION: 10 LK_PARRYING: 10If you want to add any pre-requisites just use the following format:skill_name: {MaxLevel: max_skill_lvlskill_name1: min_lvlskill_name2: min_lvl}Now open srcmapbattle.c and search for:if( src != target ) { // Don't reflect your own damage (Grand Cross)Add above it: if( target->type == BL_MOB && ( (pc->jobid2mapid(JOB_STAR_GLADIATOR)) == ((TBL_PC*)src)->class_ || (pc->jobid2mapid(JOB_STAR_GLADIATOR2)) == ((TBL_PC*)src)->class_) && (((TBL_MOB*)target)->state.boss || ((TBL_MOB*)target)->db->status.def_ele == ELE_HOLY) ) wd.damage += wd.damage; // 100% damage bonusNow open srcmapstatus.c and search for: for(i=0;i<(int)sd->status.job_level && i<MAX_LEVEL;i++){ if(!status->job_bonus[index][i]) continue; switch(status->job_bonus[index][i]) { case 1: bstatus->str++; break; case 2: bstatus->agi++; break; case 3: bstatus->vit++; break; case 4: bstatus->int_++; break; case 5: bstatus->dex++; break; case 6: bstatus->luk++; break; } }Add below it: if( index == JOB_STAR_GLADIATOR || index == JOB_STAR_GLADIATOR2 ) bstatus->flee2 += 10;Save and build and it should work c: Happy holidays @EDIT Tested mods in-game now they're working
-
I'm not getting this warning, I'm building using VCpp. Try updating and if it's not gone you should report this warning in Hercules' bug tracker http://herc.ws/board/tracker/. But don't worry it's not serious, you can use your server normally c:
-
It's not going to work, there're some errors in this snippet so I've made some changes and it's working now.. I have no idea why but SC_SPIRIT in Hercules' code is referred as SC_SOULLINK. Just change in your mod this: if(require.weapon && !(pc_check_weapontype(sd,require.weapon) || (skill == LK_PARRYING && sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_KNIGHT && sd->status.weapon == W_1HSWORD)) ){to:if(require.weapon && !(pc_check_weapontype(sd,require.weapon) || (skill_id == LK_PARRYING && sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_KNIGHT && sd->status.weapon == W_1HSWORD)) ){And it should work, don't forget to add that other mod c:
-
It's very simple to use any plugin in Hercules, extract balarm.7z and put its contents in your plugins folder. Now open conf/plugins.conf you'll see something like: plugins_list: [ /* Enable HPMHooking when plugins in use rely on Hooking */ //"HPMHooking", //"db2sql", //"sample", //"other",]Add just below "//"other,":"balarm",Now download balarm's sourcefile http://pastebin.com/TFS0GCDs and save it as balarm.c in /src/plugin
-
You can increase the length of character and npc names just changing macros in Hercules' src, but, if I'm not mistaken, the client won't show any extra characters as they are hard coded.
-
I tested it and it was working, Hercules' is constantly changing as ossi0110 said you should update your server to the latest revision and then try to add this plugin to your server... Or you could add it manually, like any atcommand.
-
Well, probably those errors that have happened are because some functions are called differently in Hercules, because its plugin module changed them, in short time using Hercules' source you'll get used to it, or you could just ask for ports in Source Request session c:
-
When you're building those errors are recorded in your compiler log, well I modified it a little bit but I haven't tested in-game, I hope it works http://pastebin.com/NNkJL21J
-
Just checked it, it is permanent, only "bonus" isn't
-
Reproduce, Preserve, Plagiarism and Shadow Spell
pan replied to PunkBuster's question in Source Support
Open srcmapskill.c and search for: // High-class skills if(/*(skill_id >= LK_AURABLADE && skill_id <= ASC_CDP) ||*/ (skill_id >= ST_PRESERVE && skill_id <= CR_CULTIVATION)) { if(battle_config.copyskill_restrict == 2) return 0; else if(battle_config.copyskill_restrict) return (sd->status.class_ == JOB_STALKER); }Replace it with:/* // High-class skills if((skill_id >= LK_AURABLADE && skill_id <= ASC_CDP) || (skill_id >= ST_PRESERVE && skill_id <= CR_CULTIVATION)) { if(battle_config.copyskill_restrict == 2) return 0; else if(battle_config.copyskill_restrict) return (sd->status.class_ == JOB_STALKER); }*/Try and see if that works c: -
Well, according to Hercules' source-code after using Body Relocation you need only to wait 2s to use Asura Strike, you could alter that as well. Open srcmapskill.c and search for: skill->blockpc_start (sd, MO_EXTREMITYFIST, 2000);Change it to:skill->blockpc_start (sd, MO_EXTREMITYFIST, 3000);Search for: case SR_KNUCKLEARROW: if( !map_flag_gvg2(src->m) && !map->list[src->m].flag.battleground && unit->movepos(src, bl->x, bl->y, 1, 1) ) { clif->slide(src,bl->x,bl->y); clif->fixpos(src); // Aegis send this packet too. } if( flag&1 ) skill->attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag|SD_LEVEL); else skill->addtimerskill(src, tick + 300, bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag|SD_LEVEL|2);Add right below it, before 'break': if( sd ) skill->blockpc_start (sd, MO_EXTREMITYFIST, 3000);Done, save the file and build your map-server c:
-
It's on re/job_db1.txt or pre-re/job_db1.txt
-
Just alter skill_require_db.txt, search for those skills that you're going to change requirements and alter them c: // Structure of Database:// SkillID,HPCost,MaxHPTrigger,SPCost,HPRateCost,SPRateCost,ZenyCost,RequiredWeapons,RequiredAmmoTypes,RequiredAmmoAmount,RequiredState,SpiritSphereCost,RequiredItemID1,RequiredItemAmount1,RequiredItemID2,RequiredItemAmount2,RequiredItemID3,RequiredItemAmount3,RequiredItemID4,RequiredItemAmount4,RequiredItemID5,RequiredItemAmount5,RequiredItemID6,RequiredItemAmount6,RequiredItemID7,RequiredItemAmount7,RequiredItemID8,RequiredItemAmount8,RequiredItemID9,RequiredItemAmount9,RequiredItemID10,RequiredItemAmount10
-
Reproduce, Preserve, Plagiarism and Shadow Spell
pan replied to PunkBuster's question in Source Support
I think some of the data that's used by shadow spell is from skill_reproduce_db, try adding trans skills there just to see if it works -
I found some things regarding ice pick's formula: http://db.irowiki.org/db/item-info/1230/ http://irowiki.org/wiki/Ice_Pick
-
Those clifs just signal that the status has started, I think that those "permanent" effects are signalised by the SI flag, but again, I'm not so sure of that c:
-
Reproduce, Preserve, Plagiarism and Shadow Spell
pan replied to PunkBuster's question in Source Support
@EDIT Oh, sorry I missed a spot, open srcmapclif.c and search for: sd->status.skill[i].id < GS_GLITTERING && skill->get_type(sd->status.skill[i].id) == BF_MAGIC )replace it with:/*sd->status.skill[i].id < GS_GLITTERING &&*/ skill->get_type(sd->status.skill[i].id) == BF_MAGIC )Now I think it will work c: I'll edit my other answer to include this snippet as well -
Open srcmapbattle.c and search for: clif->specialeffect(bl, 462, AREA);change it to://clif->specialeffect(bl, 462, AREA);Now open srcmapstatus.c, search for:set_sc( SL_KAUPE , SC_KAUPE , SI_KAUPE , SCB_NONE );set_sc( SL_KAITE , SC_KAITE , SI_KAITE , SCB_NONE );replace it with:set_sc( SL_KAUPE , SC_KAUPE , SI_BLANK , SCB_NONE );set_sc( SL_KAITE , SC_KAITE , SI_BLANK , SCB_NONE );Open srcmapskill.c and find:clif->specialeffect(bl, 438, AREA)change it to: //clif->specialeffect(bl, 438, AREA);I think this way there won't be any effects regarding those stati, but I'm not sure..
-
As it's not official, I don't think Hercules' team will port it... You could post instead in source mod requests asking to port it
-
GetMacAddress Need help about converting this diff into plugin.
pan replied to bleachftl's question in Plugin Requests
Also this diff is outdated, to apply those changes it would be needed to remake all those packets and all queries that are being made... -
Well I did it: Sourcefile is at:http://pastebin.com/TFS0GCDsRegardsbalarm.7z