Jump to content

Mikado

Members
  • Posts

    26
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Mikado

  1. [This message was originally aimed at @Tokei but his PM's are blocked 😞]

    Hello guys, I hope you can help me in this matter.

    I'm parsing an ACT file programatically using this as reference: https://github.com/rdw-archive/RagnarokFileFormats/blob/master/ACT.MD

    It works great for act files version 0x205 but it fails miserably for version 0x204 and below and there's no other documentation available out there. Can you perhaps pinpoint me in the right direction, what is not supported in lower versions or send me a more in depth reference?

    Thank you for you time.

  2. Hello, I diffed my .exe (the same version as this one) and while in yours the navigation NPC indications are in correct English, mine are in some weird korean chars.

     

    It's embedded in the client as with the same folders it shows different behaviour, could you share your WDGTranslateClientIntoEnglish plugin?

  3. Well, once again I answered myself but if it's useful for some other, great.

     

    Running basic tests with "-march=native", "-march=corei7", "-march=core2" and "-march=nocona" I've got to say default compiling flags are the best. Using any "-march" dropped the performance for about 20%.

  4. As an objetive point of view, Leeg's translations are far superior than the old Spanish ones. These were mixing some sort of hispanicized English, also, there were numeruous grammar mistakes.

     

    However, I think there are some mistakes in Leeg's one. For example:

     

    662: Debes alejarte como mínimo %d celdas de ese NPC.

     

    A more accurate translation could be:

     

    662: Debes estar al menos a %d celdas de distancia de cualquier NPC.

     

    But that's my opinion.

    • Upvote 2
  5. Compiling my server in a 64 bit environment with ./configure --enable-64bit the compilation goes ok (just a few warnings) but after some of my users enters it, the map disconnects and this message is displayed in the terminal:

     

    *** glibc detected *** ./map-server_sql: malloc(): memory corruption: 0x0000000005445f30 ***
    *** glibc detected *** ./map-server_sql: malloc(): memory corruption: 0x0000000005445f30 ***
     
    In 32 bit OS with a 32bit compilation the server is running perfectly.
     
    Coredump doesn't show anything. Is there any way I can check what's the problem?
  6. So, it's a bit tricky to explain but I'll do my best:

     

    Somewhere in the code, when a player cast a skill it sends that the player has actually casted that skill, thus sending it to the client to do the animation, show the title of the skill etc. Where is this? As I want to cut that off, the player does the skill internally (it does damage/misses or brokes weapon, etc, but the player will not see their char do that).

     

    Why? You'll ask. Because I want to send it in a different way: maybe with clif_skill_nodamage I will be able of showing that skill but without animation, just the title of the skill.

     

    Nevermind, I get something similar of what I wanted looking around in clif.c

  7. Hi all.

     

    I need to add a status change everytime a player is hit by a skill or a normal attack (that doesn't miss and does actual damage, even if it's bypassed through devotion). Under which function should I start this status change?

     

    Thanks in advance.

  8. Here is the output:

    Program terminated with signal 11, Segmentation fault.
    #0  0x0809d396 in clif_parse_TradeRequest (fd=0, sd=0x0) at clif.c:11173
    11173           if( battle_config.basic_skill_check && pc_checkskill(sd,NV_BASIC) < 1)

     

  9. Is any way I could delay some code? After I execute an instruction I want to execute another one in about 100ms (but leave the rest of the code go on).

     

    I guess I could use the add_timer function, but it looks a bit complicated as it needs a timerFunc variable.

  10. I've managed to do it using some SC_ as you suggested,  I'm using the sc_start() function to set the desired time, but I'm worried about the status clearing skills (no need to check it when relogging, as it will never be more than 0.7 seconds),

     

    I think a flag would be a better solution, but how can I set temporal flags?

  11. I guess you just need to add a bool define in 3 main skill function

    ( skill_castend_damage_id, skill_castend_nodamage_id, and skill_castend_pos2 )

     

    and if bool = true then '' return 0; '' before run anything.

     

    Hmmm, I don't get why I should return 0. Could you be more precise? For now I've got a function present in those 3 functions, when the skill id is one of what I want to have a certain delay, I force it with skill_blockpc_start but that just works with one skill, while I want the cooldown to be present in every skill.

     

    This is an anti-nodelay "fix", so I want it to be the minimum cooldown (even with a poem of bragi and delay reductions). But as it only blocks one skill and doesn't cooldown the character itself it's a bad solution.

  12. What?! That's ridiculous O_o berserk will change player status, remove buffs and a lot of non sense things.

     

    skill_blockpc_start forces a cooldown on the character (with the cat footsprint on the desired skill) just like when you cast Storm Gust without "A poem of bragi", every skill is disabled for about 7 seconds <- that's what I want, the cat footsprint and a forced delay for a time.

  13. Hi all.

    Rathena (eathena) can perfectly compile under 64 bit with --enable-64bit, but does it gain any performance or is it worse than 32 bit? Is it really adapted for 64bit environments or it "just compiles"?

    Thank you.

  14. Both. I've tried with other variables like vending or active, it crashes always.

    Edit.

    I moved every check to party.c and now it works fine, HOWEVER.

    The party status is not updated (or incorrectly update) when:

    - People change maps

    - People logs in or logs out

    - Someone is invited and joins the party

    When changing maps (party.c):

    /// Invoked (from char-server) when a party member
    /// - changes maps
    /// - logs in or out
    /// - gains a level (disabled)
    int party_recv_movemap
    

    In this method I can only check the variable with "p->data.sd->state.partyview" but as it looks like a generic method It's a bit buggy.

×
×
  • Create New...