Logo
live-news-icon

Noticias

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Applayo

Páginas: 1 2 [3]
31
Sources / [Sources] Fix GM Wing on Blood Castle - Season 6
« en: Abril 21, 2021, 04:00:28 pm »


Essa source fixa o bug visual da wing do gm que fica invisível quando ele está no evento blood castle.


Main.cpp
Código: [Seleccionar]
SetCompleteHook(0xE9,0x005880F0,0x0058811F); //Fix GM Wing on Blood Castle
SetDword(0x00588444+3,4095);

Créditos: louis

32
Sources / [Sources] OffSet Invisible Wings - main 1.4e
« en: Abril 21, 2021, 12:35:01 pm »


em Interface.cpp, procure por "void Interface::work()" e adicione o seguinte:
Código: [Seleccionar]
if (GetKeyState(VK_F7) & 0x4000 && GetTickCount() >= gInterface.timeboolVar + 250)
{
if(gInterface.boolVar == true)
{
SetOp(0x00588661,(LPVOID)0x005655C0,ASM::CALL);
gInterface.boolVar = false;
}
else
{
MemorySet(0x588661,0x90,0x5);
gInterface.boolVar = true;
}
gInterface.timeboolVar = GetTickCount();
}

e em Interface.h, procure por "class Interface" e dentro de "public:" adicione:

Código: [Seleccionar]
bool boolVar;
DWORD timeboolVar;

Tecla para Ativar ou Desativar: F7

Creditos: Denis Alves
            Applayo por Demo

33
Intros / [Intro] AG 2
« en: Abril 12, 2021, 01:21:44 am »

34
Intros / [Intro] AG
« en: Abril 12, 2021, 01:17:40 am »

35
Sources / [Sources] Rotate Character for 5 slots
« en: Abril 11, 2021, 07:14:41 pm »

Rotate360Character.cpp
Code:

void RotateCharacter()
{
      if (pCursorX > 108 && pCursorX < 188 && pCursorY > 292 && pCursorY < 413) //Primeiro Slot
      {   
         int v5 = pGetPreviewStruct(pPreviewThis(),0);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = *(float *)(v8 + 272) - 5.0;
      }
      else
      {
         int v5 = pGetPreviewStruct(pPreviewThis(),0);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = 90;
      }
      if (pCursorX > 203 && pCursorX < 275 && pCursorY > 280 && pCursorY < 393) //Segundo Slot
      {   
         int v5 = pGetPreviewStruct(pPreviewThis(),1);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = *(float *)(v8 + 272) - 5.0;
      }
      else
      {
         int v5 = pGetPreviewStruct(pPreviewThis(),1);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = 75;
      }
      if (pCursorX > 296 && pCursorX < 373 && pCursorY > 270 && pCursorY < 388) //Terceiro Slot
      {   
         int v5 = pGetPreviewStruct(pPreviewThis(),2);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = *(float *)(v8 + 272) - 5.0;
      }
      else
      {
         int v5 = pGetPreviewStruct(pPreviewThis(),2);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = 45;
      }
      if (pCursorX > 390 && pCursorX < 457 && pCursorY > 271 && pCursorY < 391) //Quarto Slot
      {   
         int v5 = pGetPreviewStruct(pPreviewThis(),3);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = *(float *)(v8 + 272) - 5.0;
      }
      else
      {
         int v5 = pGetPreviewStruct(pPreviewThis(),3);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = 25;
      }
      if (pCursorX > 474 && pCursorX < 547 && pCursorY > 273 && pCursorY < 408) //Quinto Slot
      {   
         int v5 = pGetPreviewStruct(pPreviewThis(),4);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = *(float *)(v8 + 272) - 5.0;
      }
      else
      {
         int v5 = pGetPreviewStruct(pPreviewThis(),4);
         int v8 = v5 + 776;
         *(float *)(v8 + 272) = 0;
      }
}

__declspec(naked) void SelectCharacterPosition()
{
   RotateCharacter();

   static DWORD Return_Adress = 0x004D84ED;

   _asm
   {
    PUSH EBP                           
    MOV EBP,ESP
    SUB ESP,0x0D8
    MOV BYTE PTR SS:[EBP-0x1],0x0
   jmp [Return_Adress]
   }
}

