MainServer and Engine.exe modifications

Status
Not open for further replies.
Sometimes the hex editor doesn't save even if you click On save...try modifying it and save it as engine2.exe
When I hex my things with hex editor MX I've to do the same... Sometimes it saves, but most times not if I just click on save....
 
Sometimes the hex editor doesn't save even if you click On save...try modifying it and save it as engine2.exe
When I hex my things with hex editor MX I've to do the same... Sometimes it saves, but most times not if I just click on save....
Had this problem too, but not this time :/
Well lets see if mad will find the problem :)

Thanks for the hint.
 
Hello guys

iam searching for this offsets 46BC55 and 46BC7E but my HxD editor cant find them i press Strg + G and try to search them but it dont works ??? hmm ?


46BC55: nop 7 bytes = guild buff also when no war
46BC7E: change jump = guild buff also when no war
 
Hello guys

iam searching for this offsets 46BC55 and 46BC7E but my HxD editor cant find them i press Strg + G and try to search them but it dont works ??? hmm ?


46BC55: nop 7 bytes = guild buff also when no war
46BC7E: change jump = guild buff also when no war
Read previous posts...
 
Easy: Run MainsvrT. Start Olly and attach it. Go to the adress. Double click on the asm line. Write jmp instead of the usuall command.
 
6BC7E: change jump how to change jump LOL ?

Easy: Run MainsvrT. Start Olly and attach it. Go to the adress. Double click on the asm line. Write jmp instead of the usuall command.

Well this is an point for me to join into this Thread. People may like to mod their Mainserver via Hexmodifiaction. But i think it is also important to know, what the change exactly does and what the structure behind is.

So what do we have here:
Code:
void __fastcall CPlayer__RefreshStandardBuff(void *this, int a2)
{
  void *v2; // eax@12
  int v3; // [sp+0h] [bp-18h]@1
  int v4; // [sp+4h] [bp-14h]@8
  int v5; // [sp+8h] [bp-10h]@6
  int v6; // [sp+Ch] [bp-Ch]@6
  void *i; // [sp+10h] [bp-8h]@6
  int v8; // [sp+14h] [bp-4h]@5


  v3 = (int)this;
  if ( CPlayer__IsWearBuffStandard(this, a2) )
  {
    if ( [B]CGuild__IsWarringPeriod()[/B] )
    {
      if ( [B]CSMap__IsOnTile[/B](v3 + 332, 1048576) )
      {
        CIOCriticalSection__Enter((struct _RTL_CRITICAL_SECTION *)(v3 + 1020));
        v8 = *(_DWORD *)(v3 + 1116);
        if ( v8 )
        {
          v5 = *(_DWORD *)(*(_DWORD *)(v8 + 40) + 160);
          v6 = *(_DWORD *)(*(_DWORD *)(v8 + 40) + 164);
          CIOCriticalSection__Leave(v3 + 1020);
          for ( i = (void *)sub_4934F0(v3 + 324, 10); i; i = (void *)CBaseList__Pop(i) )
          {
            v4 = Cast__VoidPtrToInt(i);
            if ( v4 != v3 )
            {
              if ( CChar__IsNormal(v4) )
              {
                if ( *(_DWORD *)(v3 + 480) == *(_DWORD *)(v4 + 480) )
                {
                  if ( !CPlayer__IsWearBuffStandard(v4, v4) )
                  {
                    v2 = CBuff__CreateBuff(v5, 2, v6, v3);
                    (*(void (__thiscall **)(int, void *))(*(_DWORD *)v4 + 180))(v4, v2);
                  }
                }
              }
            }
          }
        }
        else
        {
          CIOCriticalSection__Leave(v3 + 1020);
        }
      }
    }
  }
}

With other Words:
at 0046BC55 we have this -> call CGuild__IsWarringPeriod
wich is the call inside this ->if ( CGuild__IsWarringPeriod() )

and the other check
is this:
if ( CSMap__IsOnTile(*(void **)(v3 + 320), v3 + 332, 1048576) )


So basicly the Mainserver first checks if the WarringPeriod is active and then checks if you are on the correct Map (Castle Siege Area).

You can change (if there is enough space to hex) or kill (nop) many checks like thoose. Its very interesting what is possible with just a few single lines hex mods (no DLL or C++ coding needed). Maybe people should take more time with IDA Hexarrays and analyze the functions. The Hexmods Björn posted here are not even 1% from the things that are possible wich such simple mods : )

i dont get it :/

i just want to do guild buffs if you equip guild flag :/

@dayz
Try to understand the logic behind! This is much more important than stupidly change values other people say ^^

If i did no mistake this should be the how to walk:
General - MainServer and Engine.exe modifications - RaGEZONE Forums


Look at the Hex Code below and compare it with your local editor.
 

Attachments

  • lol - MainServer and Engine.exe modifications - RaGEZONE Forums
    lol.webp
    49.6 KB · Views: 222
Last edited:
from wich mainserver/engine are these adresses? as i modified mine already, the adresses arent working for me so my next question is, how do i found out myself the adress for ex.
00500353 to 74 (hex) = Disable 'Please restart your game' when relogin after CL (never been released)
 
Status
Not open for further replies.
Back