Jump to content
Sign in to follow this  
Adm Force

[C++]Ocultar Bandera de Cualquier NPC

Recommended Posts

Buenas hace mucho no hago un aporte y vi que alguien requería este mini aporte en esta ocasión es para ocultar la bandera de cualquier npc.

-Empecemos:

En Binario:

Client/UserInterface/InstancebaseEffect.cpp

Buscar: void CInstanceBase::__AttachEmpireEffect(DWORD eEmpire)

en esta función buscas:

	if (IsResource())
		return;

y pegas debajo:

    DWORD vnum_my_npc = xxxxx;         
    if (GetRace() == vnum_my_npc) 
        return;  

 

reemplaza el "xxxxx" por el vnum de su npc y compile.

Share this post


Link to post
Share on other sites

Publico una solución mejor, ya que si tenemos que pegar todo este código para un solo npc:

   DWORD vnum_my_npc3 = 20159;         
    if (GetRace() == vnum_my_npc3) 
        return;

Cuando queramos quitarle la bandera a 20 npcs tendremos un chorro de código innecesario.

Público un código más intuitivo

	switch ( GetRace() )
      {
         case 9006:
         case 9007:
         case vnum:
      return;
      } 

9006 y 9007 son npcs, que queremos quitarle la bandera, si queremos quitarle a otros npcs ,la bandera solo habría hacer una linea nueva antes del return; y ponerlo ejemplo case vnum:

Cambiando el vnum, por el vnum de nuestro npc nuevo.

 

Un saludo

Share this post


Link to post
Share on other sites
Justo ahora, Meruem dijo:

para que tener banderas en un npc?
si se supone que son neutrales xd

Creo recordar, que si vas a otro reino que no es el tuyo, te cobran comisión un 3% en operaciones internacionales

Share this post


Link to post
Share on other sites
hace 1 minuto, Break dijo:

Pues con las banderas, se veía a simple vista que no eras de ese reino jaja

si vas a otro reino es porque lo deseas al entrar al mapa te darás cuenta no?
aparte el precio varia inmediatamente al ver el precio si quieres quitar las banderas es mucho mas sencillo quitarlas todas.
no veo la necesidad de colocar código de sobra

Share this post


Link to post
Share on other sites

en lo personal yo lo uso mejor en pet y monturas, me parece muy molesto esa puta bandera en un pet o una montura

 

976bedf6bfba4af57e9978c3704c6514.gif

 

91a5ecbc619d9ac07005fa91dcb6b20f.gif

 

agregamos primero:

#include "../gamelib/ItemManager.h"

buscas void CInstanceBase::__AttachEmpireEffect(DWORD eEmpire) debajo de CInstanceBase* pkInstMain=__GetMainInstancePtr(); agregas:

CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer();

debajo de if (IsResource()) ponemos
  
if (CItemData::COSTUME_MOUNT)
		return;

if (GetRace() >= 53001 && GetRace() <= 53251)
		return;

 

Share this post


Link to post
Share on other sites
hace 4 horas, Jfirewall dijo:

en lo personal yo lo uso mejor en pet y monturas, me parece muy molesto esa puta bandera en un pet o una montura

 

976bedf6bfba4af57e9978c3704c6514.gif

 

91a5ecbc619d9ac07005fa91dcb6b20f.gif

 

agregamos primero:

#include "../gamelib/ItemManager.h"

buscas void CInstanceBase::__AttachEmpireEffect(DWORD eEmpire) debajo de CInstanceBase* pkInstMain=__GetMainInstancePtr(); agregas:

CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer();

debajo de if (IsResource()) ponemos
  
if (CItemData::COSTUME_MOUNT)
		return;

if (GetRace() >= 53001 && GetRace() <= 53251)
		return;

 

eso va en cada quien desee utilizarlo y no es necesario hacerlo de esa manera aunque también es correcta

Share this post


Link to post
Share on other sites
hace 15 horas, Jfirewall dijo:

en lo personal yo lo uso mejor en pet y monturas, me parece muy molesto esa puta bandera en un pet o una montura

 

976bedf6bfba4af57e9978c3704c6514.gif

 

91a5ecbc619d9ac07005fa91dcb6b20f.gif

 

agregamos primero:

#include "../gamelib/ItemManager.h"

buscas void CInstanceBase::__AttachEmpireEffect(DWORD eEmpire) debajo de CInstanceBase* pkInstMain=__GetMainInstancePtr(); agregas:

CItemData * pItemData = CItemManager::Instance().GetSelectedItemDataPointer();

debajo de if (IsResource()) ponemos
  
if (CItemData::COSTUME_MOUNT)
		return;

if (GetRace() >= 53001 && GetRace() <= 53251)
		return;

 

Todo lo que has puesto ahí relacionado con item sobra, no tiene sentido alguno. Defines un pointer al último item seleccionado por el jugador y no lo usas.

Share this post


Link to post
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.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...