Maple Classic Vac working - small Showcase

11/09/2026 21:51 compaq2201#1
No crash, no kick to login. Pretty stable even after the new bot mechanisms they got going on.
11/10/2026 01:56 WastedIV#2
Hyped for this! would love to find out more about keys or where to buy.
11/10/2026 02:11 concledore#3
runing on linux?
11/10/2026 02:34 compaq2201#4
Quote:
Originally Posted by concledore View Post
runing on linux?
Windows 11
11/10/2026 08:26 netezizas#5
Sick no idea how you got it to stop dcing but damn this gives me hope
11/10/2026 16:28 shay_3100#6
amzing
11/10/2026 18:54 baadf00d#7
Does nothing to show it doesn't dc or ban 🤮 Maybe showcase an account getting to level 30 with this, should be easy, no?
11/10/2026 20:21 ohbobbyoh#8
Quote:
Originally Posted by baadf00d View Post
Does nothing to show it doesn't dc or ban 🤮 Maybe showcase an account getting to level 30 with this, should be easy, no?
Yeah lmao. I could record 30s doing the same thing. Proves nothing. OP just wanted to flex for fun.
11/10/2026 23:29 compaq2201#9
Quote:
Originally Posted by baadf00d View Post
Does nothing to show it doesn't dc or ban 🤮 Maybe showcase an account getting to level 30 with this, should be easy, no?
Yeah i will, currently lvl 27. Just rather use new ones for testing new stuff just incase

Quote:
Originally Posted by ohbobbyoh View Post
Yeah lmao. I could record 30s doing the same thing. Proves nothing. OP just wanted to flex for fun.
Well im lvl 27 now lol

Code:
CMob struct offsets:

+0x2B8 ctrl1 (render controller) ZRef — actual object is (*)-0x20
+0x2C0 ctrl2 (predict controller) ZRef — actual object is (*)-0x20
+0x2E4 ack state (ZtlSecureTear)
+0x3A8 template pointer (validity check)
+0x3DC action/facing (ZtlSecureTear)
+0x830/+0x818 X/Y int
g_CMobPool 0x3BF1D60 


static void vac(void* p)
{
    RelocCtx* c = (RelocCtx*)p; c->result = 0;
    __try {
        ULONG_PTR r = *(ULONG_PTR*)(c->mob + 0x2B8);
        if (r < 0x20) { c->result = -1; return; }
        void* ctrl1 = (void*)(r - 0x20);

        int action = 0; StRead(c->mob + 0x3DC, &action);
        int sn = NavFhSnAtPos(c->x, c->y);
        void* fh = nullptr;
        ULONG_PTR space = *(ULONG_PTR*)(g_gameBase + RVA_PHYSICAL_SPACE);
        if (sn > 0 && space > 0x10000)
            fh = ((tPsGetFh)(g_gameBase + RVA_PS_GETFOOTHOLD))((void*)space, sn);
        if (!fh) { c->result = -3; return; }       // no floor under target: skip

        if (*(ULONG_PTR*)(c->mob + 0x3A8) < 0x10000) { c->result = -5; return; }


        ((tVcSetPos)(g_gameBase + RVA_VECCTRL_SETPOS))
            (ctrl1, 1, c->x, c->y, 0, 0, action, fh);

        ((tMobReset)(g_gameBase + RVA_MOB_RESETAHEAD))((void*)c->mob, 0);

        if (g_relGapMs == 0)
            ((tMobReset)(g_gameBase + RVA_MOB_RESETAHEAD))((void*)c->mob, 1);

        c->result = 2;
    } __except(1) { c->result = -2; }
}
11/11/2026 03:07 baadf00d#10
delete this 😂
11/11/2026 03:10 ohbobbyoh#11
Quote:
Originally Posted by baadf00d View Post
delete this 😂
Why?
11/11/2026 04:43 baadf00d#12
Quote:
Originally Posted by ohbobbyoh View Post
Why?
I was kidding
11/11/2026 07:58 xiaosotz#13
good work ! keep it up. I also learning how to do it on my own as well
11/11/2026 11:15 maruchik#14
Quote:
Originally Posted by compaq2201 View Post
[Only registered and activated users can see links. Click Here To Register...]
No crash, no kick to login. Pretty stable even after the new bot mechanisms they got going on.
Can I test it?
11/11/2026 14:16 maplemsmesos#15
Quote:
Originally Posted by compaq2201 View Post
Yeah i will, currently lvl 27. Just rather use new ones for testing new stuff just incase



Well im lvl 27 now lol

Code:
CMob struct offsets:

+0x2B8 ctrl1 (render controller) ZRef — actual object is (*)-0x20
+0x2C0 ctrl2 (predict controller) ZRef — actual object is (*)-0x20
+0x2E4 ack state (ZtlSecureTear)
+0x3A8 template pointer (validity check)
+0x3DC action/facing (ZtlSecureTear)
+0x830/+0x818 X/Y int
g_CMobPool 0x3BF1D60 


static void vac(void* p)
{
    RelocCtx* c = (RelocCtx*)p; c->result = 0;
    __try {
        ULONG_PTR r = *(ULONG_PTR*)(c->mob + 0x2B8);
        if (r < 0x20) { c->result = -1; return; }
        void* ctrl1 = (void*)(r - 0x20);

        int action = 0; StRead(c->mob + 0x3DC, &action);
        int sn = NavFhSnAtPos(c->x, c->y);
        void* fh = nullptr;
        ULONG_PTR space = *(ULONG_PTR*)(g_gameBase + RVA_PHYSICAL_SPACE);
        if (sn > 0 && space > 0x10000)
            fh = ((tPsGetFh)(g_gameBase + RVA_PS_GETFOOTHOLD))((void*)space, sn);
        if (!fh) { c->result = -3; return; }       // no floor under target: skip

        if (*(ULONG_PTR*)(c->mob + 0x3A8) < 0x10000) { c->result = -5; return; }


        ((tVcSetPos)(g_gameBase + RVA_VECCTRL_SETPOS))
            (ctrl1, 1, c->x, c->y, 0, 0, action, fh);

        ((tMobReset)(g_gameBase + RVA_MOB_RESETAHEAD))((void*)c->mob, 0);

        if (g_relGapMs == 0)
            ((tMobReset)(g_gameBase + RVA_MOB_RESETAHEAD))((void*)c->mob, 1);

        c->result = 2;
    } __except(1) { c->result = -2; }
}
Please provide me with these addresses, you forgot to include them.

RVA_MOB_RESETAHEAD
RVA_VECCTRL_SETPOS
RVA_PS_GETFOOTHOLD
RVA_PHYSICAL_SPACE
g_gameBase