void CustomRotateChar()
{
    SetCompleteHook(0xE9, 0x004D84E0, &SelectCharacterPosition);
}


Rotate360Character.h
Code:

void CustomRotateChar();
void RotateCharacter();


Main.cpp

Code:

#include Rotate360Character.h

CustomRotateChar();


Credito:
Rafhael Souza

36
Sources / [Sources] Layer Shade Font
« en: Abril 10, 2021, 09:53:06 am »
estaba revisando un par de cosas, y como tengo la SRC del Main vi como hacia el sistema de texto y me di la amabilidad de compartirla con ustedes.

Por:
Eu estava verificando algumas coisas, e como tenho o SRC do Main, vi como ele foi para o sistema de texto e tive a gentileza de compartilhar com vocês.



CGLFont.h
Code:

// GLFont.h: interface for the CGLFont class.
#pragma once

class CGLFont
{
public:
   CGLFont();
   virtual ~CGLFont();
   void ClearFontHdc( );
   void FontHdc(HFONT font);
   void FontColor( GLfloat R, GLfloat G, GLfloat B, GLfloat Alpha);
   void PaintFont(int DirPathX, int DirPathY, LPCSTR lpString, int DirPathW, int DirPathAling);
public:
   HFONT hFont;
   GLfloat ColorFont[4];
};
extern CGLFont CFont;


CGLFont.cpp
Code:

#include "stdafx.h"
#include "GLFont.h"
#include "Import.h"
//#include "CNewFrame.h"

CGLFont CFont;

CGLFont::CGLFont()
{
   this->ColorFont[0] = 1.0;
   this->ColorFont[1] = 1.0;
   this->ColorFont[2] = 1.0;
   this->ColorFont[3] = 1.0;
   this->hFont = CreateFontA ( 14, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY, DEFAULT_PITCH, "Arial" ); // Creamos la Font
}

CGLFont::~CGLFont()
{

}

void CGLFont::ClearFontHdc( )
{
   this->hFont = CreateFontA ( 14, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY, DEFAULT_PITCH, "Arial" ); // Creamos la Font
}

void CGLFont::FontHdc(HFONT font)
{
   this->hFont = font;
}

void CGLFont::FontColor( GLfloat R, GLfloat G, GLfloat B, GLfloat Alpha)
{
   this->ColorFont[0] = R/255;
   this->ColorFont[1] = G/255;
   this->ColorFont[2] = B/255;
   this->ColorFont[3] = Alpha/255;
}

