
FALA SEUS ABESTADOS TUDO BLZ ?

HOJE VENHO TRAZER UM CODIGO COMPLETO PARA VOCES!
APRESENTO O [BOSS CLASS] - SIMPLES E RAPIDO COM MODIFICAÇÕES DE ITEMS

CustomMonster.cpp
PROCURE POR:
[ void CCustomMonster::SetMainAttribute(lpViewObj Object, int MonsterID) ]
OBS: ADICIONE O CODIGO ANTES DO Void CCustomMonster /\
//----------------------------------- int iModel = MonsterID + MAX_MONSTER_MODEL; if (MonsterID == 893 || MonsterID == 894 || MonsterID == 895 || MonsterID == 896 || MonsterID == 897) { iModel = 1163; }
//----------------------------------- DWORD ObjectStruct = pViewObject(a4, iModel, a2, a3, 0.0); ObjectPreview* gPreview = &*(ObjectPreview*)ObjectStruct; if (gPreview == nullptr){ return pShowMonster(MonsterID, a2, a3, a4); } memcpy(gPreview->Name, lpInfo->Name, sizeof(lpInfo->Name)); NPCNAME_DATA* NpcName = gNPCName.GetNPCName(MonsterID, pMapNumber, gPreview->RespawnPosX, gPreview->RespawnPosY); if (NpcName != 0){ sprintf(gPreview->Name, NpcName->Name); } printf("[%s] gCustomMonster.m_CustomMonsterInfo.ID: %d\n", __FUNCTION__, lpInfo->ID); switch (lpInfo->Type){ case 0: *(BYTE*)(ObjectStruct + 893) = emNPC; break; case 1: *(BYTE*)(ObjectStruct + 893) = emMonster; break; default: *(BYTE*)(ObjectStruct + 893) = emNone; break; }
*(float *)(ObjectStruct + 872) = lpInfo->Size; gPreview->ID = MonsterID; *(BYTE*)(ObjectStruct + 798) = 0;
//Class BK if (MonsterID == 893) { 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 = 63; gPreview->ArmorExcellent = 63; gPreview->PantsExcellent = 63; gPreview->GlovesExcellent = 63; gPreview->BootsExcellent = 63; gPreview->WeaponFirstExcellent = 63; gPreview->WeaponSecondExcellent = 63;
}
//Class SM if (MonsterID == 894) { 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, 12); gPreview->WeaponSecondSlot = ITEM2(6, 15); gPreview->WingsSlot = ITEM2(12, 37);
gPreview->HelmLevel = 15; gPreview->ArmorLevel = 15; gPreview->PantsLevel = 15; gPreview->GlovesLevel = 15; gPreview->BootsLevel = 15; gPreview->WeaponFirstLevel = 15; gPreview->WeaponSecondLevel = 15;
// gPreview->HelmExcellent = 63; gPreview->ArmorExcellent = 63; gPreview->PantsExcellent = 63; gPreview->GlovesExcellent = 63; gPreview->BootsExcellent = 63; gPreview->WeaponFirstExcellent = 63; gPreview->WeaponSecondExcellent = 63;
}
//Class ELF if (MonsterID == 895) { 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, 22); gPreview->WeaponSecondSlot = ITEM2(4, 7); 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 = 63; gPreview->ArmorExcellent = 63; gPreview->PantsExcellent = 63; gPreview->GlovesExcellent = 63; gPreview->BootsExcellent = 63; gPreview->WeaponFirstExcellent = 63; gPreview->WeaponSecondExcellent = 63;
}
//Class MG if (MonsterID == 896) { //gPreview->HelmSlot = ITEM2(7, 32); gPreview->ArmorSlot = ITEM2(8, 32); gPreview->PantsSlot = ITEM2(9, 32); gPreview->GlovesSlot = ITEM2(10, 32); gPreview->BootsSlot = ITEM2(11, 32); gPreview->WeaponFirstSlot = ITEM2(0, 23); gPreview->WeaponSecondSlot = ITEM2(0, 23); gPreview->WingsSlot = ITEM2(12, 39);
gPreview->HelmLevel = 15; gPreview->ArmorLevel = 15; gPreview->PantsLevel = 15; gPreview->GlovesLevel = 15; gPreview->BootsLevel = 15; gPreview->WeaponFirstLevel = 15; gPreview->WeaponSecondLevel = 15;
// gPreview->HelmExcellent = 63; gPreview->ArmorExcellent = 63; gPreview->PantsExcellent = 63; gPreview->GlovesExcellent = 63; gPreview->BootsExcellent = 63; gPreview->WeaponFirstExcellent = 63; gPreview->WeaponSecondExcellent = 63;
} //Class DL if (MonsterID == 897) { gPreview->HelmSlot = ITEM2(7, 33); gPreview->ArmorSlot = ITEM2(8, 33); gPreview->PantsSlot = ITEM2(9, 33); gPreview->GlovesSlot = ITEM2(10, 33); gPreview->BootsSlot = ITEM2(11, 33); gPreview->WeaponFirstSlot = ITEM2(2, 15); gPreview->WeaponSecondSlot = ITEM2(6, 20); gPreview->WingsSlot = ITEM2(12, 40); gPreview->PetSlot = ITEM2(13, 4);
gPreview->HelmLevel = 15; gPreview->ArmorLevel = 15; gPreview->PantsLevel = 15; gPreview->GlovesLevel = 15; gPreview->BootsLevel = 15; gPreview->WeaponFirstLevel = 15; gPreview->WeaponSecondLevel = 15; gPreview->PetLevel = 0;
gPreview->HelmExcellent = 63; gPreview->ArmorExcellent = 63; gPreview->PantsExcellent = 63; gPreview->GlovesExcellent = 63; gPreview->BootsExcellent = 63; gPreview->WeaponFirstExcellent = 63; gPreview->WeaponSecondExcellent = 63; gPreview->PetExcellent = 0; } gPreview->Unknown128 = *(DWORD*)0x879343C; pMonsterAttribute(ObjectStruct, MonsterID); return gPreview;
return pShowMonster(MonsterID, a2, a3, a4); } |
# - NAO PRECISA DE MECHER EM GET-MAIN SOURCE!
# - ADICIONE EM: CustomMonster em Get_Main_Info
893 1 "BOSS BK" "Data\\Custom\\Monster\\Boss\\" "Custom\\Monster\\Boss\\1\\" "monster193" 1.30
894 1 "BOSS SM" "Data\\Custom\\Monster\\Boss\\" "Custom\\Monster\\Boss\\2\\" "monster194" 1.30
895 1 "BOSS ELF" "Data\\Custom\\Monster\\Boss\\" "Custom\\Monster\\Boss\\3\\" "monster195" 1.30
896 1 "BOSS MG" "Data\\Custom\\Monster\\Boss\\" "Custom\\Monster\\Boss\\4\\" "monster196" 1.30
897 1 "BOSS DL" "Data\\Custom\\Monster\\Boss\\" "Custom\\Monster\\Boss\\5\\" "monster197" 1.30
# - ADICIONE EM: Monster no MuServer.
893 1 "BOSS BK" 200 9000000 0 1000 1000 1000 0 88885 1000 5 43 1 10 900 2000 3600 2 100 0 4 0 100 254 100 100
894 1 "BOSS SM" 200 9000000 0 1000 1000 1000 0 88885 1000 5 1 2 10 900 100 3600 2 100 0 4 0 100 254 100 100
895 1 "BOSS ELF" 200 9000000 0 1000 1000 1000 0 88885 1000 5 1 2 10 900 100 3600 2 100 0 4 0 100 254 100 100
896 1 "BOSS MG" 200 9000000 0 1000 1000 1000 0 88885 1000 5 1 2 10 900 100 3600 2 100 0 4 0 100 254 100 100
897 1 "BOSS DL" 200 9000000 0 1000 1000 1000 0 88885 1000 5 1 2 10 900 100 3600 2 100 0 4 0 100 254 100 100
ADICIONE: Arquivos das Estruturas .BMD dos Monstros no Cliente.
[ Data/Custom/Monster/Boss ]
FIM ISSO É TUDO PESSOAL DE INSTALAÇÃO!
POR FIM VOU ESTAR DEIXANDO AQUI MEUS ARQUIVOS EDITADOS DO MEU NOVO PROJETO PARA QUE POSSAM FAZER SEM PROBLEMAS

PESSOAL FOI RETIRADO A SUMMONER E O RAGE FIGHTER MAIS SE QUIZEREM EU COLOCO DINOVO NO CODIGO PARA VOCES :)
ALGUMAS FOTOS.
https://imgur.com/a/yWzxXX9SEGUE O LINK PARA DOWNLOAD DOS ARQUIVOS COMPLETOS.
https://drive.google.com/file/d/1b3lMRmeSYgOvpHvm6cZF5312bPJaD3Jq/view?usp=sharingQUALQUER COISA PODE ME CHAMAR PARA PEDIR AJUDA QUE ESTOU A DISPOZIÇÃO DE AJUDAR!
ARQUIVOS FINALIZADOS E COMPLETOS! SENHA PARA EXTRAIR: tuservermu.com.ve

CREDITOS:
-=[Flix-Team]=-