Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: SOURCE 1.04J WIZARD TEAM  (Visto 26724 veces)

0 Miembros and 2 Guests are viewing this topic.

Offline roshux #40 Posteado: August 26, 2024, 10:54:28 AM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 18
  • Gracias recibida: 13
  • gb

There are still many errors that need to be fixed to be able to use this server!

Can you uploade the client and muserver so we can test it ? Appreciate

Gracias:


Offline Genius05 #41 Posteado: August 26, 2024, 11:05:03 AM

  • 0 puntos por ventas
  • *
  • Rank: Experto
  • Posts: 155
  • Gracias recibida: 126
  • ve

There are still many errors that need to be fixed to be able to use this server!

Can you uploade the client and muserver so we can test it ? Appreciate

ahii tiene el cliente ya publicado por el amigo. y pues el muserver aqui solo deben ir la souerce buscar y agregar los .txt de los custom que se agragron. https://www.mediafire.com/folder/xzsk6vf8zqgbt/MUSERVER+BASE suerte...

Gracias:


Offline Bladimir1 #42 Posteado: August 27, 2024, 04:36:45 AM | Modificado: August 27, 2024, 04:40:10 AM by Bladimir1

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 105
  • Gracias recibida: 1778
  • au
NPCELF CUSTOM FOR FUN  cheesyy2

int __cdecl NPCELF(int a1)
{
   int result; // eax

   *(_WORD*)(a1 + 816) = ITEM_GET(12, 38);
   *(_WORD*)(a1 + 592) = ITEM_GET(7, 13);
   *(_WORD*)(a1 + 624) = ITEM_GET(8, 13);
   *(_WORD*)(a1 + 656) = ITEM_GET(9, 13);
   *(_WORD*)(a1 + 688) = ITEM_GET(10, 13);
   *(_WORD*)(a1 + 720) = ITEM_GET(11, 13);
   *(_WORD*)(a1 + 752) = ITEM_GET(4, 6);//FIRST SWORD +32
   //*(_WORD*)(a1 + 784) = ITEM_GET(4, 19);//SECOND SWORD
   *(_BYTE*)(a1 + 594) = 13;
   *(_BYTE*)(a1 + 595) = 1;
   *(_BYTE*)(a1 + 626) = 13;
   *(_BYTE*)(a1 + 627) = 1;
   *(_BYTE*)(a1 + 658) = 13;
   *(_BYTE*)(a1 + 659) = 1;
   *(_BYTE*)(a1 + 690) = 13;
   *(_BYTE*)(a1 + 691) = 1;
   *(_BYTE*)(a1 + 722) = 13;
   *(_BYTE*)(a1 + 723) = 1;
    *(_BYTE*)(a1 + 756) = 13;//FIRST SLOT WARPEON
   //*(_BYTE*)(a1 + 786) = 13;//second SLOT WARPEON
   //*(_BYTE*)(a1 + 757) = 1;//FIRST SLOT WARPEON
   *(_DWORD*)(a1 + 12) = 1065353216;
   *(_BYTE*)(a1 + 325) = 9;
   result = a1;
   *(float*)(a1 + 364) = *(float*)(a1 + 364) + 70.0;
   return result;
}

SetCompleteHook(0xE9, 0x52C17B, &NPCELF);



https://imgur.com/a/24MyuGj

Gracias:


Offline Dizzy #43 Posteado: August 28, 2024, 07:35:37 AM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 75
  • Gracias recibida: 521
  • ru
plz share the client and server with everyone, thank you!

 please  please  please

Skype: mu-legend.ru
Discord: Dizzy#1469

Offline Bladimir1 #44 Posteado: August 28, 2024, 09:05:55 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 105
  • Gracias recibida: 1778
  • au
Hi my friends i create this full source code  base for change any set, item of monsters . This base have more funtion use you imagination :D i only create it for fun and use only for change npc set, sword and monset set, armor.. maybe too you cant change sound of monsters, dont test but give the offset for sound monster too. this code is for  1.04J


https://imgur.com/a/FEs4SOc

Create CustomMonsters.ccp

add

#include "stdafx.h"
#include "CustomMonsters.h"
#include "Util.h"
#include "Common.h"
#include "Offset.h"

Monster gMonster;


#define MonsterSound      ((void(__cdecl*)(int a1, DWORD* a2, float* a3, float* a4, int a5, DWORD* a6, float a7, __int16 a8, unsigned __int8 a9, char a10, int a11, DWORD* a12))0x006C4750)



void Monster::Load()
{
   SetCompleteHook(0xE8, 0x0052D982, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052D9C3, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA04, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA45, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA86, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DAC7, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB08, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB49, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB8A, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DBCB, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DC10, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DC55, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x00531817, &Monster::MonsterAttribute);
}

void ShowMonster()
{

}

void Monster::MonsterAttribute(DWORD Object, signed int MonsterID)
{
   if (Object)
   {
      switch (MonsterID)
      {
      case 34://Cursed Wizard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 37);
         *((_WORD*)Object + 296) = ITEM_GET(7, 22);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8,22);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9,22);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10,22);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11,22);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(5,13);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(6,15);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 58://Tantalos
      case 59://zaikan
         if (MonsterID == 58)
         {
            
            *((_WORD*)Object + 376) = ITEM_GET(0, 19);
            *((_BYTE*)Object + 754) = 13;
         }
         else
         {
            
            *((_DWORD*)Object + 1) = 1;
            *((_WORD*)Object + 376) = ITEM_GET(0, 19);
            *((_BYTE*)Object + 754) = 13;
         }
         break;
      case 229: //Marlon
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 19);;
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 19);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 247: //CrossGuard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(4, 18);
         *((_BYTE*)Object + 754) = 15;
         *((_BYTE*)Object + 755) = 1;
         break;
      case 249: //Guard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 16);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 16);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 371://Leo the Helper
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 1);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 1);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 1);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 1);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 1);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 22);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 22);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 414://Leo the Helper
         *(_WORD*)(Object + 816) = ITEM_GET(12, 3);
         *((_WORD*)Object + 296) = ITEM_GET(7, 14);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 14);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 14);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 14);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 14);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(4, 22);
         *((_BYTE*)Object + 754) = 13;
         //*((_WORD*)Object + 392) = ITEM_GET(0, 22);
         //*(_BYTE*)(Object + 786) = 13;
         break;
      }
   }

   pSettingMonster(Object, MonsterID);
}

now create CustomMonsters.h

add

#ifndef MONSTER_H
#define MONSTER_H
#pragma once

class Monster
{
public:
   void Load();
   static void MonsterAttribute(DWORD a1, signed int a2);

};
extern Monster gMonster;

#endif

now go to main.ccp

add

#include "CustomMonsters.h"

gMonster.Load();


in offset.h add

#define _BYTE   BYTE
#define _WORD   WORD
#define _DWORD   DWORD
#define _FLOAT   FLOAT


Gracias:


Offline somlee #45 Posteado: August 28, 2024, 02:19:45 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 22
  • Gracias recibida: 11
  • br

There are still many errors that need to be fixed to be able to use this server!

Can you uploade the client and muserver so we can test it ? Appreciate

ahii tiene el cliente ya publicado por el amigo. y pues el muserver aqui solo deben ir la souerce buscar y agregar los .txt de los custom que se agragron. https://www.mediafire.com/folder/xzsk6vf8zqgbt/MUSERVER+BASE suerte...

Help Plis



MuServer EX301 KOR ja compilado
https://www.mediafire.com/file/09ytn48fqd726i4/EX301.rar/file

ja compilado com a source e ja removido a licensa

Gracias:


Offline vaneavanea31 #46 Posteado: August 28, 2024, 02:45:18 PM

  • 0 puntos por ventas
  • *
  • Rank: Experto
  • Posts: 168
  • Gracias recibida: 38
  • md
Hi my friends i create this full source code  base for change any set, item of monsters . This base have more funtion use you imagination :D i only create it for fun and use only for change npc set, sword and monset set, armor.. maybe too you cant change sound of monsters, dont test but give the offset for sound monster too. this code is for  1.04J


https://imgur.com/a/FEs4SOc

Create CustomMonsters.ccp

add

#include "stdafx.h"
#include "CustomMonsters.h"
#include "Util.h"
#include "Common.h"
#include "Offset.h"

Monster gMonster;


#define MonsterSound      ((void(__cdecl*)(int a1, DWORD* a2, float* a3, float* a4, int a5, DWORD* a6, float a7, __int16 a8, unsigned __int8 a9, char a10, int a11, DWORD* a12))0x006C4750)



void Monster::Load()
{
   SetCompleteHook(0xE8, 0x0052D982, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052D9C3, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA04, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA45, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA86, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DAC7, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB08, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB49, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB8A, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DBCB, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DC10, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DC55, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x00531817, &Monster::MonsterAttribute);
}

void ShowMonster()
{

}

void Monster::MonsterAttribute(DWORD Object, signed int MonsterID)
{
   if (Object)
   {
      switch (MonsterID)
      {
      case 34://Cursed Wizard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 37);
         *((_WORD*)Object + 296) = ITEM_GET(7, 22);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8,22);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9,22);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10,22);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11,22);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(5,13);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(6,15);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 58://Tantalos
      case 59://zaikan
         if (MonsterID == 58)
         {
            
            *((_WORD*)Object + 376) = ITEM_GET(0, 19);
            *((_BYTE*)Object + 754) = 13;
         }
         else
         {
            
            *((_DWORD*)Object + 1) = 1;
            *((_WORD*)Object + 376) = ITEM_GET(0, 19);
            *((_BYTE*)Object + 754) = 13;
         }
         break;
      case 229: //Marlon
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 19);;
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 19);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 247: //CrossGuard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(4, 18);
         *((_BYTE*)Object + 754) = 15;
         *((_BYTE*)Object + 755) = 1;
         break;
      case 249: //Guard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 16);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 16);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 371://Leo the Helper
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 1);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 1);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 1);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 1);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 1);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 22);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 22);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 414://Leo the Helper
         *(_WORD*)(Object + 816) = ITEM_GET(12, 3);
         *((_WORD*)Object + 296) = ITEM_GET(7, 14);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 14);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 14);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 14);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 14);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(4, 22);
         *((_BYTE*)Object + 754) = 13;
         //*((_WORD*)Object + 392) = ITEM_GET(0, 22);
         //*(_BYTE*)(Object + 786) = 13;
         break;
      }
   }

   pSettingMonster(Object, MonsterID);
}

now create CustomMonsters.h

add

#ifndef MONSTER_H
#define MONSTER_H
#pragma once

class Monster
{
public:
   void Load();
   static void MonsterAttribute(DWORD a1, signed int a2);

};
extern Monster gMonster;

#endif

now go to main.ccp

add

#include "CustomMonsters.h"

gMonster.Load();


in offset.h add

#define _BYTE   BYTE
#define _WORD   WORD
#define _DWORD   DWORD
#define _FLOAT   FLOAT

Post the MuServer / Client Please !
Thanks


Offline Bladimir1 #47 Posteado: August 28, 2024, 05:34:35 PM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 105
  • Gracias recibida: 1778
  • au
i use server files and client posted here


Offline roshux #48 Posteado: August 28, 2024, 05:40:59 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 18
  • Gracias recibida: 13
  • gb
Hi my friends i create this full source code  base for change any set, item of monsters . This base have more funtion use you imagination :D i only create it for fun and use only for change npc set, sword and monset set, armor.. maybe too you cant change sound of monsters, dont test but give the offset for sound monster too. this code is for  1.04J


https://imgur.com/a/FEs4SOc

Create CustomMonsters.ccp

add

#include "stdafx.h"
#include "CustomMonsters.h"
#include "Util.h"
#include "Common.h"
#include "Offset.h"

Monster gMonster;


#define MonsterSound      ((void(__cdecl*)(int a1, DWORD* a2, float* a3, float* a4, int a5, DWORD* a6, float a7, __int16 a8, unsigned __int8 a9, char a10, int a11, DWORD* a12))0x006C4750)



void Monster::Load()
{
   SetCompleteHook(0xE8, 0x0052D982, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052D9C3, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA04, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA45, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DA86, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DAC7, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB08, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB49, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DB8A, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DBCB, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DC10, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x0052DC55, &Monster::MonsterAttribute);
   SetCompleteHook(0xE8, 0x00531817, &Monster::MonsterAttribute);
}

void ShowMonster()
{

}