void CGLFont::PaintFont(int DirPathX, int DirPathY, LPCSTR lpString, int DirPathW, int DirPathAling) //平面字符显示,不支持汉字。
{
   HDC hDC = GetDC(*(HWND*)(0x00E8C578));
   struct tagSIZE psizl;
   static SHORT FontWidth[255]; //平面字符显示,不支持汉字。
   static UINT FontListID; //不使用光照
   float v28; // [sp+40h] [bp-34h]@10
   float v29; // [sp+44h] [bp-30h]@10
   signed int v30; // [sp+48h] [bp-2Ch]@14
   signed int v36; // [sp+4Ch] [bp-28h]@46
   float v32; // [sp+50h] [bp-24h]@10
   float v38; // [sp+54h] [bp-20h]@10
   float v34; // [sp+58h] [bp-1Ch]@10
   float v35; // [sp+5Ch] [bp-18h]@10

   float v33; // ST1C_4@5

   if ( !FontListID )
   {
      FontListID = glGenLists ( 256 );

      while ( !wglUseFontBitmapsA ( hDC, 0, 255, FontListID ) )
         Sleep ( 1 );
   }

   SelectObject(hDC, this->hFont);
   GetTextExtentPoint32(hDC, lpString, strlen(lpString), &psizl);

   v28 = (double)DirPathX * pWinWidthReal;
   v29 = (double)DirPathY * pWinHeightReal;
   v32 = (double)DirPathW * pWinWidthReal;
   v34 = (double)(signed int)psizl.cx;
   v35 = (double)(signed int)psizl.cy;
   if ( v32 == 0.0 )
      v32 = (double)(signed int)psizl.cx;
   v36 = 0;
   v30 = 0;

   switch(DirPathAling)
   {
   case 2:
      if ( v32 < (double)v34 )
      {
         v30 = (signed int)(v34 - v32);
         v34 = v32;
      }
      break;
   case 1:
      if ( v32 < (double)v34 )
         v34 = v32;
      break;
   case 3:
      if ( v32 >= (double)v34 )
      {
         v36 = (signed int)((v32 - v34) / 2.0);
      }
      else
      {
         v30 = (signed int)((v34 - v32) / 2.0);
         v34 = v32;
      }
      break;
   case 4:
      if ( v32 >= (double)v34 )
      {
         v36 = (signed int)(v32 - v34);
      }
      else
      {
         v30 = (signed int)(v34 - v32);
         v34 = v32;
      }
      break;
   case 7:
      if ( v32 >= (double)v34 )
      {
         v36 = (signed int)(v32 - v34);
      }
      else
      {
         v30 = (signed int)(v34 - v32);
         v34 = v32;
      }
      v28 = v28 - v32;
      break;
   case 8:
      if ( v32 >= (double)v34 )
      {
         v36 = (signed int)((v32 - v34) / 2.0);
      }
      else
      {
         v30 = (signed int)((v34 - v32) / 2.0);
         v34 = v32;
      }
      v28 = v28 - v32 / 2.0;
      break;
   }

   v33 = (double)pWinHeight - v29;

   GLfloat ColorFont[4];
   glGetFloatv ( GL_CURRENT_COLOR, ColorFont );

   glListBase ( FontListID ); //创建大小为96显示列表,存放字符位图

   glColor4f( 0.0, 0.0, 0.0, 0.8);

   glRasterPos2f( v28 - 0.5, v33 - 0.5 );
   glCallLists( strlen ( lpString ), GL_UNSIGNED_BYTE, lpString ); //保存显示列表位属性

   glRasterPos2f( v28 + 0.5, v33 - 0.5 );
   glCallLists( strlen ( lpString ), GL_UNSIGNED_BYTE, lpString ); //保存显示列表位属性

   glRasterPos2f( v28 + 0.5, v33 + 0.5 );
   glCallLists( strlen ( lpString ), GL_UNSIGNED_BYTE, lpString ); //保存显示列表位属性

   glRasterPos2f( v28 - 0.5, v33 + 0.5 );
   glCallLists( strlen ( lpString ), GL_UNSIGNED_BYTE, lpString ); //保存显示列表位属性

   //-- //获取设置场景
   glColor4fv(this->ColorFont);

   glRasterPos2f( v28, v33 ); //不使用贴图
   glCallLists( strlen ( lpString ), GL_UNSIGNED_BYTE, lpString ); //创建大小为96显示列表,存放字符位图

   glColor4fv(ColorFont);
}



Creditos: @YolaxD e @takumi12

37
Sources / [Sources] Enable Guild Asistant get Siege Crown
« en: Abril 02, 2021, 02:37:46 pm »
Esto sirve para MuEmu para habilitar que el Asistente de la alianza atacante del Castle Siege pueda acumular tiempo y coronar durante el mismo

Por:
Isso é usado por MuEmu para permitir que o Castle Siege Attacking Alliance Wizard acumule tempo e coroa durante o processo.


En la función
Code:

void CNpcTalk::NpcCastleSiegeCrown(LPOBJ lpNpc, LPOBJ lpObj)


Buscar:
Code: [Select]

if (gCastleSiege.CheckUnionGuildMaster(lpObj->Index) == FALSE)


y reemplazar por:
Code:

if (gCastleSiege.CheckUnionGuildMaster(lpObj->Index) == FALSE && gCastleSiege.CheckCrownGuildAsistant(lpObj->Index) == FALSE)


Luego en CastleSiege.h agregar debajo de int CheckUnionGuildMaster(int iIndex);

Code:

bool CheckCrownGuildAsistant(int iIndex);


y en CastleSiege.cpp debajo de la función int CCastleSiege::CheckUnionGuildMaster(int iIndex) agregar:

Code:

bool CCastleSiege::CheckCrownGuildAsistant(int iIndex)
{
   GUILD_INFO_STRUCT* lpGuildInfo;

   if (gObjIsConnected(iIndex) == FALSE)
   {
      return FALSE;
   }

   lpGuildInfo = gObj[iIndex].Guild;

   if (lpGuildInfo == NULL)
   {
      return FALSE;
   }

   if (gObj[iIndex].GuildStatus == GUILD_ASSISTANT)
   {
      if ((lpGuildInfo->Number == lpGuildInfo->GuildUnion) || (lpGuildInfo->GuildUnion == 0))
      {
         return TRUE;
      }
   }

   return FALSE;
}

