nota: Copie e cole!

ModelEffect.h
Código:
// CustomWingEffect.h: interface for the CCustomModelEffect class.
//
//////////////////////////////////////////////////////////////////////

#pragma once

#define MAX_MODEL_EFFECT 7000

struct CUSTOM_MODEL_EFFECT_INFO
{
    int        Index;
    int        ItemType;
    int        ItemIndex;
    int        MinLevel;
    int        MaxLevel;
    int        MinExcellent;
    int        MaxExcellent;
    float    Color[3];
    int        EffectIndex;
    int        EffectType;
    int        EffectCode;        
    int        EffectScale;
};

class CCustomModelEffect
{
public:
    CCustomModelEffect();
    virtual ~CCustomModelEffect();
    void Init();
    void Load(CUSTOM_MODEL_EFFECT_INFO* info);
    void SetInfo(CUSTOM_MODEL_EFFECT_INFO info);
public:
    CUSTOM_MODEL_EFFECT_INFO m_CustomModelEffectInfo[MAX_MODEL_EFFECT];
};

extern CCustomModelEffect gCustomModelEffect;
ModelEffect.cpp
Código:
// CustomWingEffect.cpp: implementation of the CCustomModelEffect class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ModelEffect.h"
#include "Defines.h"
CCustomModelEffect gCustomModelEffect;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

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

CCustomModelEffect::~CCustomModelEffect() // OK
{

}

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

void CCustomModelEffect::Load(CUSTOM_MODEL_EFFECT_INFO* info) // OK
{
    for(int n=0;n < MAX_MODEL_EFFECT;n++)
    {
        this->SetInfo(info[n]);
    }
}

void CCustomModelEffect::SetInfo(CUSTOM_MODEL_EFFECT_INFO info) // OK
{
    if(info.Index < 0 || info.Index >= MAX_MODEL_EFFECT)
    {
        return;
    }

    this->m_CustomModelEffectInfo[info.Index] = info;
}
Créditos:
onlinezajzaj