Jump to content

[D]ELARO ✓

Miembro
  • Contador contenido

    393
  • Ingreso

  • Última visita

  • Días ganados

    29

Mensajes publicados por [D]ELARO ✓

  1. Para aumentar o bajar el daño de las habilidades es en szPointPoly y szMasterBonusPoly, si te das cuenta son iguales así que tienes que dejarlas igual.

    Ya lo que hay que mover no recuerdo mucho del tema así que tendrás que buscar por tu cuenta o probar por mano propia.

  2. Si logran solucionar lo de las estolas podrían compartirlo para añadirlo al post.

    Me han preguntado si son buenos para tenerlos online y hasta donde probé si, estuvo 3 meses online en pruebas incluso alguna vez tuvo una beta abierta con 180 jugadores :v pero al final no se hizo nada xdd

    Si encuentran algún bug importante háganlo saber.

  3. hace 5 horas, Xiaomi dijo:

    Buenas por lo que he. Notado dejaron el vdi pero al ccopilar el source Game sale un montón de. Errores 

    Es realmente bueno estos. ARCHIVOS o son solo recursos

    La otra seria bueno. Que en el. Tema explicaran uun poco la instalación y configuración y codigos.

    como ya te dijo chucho cd /savage_src/src/Server ENTER y gmake clean ENTER y gmake all -j4

    asi se compilan los martysama :v

    yo siempre dejo accesos directos, ejemplo a la carpeta main donde esta el admin.sh siempre lo hago con /a y para source seguramente lo deje /source o /src y siempre lo hago para ahorrar tiempo :v

  4. lo de a ip si saben manejar marty les sera facil moficando el gen_settings en main, los que tengan problema en source seguramente es por el discord_rcp que lo "arreglan" por que lo van a deshabilitar marcando en locale_inc.h con //#define ENABLE_DISCORD_RPC y asi deshabilitar el sistema de presencia en discord y dejándolos compilar, supongo ese es el problema, nadie ha dicho cual sea xd

  5. Guía para Fixear el bug de la textura del Sura incluso de alguna otra que presente el problema, sigan la guía dejo ejemplos del antes y después.

    Se modifica Source Binario.

    ANTES

    1.png

    DESPUES


    2.png

     

     

    /////////////////////////////////////////////////////////////
    
    1 Userinterface/Locale.inc.h
    
    // Pegar
    #define NPC_TEXTURE_FIX
    
    /////////////////////////////////////////////////////////////
    
    2 EterGrnLib/Thing.cpp
    
    // Buscar
    CGrannyMotion * CGraphicThing::GetMotionPointer(int iMotion)
    
    // Agregar abajo
    #ifdef NPC_TEXTURE_FIX
    int CGraphicThing::GetTextureCount() const
    {
    	if (!m_pgrnFileInfo)
    		return 0;
    
    	if (m_pgrnFileInfo->TextureCount <= 0)
    		return 0;
    
    	return (m_pgrnFileInfo->TextureCount);
    }
    
    const char * CGraphicThing::GetTexturePath(int iTexture)
    {
    	if(iTexture >= GetTextureCount())
    		return "";
    
    	return m_pgrnFileInfo->Textures[iTexture]->FromFileName;
    }
    #endif
    
    /////////////////////////////////////////////////////////////
    
    3 EterGrnLib/Thing.h
    
    // Buscar
    		int				GetMotionCount() const;
    
    // Agregar abajo
    #ifdef NPC_TEXTURE_FIX
    		int				GetTextureCount() const;
    		const char *				GetTexturePath(int iTexture);
    #endif
    
    /////////////////////////////////////////////////////////////
    
    4 GameLib/ActorInstanceData.cpp
    
    // Buscar
    			CGraphicThing* pLODModelThing = pRaceData->GetLODModelThing();
    			RegisterLODThing(0, pLODModelThing);
    
    // Reemplazar
    #ifdef NPC_TEXTURE_FIX
    			CGraphicThing* pLODModelThing = pRaceData->GetLODModelThing();
    
    			bool canLOD = true;
    			if (pModelThing && pLODModelThing) {
    				if (pModelThing->GetTextureCount() == pLODModelThing->GetTextureCount()) {
    					for (int i = 0; i < pModelThing->GetTextureCount(); i++) {
    						if (strcmp(pModelThing->GetTexturePath(i), pLODModelThing->GetTexturePath(i)) != 0)
    							canLOD = false;
    					}
    				} else {
    					canLOD = false;
    				}
    			}
    
    			if(canLOD)
    				RegisterLODThing(0, pLODModelThing);
    #endif
    
    /////////////////////////////////////////////////////////////
    
    // PARA LOS QUE NO ENTIENDAN ESTE PASO, QUEDARIA ASI:
    
    	{
    		if (pRaceData->IsTree())
    		{
    			__CreateTree(pRaceData->GetTreeFileName());
    		}
    		else
    		{
    			CGraphicThing* pModelThing = pRaceData->GetBaseModelThing();
    			RegisterModelThing(0, pModelThing);
    
    #ifdef NPC_TEXTURE_FIX
    			CGraphicThing* pLODModelThing = pRaceData->GetLODModelThing();
    
    			bool canLOD = true;
    			if (pModelThing && pLODModelThing) {
    				if (pModelThing->GetTextureCount() == pLODModelThing->GetTextureCount()) {
    					for (int i = 0; i < pModelThing->GetTextureCount(); i++) {
    						if (strcmp(pModelThing->GetTexturePath(i), pLODModelThing->GetTexturePath(i)) != 0)
    							canLOD = false;
    					}
    				} else {
    					canLOD = false;
    				}
    			}
    
    			if(canLOD)
    				RegisterLODThing(0, pLODModelThing);
    #endif
    
    			SetModelInstance(0, 0, 0);
    		}
    	}

     

    LES DEJO UN ARCHIVO .CPP CON LA GUIA PARA QUE LA GUARDEN O QUIERAN VERLO MAS CLARO EN NOTEPAD++

     

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

  6. hace 5 horas, CHELO dijo:

    Hay otra manera mucho mas facil bro tambien lo ise a mi manera pero es un gran aporte xd 

    Tambien puedes agregar solo este valor yo asi lo ise y funciono hasta para las las mascotas

    
    if (IsNPC())
    		return;

    pues si es lo mismo xd pero no tomas tampoco que despues lo quieres quitar y no sabes donde esta por eso lo hice con locale_inc, ademas no tomas en cuenta los syssers que te van a salir despues :v pero es lo mismo.

  7. Este cambio de código lo que hace es que a ti no te empujen los jefes, pero si buscan la linea que voy a dejar abajo ahí ustedes agregan 1 a 1 los jefes que no podrás empujar al tu atacarlos, por ejemplo normalmente viene el dragón beran y yo agregue el jefe orco para testear, probado por mi ya no empujas al jefe que agregues en cada case.

    Esto se busca en el mismo ActorInstanceBattle.cpp

    bool IS_HUGE_RACE(unsigned int vnum)
    {
    	switch (vnum)
    	{
    	case 691: // Jefe Orco
    	case 2493: // Beran
    		return true;
    	}
    	return false;
    }

     

  8. Una guía rápida que recopile e hice a mi manera hace unos minutos, ya que quería eliminar las banderas de los reinos en los NPC.

    Les dejo una imagen ilustrativa de que funciona correctamente, y un link por si lo quieren guardar para un futuro.

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.

    Captura-de-pantalla-2021-10-22-013248.pn

     

    Ocultar la bandera del reino de todos los NPCs.
    
    En Source Binario Abrir:
    
    UserInterface/InstanceBaseEffect.cpp
    
    // Buscar:
    void CInstanceBase::__AttachEmpireEffect(DWORD eEmpire)
    
    // Abajo buscar:
    	if (IsResource())
    		return;
    
    // Agregar abajo de return;
    #ifdef ENABLE_HIDE_EMPIRE_FLAGS
    	if (IsNPC())
    		return;
    #endif
    
    // Quedaria de esta manera:
    	if (IsResource())
    		return;
    #ifdef ENABLE_HIDE_EMPIRE_FLAGS
    	if (IsNPC())
    		return;
    #endif
    
    Abrir UserInterface/Locale_inc.h
    
    // Agregar en alguna parte:
    #define ENABLE_HIDE_EMPIRE_FLAGS
    
    // ADVERTENCIA: En el cliente si llegas a tener este error en sysser:
    1022 01:03:34375 ::   File "game.py", line 2272, in BINARY_Highlight_Item
    
    1022 01:03:34375 :: AttributeError
    1022 01:03:34375 :: : 
    1022 01:03:34375 :: 'NoneType' object has no attribute 'Highligt_Item'
    1022 01:03:34375 :: 
    
    // Busca esto en game.py
    	def BINARY_Highlight_Item(self, inven_type, inven_pos):
    		self.interface.Highligt_Item(inven_type, inven_pos)
    
    // Y reemplaza con esto:
    	def BINARY_Highlight_Item(self, inven_type, inven_pos):
    		if self.interface:
    			self.interface.Highligt_Item(inven_type, inven_pos)
    
    // Fin.
    
    Lo hice de esta manera por si en un futuro deseas volver a ver 
    las banderas, solo debes desactivar el define con una doble barra.
    les dejo un ejemplo de la manera manera correcta:
    
    // #define ENABLE_HIDE_EMPIRE_FLAGS
    
    No olviden que tambien tendrian que dejar la linea de game.py original.
    
    [D]ELARO

     

×
×
  • Crear nuevo...