Credito: Kayito

38
Sources / Plugin Camera.dll (S6) + Skybox
« en: Abril 02, 2021, 01:45:44 pm »


Also available is the file already compiled for those who do not know how to compile.

Por:
Também está disponível o arquivo já compilado para quem não sabe compilar.


Download:
https://mega.nz/file/79ZkxBbD#85uFRGPpIHbQ9KA5pw6pLgjV_hBeSRa3nLEYticm0So

Creditos:
Webzen
Melo920
Kiosani

39
Sources / [Sources] Unicode Lang 1.04D & 1.04E
« en: Abril 02, 2021, 01:32:08 pm »
Estas son las offset para cambiar el soporte a otro idioma ya que algunos la nececitan
por el momento solo tengo el codigo china
quien se sepa algunos soportes de idiomas utf mas pueden compartirlo en esta publicacion

Por:

Estas são as compensações para mudar o suporte para outro idioma já que alguns precisam dele no momento eu só tenho o código china quem sabe alguns suportes de linguagem utf mais pode compartilhá-lo nesta publicação


1.04D

Code:

SetByte((0x00958BCC+3), 0xA8);   //1 Codepage utf China lang
SetByte((0x00958BCC+4), 0x03);   //2   Codepage utf China lang


Code:

SetByte(0x004215A7, 0xEB);   //[0-9A-Za-z] Name
SetByte((0x00507AEA+1), 0x72); //can not use symbol
SetByte(0x00507AFD, 0xEB);   //[0-9A-Za-z] Guild


1.04E

Code:

SetByte((0x00958D4C+3), 0xA8);   //1 Codepage utf China lang
SetByte((0x00958D4C+4), 0x03);   //2   Codepage utf China lang


Code:

SetByte(0x004215A7, 0xEB);   //[0-9A-Za-z] Name
SetByte((0x00507AEA+1), 0x72); //can not use symbol
SetByte(0x00507AFD, 0xEB);   //[0-9A-Za-z] Guild

40
Sources / [Sources] Announce Chaos Mix (v2)
« en: Abril 02, 2021, 12:27:25 pm »


Season 6

Find in ServerInfo.h

long m_AnnounceChaosMix;
char m_AnnounceChaosMixText[50];


Replace to:

long m_AnnounceChaosMix10;
   long m_AnnounceChaosMix11;
   long m_AnnounceChaosMix12;
   long m_AnnounceChaosMix13;
   long m_AnnounceChaosMix14;
   long m_AnnounceChaosMix15;
   char m_AnnounceChaosMix10Text[50];
   char m_AnnounceChaosMix11Text[50];
   char m_AnnounceChaosMix12Text[50];
   char m_AnnounceChaosMix13Text[50];
   char m_AnnounceChaosMix14Text[50];
   char m_AnnounceChaosMix15Text[50];


Find in ServerInfo.cpp

this->m_AnnounceChaosMix   = GetPrivateProfileInt(section,"AnnounceChaosMix",0,path);


and replace to:


   this->m_AnnounceChaosMix10   = GetPrivateProfileInt(section,"AnnounceChaosMix10",0,path);
   this->m_AnnounceChaosMix11   = GetPrivateProfileInt(section,"AnnounceChaosMix11",0,path);
   this->m_AnnounceChaosMix12   = GetPrivateProfileInt(section,"AnnounceChaosMix12",0,path);
   this->m_AnnounceChaosMix13   = GetPrivateProfileInt(section,"AnnounceChaosMix13",0,path);
   this->m_AnnounceChaosMix14   = GetPrivateProfileInt(section,"AnnounceChaosMix14",0,path);
   this->m_AnnounceChaosMix15   = GetPrivateProfileInt(section,"AnnounceChaosMix15",0,path);


