Jump to content

Specular en tus NPCs - Jefes o mas.


Recommended Posts

Specular en tus NPCs - Jefes o mas.


Quizas a alguno le interese el tema, pero si desean tener brillos en sus mobs, ya sean NPC's, monturas jefes o mas, pueden seguir el siguiente tutorial.

En tu source binario ir a ActorInstanceData.cpp


Buscar: void CActorInstance::SetShape(DWORD eShape, float fSpecular) y añaden lo siguiente:
 

void CActorInstance::SetShape(DWORD eShape, float fSpecular)
{
    // Todos los npcs brillaran
    if (IsNPC())
    {
        fSpecular = 1.0;
    }
    // Los jefes enumerados brillaran
    else if (m_eRace == 591 || m_eRace == 691 || m_eRace == 692 || m_eRace == 791 || m_eRace == 793 || m_eRace == 1091 ||
        m_eRace == 1092 || m_eRace == 1096 || m_eRace == 1191 || m_eRace == 1192 || m_eRace == 1304 || m_eRace == 1306 ||
        m_eRace == 1308 || m_eRace == 1309 || m_eRace == 1310 || m_eRace == 1334 || m_eRace == 1901 || m_eRace == 1902 ||
    {
        fSpecular = 1.0;
    }
    // Todos las monturas dentro del rango brillaran
    else if ((m_eRace >= 20101 && m_eRace <= 20290))
    {
        fSpecular = 1.0;
    }
	CRaceData * pRaceData;
	if (!CRaceManager::Instance().GetRaceDataPointer(m_eRace, &pRaceData))
		return;

	CRaceData::SShape* pkShape=pRaceData->FindShape(eShape);
	if (pkShape)
	{
	...
	}


En este ejemplo hay 3 casos
Puedes usar IsNPC para que todos brillen
En Jefes solo es un ejemplo de como estan enumerados los que quieres que brillen (obviamente puedes colocar todos los que quieras)
En monturas estan por rangos

Puedes solo utilizar enumeraciones y rangos a la vez, en mi caso lo tengo asi para mayor orden

Despues de tener todo listo en binaro, solo compilas.

Luego vas a la ruta del mob que quieres que tenga specular, por ejemplo "plechi_aj_boss3.msm" 

Este archivo esta asi por defecto:
 

ScriptType            RaceDataScript

BaseModelFileName     "D:\ymir work\monster2\plechito_ancient_jungle\plechi_aj_boss3\plechi_aj_boss3.GR2"

Group ShapeData
{
    PathName 		 ""
    ShapeDataCount 		 0
}
Group AttachingData
{
...
}


Debes añadir o modificar "ShapeData" asi:

Indicandole la ruta del .gr2 y sus texturas (posiblemente algunos mobs tengan mas de 1 textura, en ese caso agregarias SourceSkin2 y TargetSkin2 si se diera el caso)

ScriptType            RaceDataScript

BaseModelFileName     "D:\ymir work\monster2\plechito_ancient_jungle\plechi_aj_boss3\plechi_aj_boss3.GR2"

Group ShapeData
{
    PathName         "D:\ymir work\monster2\plechito_ancient_jungle\plechi_aj_boss3\"
    ShapeDataCount         1

    Group ShapeData00
    {
        ShapeIndex            0

        Model                "plechi_aj_boss3.GR2"
        SourceSkin            "body_tex.dds"
        TargetSkin            "body_tex.dds"
    }
}
Group AttachingData
{
...
}


Video de como ajustar el canal alpha:

 

Adjunto video de como editar basicamente el canal alpha, uno puede hacer de todo, como seleccionar donde quieres que brillen, o hacer diseños con el mismo specular

Lo importante es:

- El canal alpha debe estar practicamente inivisible si quieres que brille poco
- Si no quieres brillos debes borrar toda la imagen en su canal alpha
- Si quieres que brillen ciertas zonas, utiliza "Color a alfa" que yo uso en gimp, en el borraras las zonas oscuras o negras, dejando zonas de tonos altos simulando un area "metalica",

Sin embargo, dependiendo de la textura tendras que tocar tu mismo que zonas quieres que brillen, es cosa de jugar un rato con ella

Suerte y cualquier duda que tengan, dejenla en los comentarios o en el discord de zone!.

Video del resultado:

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...