Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: CustomPetEffectStatic 1.4 D  (Visto 13204 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline Llalex #30 Posteado: May 09, 2020, 07:50:29 AM | Modificado: May 09, 2020, 08:06:13 AM by Llalex

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 336
  • Gracias recibida: 437
  • ve
Intente agregar estas sources, pero al iniciar sección en una cuenta el cliente se me cierra y lo que hace esto es esta linea en load del pet.cpp "SetOp((LPVOID)0x00503986, this->CreateEffect, ASM::CALL);", al quitarla me dejar entrar y todo pero me pasa el error que me quitan las texturas de los pets(ya teniendo el offset de Naraku).


Offline Llalex #31 Posteado: May 09, 2020, 09:16:54 AM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 336
  • Gracias recibida: 437
  • ve
Logre arrancar la sources completamente, pero no me modifica el tamaño de los pets para nada.


Offline Daniel@ #32 Posteado: May 09, 2020, 07:35:39 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 351
  • Gracias recibida: 3114
  • ve
Una pregunta @takumi12  Ah esta source se le tendria que agregar el EffectValue?


uff brother no le eche mucho ojo a esta source por ejemplo para 1.4e no vi su total funcionalidad.

No jaja... No hace falta bro, solo fue una pregunta ya que se me hacia raro que pongas El EffecIndex despues me preguntaba y donde leera los Joint. jajaja...
Como dije antes solo una pregunta.

esta fuente no es para pinear los joint es para añadirselos al esqueleto completo del bmd por lo que no servira para una configuracion como añadirle efecto a los horses


Offline ConejoMalo #33 Posteado: May 21, 2020, 01:33:34 AM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
si se modifica un poco pueden tener para modificar el tamaño del pet..
 

pense que eran las offset para 1.4.5 xD jajaja ya me estaba alegrando el dia

ps es la misma cosa solo te faltaria este

#define sub_9CFB8D            ((int(*)()) 0x009CFB8D)
hola maquina donde va este offset?

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Offline ConejoMalo #34 Posteado: May 21, 2020, 02:03:25 AM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
si se modifica un poco pueden tener para modificar el tamaño del pet..
 

pense que eran las offset para 1.4.5 xD jajaja ya me estaba alegrando el dia

ps es la misma cosa solo te faltaria este

#define sub_9CFB8D            ((int(*)()) 0x009CFB8D)



si crack, xD eso me faltaba nomás
hola señor podria enseñar como agregarlo? yo no eh podido podrias subir completo la forma gracias

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Offline JavixFer #35 Posteado: May 21, 2020, 02:04:54 AM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 507
  • Gracias recibida: 4893
  • bo
si se modifica un poco pueden tener para modificar el tamaño del pet..
 

pense que eran las offset para 1.4.5 xD jajaja ya me estaba alegrando el dia

ps es la misma cosa solo te faltaria este

#define sub_9CFB8D            ((int(*)()) 0x009CFB8D)
hola maquina donde va este offset?
reemplaza esta offset: #define sub_9CFA0D            ((int(*)()) 0x9CFA0D)


Offline ConejoMalo #36 Posteado: May 21, 2020, 02:08:33 AM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
si se modifica un poco pueden tener para modificar el tamaño del pet..
 

pense que eran las offset para 1.4.5 xD jajaja ya me estaba alegrando el dia

ps es la misma cosa solo te faltaria este

#define sub_9CFB8D            ((int(*)()) 0x009CFB8D)
hola maquina donde va este offset?
reemplaza esta offset: #define sub_9CFA0D            ((int(*)()) 0x9CFA0D)
a ver ahi puebo y te digo  heart

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Gracias:


Offline ConejoMalo #37 Posteado: May 21, 2020, 02:36:23 AM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
si se modifica un poco pueden tener para modificar el tamaño del pet..
 

pense que eran las offset para 1.4.5 xD jajaja ya me estaba alegrando el dia

ps es la misma cosa solo te faltaria este

#define sub_9CFB8D            ((int(*)()) 0x009CFB8D)
hola maquina donde va este offset?
reemplaza esta offset: #define sub_9CFA0D            ((int(*)()) 0x9CFA0D)
a ver ahi puebo y te digo  heart
tampoco me ha funcionado señor :(  SetOp((LPVOID)0x0048E504, this->CreateEffect, ASM::CALL); esta funcion me cierra el mainhay que agregar algo en el main.ccp? estoy re perdido

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Offline ConejoMalo #38 Posteado: May 21, 2020, 05:53:31 PM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
hola señor @takumi disculpe, podria ayudarnos tendria el source completo para poner el tamaño a los pet? estas funcopnes me cierran el main SetOp((LPVOID)0x0048E504, this->CreateEffect, ASM::CALL);
   SetOp((LPVOID)0x00503986, this->CreateEffect, ASM::CALL); tal ves este necesitando algo extra o no se .. podria brindar soporte de ello?

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Gracias:


Offline kind #39 Posteado: May 23, 2020, 06:38:03 PM | Modificado: May 23, 2020, 06:41:09 PM by kind

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Experto
  • Posts: 152
  • Gracias recibida: 2076
  • ar
Como dijo Daniel@ esta funcion ata los efectos al bmd entero x asi decirlo, no va a funcionar igual q los efectos en alas x ej.
Habiendo dicho eso, comparto la forma para en vez de agregar 1 efecto estatico, agregar dinamicos y darle un poco mas de sentido a la funcion, ya que sino ni rinde.
El codigo esta todo croto, lo hice para probar nomas.
 Asi queda:



Offline kind #40 Posteado: May 23, 2020, 06:39:21 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Experto
  • Posts: 152
  • Gracias recibida: 2076
  • ar

Offline takumi12 #41 Posteado: May 23, 2020, 07:18:44 PM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.055
  • Gracias recibida: 46330
  • mx
Como dijo Daniel@ esta funcion ata los efectos al bmd entero x asi decirlo, no va a funcionar igual q los efectos en alas x ej.
Habiendo dicho eso, comparto la forma para en vez de agregar 1 efecto estatico, agregar dinamicos y darle un poco mas de sentido a la funcion, ya que sino ni rinde.
El codigo esta todo croto, lo hice para probar nomas.
 Asi queda:



muy buena men, yo ya no lo revisé, xD leíste lo que te mandé en imbox?, sobre lo de solucionar el skilldrawswitch no quede oculto por los dragones?


Las offset no se crea, ni se destruye, solo se transforma

Offline ConejoMalo #42 Posteado: May 26, 2020, 12:13:06 AM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
hola, alguien pudo probarlo y decirme si funciona? quiero implementarlo pero mi main crashea .8

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Offline Llalex #43 Posteado: May 26, 2020, 09:12:40 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 336
  • Gracias recibida: 437
  • ve
hola, alguien pudo probarlo y decirme si funciona? quiero implementarlo pero mi main crashea .8

Me puse a chequear un poco el codigo y todo esta bien, el error de crash pasa porque en esta zona Naraku la coloco para que fuese dinámica y ahí es donde viene el problema de crash, si manejas todo sin colocarlo dinamicamente como lo dejo Naraku te andará bien..

Post Original
Code: [Select]
int ItemGroup = (dwItemNumber - 1171) / 512;
int ItemID = (dwItemNumber - 1171) % 512;
if(gCustomPet2.CheckCustomPetByItem(ItemGroup, ItemID))
{
CUSTOM_PET_INFO* lpInfo = gCustomPet2.GetInfoByItem(ItemGroup, ItemID);

*(float*)(a4 + 96) = 2.0; //Aca
}


Naraku
Code: [Select]
//================================================================================
if(gCustomPet2.CheckCustomPetByItem(ItemGroup, ItemID))
{
CUSTOM_PET_INFO* lpInfo = gCustomPet2.GetInfoByItem(ItemGroup, ItemID);

*(float*)(a4 + 96) = lpInfo->PetSize ; //Aca
}
//================================================================================


Offline ConejoMalo #44 Posteado: May 26, 2020, 09:20:51 PM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
hola, alguien pudo probarlo y decirme si funciona? quiero implementarlo pero mi main crashea .8

Me puse a chequear un poco el codigo y todo esta bien, el error de crash pasa porque en esta zona Naraku la coloco para que fuese dinámica y ahí es donde viene el problema de crash, si manejas todo sin colocarlo dinamicamente como lo dejo Naraku te andará bien..

Post Original
Code: [Select]
int ItemGroup = (dwItemNumber - 1171) / 512;
         int ItemID = (dwItemNumber - 1171) % 512;
         if(gCustomPet2.CheckCustomPetByItem(ItemGroup, ItemID))
         {
            CUSTOM_PET_INFO* lpInfo = gCustomPet2.GetInfoByItem(ItemGroup, ItemID);

               *(float*)(a4 + 96) = 2.0; //Aca
         }


Naraku
Code: [Select]
//================================================================================
         if(gCustomPet2.CheckCustomPetByItem(ItemGroup, ItemID))
         {
            CUSTOM_PET_INFO* lpInfo = gCustomPet2.GetInfoByItem(ItemGroup, ItemID);

               *(float*)(a4 + 96) = lpInfo->PetSize ; //Aca
         }
//================================================================================
gracias bro sos un genio, disculpa ya trmenda ayuda me diste con esto pero tendrias como colocarlo en el maininfo y el txt externo?

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Offline Llalex #45 Posteado: May 26, 2020, 09:39:13 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 336
  • Gracias recibida: 437
  • ve
hola, alguien pudo probarlo y decirme si funciona? quiero implementarlo pero mi main crashea .8

Me puse a chequear un poco el codigo y todo esta bien, el error de crash pasa porque en esta zona Naraku la coloco para que fuese dinámica y ahí es donde viene el problema de crash, si manejas todo sin colocarlo dinamicamente como lo dejo Naraku te andará bien..

Post Original
Code: [Select]
int ItemGroup = (dwItemNumber - 1171) / 512;
         int ItemID = (dwItemNumber - 1171) % 512;
         if(gCustomPet2.CheckCustomPetByItem(ItemGroup, ItemID))
         {
            CUSTOM_PET_INFO* lpInfo = gCustomPet2.GetInfoByItem(ItemGroup, ItemID);

               *(float*)(a4 + 96) = 2.0; //Aca
         }


Naraku
Code: [Select]
//================================================================================
         if(gCustomPet2.CheckCustomPetByItem(ItemGroup, ItemID))
         {
            CUSTOM_PET_INFO* lpInfo = gCustomPet2.GetInfoByItem(ItemGroup, ItemID);

               *(float*)(a4 + 96) = lpInfo->PetSize ; //Aca
         }
//================================================================================
gracias bro sos un genio, disculpa ya trmenda ayuda me diste con esto pero tendrias como colocarlo en el maininfo y el txt externo?

No lo veo necesario colocarlo en el GetInfo ya que no toma en si los valores dinámico...


Offline takumi12 #46 Posteado: May 26, 2020, 09:47:29 PM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.055
  • Gracias recibida: 46330
  • mx
hola, alguien pudo probarlo y decirme si funciona? quiero implementarlo pero mi main crashea .8

Me puse a chequear un poco el codigo y todo esta bien, el error de crash pasa porque en esta zona Naraku la coloco para que fuese dinámica y ahí es donde viene el problema de crash, si manejas todo sin colocarlo dinamicamente como lo dejo Naraku te andará bien..

Post Original
Code: [Select]
int ItemGroup = (dwItemNumber - 1171) / 512;
         int ItemID = (dwItemNumber - 1171) % 512;
         if(gCustomPet2.CheckCustomPetByItem(ItemGroup, ItemID))
         {
            CUSTOM_PET_INFO* lpInfo = gCustomPet2.GetInfoByItem(ItemGroup, ItemID);

               *(float*)(a4 + 96) = 2.0; //Aca
         }


Naraku
Code: [Select]
//================================================================================
         if(gCustomPet2.CheckCustomPetByItem(ItemGroup, ItemID))
         {
            CUSTOM_PET_INFO* lpInfo = gCustomPet2.GetInfoByItem(ItemGroup, ItemID);

               *(float*)(a4 + 96) = lpInfo->PetSize ; //Aca
         }
//================================================================================
gracias bro sos un genio, disculpa ya trmenda ayuda me diste con esto pero tendrias como colocarlo en el maininfo y el txt externo?

No lo veo necesario colocarlo en el GetInfo ya que no toma en si los valores dinámico...

es porque esta incompleto, solo es la base principal...


Las offset no se crea, ni se destruye, solo se transforma

Offline ConejoMalo #47 Posteado: May 26, 2020, 10:41:25 PM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
 cool2 gracias muchachos

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Offline ConejoMalo #48 Posteado: May 26, 2020, 11:19:27 PM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
prueba asi

Code: [Select]
64       0      270     1       2        1            1            0          "Soul Claw"                          043     242         252         35            100          0                 0                 0          227           75             0           0             0               1      0       0       0       0       0       0       3

@takumi12 me falta


Code: [Select]
bool cCustomPet::CheckCustomPetByItem(int ItemType,int ItemIndex) // OK
{
   for (int i=0;i<MAX_PET_ITEM; i++)
   {
      if (ItemType == this->m_CustomPetInfo[i].ItemType && ItemIndex == this->m_CustomPetInfo[i].ItemIndex)
      {
         return true;
      }
   }
   return false;
}

hola donde va esto? lo coloque en el custompet.ccp y en el petex.ccp y no se me soluciono

bool cCustomPet::CheckCustomPetByItem(int ItemType,int ItemIndex) // OK
{
   for (int i=0;i<MAX_PET_ITEM; i++)
   {
      if (ItemType == this->m_CustomPetInfo.ItemType && ItemIndex == this->m_CustomPetInfo.ItemIndex)
      {
         return true;
      }
   }
   return false;
}

neceito definir algo en algun lafo ?   

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Offline ConejoMalo #49 Posteado: June 14, 2020, 10:57:49 PM

  • +1 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 707
  • Gracias recibida: 7330
  • ar
Alguien tiene las offsets para 1.04E?

@Naraku  con respecto a la fuente que publicó, tiene la parte que personaliza el tamaño de la PET en el inventario?

en uno de los comentarios deje el offset faltante para 1.04E

si tengo la source que modifica la posicion y tamaño de los pets en el inventario.. luego la publico
bro podrias subir esa source que tienes?

Servicios de  Reparacion de bug Files Muemu, desde source y agregados Custom, soporte de configuracion.

Offline laulinh2 #50 Posteado: June 17, 2020, 09:30:40 PM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 69
  • Gracias recibida: 15
  • vn
PetEffect don't work:(, i use main 1.04E


Offline laulinh2 #51 Posteado: June 26, 2020, 02:04:14 AM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 69
  • Gracias recibida: 15
  • vn
Como dijo Daniel@ esta funcion ata los efectos al bmd entero x asi decirlo, no va a funcionar igual q los efectos en alas x ej.
Habiendo dicho eso, comparto la forma para en vez de agregar 1 efecto estatico, agregar dinamicos y darle un poco mas de sentido a la funcion, ya que sino ni rinde.
El codigo esta todo croto, lo hice para probar nomas.
 Asi queda:

(DWORD)pGetModel,pModelThis() offset???


Offline kind #52 Posteado: June 26, 2020, 08:42:41 AM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • Rank: Experto
  • Posts: 152
  • Gracias recibida: 2076
  • ar

(DWORD)pGetModel,pModelThis() offset???

#define pModelThis   ((LPVOID(*)())0x004CDA10)
#define pGetModel   ((LPVOID(__thiscall*)(LPVOID This, signed int a2)) 0x00969C50)


Offline Jean LR #53 Posteado: June 27, 2020, 12:04:38 PM

  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 194
  • Gracias recibida: 110
  • pe
Funciona en 1.04e alguien lo probó? a mi no me funciona...


Offline takumi12 #54 Posteado: June 27, 2020, 04:02:29 PM

  • MAESTRO

  • US. DE HONOR

  • LEYENDA

  • Php Coder
  • +11 puntos por ventas
  • *
  • *
  • Rank: Puto amo
  • Posts: 1.055
  • Gracias recibida: 46330
  • mx
Funciona en 1.04e alguien lo probó? a mi no me funciona...



100%  cool2


Las offset no se crea, ni se destruye, solo se transforma

Gracias:


Offline kaiocnx #55 Posteado: June 27, 2020, 05:09:21 PM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 59
  • Gracias recibida: 935
  • br

Offline hiep #56 Posteado: June 28, 2020, 03:35:32 AM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 41
  • Gracias recibida: 181
  • vn
Funciona en 1.04e alguien lo probó? a mi no me funciona...



100%  cool2
Can you share code xD  please


Offline SaintZeus #57 Posteado: July 05, 2020, 11:05:24 PM | Modificado: July 06, 2020, 07:51:16 PM by SaintZeus

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 509
  • Gracias recibida: 3285
  • ar
El GetMain es asi o nada que ver?  comiendo

GetMain
GetMainInfo.cpp

Code: [Select]
#include "PetEx.h"
PETEX_EFFECT m_Effect[MAX_PETEX_EFFECT];
gPetEffect.Load("CustomPetEffect.txt");
memcpy(info.m_Effect, gPetEffect.m_Effect, sizeof(info.m_Effect));


PetEx.cpp
Code: [Select]
#include  "stdafx.h"
#include "PetEx.h"
#include "MemScript.h"

cCPetEx gPetEffect;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

cCPetEx::cCPetEx() // OK
{
this->Init();
}

cCPetEx::~cCPetEx() // OK
{

}

void cCPetEx::Init() // OK
{
for (int n = 0; n < MAX_PETEX_EFFECT; n++)
{
this->m_Effect[n].Index = -1;
}
}

void cCPetEx::Load(char* path) // OK
{
CMemScript* lpMemScript = new CMemScript;

if (lpMemScript == 0)
{
printf(MEM_SCRIPT_ALLOC_ERROR, path);
return;
}

if (lpMemScript->SetBuffer(path) == 0)
{
printf(lpMemScript->GetLastError());
delete lpMemScript;
return;
}

this->Init();

try
{
while (true)
{
if (lpMemScript->GetToken() == TOKEN_END)
{
break;
}

if (strcmp("end", lpMemScript->GetString()) == 0)
{
break;
}

PETEX_EFFECT info;

memset(&info, 0, sizeof(info));

static int CustomItemIndexCount = 0;

info.Index = CustomItemIndexCount++;

info.ItemIndex = lpMemScript->GetNumber();
info.EffectIndex = lpMemScript->GetNumber();
info.ColorR = lpMemScript->GetAsFloatNumber();
info.ColorG = lpMemScript->GetAsFloatNumber();
info.ColorB = lpMemScript->GetAsFloatNumber();
info.ColorSize = lpMemScript->GetAsFloatNumber();
info.ColorMain = lpMemScript->GetAsFloatNumber();
info.ColorSide = lpMemScript->GetAsFloatNumber();



this->SetInfo(info);
}
}
catch (...)
{
printf(lpMemScript->GetLastError());
}

delete lpMemScript;
}

void cCPetEx::SetInfo(PETEX_EFFECT info) // OK
{
if (info.Index < 0 || info.Index >= MAX_PETEX_EFFECT)
{
return;
}

this->m_Effect[info.Index] = info;
}

PetEx.h
Code: [Select]
#pragma once

#define MAX_PETEX_EFFECT 512

struct PETEX_EFFECT
{
int Index;
int ItemIndex;
int EffectIndex;
float ColorR;
float ColorG;
float ColorB;
float ColorSize;
float ColorMain;
float ColorSide;
};

class cCPetEx
{
public:
cCPetEx();
virtual ~cCPetEx();
void Init();
void Load(char* path);
void SetInfo(PETEX_EFFECT info);

public:
PETEX_EFFECT m_Effect[MAX_PETEX_EFFECT];
};

extern cCPetEx gPetEffect;

Main

Protect.h
Code: [Select]
#include "PetEx.h"
PETEX_EFFECT m_Effect[MAX_PETEX_EFFECT];

Main.cpp
Code: [Select]
#include "PetEx.h"
gPetEffect.Load(gProtect.m_MainInfo.m_Effect);

Gracias:


Offline Jean LR #58 Posteado: July 06, 2020, 02:32:19 PM

  • 0 puntos por ventas
  • *
  • Rank: Liga mayor
  • Posts: 194
  • Gracias recibida: 110
  • pe
El GetMain es asi o nada que ver?  comiendo

GetMain
GetMainInfo.cpp

Code: [Select]
#include "PetEx.h"
gPetEffect.Load("CustomPetEffect.txt");
memcpy(info.m_Effect, gPetEffect.m_Effect, sizeof(info.m_Effect));


PetEx.cpp
Code: [Select]
#include  "stdafx.h"
#include "PetEx.h"
#include "MemScript.h"

cCPetEx gPetEffect;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

cCPetEx::cCPetEx() // OK
{
this->Init();
}

cCPetEx::~cCPetEx() // OK
{

}

void cCPetEx::Init() // OK
{
for (int n = 0; n < MAX_PETEX_EFFECT; n++)
{
this->m_Effect[n].Index = -1;
}
}

void cCPetEx::Load(char* path) // OK
{
CMemScript* lpMemScript = new CMemScript;

if (lpMemScript == 0)
{
printf(MEM_SCRIPT_ALLOC_ERROR, path);
return;
}

if (lpMemScript->SetBuffer(path) == 0)
{
printf(lpMemScript->GetLastError());
delete lpMemScript;
return;
}

this->Init();

try
{
while (true)
{
if (lpMemScript->GetToken() == TOKEN_END)
{
break;
}

if (strcmp("end", lpMemScript->GetString()) == 0)
{
break;
}

PETEX_EFFECT info;

memset(&info, 0, sizeof(info));

static int CustomItemIndexCount = 0;

info.Index = CustomItemIndexCount++;

info.ItemIndex = lpMemScript->GetNumber();
info.EffectIndex = lpMemScript->GetNumber();
info.ColorR = lpMemScript->GetAsFloatNumber();
info.ColorG = lpMemScript->GetAsFloatNumber();
info.ColorB = lpMemScript->GetAsFloatNumber();
info.ColorSize = lpMemScript->GetAsFloatNumber();
info.ColorMain = lpMemScript->GetAsFloatNumber();
info.ColorSide = lpMemScript->GetAsFloatNumber();



this->SetInfo(info);
}
}
catch (...)
{
printf(lpMemScript->GetLastError());
}

delete lpMemScript;
}

void cCPetEx::SetInfo(PETEX_EFFECT info) // OK
{
if (info.Index < 0 || info.Index >= MAX_PETEX_EFFECT)
{
return;
}

this->m_Effect[info.Index] = info;
}

PetEx.h
Code: [Select]
#pragma once

#define MAX_PETEX_EFFECT 512

struct PETEX_EFFECT
{
int Index;
int ItemIndex;
int EffectIndex;
float ColorR;
float ColorG;
float ColorB;
float ColorSize;
float ColorMain;
float ColorSide;
};

class cCPetEx
{
public:
cCPetEx();
virtual ~cCPetEx();
void Init();
void Load(char* path);
void SetInfo(PETEX_EFFECT info);

public:
PETEX_EFFECT m_Effect[MAX_PETEX_EFFECT];
};

extern cCPetEx gPetEffect;

Main

Protect.h
Code: [Select]
#include "PetEx.h"
PETEX_EFFECT m_Effect[MAX_PETEX_EFFECT];

Main.cpp
Code: [Select]
#include "PetEx.h"
gPetEffect.Load(gProtect.m_MainInfo.m_Effect);

Uso 1.4e y no funcionó, por mas que le cambie el offset


Offline SaintZeus #59 Posteado: July 11, 2020, 01:37:34 PM

  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 509
  • Gracias recibida: 3285
  • ar
El GetMain es asi o nada que ver?  comiendo

GetMain
GetMainInfo.cpp

Code: [Select]
#include "PetEx.h"
gPetEffect.Load("CustomPetEffect.txt");
memcpy(info.m_Effect, gPetEffect.m_Effect, sizeof(info.m_Effect));


PetEx.cpp
Code: [Select]
#include  "stdafx.h"
#include "PetEx.h"
#include "MemScript.h"

cCPetEx gPetEffect;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

cCPetEx::cCPetEx() // OK
{
this->Init();
}

cCPetEx::~cCPetEx() // OK
{

}

void cCPetEx::Init() // OK
{
for (int n = 0; n < MAX_PETEX_EFFECT; n++)
{
this->m_Effect[n].Index = -1;
}
}

void cCPetEx::Load(char* path) // OK
{
CMemScript* lpMemScript = new CMemScript;

if (lpMemScript == 0)
{
printf(MEM_SCRIPT_ALLOC_ERROR, path);
return;
}

if (lpMemScript->SetBuffer(path) == 0)
{
printf(lpMemScript->GetLastError());
delete lpMemScript;
return;
}

this->Init();

try
{
while (true)
{
if (lpMemScript->GetToken() == TOKEN_END)
{
break;
}

if (strcmp("end", lpMemScript->GetString()) == 0)
{
break;
}

PETEX_EFFECT info;

memset(&info, 0, sizeof(info));

static int CustomItemIndexCount = 0;

info.Index = CustomItemIndexCount++;

info.ItemIndex = lpMemScript->GetNumber();
info.EffectIndex = lpMemScript->GetNumber();
info.ColorR = lpMemScript->GetAsFloatNumber();
info.ColorG = lpMemScript->GetAsFloatNumber();
info.ColorB = lpMemScript->GetAsFloatNumber();
info.ColorSize = lpMemScript->GetAsFloatNumber();
info.ColorMain = lpMemScript->GetAsFloatNumber();
info.ColorSide = lpMemScript->GetAsFloatNumber();



this->SetInfo(info);
}
}
catch (...)
{
printf(lpMemScript->GetLastError());
}

delete lpMemScript;
}

void cCPetEx::SetInfo(PETEX_EFFECT info) // OK
{
if (info.Index < 0 || info.Index >= MAX_PETEX_EFFECT)
{
return;
}

this->m_Effect[info.Index] = info;
}

PetEx.h
Code: [Select]
#pragma once

#define MAX_PETEX_EFFECT 512

struct PETEX_EFFECT
{
int Index;
int ItemIndex;
int EffectIndex;
float ColorR;
float ColorG;
float ColorB;
float ColorSize;
float ColorMain;
float ColorSide;
};

class cCPetEx
{
public:
cCPetEx();
virtual ~cCPetEx();
void Init();
void Load(char* path);
void SetInfo(PETEX_EFFECT info);

public:
PETEX_EFFECT m_Effect[MAX_PETEX_EFFECT];
};

extern cCPetEx gPetEffect;

Main

Protect.h
Code: [Select]
#include "PetEx.h"
PETEX_EFFECT m_Effect[MAX_PETEX_EFFECT];

Main.cpp
Code: [Select]
#include "PetEx.h"
gPetEffect.Load(gProtect.m_MainInfo.m_Effect);

Uso 1.4e y no funcionó, por mas que le cambie el offset
mmm no, me habia faltado algo...



Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate