GS :: 1.00.18 MaxUsers

Results 1 to 1 of 1
  1. #1
    Evolution Team Th3AnG3L is offline
    MemberRank
    Apr 2014 Join Date
    634Posts

    GS :: 1.00.18 MaxUsers

    It's a little problem left to be fixed here only:
    - When Enter Game, Select Server = Disconnect (Possible Hook function problem)

    So here we start:
    004D81C0 - gObjAddSearch(unsigned int aSocket, char *ip)
    0x00404C2D - JMP gObjAddSearch
    0x006DEC10 - Offset MaxUsers (Not Work)

    MaxUsers.cpp
    Code:
    void GSMaxUsers()
    {
        HookThis(0x00404C2D, (DWORD)(&gObjAddSearch_Hook)); // Max Users Online
    }
    
    int MaxUsers()
    {
        int PlayerCount = 0;
        for (int i = OBJECT_MIN; i <= OBJECT_MAX; i++)
        {
            OBJECTSTRUCT *gObj = (OBJECTSTRUCT*)OBJECT_POINTER(i);
            if (gObj->Connected > 0)
            {
                PlayerCount++;
            }
        }
        return PlayerCount;
    }
    
    short gObjAddSearch_Hook(unsigned int aSocket, char* ip)
    {
        int ServerMaxUsers = GetPrivateProfileIntA("Server", "MaxOnline", 0, SERVER_PATH);
    
    
        if (MaxUsers() > ServerMaxUsers) return -1;
    
    
        for (int i = OBJECT_MIN; i < OBJECT_MAX; i++)
        {
            OBJECTSTRUCT *gObj = (OBJECTSTRUCT*)OBJECT_POINTER(i);
            if (gObj->Connected == 0)
            {
                gObj->Connected = 1;
                return i;
            }
        }
    
    
        //GCJoinSocketResult(4, aSocket); //Disconnect
        return -1;
    }




Advertisement