PDA

View Full Version : |Source| Boss class - completo!



Goten
03-03-2024, 05:39 PM
https://i.ibb.co/dp1Nbr4/v5jFusd.jpg

[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 Hehehe

**Hidden Content: Check the thread to see hidden data.**

PESSOAL FOI RETIRADO A SUMMONER E O RAGE FIGHTER MAIS SE QUIZEREM EU COLOCO DINOVO NO CODIGO PARA VOCES :)

CREDITOS:
-=[Flix-Team]=-

zodiacobr
03-05-2024, 01:03 PM
Essas Skin dos Persongem se tiver disponibiliza ela pq aqui esta na pasta é a Medusa.

Farias
03-06-2024, 11:55 PM
Opa, vou testar pra ver !


Goten, consegue mandar das outras CLASSES ? ( meu servidor é S6 )