TUServerMU

MuOnline => Files MU => Sources Generales => Tema comenzado por: seedmaker on March 30, 2019, 06:15:48 AM

Titulo: CustomSoldierElf Skin MuEmu
Posteado por: seedmaker on March 30, 2019, 06:15:48 AM
CustomSoldierElf Skin MuEmu

If anybody know what is the offset of Guard NPC please share it thank you xD

(http://i.imgur.com/Z9MYwwl.png)



(https://imgur.com/HdyUYVo)
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: djagripnos on March 30, 2019, 06:52:29 AM
@seedmaker


NPC.H

Citar
#pragma once

class NPC {
  public:
    void        Load();
    // ----
    static void FixShowLevel();
    static void ElfSoldier();
    static void Marlon();
    static void ChaosCardMaster();
    static void Guard1();
    static void Guard2();
    // ----
}; extern NPC gNPC;
// ----------------------------------------------------------------------------------------------


NPC.CPP

Citar
#include "stdafx.h"
#include "Item.h"
#include "NPC.h"
#include "TMemory.h"
#include "Import.h"
#include "Defines.h"
// ----------------------------------------------------------------------------------------------

NPC gNPC;
// ----------------------------------------------------------------------------------------------

void NPC::Load() {
   SetRange((LPVOID)0x0057FCCF, 5, ASM::NOP);
   SetOp((LPVOID)0x0057FCCF, (LPVOID) this->ElfSoldier, ASM::JMP);
   // ----
   SetRange((LPVOID)0x005842B1, 5, ASM::NOP);
   SetOp((LPVOID)0x005842B1, (LPVOID) this->Marlon, ASM::JMP);
   // ----
   SetRange((LPVOID)0x005852E4, 5, ASM::NOP);
   SetOp((LPVOID)0x005852E4, (LPVOID) this->ChaosCardMaster, ASM::JMP);
   // ----
   SetRange((LPVOID)0x00584A4E, 5, ASM::NOP);
   SetOp((LPVOID)0x00584A4E, (LPVOID) this->Guard1, ASM::JMP);
   // ----
   SetRange((LPVOID)0x00584B82, 5, ASM::NOP);
   SetOp((LPVOID)0x00584B82, (LPVOID) this->Guard2, ASM::JMP);
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::ElfSoldier) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP + 0x08]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 31);
   gPreview->ArmorSlot = ITEM2(8, 31);
   gPreview->PantsSlot = ITEM2(9, 31);
   gPreview->GlovesSlot = ITEM2(10, 31);
   gPreview->BootsSlot = ITEM2(11, 31);
   gPreview->WeaponFirstSlot = ITEM2(4, 1);
   gPreview->WeaponSecondSlot = ITEM2(4, 21);
   gPreview->WingsSlot = ITEM2(12, 38);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x0057FD5B
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Marlon) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 29);
   gPreview->ArmorSlot = ITEM2(8, 29);
   gPreview->PantsSlot = ITEM2(9, 29);
   gPreview->GlovesSlot = ITEM2(10, 29);
   gPreview->BootsSlot = ITEM2(11, 29);
   gPreview->WeaponFirstSlot = ITEM2(0, 22);
   gPreview->WeaponSecondSlot = ITEM2(0, 22);
   gPreview->WingsSlot = ITEM2(12, 36);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   gPreview->WeaponSecondExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x00584354
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::ChaosCardMaster) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 30);
   gPreview->ArmorSlot = ITEM2(8, 30);
   gPreview->PantsSlot = ITEM2(9, 30);
   gPreview->GlovesSlot = ITEM2(10, 30);
   gPreview->BootsSlot = ITEM2(11, 30);
   gPreview->WeaponFirstSlot = ITEM2(5, 30);
   gPreview->WeaponSecondSlot = ITEM2(6, 30);
   gPreview->WingsSlot = ITEM2(12, 37);
   // ----
   gPreview->HelmLevel = 13;
   gPreview->ArmorLevel = 13;
   gPreview->PantsLevel = 13;
   gPreview->GlovesLevel = 13;
   gPreview->BootsLevel = 13;
   gPreview->WeaponFirstLevel = 13;
   gPreview->WeaponSecondLevel = 13;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   gPreview->WeaponSecondExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x00585390
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Guard1) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 2);
   gPreview->ArmorSlot = ITEM2(8, 2);
   gPreview->PantsSlot = ITEM2(9, 2);
   gPreview->GlovesSlot = ITEM2(10, 2);
   gPreview->BootsSlot = ITEM2(11, 2);
   gPreview->WeaponFirstSlot = ITEM2(5, 10);
   gPreview->WeaponSecondSlot = ITEM2(6, 14);
   gPreview->WingsSlot = ITEM2(12, 4);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   gPreview->Class = SoulMaster;
   // ----
   _asm {
      MOV ECX, 0x00584AB7
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Guard2) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 1);
   gPreview->ArmorSlot = ITEM2(8, 1);
   gPreview->PantsSlot = ITEM2(9, 1);
   gPreview->GlovesSlot = ITEM2(10, 1);
   gPreview->BootsSlot = ITEM2(11, 1);
   gPreview->WeaponFirstSlot = ITEM2(0, 17);
   gPreview->WingsSlot = ITEM2(12, 5);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->Class = BladeMaster;
   // ----
   _asm {
      MOV ECX, 0x00584BDC
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------


main.cpp

gNPC.Load();
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: seedmaker on March 30, 2019, 07:10:57 AM
@seedmaker


NPC.H

Citar
#pragma once

class NPC {
  public:
    void        Load();
    // ----
    static void FixShowLevel();
    static void ElfSoldier();
    static void Marlon();
    static void ChaosCardMaster();
    static void Guard1();
    static void Guard2();
    // ----
}; extern NPC gNPC;
// ----------------------------------------------------------------------------------------------


NPC.CPP

Citar
#include "stdafx.h"
#include "Item.h"
#include "NPC.h"
#include "TMemory.h"
#include "Import.h"
#include "Defines.h"
// ----------------------------------------------------------------------------------------------

NPC gNPC;
// ----------------------------------------------------------------------------------------------

void NPC::Load() {
   SetRange((LPVOID)0x0057FCCF, 5, ASM::NOP);
   SetOp((LPVOID)0x0057FCCF, (LPVOID) this->ElfSoldier, ASM::JMP);
   // ----
   SetRange((LPVOID)0x005842B1, 5, ASM::NOP);
   SetOp((LPVOID)0x005842B1, (LPVOID) this->Marlon, ASM::JMP);
   // ----
   SetRange((LPVOID)0x005852E4, 5, ASM::NOP);
   SetOp((LPVOID)0x005852E4, (LPVOID) this->ChaosCardMaster, ASM::JMP);
   // ----
   SetRange((LPVOID)0x00584A4E, 5, ASM::NOP);
   SetOp((LPVOID)0x00584A4E, (LPVOID) this->Guard1, ASM::JMP);
   // ----
   SetRange((LPVOID)0x00584B82, 5, ASM::NOP);
   SetOp((LPVOID)0x00584B82, (LPVOID) this->Guard2, ASM::JMP);
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::ElfSoldier) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP + 0x08]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 31);
   gPreview->ArmorSlot = ITEM2(8, 31);
   gPreview->PantsSlot = ITEM2(9, 31);
   gPreview->GlovesSlot = ITEM2(10, 31);
   gPreview->BootsSlot = ITEM2(11, 31);
   gPreview->WeaponFirstSlot = ITEM2(4, 1);
   gPreview->WeaponSecondSlot = ITEM2(4, 21);
   gPreview->WingsSlot = ITEM2(12, 38);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x0057FD5B
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Marlon) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 29);
   gPreview->ArmorSlot = ITEM2(8, 29);
   gPreview->PantsSlot = ITEM2(9, 29);
   gPreview->GlovesSlot = ITEM2(10, 29);
   gPreview->BootsSlot = ITEM2(11, 29);
   gPreview->WeaponFirstSlot = ITEM2(0, 22);
   gPreview->WeaponSecondSlot = ITEM2(0, 22);
   gPreview->WingsSlot = ITEM2(12, 36);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   gPreview->WeaponSecondExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x00584354
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::ChaosCardMaster) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 30);
   gPreview->ArmorSlot = ITEM2(8, 30);
   gPreview->PantsSlot = ITEM2(9, 30);
   gPreview->GlovesSlot = ITEM2(10, 30);
   gPreview->BootsSlot = ITEM2(11, 30);
   gPreview->WeaponFirstSlot = ITEM2(5, 30);
   gPreview->WeaponSecondSlot = ITEM2(6, 30);
   gPreview->WingsSlot = ITEM2(12, 37);
   // ----
   gPreview->HelmLevel = 13;
   gPreview->ArmorLevel = 13;
   gPreview->PantsLevel = 13;
   gPreview->GlovesLevel = 13;
   gPreview->BootsLevel = 13;
   gPreview->WeaponFirstLevel = 13;
   gPreview->WeaponSecondLevel = 13;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   gPreview->WeaponSecondExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x00585390
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Guard1) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 2);
   gPreview->ArmorSlot = ITEM2(8, 2);
   gPreview->PantsSlot = ITEM2(9, 2);
   gPreview->GlovesSlot = ITEM2(10, 2);
   gPreview->BootsSlot = ITEM2(11, 2);
   gPreview->WeaponFirstSlot = ITEM2(5, 10);
   gPreview->WeaponSecondSlot = ITEM2(6, 14);
   gPreview->WingsSlot = ITEM2(12, 4);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   gPreview->Class = SoulMaster;
   // ----
   _asm {
      MOV ECX, 0x00584AB7
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Guard2) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 1);
   gPreview->ArmorSlot = ITEM2(8, 1);
   gPreview->PantsSlot = ITEM2(9, 1);
   gPreview->GlovesSlot = ITEM2(10, 1);
   gPreview->BootsSlot = ITEM2(11, 1);
   gPreview->WeaponFirstSlot = ITEM2(0, 17);
   gPreview->WingsSlot = ITEM2(12, 5);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->Class = BladeMaster;
   // ----
   _asm {
      MOV ECX, 0x00584BDC
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------


main.cpp

gNPC.Load();

Thank you
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: admmunowar on April 27, 2019, 03:25:38 PM
@seedmaker


NPC.H

Citar
#pragma once

class NPC {
  public:
    void        Load();
    // ----
    static void FixShowLevel();
    static void ElfSoldier();
    static void Marlon();
    static void ChaosCardMaster();
    static void Guard1();
    static void Guard2();
    // ----
}; extern NPC gNPC;
// ----------------------------------------------------------------------------------------------


NPC.CPP

Citar
#include "stdafx.h"
#include "Item.h"
#include "NPC.h"
#include "TMemory.h"
#include "Import.h"
#include "Defines.h"
// ----------------------------------------------------------------------------------------------

NPC gNPC;
// ----------------------------------------------------------------------------------------------

void NPC::Load() {
   SetRange((LPVOID)0x0057FCCF, 5, ASM::NOP);
   SetOp((LPVOID)0x0057FCCF, (LPVOID) this->ElfSoldier, ASM::JMP);
   // ----
   SetRange((LPVOID)0x005842B1, 5, ASM::NOP);
   SetOp((LPVOID)0x005842B1, (LPVOID) this->Marlon, ASM::JMP);
   // ----
   SetRange((LPVOID)0x005852E4, 5, ASM::NOP);
   SetOp((LPVOID)0x005852E4, (LPVOID) this->ChaosCardMaster, ASM::JMP);
   // ----
   SetRange((LPVOID)0x00584A4E, 5, ASM::NOP);
   SetOp((LPVOID)0x00584A4E, (LPVOID) this->Guard1, ASM::JMP);
   // ----
   SetRange((LPVOID)0x00584B82, 5, ASM::NOP);
   SetOp((LPVOID)0x00584B82, (LPVOID) this->Guard2, ASM::JMP);
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::ElfSoldier) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP + 0x08]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 31);
   gPreview->ArmorSlot = ITEM2(8, 31);
   gPreview->PantsSlot = ITEM2(9, 31);
   gPreview->GlovesSlot = ITEM2(10, 31);
   gPreview->BootsSlot = ITEM2(11, 31);
   gPreview->WeaponFirstSlot = ITEM2(4, 1);
   gPreview->WeaponSecondSlot = ITEM2(4, 21);
   gPreview->WingsSlot = ITEM2(12, 38);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x0057FD5B
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Marlon) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 29);
   gPreview->ArmorSlot = ITEM2(8, 29);
   gPreview->PantsSlot = ITEM2(9, 29);
   gPreview->GlovesSlot = ITEM2(10, 29);
   gPreview->BootsSlot = ITEM2(11, 29);
   gPreview->WeaponFirstSlot = ITEM2(0, 22);
   gPreview->WeaponSecondSlot = ITEM2(0, 22);
   gPreview->WingsSlot = ITEM2(12, 36);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   gPreview->WeaponSecondExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x00584354
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::ChaosCardMaster) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 30);
   gPreview->ArmorSlot = ITEM2(8, 30);
   gPreview->PantsSlot = ITEM2(9, 30);
   gPreview->GlovesSlot = ITEM2(10, 30);
   gPreview->BootsSlot = ITEM2(11, 30);
   gPreview->WeaponFirstSlot = ITEM2(5, 30);
   gPreview->WeaponSecondSlot = ITEM2(6, 30);
   gPreview->WingsSlot = ITEM2(12, 37);
   // ----
   gPreview->HelmLevel = 13;
   gPreview->ArmorLevel = 13;
   gPreview->PantsLevel = 13;
   gPreview->GlovesLevel = 13;
   gPreview->BootsLevel = 13;
   gPreview->WeaponFirstLevel = 13;
   gPreview->WeaponSecondLevel = 13;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   gPreview->WeaponSecondExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x00585390
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Guard1) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 2);
   gPreview->ArmorSlot = ITEM2(8, 2);
   gPreview->PantsSlot = ITEM2(9, 2);
   gPreview->GlovesSlot = ITEM2(10, 2);
   gPreview->BootsSlot = ITEM2(11, 2);
   gPreview->WeaponFirstSlot = ITEM2(5, 10);
   gPreview->WeaponSecondSlot = ITEM2(6, 14);
   gPreview->WingsSlot = ITEM2(12, 4);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   gPreview->Class = SoulMaster;
   // ----
   _asm {
      MOV ECX, 0x00584AB7
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Guard2) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 1);
   gPreview->ArmorSlot = ITEM2(8, 1);
   gPreview->PantsSlot = ITEM2(9, 1);
   gPreview->GlovesSlot = ITEM2(10, 1);
   gPreview->BootsSlot = ITEM2(11, 1);
   gPreview->WeaponFirstSlot = ITEM2(0, 17);
   gPreview->WingsSlot = ITEM2(12, 5);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->Class = BladeMaster;
   // ----
   _asm {
      MOV ECX, 0x00584BDC
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------


main.cpp

gNPC.Load();

Thank you


(https://i.imgur.com/QUpYNkm.jpg)
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: chuckhai on April 28, 2019, 01:36:56 AM
@seedmaker


NPC.H

Citar
#pragma once

class NPC {
  public:
    void        Load();
    // ----
    static void FixShowLevel();
    static void ElfSoldier();
    static void Marlon();
    static void ChaosCardMaster();
    static void Guard1();
    static void Guard2();
    // ----
}; extern NPC gNPC;
// ----------------------------------------------------------------------------------------------


NPC.CPP

Citar
#include "stdafx.h"
#include "Item.h"
#include "NPC.h"
#include "TMemory.h"
#include "Import.h"
#include "Defines.h"
// ----------------------------------------------------------------------------------------------

NPC gNPC;
// ----------------------------------------------------------------------------------------------

void NPC::Load() {
   SetRange((LPVOID)0x0057FCCF, 5, ASM::NOP);
   SetOp((LPVOID)0x0057FCCF, (LPVOID) this->ElfSoldier, ASM::JMP);
   // ----
   SetRange((LPVOID)0x005842B1, 5, ASM::NOP);
   SetOp((LPVOID)0x005842B1, (LPVOID) this->Marlon, ASM::JMP);
   // ----
   SetRange((LPVOID)0x005852E4, 5, ASM::NOP);
   SetOp((LPVOID)0x005852E4, (LPVOID) this->ChaosCardMaster, ASM::JMP);
   // ----
   SetRange((LPVOID)0x00584A4E, 5, ASM::NOP);
   SetOp((LPVOID)0x00584A4E, (LPVOID) this->Guard1, ASM::JMP);
   // ----
   SetRange((LPVOID)0x00584B82, 5, ASM::NOP);
   SetOp((LPVOID)0x00584B82, (LPVOID) this->Guard2, ASM::JMP);
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::ElfSoldier) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP + 0x08]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 31);
   gPreview->ArmorSlot = ITEM2(8, 31);
   gPreview->PantsSlot = ITEM2(9, 31);
   gPreview->GlovesSlot = ITEM2(10, 31);
   gPreview->BootsSlot = ITEM2(11, 31);
   gPreview->WeaponFirstSlot = ITEM2(4, 1);
   gPreview->WeaponSecondSlot = ITEM2(4, 21);
   gPreview->WingsSlot = ITEM2(12, 38);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x0057FD5B
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Marlon) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 29);
   gPreview->ArmorSlot = ITEM2(8, 29);
   gPreview->PantsSlot = ITEM2(9, 29);
   gPreview->GlovesSlot = ITEM2(10, 29);
   gPreview->BootsSlot = ITEM2(11, 29);
   gPreview->WeaponFirstSlot = ITEM2(0, 22);
   gPreview->WeaponSecondSlot = ITEM2(0, 22);
   gPreview->WingsSlot = ITEM2(12, 36);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   gPreview->WeaponSecondExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x00584354
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::ChaosCardMaster) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 30);
   gPreview->ArmorSlot = ITEM2(8, 30);
   gPreview->PantsSlot = ITEM2(9, 30);
   gPreview->GlovesSlot = ITEM2(10, 30);
   gPreview->BootsSlot = ITEM2(11, 30);
   gPreview->WeaponFirstSlot = ITEM2(5, 30);
   gPreview->WeaponSecondSlot = ITEM2(6, 30);
   gPreview->WingsSlot = ITEM2(12, 37);
   // ----
   gPreview->HelmLevel = 13;
   gPreview->ArmorLevel = 13;
   gPreview->PantsLevel = 13;
   gPreview->GlovesLevel = 13;
   gPreview->BootsLevel = 13;
   gPreview->WeaponFirstLevel = 13;
   gPreview->WeaponSecondLevel = 13;
   // ----
   gPreview->HelmExcellent = 1;
   gPreview->ArmorExcellent = 1;
   gPreview->PantsExcellent = 1;
   gPreview->GlovesExcellent = 1;
   gPreview->BootsExcellent = 1;
   gPreview->WeaponFirstExcellent = 1;
   gPreview->WeaponSecondExcellent = 1;
   // ----
   _asm {
      MOV ECX, 0x00585390
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Guard1) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 2);
   gPreview->ArmorSlot = ITEM2(8, 2);
   gPreview->PantsSlot = ITEM2(9, 2);
   gPreview->GlovesSlot = ITEM2(10, 2);
   gPreview->BootsSlot = ITEM2(11, 2);
   gPreview->WeaponFirstSlot = ITEM2(5, 10);
   gPreview->WeaponSecondSlot = ITEM2(6, 14);
   gPreview->WingsSlot = ITEM2(12, 4);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->WeaponSecondLevel = 15;
   gPreview->Class = SoulMaster;
   // ----
   _asm {
      MOV ECX, 0x00584AB7
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------

Naked(NPC::Guard2) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP - 0x14]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, 1);
   gPreview->ArmorSlot = ITEM2(8, 1);
   gPreview->PantsSlot = ITEM2(9, 1);
   gPreview->GlovesSlot = ITEM2(10, 1);
   gPreview->BootsSlot = ITEM2(11, 1);
   gPreview->WeaponFirstSlot = ITEM2(0, 17);
   gPreview->WingsSlot = ITEM2(12, 5);
   // ----
   gPreview->HelmLevel = 15;
   gPreview->ArmorLevel = 15;
   gPreview->PantsLevel = 15;
   gPreview->GlovesLevel = 15;
   gPreview->BootsLevel = 15;
   gPreview->WeaponFirstLevel = 15;
   gPreview->Class = BladeMaster;
   // ----
   _asm {
      MOV ECX, 0x00584BDC
      JMP ECX
   }
}
// ----------------------------------------------------------------------------------------------


