i have problem in source.
but nothing change ingame. 
[quote][table]
[tr]
[td]#include "stdafx.h"
#include "Offset.h"
#include "Import.h"
#include "Defines.h"
#include "Interface.h"
#include "TMemory.h"
#include "CustomNPC.h"
#include "Object.h"
#include "Protect.h"
NPC gNPC;
void NPC::Load() {
	if(gProtect.m_MainInfo.CustomElfSoldier == 1){
        SetRange((LPVOID)0x0057FCCF, 5, ASM::NOP);
        SetOp((LPVOID)0x0057FCCF, (LPVOID) this->ElfSoldier, ASM::JMP);
	}
	if(gProtect.m_MainInfo.CustomMarlon == 1){
        SetRange((LPVOID)0x005842B1, 5, ASM::NOP);
        SetOp((LPVOID)0x005842B1, (LPVOID) this->Marlon, ASM::JMP);
	}
	if(gProtect.m_MainInfo.CustomChaosCard == 1){
        SetRange((LPVOID)0x005852E4, 5, ASM::NOP);
        SetOp((LPVOID)0x005852E4, (LPVOID) this->ChaosCardMaster, ASM::JMP);
	}
	if(gProtect.m_MainInfo.CustomGuard1 == 1){
        SetRange((LPVOID)0x00584A4E, 5, ASM::NOP);
        SetOp((LPVOID)0x00584A4E, (LPVOID) this->Guard1, ASM::JMP);
	}
	if(gProtect.m_MainInfo.CustomGuard2 == 1){
        SetRange((LPVOID)0x00584B82, 5, ASM::NOP);
        SetOp((LPVOID)0x00584B82, (LPVOID) this->Guard2, ASM::JMP);
	}
	if(gProtect.m_MainInfo.CustomCursedWizard == 1){
		SetRange((LPVOID)0x00582FE6, 5, ASM::NOP);
	    SetOp((LPVOID)0x00582FE6, (LPVOID) this->CursedWizard, ASM::JMP);
	}
}
// ----------------------------------------------------------------------------------------------
Naked(NPC::ElfSoldier) {
   static ObjectPreview * gPreview;
   //----
   _asm {
      MOV ECX, DWORD PTR SS : [EBP + 0x08]
      MOV gPreview, ECX
   }
   // ----
   gPreview->HelmSlot = ITEM2(7, gProtect.m_MainInfo.CustomElfSoldierArmor);
   gPreview->ArmorSlot = ITEM2(8, gProtect.m_MainInfo.CustomElfSoldierArmor);
   gPreview->PantsSlot = ITEM2(9, gProtect.m_MainInfo.CustomElfSoldierArmor);
   gPreview->GlovesSlot = ITEM2(10, gProtect.m_MainInfo.CustomElfSoldierArmor);
   gPreview->BootsSlot = ITEM2(11, gProtect.m_MainInfo.CustomElfSoldierArmor);
   gPreview->WeaponFirstSlot = ITEM2(4, gProtect.m_MainInfo.CustomElfSoldierWeapon1);
   gPreview->WeaponSecondSlot = ITEM2(4, gProtect.m_MainInfo.CustomElfSoldierWeapon2);
   gPreview->WingsSlot = ITEM2(12, gProtect.m_MainInfo.CustomElfSoldierWings);
   // ----
   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, gProtect.m_MainInfo.CustomMarlonArmor);
   gPreview->ArmorSlot = ITEM2(8, gProtect.m_MainInfo.CustomMarlonArmor);
   gPreview->PantsSlot = ITEM2(9, gProtect.m_MainInfo.CustomMarlonArmor);
   gPreview->GlovesSlot = ITEM2(10, gProtect.m_MainInfo.CustomMarlonArmor);
   gPreview->BootsSlot = ITEM2(11, gProtect.m_MainInfo.CustomMarlonArmor);
   gPreview->WeaponFirstSlot = ITEM2(0, gProtect.m_MainInfo.CustomMarlonWeapon1);
   gPreview->WeaponSecondSlot = ITEM2(0, gProtect.m_MainInfo.CustomMarlonWeapon2);
   gPreview->WingsSlot = ITEM2(12, gProtect.m_MainInfo.CustomMarlonWings);
   // ----
   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, gProtect.m_MainInfo.CustomChaosCardArmor);
   gPreview->ArmorSlot = ITEM2(8, gProtect.m_MainInfo.CustomChaosCardArmor);
   gPreview->PantsSlot = ITEM2(9, gProtect.m_MainInfo.CustomChaosCardArmor);
   gPreview->GlovesSlot = ITEM2(10, gProtect.m_MainInfo.CustomChaosCardArmor);
   gPreview->BootsSlot = ITEM2(11, gProtect.m_MainInfo.CustomChaosCardArmor);
   gPreview->WeaponFirstSlot = ITEM2(5, gProtect.m_MainInfo.CustomChaosCardWeapon1);
   gPreview->WeaponSecondSlot = ITEM2(6, gProtect.m_MainInfo.CustomChaosCardWeapon2);
   gPreview->WingsSlot = ITEM2(12, gProtect.m_MainInfo.CustomChaosCardWings);
   // ----
   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, gProtect.m_MainInfo.CustomGuard1Armor);
   gPreview->ArmorSlot = ITEM2(8, gProtect.m_MainInfo.CustomGuard1Armor);
   gPreview->PantsSlot = ITEM2(9, gProtect.m_MainInfo.CustomGuard1Armor);
   gPreview->GlovesSlot = ITEM2(10, gProtect.m_MainInfo.CustomGuard1Armor);
   gPreview->BootsSlot = ITEM2(11, gProtect.m_MainInfo.CustomGuard1Armor);
   gPreview->WeaponFirstSlot = ITEM2(5, gProtect.m_MainInfo.CustomGuard1Weapon1);
   gPreview->WeaponSecondSlot = ITEM2(6, gProtect.m_MainInfo.CustomGuard1Weapon2);
   gPreview->WingsSlot = ITEM2(12, gProtect.m_MainInfo.CustomGuard1Wings);
   // ----
   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, gProtect.m_MainInfo.CustomGuard2Armor);
   gPreview->ArmorSlot = ITEM2(8, gProtect.m_MainInfo.CustomGuard2Armor);
   gPreview->PantsSlot = ITEM2(9, gProtect.m_MainInfo.CustomGuard2Armor);
   gPreview->GlovesSlot = ITEM2(10, gProtect.m_MainInfo.CustomGuard2Armor);
   gPreview->BootsSlot = ITEM2(11, gProtect.m_MainInfo.CustomGuard2Armor);
   gPreview->WeaponFirstSlot = ITEM2(0, gProtect.m_MainInfo.CustomGuard2Weapon1);
   gPreview->WingsSlot = ITEM2(12, gProtect.m_MainInfo.CustomGuard2Wings);
   // ----
   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
   }
}
// ----------------------------------------------------------------------------------------------
Naked(NPC::CursedWizard) {
	static ObjectPreview * gPreview;
	//----
	_asm {
		MOV ECX, DWORD PTR SS : [EBP - 0x14]
		MOV gPreview, ECX
	}
	// ----
	gPreview->HelmSlot = ITEM2(7, gProtect.m_MainInfo.CustomCursedWizardArmor);
	gPreview->ArmorSlot = ITEM2(8, gProtect.m_MainInfo.CustomCursedWizardArmor);
	gPreview->PantsSlot = ITEM2(9, gProtect.m_MainInfo.CustomCursedWizardArmor);
	gPreview->GlovesSlot = ITEM2(10, gProtect.m_MainInfo.CustomCursedWizardArmor);
	gPreview->BootsSlot = ITEM2(11, gProtect.m_MainInfo.CustomCursedWizardArmor);
	gPreview->WeaponFirstSlot = ITEM2(5, gProtect.m_MainInfo.CustomCursedWizardWeapon1);
	gPreview->WingsSlot = ITEM2(12, gProtect.m_MainInfo.CustomCursedWizardWings);
	// ----
   // ----
    gPreview->HelmLevel = 15;
    gPreview->ArmorLevel = 15;
    gPreview->PantsLevel = 15;
    gPreview->GlovesLevel = 15;
    gPreview->BootsLevel = 15;
    gPreview->WeaponFirstLevel = 15;
	gPreview->Class = SoulMaster;
	// ----
	_asm {
		MOV ECX, 0x00583099
		JMP ECX
	}
}[/td]
[/tr]
[/table][/quote]