Resultados 1 a 6 de 6

Tópico: CustomEarthQuake

Hybrid View

  1. #1
    Membro VIP zodiacddos's Avatar
    Data de Ingresso
    Dec 2017
    Posts
    13
    Thanks Thanks Given 
    50
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Mencionado
    0 Post(s)
    País
    Philippines
    Share complete please

  2. #2
    Fundador PerfectZone Mentor's Avatar


    Data de Ingresso
    Jun 2013
    Posts
    2,831
    Thanks Thanks Given 
    784
    Thanks Thanks Received 
    2,249
    Thanked in
    360 Posts
    Mencionado
    804 Post(s)
    MEU HUMOR
    Twisted
    País
    Brazil
    Citação Originally Posted by zodiacddos Ver Post
    Share complete please

    GetMainInfo


    CustomEarthQuake.h
    Código:
    #pragma once
    
    #define MAX_EARTH_QUAKE 512
    
    struct HORSE_EARTH_QUAKE
    {
        int Index;
        int ItemIndex;
        int EffectCode;
        int UseRGB;
        int ColorR;
        int ColorG;
        int ColorB;
        int EffectSize;
        int SkillEarthQuake1;
        int SkillEarthQuake2;
    };
    
    class cCEarthQuake
    {
    public:
        cCEarthQuake();
        virtual ~cCEarthQuake();
        void Init();
        void Load(char* path);
        void SetInfo(HORSE_EARTH_QUAKE info);
    
    public:
        HORSE_EARTH_QUAKE m_EarthQuake [MAX_EARTH_QUAKE];
    
    }; extern cCEarthQuake gCustomEarthQuake;

    CustomEarthQuake.cpp
    Código:
    #include "StdAfx.h"
    #include "EarthQuake.h"
    #include "MemScript.h"
    
    cCEarthQuake gCustomEarthQuake;
    
    cCEarthQuake::cCEarthQuake()
    {
        this->Init();
    }
    cCEarthQuake::~cCEarthQuake()
    {
    }
    
    void cCEarthQuake::Init()
    {
        for(int n=0;n < MAX_EARTH_QUAKE;n++)
        {
            this->m_EarthQuake[n].Index = -1;
        };
    }
    
    void cCEarthQuake::Load(char* path)
    {
        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;
                }
                HORSE_EARTH_QUAKE info;
                memset(&info,0,sizeof(info));
                static int CustomItemIndexCount = 0;
                info.Index = CustomItemIndexCount++;
                info.ItemIndex = lpMemScript->GetNumber();
                info.EffectCode = lpMemScript->GetAsNumber();
                info.UseRGB = lpMemScript->GetAsNumber();
                info.ColorR = lpMemScript->GetAsFloatNumber();
                info.ColorG = lpMemScript->GetAsFloatNumber();
                info.ColorB = lpMemScript->GetAsFloatNumber();
                info.EffectSize = lpMemScript->GetAsNumber();
                info.SkillEarthQuake1 = lpMemScript->GetAsNumber();
                info.SkillEarthQuake2 = lpMemScript->GetAsNumber();
                this->SetInfo(info);
            }
        }
        catch(...)
        {
            printf(lpMemScript->GetLastError());
        }
    
        delete lpMemScript;
    }
    
    void cCEarthQuake::SetInfo(HORSE_EARTH_QUAKE info)
    {
        if(info.Index < 0 || info.Index >= MAX_EARTH_QUAKE)
        {
            return;
        }
        this->m_EarthQuake[info.Index] = info;
    }

    GetMainInfo.cpp

    ATENÇÃO! NÃO COPIAR SIMPLESMENTE ESSAS LINHAS ABAIXO E COLAR NO SEU CPP, ANALISE PRIMEIRO SEU CÓDIGO E ADICIONE ESSAS LINHAS NOS SEUS DEVIDOS LUGARES.

    Código:
    #include "EarthQuake.h"
    
    
    DWORD CustomEffectEarthQuake;
    
    HORSE_EARTH_QUAKE m_EarthQuake[MAX_EARTH_QUAKE];
    
    
    info.CustomEffectEarthQuake = GetPrivateProfileInt("Custom","CustomEffectEarthQuake",0,".\\MainInfo.ini");
    
    gCustomEarthQuake.Load("CustomEarthQuake.txt");
    
    
    memcpy(info.m_EarthQuake, gCustomEarthQuake.m_EarthQuake, sizeof(info.m_EarthQuake));
    Perfect Zone Brasil



    Inscreva-se no meu canal clicando [Somente membros podem ver os links. ]

  3. #3
    RoxGaming Developer Denis Alves's Avatar



    Data de Ingresso
    May 2017
    Posts
    299
    Thanks Thanks Given 
    215
    Thanks Thanks Received 
    712
    Thanked in
    118 Posts
    Mencionado
    36 Post(s)
    MEU HUMOR
    Amused
    País
    Brazil
    Citação Originally Posted by zodiacddos Ver Post
    Share complete please
    para quem quem possa ter o erro da imagem 1, segue (adicionar em qualquer header (arquivo com extensão .h - pra ficar organizado use a Object.h)

    Código:
    
    typedef struct	//648? 848!!
    {
    	/*+0*/		int		Prev;
    	/*+4*/		BYTE	IsSetted;
    	/*+5*/		BYTE	Unknown5;
    	BYTE gap01[3];
    	/*+9*/		BYTE	Unknown9;
    	/*+10*/		BYTE	Unknown10;
    	/*+11*/		BYTE	Unknown11;
    	/*+12*/		BYTE	Unknown12;
    	/*+13*/		BYTE	Unknown13;
    	/*+14*/		BYTE	Unknown14;
    	/*+15*/		BYTE	Unknown15;
    	/*+16*/		BYTE	Unknown16;
    	/*+17*/		BYTE	Unknown17;
    	/*+18*/		WORD	AnimationID;
    	/*+20*/		WORD	Unknown20;
    	/*+22*/		BYTE	Unknown22;
    	/*+23*/		BYTE	Unknown23;
    	/*+24*/		BYTE	ObjectType;
    	/*+25*/		BYTE	Unknown25;
    	/*+26*/		BYTE	Unknown26;
    	/*+27*/		BYTE	Unknown27;
    	/*+28*/		BYTE	Unknown28;
    	/*+29*/		BYTE	Unknown29;
    	/*+30*/		BYTE	OnAttacking;
    	/*+31*/		BYTE	Unknown31;
    	/*+32*/		BYTE	Unknown32;
    	/*+33*/		BYTE	Unknown33;
    	/*+34*/		BYTE	Unknown34;
    	/*+35*/		BYTE	Unknown35;
    	/*+36*/		WORD	Unknown36;
    	/*+38*/		WORD	Unknown38;
    	BYTE gap05[8];
    	/*+48*/		DWORD	SkinID;
    	/*+52*/		DWORD	ActionType; //Fireworks
    	/*+48*/		DWORD	Unknown48;
    	/*+56*/		DWORD	Unknown56;
    	/*+60*/		DWORD	Unknown60;
    	/*+64*/		DWORD	Unknown64; //Count ?
    	/*+68*/		DWORD	Transparency;
    	/*+72*/		float	Unknown72;
    	/*+76*/		float	Unknown76;
    	/*+80*/		float	Unknown80;
    	BYTE gap06[8];
    	/*+92*/		DWORD	Time; //Tempo de duração ?
    	/*+96*/		float	Scale;
    	/*+100*/	float	Unknown100;
    	/*+104*/	float	Unknown104;
    	/*+108*/	float	Unknown108;
    	/*+112*/	float	Unknown112;
    	/*+116*/	float	Unknown116;
    	/*+120*/	float	Unknown120;
    	/*+124*/	float	Unknown124;
    	/*+128*/	float	Unknown128;
    	/*+132*/	float	Unknown132;
    	/*+136*/	float	Unknown136;
    	/*+140*/	float	CoordX;
    	/*+144*/	float	CoordY;
    	/*+148*/	float	Unknown148;
    	/*+152*/	float	Unknown152;
    	/*+156*/	float	ColorR;
    	/*+160*/	float	ColorG;
    	/*+164*/	float	ColorB;
    	/*+168*/	float	Unknown168;
    	/*+172*/	float	Unknown172;
    	/*+176*/	float	Unknown176;
    	/*+180*/	float	Unknown180;
    	/*+184*/	float	Unknown184;
    	/*+188*/	float	Unknown188;
    	/*+192*/	float	Unknown192;
    	/*+196*/	float	Unknown196;
    	/*+200*/	float	Unknown200;
    	/*+204*/	VAngle	Unknown204;
    	/*+216*/	VAngle	Unknown216;
    	/*+228*/    VAngle  Unknown228;
    	/*+240*/    VAngle  SelectZone; //ou o de cima
    	/*+252*/	float	VecPosX;
    	/*+256*/	float	VecPosY;
    	/*+260*/	float	VecPosZ;
    	/*+264*/	VAngle	WorldPos;
    	BYTE gap11[148];
    	/*+424*/	ObjectModel_424 Unknown424;
    	/*+472*/	VAngle	Unknown472;
    	BYTE gap12[164];
    	/*+484*/
    } 
    
    
    ObjectModel2, * lpModelObj;

  4. The Following User Says Thank You to Denis Alves For This Useful Post:


Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais