Game events PC

Discussion in 'Gaming Archive' started by Aki_FINx, Sep 11, 2018 with 5 replies and 686 views.

  1. Aki_FINx

    Aki_FINx Enthusiast

    Messages:
    239
    Ratings:
    32
    So i was wondering if anyone could give any info about these events how to go about blocking them correctly like resurrect. So far i've managed to block them individually but i think the way i block them they get put in some kind of queue when that queue gets too long all the events break. Like if i disable the protection i get resurrected instantly. If the events break i wont get damaged or anything and the game is out of sync takes like 30 seconds of shooting to kill someone etc. Pc is different btw most of the strings aren't being referenced anywhere in ida or used in game anyways ive checked in game too. Like RECEIVED_GET_READY_TO_START_PLAYING i couldn't do **** with that. But i managed to find the function and patch it with detour. So far i've found pretty much everything that sockstress had in his release expect these events and freeze car protection. I've managed to figure out alot of the function parameters but its usually the same result like i tested to make a check if the player id is mine then do nothing but still same result. Any info would be useful cuz some functions that have something to do with events that **** is referenced easily at +400 locations so everything starts to look the same lol. I have now access to debugger with breakpoints cuz i managed to kinda break xlive.dll.
     
  2. Sockstress

    Sockstress Enthusiast

    Messages:
    47
    Ratings:
    90
    Well by taking a quick look at the event handler function for Xbox (sub_826E3D98). All it really is doing is basically receiving data from the client inside of a struct with an event id. If you just map the event ids (really easy), there are only 27 events. The function just handles them through a switch statement. It takes the info sent from the client with the event id to create a class for the event with the specified event id. Makes some checks to see if we ignore or not and then executes if everything is correct. To prevent certain events from executing without messing up the queue. All you would need to do is make it ignore or just not respond according to the certain event id.

    Code:
    void EventHandler(void* somestruct, bool ignore, int eventid, int unk1, short order, void* eventstruct);
    
    Note I only spent like 10 minutes looking at the function. You could figure out a lot more by debugging it or spending more time looking at the function itself. So the function above is sub_826E3D98 but most likely wrong parameters on some of them.
     
  3. x Di4M0ND99 x

    x Di4M0ND99 x Enthusiast

    Messages:
    21
    Ratings:
    2
    very interesting thread :smile:
    i can protect teleport by disable event "RESURRECT_PLAYER_EVENT" ?
    im wokring on PS3/BLES.
     
  4. OP
    Aki_FINx

    Aki_FINx Enthusiast

    Messages:
    239
    Ratings:
    32
    I just changed the playerid that is being resurrected to any other playerid that hasn't left the game expect mine. Those strings actually do nothing but u can follow those functions to get somewhere. CResurrectPlayerEvent contains the function that i changed it also has GET_PLAYER_POINTER function i changed the parameter which is id
     
  5. Knife

    Knife Hidden Devils Staff

    Messages:
    1,134
    Ratings:
    1,089
    Hi Aki_FINx,

    Please let me know if this has been resolved or if you still need assistance with this. Thank you.

    Kind regards,
    Knife.
     
  6. OP
    Aki_FINx

    Aki_FINx Enthusiast

    Messages:
    239
    Ratings:
    32
    I've found another way ages ago so yeah u could call it resolved for me
     

Share This Page