void Monster::MonsterAttribute(DWORD Object, signed int MonsterID)
{
   if (Object)
   {
      switch (MonsterID)
      {
      case 34://Cursed Wizard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 37);
         *((_WORD*)Object + 296) = ITEM_GET(7, 22);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8,22);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9,22);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10,22);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11,22);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(5,13);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(6,15);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 58://Tantalos
      case 59://zaikan
         if (MonsterID == 58)
         {
            
            *((_WORD*)Object + 376) = ITEM_GET(0, 19);
            *((_BYTE*)Object + 754) = 13;
         }
         else
         {
            
            *((_DWORD*)Object + 1) = 1;
            *((_WORD*)Object + 376) = ITEM_GET(0, 19);
            *((_BYTE*)Object + 754) = 13;
         }
         break;
      case 229: //Marlon
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 19);;
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 19);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 247: //CrossGuard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(4, 18);
         *((_BYTE*)Object + 754) = 15;
         *((_BYTE*)Object + 755) = 1;
         break;
      case 249: //Guard
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 17);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 17);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 17);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 17);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 17);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 16);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 16);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 371://Leo the Helper
         *(_WORD*)(Object + 816) = ITEM_GET(12, 36);
         *((_WORD*)Object + 296) = ITEM_GET(7, 1);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 1);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 1);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 1);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 1);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(0, 22);
         *((_BYTE*)Object + 754) = 13;
         *((_WORD*)Object + 392) = ITEM_GET(0, 22);
         *(_BYTE*)(Object + 786) = 13;
         break;
      case 414://Leo the Helper
         *(_WORD*)(Object + 816) = ITEM_GET(12, 3);
         *((_WORD*)Object + 296) = ITEM_GET(7, 14);
         *((_BYTE*)Object + 594) = 13;
         *(_BYTE*)(Object + 595) = 1;
         *((_WORD*)Object + 312) = ITEM_GET(8, 14);
         *((_BYTE*)Object + 626) = 13;
         *(_BYTE*)(Object + 627) = 1;
         *((_WORD*)Object + 328) = ITEM_GET(9, 14);
         *((_BYTE*)Object + 658) = 13;
         *(_BYTE*)(Object + 659) = 1;
         *((_WORD*)Object + 344) = ITEM_GET(10, 14);
         *((_BYTE*)Object + 690) = 13;
         *(_BYTE*)(Object + 691) = 1;
         *((_WORD*)Object + 360) = ITEM_GET(11, 14);
         *((_BYTE*)Object + 722) = 13;
         *(_BYTE*)(Object + 723) = 1;
         *((_WORD*)Object + 376) = ITEM_GET(4, 22);
         *((_BYTE*)Object + 754) = 13;
         //*((_WORD*)Object + 392) = ITEM_GET(0, 22);
         //*(_BYTE*)(Object + 786) = 13;
         break;
      }
   }

   pSettingMonster(Object, MonsterID);
}

now create CustomMonsters.h

add

#ifndef MONSTER_H
#define MONSTER_H
#pragma once

class Monster
{
public:
   void Load();
   static void MonsterAttribute(DWORD a1, signed int a2);

};
extern Monster gMonster;

#endif

now go to main.ccp

add

#include "CustomMonsters.h"

gMonster.Load();


in offset.h add

#define _BYTE   BYTE
#define _WORD   WORD
#define _DWORD   DWORD
#define _FLOAT   FLOAT

Post the MuServer / Client Please !
Thanks
Files posted above your post


Offline lucasvieira #49 Posteado: August 28, 2024, 06:00:11 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 235
  • Gracias recibida: 66
  • br

There are still many errors that need to be fixed to be able to use this server!

Can you uploade the client and muserver so we can test it ? Appreciate
link off

ahii tiene el cliente ya publicado por el amigo. y pues el muserver aqui solo deben ir la souerce buscar y agregar los .txt de los custom que se agragron. https://www.mediafire.com/folder/xzsk6vf8zqgbt/MUSERVER+BASE suerte...

Help Plis



MuServer EX301 KOR ja compilado
https://www.mediafire.com/file/09ytn48fqd726i4/EX301.rar/file

ja compilado com a source e ja removido a licensa


Offline Bladimir1 #50 Posteado: August 29, 2024, 11:45:43 PM | Modificado: August 29, 2024, 11:58:51 PM by Bladimir1

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 105
  • Gracias recibida: 1778
  • au
fix frutum for 1.04j i recreate it for fun :D

without fix https://imgur.com/a/iVnEnMe

with fix https://imgur.com/a/qYueW5T


Code:

float FrustrumX[4];
float FrustrumY[4];
bool  fixFrustum(float a1, float a2, float a3)
{
   float v4; // [esp+0h] [ebp-Ch]
   int v5; // [esp+4h] [ebp-8h]
   int i; // [esp+8h] [ebp-4h]

   if (!0x0077EBAC || 0x0077EBAC == 1 || 0x0077EBAC == 3)
      return 1;
   v5 = 3;
   for ( i = 0;  i < 4; ++i)
   {
      a3 -= 70.0f;
      float GetFrustumT = (float)((FrustrumX - a1) * (FrustrumY[v5] - a2));
      float GetFrustumB = (float)((FrustrumX[v5] - a1) * (FrustrumY - a2));

      if (GetFrustumT - GetFrustumB <= a3)
      {
         return false;
      }
   }
   return true;
}

