-
Posts
765 -
Joined
-
Last visited
-
Days Won
19
Community Answers
-
Playtester's post in SKILL CASTING NOT AFFECTED BY DEX was marked as the answer
If you want to use pre-renewal you have to open renewal.h and uncomment the PRERE define.
https://github.com/rathena/rathena/blob/master/src/config/renewal.h
#define PRERE Don't forgot to recompile after that.
-
Playtester's post in Request item bonus was marked as the answer
It needs two parameters, though...
Read the documentation:
bonus2 bHPLossRate,n,t; Lose n HP every t milliseconds https://github.com/rathena/rathena/blob/master/doc/item_bonus.txt
Do you even want a regular HP loss? From what I understand you just want this:
bonus bMaxHP,400-50*(JobLevel/10);
-
Playtester's post in Visual Skill Problem Help was marked as the answer
You probably did some modifications to the source or DB that caused this because I doubt it's like this in default rAthena. At least the last time I tested Deluge and Land Protector it looked just fine.
What's your skill_unit_db?
285,0x9a, , 3, 0, -1,all, 0xA010 //SA_VOLCANO 286,0x9b, , 3, 0, -1,all, 0xA010 //SA_DELUGE 287,0x9c, , 3, 0, -1,all, 0xA010 //SA_VIOLENTGALE 288,0x9d, , 3:3:4:4:5,0, -1,all, 0xA010 //SA_LANDPROTECTOR
-
Playtester's post in PA_PRESSURE was marked as the answer
My mistake.
battle.c
if( ((d_tbl && check_distance_bl(target, d_tbl, sc->data[SC_DEVOTION]->val3)) || e_tbl) && damage > 0 && skill_id != PA_PRESSURE && skill_id != CR_REFLECTSHIELD ) damage = 0; skill.c
if (tsc && skill_id != PA_PRESSURE && skill_id != HW_GRAVITATION && skill_id != NPC_EVILLAND) { -
Playtester's post in Meteor Storm Meteors was marked as the answer
They are all independent already. Depending on where you stand only some meteors might hit you and others not.
-
Playtester's post in Limiting the damage skill was marked as the answer
You have to put the code further down at the end of function "battle_calc_weapon_attack".
Probably below "wd = battle_calc_weapon_final_atk_modifiers(wd, src, target, skill_id, skill_lv);".
Like...
if(skill_id == MC_MAMMONITE) wd.damage = cap_value(wd.damage, INT_MIN, 80000); -
Playtester's post in Gunslinger bug... was marked as the answer
Does he have a ranged weapon equipped?
-
Playtester's post in Monster Level was marked as the answer
Well first of all that rate 300 is pretty high. That's 300% more EXP each kill. That is quadruple EXP the first kill! Very abusable. I'd rather put something like 10-30.
Second, monsters level up to "max base level" of the PC they killed, so it depends what the max level is on your server.
You can change it by putting concrete number in pc.c:
if(battle_config.mobs_level_up && md->status.hp && (unsigned int)md->level < pc_maxbaselv(sd) && !md->guardian_data && !md->special_state.ai// Guardians/summons should not level. [Skotlex] ) { // monster level up [Valaris] clif_misceffect(&md->bl,0); md->level++; status_calc_mob(md, SCO_NONE); status_percent_heal(src,10,0); if( battle_config.show_mob_info&4 ) {// update name with new level clif_charnameack(0, &md->bl); } } Just replace "pc_maxbaselv(sd)" with whatever max level you want.
-
Playtester's post in Circular cell preventing the cast of a certain skill was marked as the answer
} else if( !battle_check_range(src, target, range) ) return 0; // Arrow-path check failed. Just change to that to:
} else if( !battle_check_range(src, target, range+1) ) return 0; // Arrow-path check failed. For now.
At least then you only change it in that one specific case instead of changing a general range function that's used everywhere.
Yes, it's not safe, it gives hackers one more skill range than other players, but I can't look into a better fix because the bug doesn't appear for me locally and nobody else that has this bug could look into why it even gets to that code part.
-
Playtester's post in GTB CARD STORM GUST was marked as the answer
How about this one:
bonus2 bSubSkill,sk,n; Reduces n% damage received from skill sk -
Playtester's post in Monster 'Mode' data was marked as the answer
Why would you get that result?
Go digit by digit:
First digit: 2 (0x200000) = 2
Second digit: 8 (0x080000) = 8
Third digit: 1 (0x001000) + 2 (0x002000) + 4 (0x004000) = 7
Fourth digit: 2 (0x000200) = 2
Fifth digit: 1 (0x000010) + 2 (0x000020) + 8 (0x000080) = 11 = B
Sixth digit: 1 (0x000001) = 1
-
Playtester's post in Cast Skill while AutoAttacking was marked as the answer
No, I meant like hackers do. A tool that can connects to the server and sends requests, pretending to be the client. Then you just need to know how a skill request looks like. I'm not too deep into that topic, but I know some people can do that.
-
Playtester's post in mobs Mobbing was marked as the answer
That's not a glitch, but official behavior.
But you can switch that off if you want. There are a bunch of config settings regarding this:
monster.conf
// How often should a monster rethink its chase? // 0: Every 100ms (MIN_MOBTHINKTIME) // 1: Every cell moved // 2: Every 2 cells moved // 3: Every 3 cells moved (official) // x: Every x cells moved // Regardless of this setting, a monster will always rethink its chase if it has // reached its target. Increase this value if you want to make monsters continue // moving after they lost their target (hide, no line of sight, etc.). monster_chase_refresh: 3 misc.conf
// Determines max number of characters that can stack within a single cell. // Official - Only affects the walking routines of characters, including monsters. // If a unit stops walking and is on a cell with more than stack limit // characters on it, it will walk to the closest free cell. // Set to 0 for no cell stacking checks and free movement. // Custom - This variation will make every full cell to be considered a wall. // NOTE: For the custom setting to take effect you have to use a server compiled // with Cell Stack Limit support (see src/map/map.h) official_cell_stack_limit: 1 custom_cell_stack_limit: 1 -
Playtester's post in Forging weapon success rate modify problem was marked as the answer
Maximum value is INT_MAX, so 900M should still be okay, but try to just put something like 10000 for now (100x) rate.
Then you can debug here:
} else { // Weapon Forging - skill bonuses are straight from kRO website, other things from a jRO calculator [DracoRPG] make_per = 5000 + ((sd->class_&JOBL_THIRD)?1400:sd->status.job_level*20) + status->dex*10 + status->luk*10; // Base make_per += pc_checkskill(sd,skill_id)*500; // Smithing skills bonus: +5/+10/+15 make_per += pc_checkskill(sd,BS_WEAPONRESEARCH)*100 +((wlv >= 3)? pc_checkskill(sd,BS_ORIDEOCON)*100:0); // Weaponry Research bonus: +1/+2/+3/+4/+5/+6/+7/+8/+9/+10, Oridecon Research bonus (custom): +1/+2/+3/+4/+5 make_per -= (ele?2000:0) + sc*1500 + (wlv>1?wlv*1000:0); // Element Stone: -20%, Star Crumb: -15% each, Weapon level malus: -0/-20/-30 if (pc_search_inventory(sd,ITEMID_EMPERIUM_ANVIL) > 0) make_per+= 1000; // Emperium Anvil: +10 else if (pc_search_inventory(sd,ITEMID_GOLDEN_ANVIL) > 0) make_per+= 500; // Golden Anvil: +5 else if (pc_search_inventory(sd,ITEMID_ORIDECON_ANVIL) > 0) make_per+= 300; // Oridecon Anvil: +3 else if (pc_search_inventory(sd,ITEMID_ANVIL) > 0) make_per+= 0; // Anvil: +0? if (battle_config.wp_rate != 100) make_per = make_per * battle_config.wp_rate / 100; } Here you can check what make_per is before wp_rate is applied and after.
-
Playtester's post in Offline server to Online server was marked as the answer
I won't give you a full guide but in general it's pretty easy:
1. Modify your router to forward the ports you use for RO to the computer you are using to run the server software on.
2. Make sure that computer has a fixed IP.
3. Set up IP and correct subnet in the conf files.
4. Tell your friends your external IP or give them an appropriate clientinfo.xml file.
5. ???
6. Profit
-
Playtester's post in Cast Sensor Flag Monster Not Sensing Cast was marked as the answer
Was a bug on rAthena, I've fixed it now.
https://github.com/rathena/rathena/commit/63e8fa0721ea8acf7a533517641a2f693e2e3a65
-
Playtester's post in Maximum Job/Base Level issues was marked as the answer
You need to either put the required exp values you want for levels above the official level or use the premade import file I prepared. After compile it should automatically be available in your import folder and look like this:
https://github.com/rathena/rathena/blob/master/db/import-tmpl/job_exp.txt
Follow the instruction at the top of the file.
-
Playtester's post in Reduce Grand Cross damage to self. was marked as the answer
Most of the skill's damage come from the cast cost, though.
https://github.com/rathena/rathena/blob/master/db/pre-re/skill_require_db.txt
// SkillID,HPCost,MaxHPTrigger,SPCost,HPRateCost,[...]
254,0,0,37:44:51:58:65:72:79:86:93:100,20,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //CR_GRANDCROSS
-
Playtester's post in How to fix bug idun & bragi 3minute was marked as the answer
If you mean the @duel exploit, the fix is here: https://github.com/rathena/rathena/commit/c6ed8a4f92a143eca9ddc1c2161f88c1db9f70f4
-
Playtester's post in Mob Conditions was marked as the answer
Yeah put the skill ID you want the monster to react to as value.
1087,Orc [email protected]_THUNDERSTORM,chase,21,20,10000,1500,5000,no,target,skillused,18,,,,,,, Like this means that Orc Hero will counter "Firewall" with the ranged skill "Thunder Storm".
-
Playtester's post in HELP skil_damage_db & asura strike damage cap was marked as the answer
Just don't use skill_damage_db then. It's harder to reorganize it to be applied first than it is to just put whatever damage code you want for your server in battle.c.
Basically you just want to half the damage for players but before you cap the damage, right?
So in battle.c:
case MO_EXTREMITYFIST: skillratio += 100 * (7 + sstatus->sp / 10); skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection break;Just change it to e.g.
case MO_EXTREMITYFIST: skillratio += 100 * (7 + sstatus->sp / 10); if (tsd) skillratio /= 2; //Half damage for players skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection break; -
Playtester's post in Unknown column was marked as the answer
From the error message I'd expect it to look in a table named "picklog" for the column.
Did you create the log tables with logs.sql?
https://github.com/rathena/rathena/blob/master/sql-files/logs.sql
If you already have those then you probably missed an upgrade. You actually need to execute all SQL files in the upgrades folder: https://github.com/rathena/rathena/tree/master/sql-files/upgrades
At least all that were added after you've created your database.
-
Playtester's post in db/pre-re/job_db1.txt HP factor and HP aliments doesn't effect my server was marked as the answer
Why so complicated?
Just go to src/config/core.h and comment the following line:
/// Uncomment to enable the job base HP/SP table (job_basehpsp_db.txt)
#define HP_SP_TABLES
Then it uses job_db1.txt instead of the tables.
-
Playtester's post in What is it? I never see this warning before... was marked as the answer
src/config/core.h
#define HP_SP_TABLES