do the same as GetPrivateProfileString(section,"AnnounceChaosMixText","",this->m_AnnounceChaosMixText,sizeof(this->m_AnnounceChaosMixText),path);

   GetPrivateProfileString(section,"AnnounceChaosMix10Text","",this->m_AnnounceChaosMix10Text,sizeof(this->m_AnnounceChaosMix10Text),path);
   GetPrivateProfileString(section,"AnnounceChaosMix11Text","",this->m_AnnounceChaosMix11Text,sizeof(this->m_AnnounceChaosMix11Text),path);
   GetPrivateProfileString(section,"AnnounceChaosMix12Text","",this->m_AnnounceChaosMix12Text,sizeof(this->m_AnnounceChaosMix12Text),path);
   GetPrivateProfileString(section,"AnnounceChaosMix13Text","",this->m_AnnounceChaosMix13Text,sizeof(this->m_AnnounceChaosMix13Text),path);
   GetPrivateProfileString(section,"AnnounceChaosMix14Text","",this->m_AnnounceChaosMix14Text,sizeof(this->m_AnnounceChaosMix14Text),path);
   GetPrivateProfileString(section,"AnnounceChaosMix15Text","",this->m_AnnounceChaosMix15Text,sizeof(this->m_AnnounceChaosMix15Text),path);


Find void gObjCustomLogPlusChaosMix(LPOBJ lpObj,int type,int index); in User.h and replace to:


void gObjCustomLogPlusChaosMix10(LPOBJ lpObj,int type,int index);
void gObjCustomLogPlusChaosMix11(LPOBJ lpObj,int type,int index);
void gObjCustomLogPlusChaosMix12(LPOBJ lpObj,int type,int index);
void gObjCustomLogPlusChaosMix13(LPOBJ lpObj,int type,int index);
void gObjCustomLogPlusChaosMix14(LPOBJ lpObj,int type,int index);
void gObjCustomLogPlusChaosMix15(LPOBJ lpObj,int type,int index);


Find function void gObjCustomLogPlusChaosMix(LPOBJ lpObj,int type,int index) in User.cpp and replace to:


void gObjCustomLogPlusChaosMix10(LPOBJ lpObj,int type,int index)
{
   #if(GAMESERVER_UPDATE>=501)

   if(type != 0)
   {
      return;
   }

   #else

   if(type != 3)
   {
      return;
   }

   #endif

   if(gServerInfo.m_AnnounceChaosMix10 != 0)
   {
      ITEM_INFO ItemInfo;

      if(gItemManager.GetInfo(index,&ItemInfo) != 0)
      {
         char buff[256];

         wsprintf(buff,gServerInfo.m_AnnounceChaosMix10Text,lpObj->Name,ItemInfo.Name);

         if(gServerInfo.m_AnnounceChaosMix10 == 1)
         {
            gNotice.GCNoticeSendToAll(0,0,0,0,0,0,buff);
         }
         else
         {
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,buff);
         }
      }
   }
}

void gObjCustomLogPlusChaosMix11(LPOBJ lpObj,int type,int index)
{
   #if(GAMESERVER_UPDATE>=501)

   if(type != 1)
   {
      return;
   }

   #else

   if(type != 3)
   {
      return;
   }

   #endif

   if(gServerInfo.m_AnnounceChaosMix11 != 0)
   {
      ITEM_INFO ItemInfo;

      if(gItemManager.GetInfo(index,&ItemInfo) != 0)
      {
         char buff[256];

         wsprintf(buff,gServerInfo.m_AnnounceChaosMix11Text,lpObj->Name,ItemInfo.Name);

         if(gServerInfo.m_AnnounceChaosMix11 == 1)
         {
            gNotice.GCNoticeSendToAll(0,0,0,0,0,0,buff);
         }
         else
         {
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,buff);
         }
      }
   }
}

void gObjCustomLogPlusChaosMix12(LPOBJ lpObj,int type,int index)
{
   #if(GAMESERVER_UPDATE>=501)

   if(type != 2)
   {
      return;
   }

   #else

   if(type != 3)
   {
      return;
   }

   #endif

   if(gServerInfo.m_AnnounceChaosMix12 != 0)
   {
      ITEM_INFO ItemInfo;

      if(gItemManager.GetInfo(index,&ItemInfo) != 0)
      {
         char buff[256];

         wsprintf(buff,gServerInfo.m_AnnounceChaosMix12Text,lpObj->Name,ItemInfo.Name);

         if(gServerInfo.m_AnnounceChaosMix12 == 1)
         {
            gNotice.GCNoticeSendToAll(0,0,0,0,0,0,buff);
         }
         else
         {
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,buff);
         }
      }
   }
}

