Jump to content

Cretino

Members
  • Posts

    50
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by Cretino

  1. Sorry for the late reply.

    Well, first of all, I'm not sure if I can help you like this, because this is really hard to explain and show examples of...in addition, I'm no expert on this topic. To find out about this matter, the good old trial and error, learning by doing method is probably the best. :P

    Anyway, what you could probably do is to use a hex editor to modify the application start jump address to execute your code first. I can only help you theoretically, because I obviously don't have the addresses of your application. I don't know how experienced you are with using hex editors and addresses, but you will need to calculate the distance for the jump. So this means you have to subtract the address of your code AND 5 bytes for a far JMP instruction from the target address.

    After you calculated the JMP instruction you have to insert it into the target application obviously. The problem is that you most likely will not be able to simply write your address into the application, because you will only have read-access. If I remember correctly you should be able to change the permissions with this function: http://msdn.microsof...a366898(v=vs.85).aspx

    So basically you have to modify the protection of the address space to WRITE, then insert the address and then change it back to READ.

    Note: All of this is very theoretical and is going to be a pain in the ass if you actually plan on doing it this way. I'm probably not the best person to help on this, but since none else is replying, blah...

    I might be able to supply a short code sample later, when I have some time to mess around with it at the evening.

    Cheers.

    A friend, I will see what to do here, if you can even post an example, I thank you, because I'm not very experienced in this area, but I want to learn and try.

  2. Yes, this is possible.

    However, an in-depth explanation is going to be tough as this is a quite advanced matter. You will have to mess around with DLL injections. (http://en.wikipedia....i/DLL_injection)

    I might as well point you to a code sample which was created by eAthena developer Ultramage: https://trac.netvor....der.cpp?rev=110 This piece of code modifies the import table of a process and then starts the process. There are some other ways of injecting code to an executable as well. Code can also be injected during run-time.

    Note: this example has nothing to do with the MAC address. It's only for injecting code.

    From what I understand, the command and example you sent, it injects a dll into an executable right?

    But what I want to do is add the DLL permanently.

    I even know how to add, but that's no good, I can have the command to get the MAC address in a DLL, I also think it's the place to add the dll into the executable, it would have to send out a packet with the MAC address picked up by the DLL, so it runs the executable, and when the user logs on.

    I know it's possible because I saw something on a forum, but it was not on MAC address.

    I also would have a change in logserver and / or charserver and / or mapserver.

    If someone else can I explain some of the procedures, I thank you.

    U probaly wan't to MAC ADRESS BAN PEOPLE.

    If it's, possible? Yes

    Anyone will do it for you? No

    And who says I want to ban MAC address?

    I asked for some time for someone to do something?

    See if you pay attention and read the right guy.

    I'm asking for help to find out where to put things and how to send and receive a packet.

    The rest is me.

  3. [i do not know if the topic is in the correct area, if not, ask a moderator to move to the correct location.]

    Hello, was wondering if this is possible,

    I wanted to create a dll with the command to get the MAC address and send to logserver and / or charserver and / or mapserver and add the dll on the client, so that every time you log in, send the information and MAC address.

    And if possible, ask someone who understands better, I explain how I do this process.

    Thank you for your attention,

    Cretino.

  4. @ Cretino?

    - is it ok to replace only one?..

    - im not going to replace others?

    [error on compiling]

    - can someone fix this?

    Have to replace all modified to handle this here:

    Open /src/map/battle.h

    Find:

    int bg_flee_penalty;
    

    Below add:

    int gm_monsterdrop_lv;
    

    Open /src/map/battle.c

    Find:

    { "bg_flee_penalty",                    &battle_config.bg_flee_penalty,                 20,     0,      INT_MAX,        },
    

    Below add:

    { "gm_monsterdrop_lv",                  &battle_config.gm_monsterdrop_lv,                0,     0,      99,        },
    

    Open /src/map/mob.c

    Scroll to or find the function mob_db

    Find:

    if(src && src->type == BL_MOB)
    	mob_unlocktarget((struct mob_data *)src,tick);
    

    Below add:

    if( (mvp_sd && pc_get_group_level(mvp_sd)) || (sd && pc_get_group_level(sd)) )
    {
    	if( mvp_sd && pc_get_group_level(mvp_sd) < battle_config.gm_monsterdrop_lv )
    		type |= 1;
    	else if( sd && pc_get_group_level(sd) < battle_config.gm_monsterdrop_lv )
    		type |= 1;
    }
    

    Open /conf/battle/gm.conf

    Find:

    // [GM] Can't be kicked from a chat? (No or mimimum GM level)
    gm_kick_chat: no
    

    Below add:

    // [GM] Minimum GM level to receive drops from monsters (0 = disabled.)
    gm_monsterdrop_lv: 40
    

  5. Introduction
    If your server has several GMs, it may be wise to disable monsters dropping items should they attack them. If you feel insecure about your GMs, it might be wise to implement this modification in order to limit how far they can use their GM abilities.
    GMs may be able to warp to dungeons and warp around to actively seek MvPs, or may be able to cast many skills with few limitations. The optimum idea would be to disable them from doing this completely, however it restricts the commands the GMs can use. Instead, we can set a limit on what level GMs must be in order to receive drops.
    Open /src/map/battle.h
    Find:
    int bg_flee_penalty;
    'Below add:
    int gm_monsterdrop_lv;
    Open /src/map/battle.c
    Find:
    { "bg_flee_penalty",					&battle_config.bg_flee_penalty,				 20,	 0,	  INT_MAX,		},
    Below add:
    { "gm_monsterdrop_lv",				  &battle_config.gm_monsterdrop_lv,				0,	 0,	  99,		},
    Open /src/map/mob.c
    Scroll to or find the function mob_db
    Find:
    if(src && src->type == BL_MOB)
     mob_unlocktarget((struct mob_data *)src,tick);
    Below add:
    if( (mvp_sd && pc_isGM(mvp_sd)) || (sd && pc_isGM(sd)) )
    {
     if( mvp_sd && pc_isGM(mvp_sd) < battle_config.gm_monsterdrop_lv )
      type |= 1;
     else if( sd && pc_isGM(sd) < battle_config.gm_monsterdrop_lv )
      type |= 1;
    }
    Open /conf/battle/gm.conf
    Find:
    // [GM] Can't be kicked from a chat? (No or mimimum GM level)
    gm_kick_chat: no
    Below add:
    // [GM] Minimum GM level to receive drops from monsters (0 = disabled.)
    gm_monsterdrop_lv: 40
    

    Original Post http://www.eathena.w...M_monster_drops

    - my problem is how can i enable it in rAthena?? with GM level as a Group ID???

    Only replace 'pc_isGM(sd)' by 'pc_get_group_level(sd)'.

    Not tested, but should work.

  6. I was wondering that, couldn't find a polite way of asking though. /tard

    No,this is notmy goal, I havesomething else in mind.

    I just want totake theaction ofa helmetso that when thecharacter dies, he atthestay on the ground.

    Ifsomeone can help, I thank you,now onlysayonething,do not takehasty conclusions.

    And one more thing, I had no idea that.

    Are you trying to create no-delay sprites? Is that your goal? lol. If it is your goal, there are tons of guides out there based on how to do it. If it isnt your goal you can do so by using the program actOR.

    Yes, I even thought it would be using the program ACTOR, but you could give me certain that it is in the archives .act?

    And also if you could post a tutorial link, because I do not understand anything .act.

    Thank you for your attention,

    Cretino.

  7. Hello, was wondering how can I do to remove an action from a sprite,

    Example:

    Action of a helmet at death: Falling on the floor.

    How could I modify this action?

    It would be in the file .Spr?

    It would be in the file .Act?

    It would be in the emulator? - I think maybe.

    Thank you in advance.

    Cretino.

    @EDIT

    PS: Please ask any member of staff to move the topic to the correct area, now that I saw posted in the wrong area, sorry.

×
×
  • Create New...