MEM:
#define OFS_SUPERMASTER 0x00CC004
#define OFS_ROOMMASTER 0x00CC420
#define OFS_PLAYERSLOT 0x0011B7F8
//SuperMaster//
if(SupMaster==1)
{
WriteInt((dwServerPtr+OFS_SUPERMASTER), 1);
}
//RoomMaster//
if (RmMaster==1)
{
DWORD *PLSLOT;
DWORD *RMSLOT;
PLSLOT =(DWORD *)((dwServerPtr)+OFS_PLAYERSLOT);
RMSLOT =(DWORD *)((dwServerPtr)+OFS_ROOMMASTER);
*RMSLOT = *PLSLOT;
}
ASM:
#define ADR_ASMSUPMASTER 0xKEEPRIVATE Sorry
void SuperMasterAsmFunc()
{
__asm{
lea ecx, dword ptr ss:[ebp-28]
mov dword ptr ds:[edi], eax
}
}
Memcpy(ADR_ASMSUPMASTER, SuperMasterAsmFunc(), 5);
void SuperMaster()
{
*(INT*)(ADR_SERVER + OFS_SUPMASTER) = 1;
}
#define OFS_SuperMaster 0x00FCD30 //Add Server Check *(int*)(dwServerPtr+OFS_SuperMaster) = 1;
void Supermaster()
{
DWORD dwServerPtr = *(DWORD*)ADR_SERVERPOINTER;
if(dwServerPtr != 0)
{
*(int*)(dwServerPtr+OFS_SuperMaster) = 1;
}
}