void gObjCustomLogPlusChaosMix13(LPOBJ lpObj,int type,int index)
{
   #if(GAMESERVER_UPDATE>=501)

   if(type != 3)
   {
      return;
   }

   #else

   if(type != 3)
   {
      return;
   }

   #endif

   if(gServerInfo.m_AnnounceChaosMix13 != 0)
   {
      ITEM_INFO ItemInfo;

      if(gItemManager.GetInfo(index,&ItemInfo) != 0)
      {
         char buff[256];

         wsprintf(buff,gServerInfo.m_AnnounceChaosMix13Text,lpObj->Name,ItemInfo.Name);

         if(gServerInfo.m_AnnounceChaosMix13 == 1)
         {
            gNotice.GCNoticeSendToAll(0,0,0,0,0,0,buff);
         }
         else
         {
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,buff);
         }
      }
   }
}

void gObjCustomLogPlusChaosMix14(LPOBJ lpObj,int type,int index)
{
   #if(GAMESERVER_UPDATE>=501)

   if(type != 4)
   {
      return;
   }

   #else

   if(type != 3)
   {
      return;
   }

   #endif

   if(gServerInfo.m_AnnounceChaosMix14 != 0)
   {
      ITEM_INFO ItemInfo;

      if(gItemManager.GetInfo(index,&ItemInfo) != 0)
      {
         char buff[256];

         wsprintf(buff,gServerInfo.m_AnnounceChaosMix14Text,lpObj->Name,ItemInfo.Name);

         if(gServerInfo.m_AnnounceChaosMix14 == 1)
         {
            gNotice.GCNoticeSendToAll(0,0,0,0,0,0,buff);
         }
         else
         {
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,buff);
         }
      }
   }
}

void gObjCustomLogPlusChaosMix15(LPOBJ lpObj,int type,int index)
{
   #if(GAMESERVER_UPDATE>=501)

   if(type != 5)
   {
      return;
   }

   #else

   if(type != 3)
   {
      return;
   }

   #endif

   if(gServerInfo.m_AnnounceChaosMix15 != 0)
   {
      ITEM_INFO ItemInfo;

      if(gItemManager.GetInfo(index,&ItemInfo) != 0)
      {
         char buff[256];

         wsprintf(buff,gServerInfo.m_AnnounceChaosMix15Text,lpObj->Name,ItemInfo.Name);

         if(gServerInfo.m_AnnounceChaosMix15 == 1)
         {
            gNotice.GCNoticeSendToAll(0,0,0,0,0,0,buff);
         }
         else
         {
            GDGlobalNoticeSend(gMapServerManager.GetMapServerGroup(),0,0,0,0,0,0,buff);
         }
      }
   }
}


Find gObjCustomLogPlusChaosMix(lpObj,type,item.m_Index); in ChaosBox.cpp and replace to:


gObjCustomLogPlusChaosMix10(lpObj,type,item.m_Index);

      gObjCustomLogPlusChaosMix11(lpObj,type,item.m_Index);

      gObjCustomLogPlusChaosMix12(lpObj,type,item.m_Index);

      gObjCustomLogPlusChaosMix13(lpObj,type,item.m_Index);

      gObjCustomLogPlusChaosMix14(lpObj,type,item.m_Index);

      gObjCustomLogPlusChaosMix15(lpObj,type,item.m_Index);


Finnaly go to GameServer - Custom.dat find these lines

AnnounceChaosMix = 0
AnnounceChaosMixText = %s put the item %s +15

and replace to:

AnnounceChaosMix10 = 1
AnnounceChaosMix11 = 1
AnnounceChaosMix12 = 1
AnnounceChaosMix13 = 1
AnnounceChaosMix14 = 1
AnnounceChaosMix15 = 1
AnnounceChaosMix10Text = %s put the item %s +10
AnnounceChaosMix11Text = %s put the item %s +11
AnnounceChaosMix12Text = %s put the item %s +12
AnnounceChaosMix13Text = %s put the item %s +13
AnnounceChaosMix14Text = %s put the item %s +14
AnnounceChaosMix15Text = %s put the item %s +15


Good luck in your development!

Credits: Emershow

Páginas: 1 2 [3]