Jump to content

Playtester

Developer
  • Posts

    811
  • Joined

  • Last visited

  • Days Won

    22

Everything posted by Playtester

  1. Pretty sure it only activates on normal attacks. Also the skill was really exploitable when it was first implemented, but it was nerfed several times even before renewal was even added.
  2. You can just install MS SQL Server Express version which is free. Get SQL Management Studio too. Then you can import the database and access its data and do whatever you want with it. Just requires some SQL knowledge, but it's fairly similar to MySQL so if you know how to use one, you should manage to use the other.
  3. You see migration on google because that's how it's called. The conversion tools are really expensive though. Depending on why you want to do it, you might be cheaper off with other solutions (e.g. manual copying of values or exporting table data as CSV).
  4. I don't even know what you mean with full episode (client or server?), but nope, I don't have any Ragnarok Online files.
  5. Just comment the corresponding quests in npc/scripts_jobs.conf Commenting valkyrie.txt might already be sufficient, but it probably makes more sense to also comment expanded and transcendent stuff.
  6. case SC_STONE: sc_def = status->mdef*100; sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10; tick_def = status->luk*32; tick_def2 = 0; break; Are you sure it's always 15 seconds? I'd think it would be 5 seconds minimum because that's the incubation time. I don't really know of an easy way to reduce incubation time because that's skill-specific and works on timers. Would require quite some rewriting. But that second phase of stone where you can't move anymore should actually be over after 100ms if you have 320 LUK.
  7. Yes that should work. If it doesn't work for stun, then paste all the code you have between "case SC_STUN:" and "break;".
  8. I'm just search for the whole and prevent it from loading? Hmm... I guess you can find it all in this file: https://github.com/rathena/rathena/blob/master/npc/scripts_jobs.conf
  9. You didn't show me what code you put for the other status changes and I'm not going to write the full code for you. Just understand the changes I did to the code and apply the same changes to the other status changes.
  10. Then it's normal. In pre-renewal critical hits ignore defense and renewal monsters have too much DEF for pre-renewal, which results in crazy damage reduction. You need to recalculate renewal DEF and MDEF to pre-renewal DEF and MDEF. You can use this tool to calculate it quick: https://drive.google.com/open?id=0B1VapDGffCdPcTNjelh5TERVZ3M
  11. It's actually skill_cast_db.txt. I think the duration until explosion is defined in duration1.
  12. Well, if it's a new feature then you will need the client that supports it and capture all the packet data required.
  13. Maybe this helps: http://s13.invisionfree.com/Ragnarok_France_fRO/ar/t41.htm
  14. You can't show crit on multi-hits. The client doesn't support it.
  15. 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.
  16. Well show me what code you put for the other status changes and I can tell you what's wrong.
  17. 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.
  18. Some weapon types are unbreakable. Did you test with sword?
  19. Do you run the server right from visual studio? Or you double click on the executables?
  20. 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.
  21. 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.
  22. I'm using TortoiseGit so I can just click on the corresponding buttons.
  23. 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.
  24. Well if he means no trans with 99/50 then you have to manually do that. Easiest is probably to disable the rebirth quest.
×
×
  • Create New...