SetCompleteHook(0xE9, 0x608782, &fixFrustum);



Gracias:


Online lkt22 #51 Posteado: August 30, 2024, 01:55:29 AM

  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 194
  • Gracias recibida: 97
  • br
fix frutum for 1.04j i recreate it for fun :D

without fix https://imgur.com/a/iVnEnMe

with fix https://imgur.com/a/qYueW5T


Code:

float FrustrumX[4];
float FrustrumY[4];
bool  fixFrustum(float a1, float a2, float a3)
{
   float v4; // [esp+0h] [ebp-Ch]
   int v5; // [esp+4h] [ebp-8h]
   int i; // [esp+8h] [ebp-4h]

   if (!0x0077EBAC || 0x0077EBAC == 1 || 0x0077EBAC == 3)
      return 1;
   v5 = 3;
   for ( i = 0;  i < 4; ++i)
   {
      a3 -= 70.0f;
      float GetFrustumT = (float)((FrustrumX - a1) * (FrustrumY[v5] - a2));
      float GetFrustumB = (float)((FrustrumX[v5] - a1) * (FrustrumY - a2));

      if (GetFrustumT - GetFrustumB <= a3)
      {
         return false;
      }
   }
   return true;
}

SetCompleteHook(0xE9, 0x608782, &fixFrustum);

I believe that VStudio does not accept it this way..


Online lkt22 #52 Posteado: August 30, 2024, 02:17:25 AM

  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 194
  • Gracias recibida: 97
  • br
Code: [Select]
float FrustrumX[4];
float FrustrumY[4];
bool  fixFrustum(float a1, float a2, float a3)
{
float v4; // [esp+0h] [ebp-Ch]
int v5; // [esp+4h] [ebp-8h]
int i; // [esp+8h] [ebp-4h]

if (!0x0077EBAC || 0x0077EBAC == 1 || 0x0077EBAC == 3)
return 1;
v5 = 3;
for ( i = 0;  i < 4; ++i)
{
a3 -= 70.0f;
float GetFrustumT = (float)((FrustrumX[i] - a1) * (FrustrumY[v5] - a2));
float GetFrustumB = (float)((FrustrumX[v5] - a1) * (FrustrumY[i] - a2));

if (GetFrustumT - GetFrustumB <= a3)
{
return false;
}
}
return true;
}

@Bladimir1 use like that here bro..


Offline Bladimir1 #53 Posteado: August 30, 2024, 04:05:46 AM

  • 0 puntos por ventas
  • *
  • Rank: Sup. destacado
  • Posts: 105
  • Gracias recibida: 1778
  • au
Code: [Select]
float FrustrumX[4];
float FrustrumY[4];
bool  fixFrustum(float a1, float a2, float a3)
{
float v4; // [esp+0h] [ebp-Ch]
int v5; // [esp+4h] [ebp-8h]
int i; // [esp+8h] [ebp-4h]

if (!0x0077EBAC || 0x0077EBAC == 1 || 0x0077EBAC == 3)
return 1;
v5 = 3;
for ( i = 0;  i < 4; ++i)
{
a3 -= 70.0f;
float GetFrustumT = (float)((FrustrumX[i] - a1) * (FrustrumY[v5] - a2));
float GetFrustumB = (float)((FrustrumX[v5] - a1) * (FrustrumY[i] - a2));

if (GetFrustumT - GetFrustumB <= a3)
{
return false;
}
}
return true;
}

@Bladimir1 use like that here bro..
//Code:

Gracias:


Offline roshux #54 Posteado: August 30, 2024, 06:34:55 AM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 18
  • Gracias recibida: 13
  • gb

There are still many errors that need to be fixed to be able to use this server!

Can you uploade the client and muserver so we can test it ? Appreciate

ahii tiene el cliente ya publicado por el amigo. y pues el muserver aqui solo deben ir la souerce buscar y agregar los .txt de los custom que se agragron. https://www.mediafire.com/folder/xzsk6vf8zqgbt/MUSERVER+BASE suerte...

Help Plis