main.cpp

gNPC.Load();

Thank you


(https://i.imgur.com/QUpYNkm.jpg)

#include   "NPC.h" ?????
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: brunogg on January 26, 2020, 06:26:34 PM
source code in dll?


(https://i.ibb.co/0ZWNwhm/Sem-t-tulo.jpg)
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: becoloko on January 26, 2020, 06:45:21 PM
thank ;)
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: brunogg on January 26, 2020, 07:00:17 PM
thank ;)


Pode me ajudar?
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: becoloko on January 27, 2020, 12:16:08 AM
thank ;)


Pode me ajudar?
só me chamar no pvt  beleza
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: trkgncmg on January 27, 2020, 04:01:41 AM
what id of helm if i dont want npc wear a hat
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: Hoangsy99 on January 27, 2020, 07:16:05 AM
Working . Thanks djagripnos
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: shokboy03 on March 05, 2021, 12:12:28 PM
Thanks You  cool2
(https://i.imgur.com/NCLcquw.jpg)
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: jostickk on April 09, 2023, 11:30:51 PM
Alguna guía para aplicar esto por favor? Quisiera aplicarlo en mis goles pero no sé cómo hacerlo
Titulo: Re: CustomSoldierElf Skin MuEmu
Posteado por: Crowley on May 14, 2025, 05:34:54 PM
delete