-
Posts
765 -
Joined
-
Last visited
-
Days Won
19
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Playtester
-
-
You can't show crit on multi-hits. The client doesn't support it.
-
No, just look how it's done with other skills if you want to add skills here. Or remove the check for multi hit if you want it to work with multi hit.
-
Well show me what code you put for the other status changes and I can tell you what's wrong.
-
Well if you want to do it properly and only want to change the duration and nothing else, then you have to do the math.
How much % reduction should each point in LUK give so that at 320 LUK, you have 100% resist?
100%/320 = 0.3125%
Unfortunately that's an odd number the program can't properly work with in its current state. You could give 0.31% reduction per LUK, then at 320 LUK you'd have 320*0.31% = 99.2% reduction.
So for example for freeze, you could put something like:
case SC_FREEZE: sc_def = status->mdef*100; sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10; tick_def = status->luk*31; tick_def2 = 0; break;See the luk*31? There I define that each point in LUK should reduce the duration by 0.31%.
Keep in mind that MDEF will now only reduce the chance but not the duration anymore.
-
1
-
-
Some weapon types are unbreakable. Did you test with sword?
-
Do you run the server right from visual studio? Or you double click on the executables?
-
Sounds like MAX_LEVEL is still 175. Might be an issue with how you compile, but it's hard for me to see what's wrong.
For starters, try to change the error message and see if it actually changes your output, e.g.:
ShowError("pc_readdb_job_exp: Invalid maxlevel %d specified. MAX_LEVEL=%d\n", maxlvl, MAX_LEVEL);Then, when you start it and the error message is still the same, then you know that it didn't actually recompile your sources at all.
-
Can't find an error on first look, try to debug in pc.c:
maxlvl = atoi(fields[0]); if(maxlvl > MAX_LEVEL || maxlvl<1){ ShowError("pc_readdb_job_exp: Invalid maxlevel %d specified.\n", maxlvl); return false; }As you can see, it just reads the first column in the file (255) then compared it with MAX_LEVEL. So it seems "maxlvl > MAX_LEVEL" is true. The only reason for that can be that MAX_LEVEL is not set to 255.
-
I'm using TortoiseGit so I can just click on the corresponding buttons.

-
I can't give you a full solution, but the function you are looking for is:
int status_damage(struct block_list *src,struct block_list *target,int64 dhp, int64 dsp, int walkdelay, int flag)All damage goes through here and you have "src" available. So you can check if src is BL_PC and then do something.
The cleanest solution would probably be to add a new status change that lasts very long but gets dispelled on map change.
-
1
-
-
Well if he means no trans with 99/50 then you have to manually do that.
Easiest is probably to disable the rebirth quest.
-
I only know how to do it with visual studio.
You can always just run a test server on your local computer.
-
You did not actually react to anything I said... the code I quoted is somewhere else. Debug it and answer my question or I can't help you.
-
I honestly don't understand that code part either (why axes, why swords?).
Anyway, you could debug here (just set a breakpoint, run server in debug, then log in and equip an item, then check the variables):
if(pos == EQP_ARMS && id->equip == EQP_HAND_R) { //Dual wield capable weapon. pos = (req_pos&EQP_ARMS); if (pos == EQP_ARMS) //User specified both slots, pick one for them. pos = sd->equip_index[EQI_HAND_R] >= 0 ? EQP_HAND_L : EQP_HAND_R; }Is pos "EQP_ARMS"? What is req_pos? What does pos get set to at the end?
-
Most of Sonic Blow's delay comes from its animation, so you'll need to cancel the animation to cast it faster. Or remove the animation completely.
-
No it happens on all PCs that use certain graphic cards. All NVidia GeForce cards from the past 5 years are affected for example.
-
1
-
-
A bit late, but the code you are looking for is in skill.c
case ASC_METEORASSAULT: //Any enemies hit by this skill will receive Stun, Darkness, or external bleeding status ailment with a 5%+5*skill_lv% chance. switch(rnd()%3) { case 0: sc_start(src,bl,SC_BLIND,(5+skill_lv*5),skill_lv,skill_get_time2(skill_id,1)); break; case 1: sc_start(src,bl,SC_STUN,(5+skill_lv*5),skill_lv,skill_get_time2(skill_id,2)); break; default: sc_start2(src,bl,SC_BLEEDING,(5+skill_lv*5),skill_lv,src->id,skill_get_time2(skill_id,3)); } break;If you change SC_STUN in general, it affects all skills, not only Meteor Assault.
You will need to replace sc_start with a status_change_start call with the corresponding parameters. With the "flag" parameter you can define that chance / duration cannot be reduced.
* @param flag: Value which determines what parts to calculate. See e_status_change_start_flags
-
Make sure you modify it in the /re/ folder rather than the /pre-re/ folder.
It should work for sure. If it doesn't for you, there must be an error in your modification. Make sure the class matches and the weapon type matches.
-
Isn't that normal renewal behavior? Stats increase weapon ATK in renewal.
-
I always start a second client to fix it in the first client then close the second client. But your solution seems even easier than this. It actually seems that taken over admin rights is what fixes it. You usually take over admin rights when starting RO but for some reason that isn't sufficient for it. You need to get admin rights while the client is already running.
-
This must be caused by some customization. You first need to find out which status change reduces LUK. Because in that screenshot above you applied at least two (Agi Up and Blessing). Try to apply them one-by-one to find the one that reduces LUK. After you found that out, you can check for it in status.c to see if there's anything that would make the status change reduce LUK.
If only the NPC reduces LUK but the buffs normally don't you also should post the NPC script part, because the error might be there (might add another SC that's invisible and reduces LUK).
-
Nah, Bowling Bash works in a way that it hits twice (hard-coded) because it works with collision code. If it only hits once it's either not default rAthena (which it actually isn't) or you are standing on the gutter line on which Bowling Bash doesn't hit twice.
Also note, that even if BB hits twice, you won't see it. The two damage numbers usually overlap.
-
There's a global setting for the amount in monster.conf as well, no need to change it in all spawn files.
// Rate of monsters on a map, 200 would be twice as many as normal. (Note 2) mob_count_rate: 100 -
Yes, that file contains all the delays. Keep in mind that +5 ASPD is equal to -50 delay. So if you change 700 to 650, that would be +5 ASPD. This is just the base ASPD though. If you have a buff that halves your delay, the bonus will also be halved. (130->165 would change to 135->167.5).
-
1
-

Ragnarok for Windows 98
in Off Topic
Posted
Maybe this helps: http://s13.invisionfree.com/Ragnarok_France_fRO/ar/t41.htm