MuServer EX301 KOR ja compilado
https://www.mediafire.com/file/09ytn48fqd726i4/EX301.rar/file

ja compilado com a source e ja removido a licensa

Mirror please , it’s been removed ! Appreciate it


Offline KenZ #55 Posteado: August 30, 2024, 11:07:18 AM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 17
  • Gracias recibida: 10
  • us

There are still many errors that need to be fixed to be able to use this server!

Can you uploade the client and muserver so we can test it ? Appreciate

ahii tiene el cliente ya publicado por el amigo. y pues el muserver aqui solo deben ir la souerce buscar y agregar los .txt de los custom que se agragron. https://www.mediafire.com/folder/xzsk6vf8zqgbt/MUSERVER+BASE suerte...

Help Plis



MuServer EX301 KOR ja compilado
https://www.mediafire.com/file/09ytn48fqd726i4/EX301.rar/file

ja compilado com a source e ja removido a licensa

Mirror please , it’s been removed ! Appreciate it
https://www.mediafire.com/file/knleaprbbvm5hpn/EX301.rar/file


Offline foolish #56 Posteado: August 30, 2024, 11:48:39 AM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 8
  • Gracias recibida: 3
  • br
Qual versão do vs utilizo para compilar?


Offline somlee #57 Posteado: August 30, 2024, 02:59:16 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 22
  • Gracias recibida: 11
  • br
Qual versão do vs utilizo para compilar?

eu usei o 2010...  ta difiicil de arrumar algumas coisas.... to refazendo do 0 denovo pra tentar arrumas os txt q ele pede.... teve uma hora q ele pediu o *.txt e isso n existe em lugar nenhum da face da terra... mas tbm n acho na source pra alterar ou excluir

Gracias:


Offline somlee #58 Posteado: August 30, 2024, 04:47:49 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 22
  • Gracias recibida: 11
  • br
pessoal to postando pra vcs o MuServer + source do projeto ja modificada...
claro que nao esta 100% e tambem nao sou expert em programação, entendo uma coisa ou outra mas fiz o que  pude pra ajudar vcs, e por enquanto paro por aqui pois encontrei muitos arquivos corrompidos que consegui arrumar, arquivos faltando no muserver que tambem consegui arrumar e outro nao..

segue abaixo que eu fiz:
Removido licença do MuServer
Corrigido nome de arquivos txt

desativei:
CustomAttack
EventEntryLevel
InvasionManager
(foi desativado no GameServer> Serverinfo.cpp... esta apenas com // so apagar que ele volta novamente porem nao consegue arrumar o txt corretamente para funcionar)

Parei na parte dos arquivos txt mesmo... chegou numa parte que nao localizo o txt corretamente na source pra alterar o nome
segue imagem abaixo:


esse arquivo 033.txt que ele pede é o arquivo Erohim da pasta EventItembag se alterar pra 033 o erro some mais dai aparece outros tambem da mesma pasta.... ai precisa ficar adivinhando de qual numeração é quem, e dai que enfim vc chega na parte que ele pede o arquivo *.txt nao faco ideia do que é e nao se pode criar nenhum arquivo com *

ja refiz 2x vezes e nao tive sucesso...
projeto ta ai pra quem quiser ajudar a desbugar
https://www.mediafire.com/file/30gczmnu1ly72lj/MuServerEX301KOR.rar/


Offline foolish #59 Posteado: August 30, 2024, 04:50:03 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 8
  • Gracias recibida: 3
  • br
Qual versão do vs utilizo para compilar?

eu usei o 2010...  ta difiicil de arrumar algumas coisas.... to refazendo do 0 denovo pra tentar arrumas os txt q ele pede.... teve uma hora q ele pediu o *.txt e isso n existe em lugar nenhum da face da terra... mas tbm n acho na source pra alterar ou excluir

Tensei compilar no VS19, porem fica dando um erro na lib que o Lua utiliza e não compila.

https://postimg.cc/1gPRsQFM



Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
2 Replies
3250 Views
Last post February 27, 2018, 11:02:35 AM
by LucasHz
24 Replies
14862 Views
Last post April 09, 2023, 10:07:47 AM
by scfmt
0 Replies
1817 Views
Last post May 09, 2019, 03:22:32 PM
by admmunowar
0 Replies
1055 Views
Last post January 27, 2021, 12:53:55 AM
by zodiacddos
0 Replies
1407 Views
Last post June 28, 2021, 11:25:08 AM
by CorsarioDgx