Hikayeler

Reklam vermek için turkmmo@gmail.com

ɑce

Level 99
Uzman
Katılım
24 Eki 2013
Konular
294
Mesajlar
5,939
Online süresi
3ay 9g
Reaksiyon Skoru
1,554
Altın Konu
2
Başarım Puanı
302
TM Yaşı
12 Yıl 6 Ay
MmoLira
3,012
DevLira
21

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Merhabalar Geçen skıl rengi değiştirme için konu paylaşıldı bunun için wolfman sorun oluşuyormuş yabancı kaynakta gördüm sizler ile paylaşıyorum


Açın GameLib/ActorInstanceData.cpp ve aratın:

Kod:
    case CInstanceBase::EFFECT_WEAPON + CInstanceBase::WEAPON_ONEHAND:
    case CInstanceBase::EFFECT_WEAPON + CInstanceBase::WEAPON_TWOHAND:
        return m_dwSkillColor[4];
        break;
        
        Arat
        
        case CInstanceBase::EFFECT_AFFECT + CInstanceBase::AFFECT_RED_POSSESSION:
        return m_dwSkillColor[174];
        break;

    case CInstanceBase::EFFECT_AFFECT + CInstanceBase::AFFECT_BLUE_POSSESSION:
        return m_dwSkillColor[175];
        break;
        
        Ekle

Aç UserInterface/GameType.h ve ekle :
Kod:
MAX_BUFF_COUNT = 5,

Değiş

MAX_BUFF_COUNT = 6,

3. açın UserInterface/InstanceBase.cpp ve bulun:
Kod:
    for (int i = 0; i < 8; ++i) // i = skillGroup
    {
        for (int t = 0; t < ESkillColorLength::MAX_SKILL_COUNT; ++t) // t = skill
        {
            for (int x = 0; x < ESkillColorLength::MAX_EFFECT_COUNT; ++x) // x = layers
            {
                skill[i * 10 + i * (ESkillColorLength::MAX_SKILL_COUNT - 1) + t + 1][x] = *(dwSkillColor++);
            }
        }
        
        Altına Ekleyin
        
        
            for (int i = 170; i < 170 + ESkillColorLength::MAX_SKILL_COUNT; i++)
        {
            for (int x = 0; x < ESkillColorLength::MAX_EFFECT_COUNT; ++x)
                skill[i][x] = tmpdwSkillColor[i - 170][x];
        }


4. açınUserInterface/InstanceBaseEffect.cpp ve aratın

Kod:
    case EFFECT_AFFECT + AFFECT_GYEONGGONG:
        RegisterEffect(eEftType, "", "d:/ymir work/pc/assassin/effect/gyeonggong_loop.mse", false, GetNameString());
        break;
    case EFFECT_WEAPON + WEAPON_ONEHAND:
        RegisterEffect(eEftType, "equip_right_hand", "d:/ymir work/pc/warrior/effect/geom_sword_loop.mse", false, GetNameString());
        break;
    case EFFECT_WEAPON + WEAPON_TWOHAND:
        RegisterEffect(eEftType, "equip_right_hand", "d:/ymir work/pc/warrior/effect/geom_spear_loop.mse", false, GetNameString());
        break;
        
        aratın
        
        sonra Ekleyin
        
        case EFFECT_AFFECT + AFFECT_RED_POSSESSION:
        RegisterEffect(eEftType, "Bip01", "d:/ymir work/effect/hit/blow_flame/flame_loop_w.mse", false, GetNameString());
        break;
    case EFFECT_AFFECT + AFFECT_BLUE_POSSESSION:
        RegisterEffect(eEftType, "", "d:/ymir work/pc3/common/effect/gyeokgongjang_loop_w.mse", false, GetNameString());
        break;

açın common/length.h ve bulun:

Kod:
MAX_BUFF_COUNT = 5,

Değişin bunu
MAX_BUFF_COUNT = 6,

açın db/Cache.cpp ve bulun:
Kod:
void CSKillColorCache::OnFlush()

Arat sütünü komple değiş


void CSKillColorCache::OnFlush()
{
    char query[QUERY_MAX_LEN];
    snprintf(query, sizeof(query),
        "REPLACE INTO skill_color%s (`player_id`"
        ", `s1_col1`, `s1_col2`, `s1_col3`, `s1_col4`, `s1_col5`"
        ", `s2_col1`, `s2_col2`, `s2_col3`, `s2_col4`, `s2_col5`"
        ", `s3_col1`, `s3_col2`, `s3_col3`, `s3_col4`, `s3_col5`"
        ", `s4_col1`, `s4_col2`, `s4_col3`, `s4_col4`, `s4_col5`"
        ", `s5_col1`, `s5_col2`, `s5_col3`, `s5_col4`, `s5_col5`"
        ", `s6_col1`, `s6_col2`, `s6_col3`, `s6_col4`, `s6_col5`" // End of Skills
        ", `s7_col1`, `s7_col2`, `s7_col3`, `s7_col4`, `s7_col5`" // Begin of Buffs
        ", `s8_col1`, `s8_col2`, `s8_col3`, `s8_col4`, `s8_col5`"
        ", `s9_col1`, `s9_col2`, `s9_col3`, `s9_col4`, `s9_col5`"
        ", `s10_col1`, `s10_col2`, `s10_col3`, `s10_col4`, `s10_col5`"
        ", `s11_col1`, `s11_col2`, `s11_col3`, `s11_col4`, `s11_col5`"
        ", `s12_col1`, `s12_col2`, `s12_col3`, `s12_col4`, `s12_col5`"
        ") "
        "VALUES (%d"
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d" // End of Skills
        ", %d, %d, %d, %d, %d" // Begin of Buffs
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d"
        ", %d, %d, %d, %d, %d"
        ")", GetTablePostfix(), m_data.player_id,
        m_data.dwSkillColor[0][0], m_data.dwSkillColor[0][1], m_data.dwSkillColor[0][2], m_data.dwSkillColor[0][3], m_data.dwSkillColor[0][4],
        m_data.dwSkillColor[1][0], m_data.dwSkillColor[1][1], m_data.dwSkillColor[1][2], m_data.dwSkillColor[1][3], m_data.dwSkillColor[1][4],
        m_data.dwSkillColor[2][0], m_data.dwSkillColor[2][1], m_data.dwSkillColor[2][2], m_data.dwSkillColor[2][3], m_data.dwSkillColor[2][4],
        m_data.dwSkillColor[3][0], m_data.dwSkillColor[3][1], m_data.dwSkillColor[3][2], m_data.dwSkillColor[3][3], m_data.dwSkillColor[3][4],
        m_data.dwSkillColor[4][0], m_data.dwSkillColor[4][1], m_data.dwSkillColor[4][2], m_data.dwSkillColor[4][3], m_data.dwSkillColor[4][4],
        m_data.dwSkillColor[5][0], m_data.dwSkillColor[5][1], m_data.dwSkillColor[5][2], m_data.dwSkillColor[5][3], m_data.dwSkillColor[5][4], // End of Skills
        m_data.dwSkillColor[6][0], m_data.dwSkillColor[6][1], m_data.dwSkillColor[6][2], m_data.dwSkillColor[6][3], m_data.dwSkillColor[6][4], // Begin of Buffs
        m_data.dwSkillColor[7][0], m_data.dwSkillColor[7][1], m_data.dwSkillColor[7][2], m_data.dwSkillColor[7][3], m_data.dwSkillColor[7][4],
        m_data.dwSkillColor[8][0], m_data.dwSkillColor[8][1], m_data.dwSkillColor[8][2], m_data.dwSkillColor[8][3], m_data.dwSkillColor[8][4],
        m_data.dwSkillColor[9][0], m_data.dwSkillColor[9][1], m_data.dwSkillColor[9][2], m_data.dwSkillColor[9][3], m_data.dwSkillColor[9][4],
        m_data.dwSkillColor[10][0], m_data.dwSkillColor[10][1], m_data.dwSkillColor[10][2], m_data.dwSkillColor[10][3], m_data.dwSkillColor[10][4]
        , m_data.dwSkillColor[11][0], m_data.dwSkillColor[11][1], m_data.dwSkillColor[11][2], m_data.dwSkillColor[11][3], m_data.dwSkillColor[11][4]
    );

    CDBManager::instance().ReturnQuery(query, QID_SKILL_COLOR_SAVE, 0, NULL);

    if (g_test_server)
        sys_log(0, "SkillColorCache::Flush :REPLACE %u (%s)", m_data.player_id, query);

    m_bNeedQuery = false;
}

açın db/ClientManagerPlayer.cpp ve bulun:
Kod:
aratın
void CClientManager::QUERY_SKILL_COLOR_LOAD(CPeer* peer, DWORD dwHandle, TPlayerLoadPacket* packet)

Komple değiştirin

void CClientManager::QUERY_SKILL_COLOR_LOAD(CPeer* peer, DWORD dwHandle, TPlayerLoadPacket* packet)
{
    CSKillColorCache* c;
    TSkillColor* p;
    if (c = GetSkillColorCache(packet->player_id))
    {
        p = c->Get();
        peer->EncodeHeader(HEADER_DG_SKILL_COLOR_LOAD, dwHandle, sizeof(p->dwSkillColor));
        peer->Encode(p->dwSkillColor, sizeof(p->dwSkillColor));
    }
    else
    {
        char szQuery[QUERY_MAX_LEN];
        snprintf(szQuery, sizeof(szQuery), "SELECT "
            "s1_col1, s1_col2, s1_col3, s1_col4, s1_col5"
            ", s2_col1, s2_col2, s2_col3, s2_col4, s2_col5"
            ", s3_col1, s3_col2, s3_col3, s3_col4, s3_col5"
            ", s4_col1, s4_col2, s4_col3, s4_col4, s4_col5"
            ", s5_col1, s5_col2, s5_col3, s5_col4, s5_col5"
            ", s6_col1, s6_col2, s6_col3, s6_col4, s6_col5" // end of skills
            ", s7_col1, s7_col2, s7_col3, s7_col4, s7_col5" // begin of buffs
            ", s8_col1, s8_col2, s8_col3, s8_col4, s8_col5"
            ", s9_col1, s9_col2, s9_col3, s9_col4, s9_col5"
            ", s10_col1, s10_col2, s10_col3, s10_col4, s10_col5"
            ", s11_col1, s11_col2, s11_col3, s11_col4, s11_col5"
            ", s12_col1, s12_col2, s12_col3, s12_col4, s12_col5"
            " FROM skill_color%s WHERE player_id=%d",
            GetTablePostfix(), packet->player_id);
        CDBManager::instance().ReturnQuery(szQuery, QID_SKILL_COLOR, peer->GetHandle(), new ClientHandleInfo(dwHandle, packet->player_id));
    }
}

. açın game/char_skill.cpp bulun:
Kod:
struct FComputeSkillParty
{
    FComputeSkillParty(DWORD dwVnum, LPCHARACTER pkAttacker, BYTE bSkillLevel = 0)
        : m_dwVnum(dwVnum), m_pkAttacker(pkAttacker), m_bSkillLevel(bSkillLevel)
    {
    }

    void operator () (LPCHARACTER ch)
    {
    
    Altına bunu ekleyin
    
            if (m_dwVnum == 175)
        {
            BYTE skill = ESkillColorLength::BUFF_BEGIN + 5;
            BYTE id = 5;

            DWORD data[ESkillColorLength::MAX_SKILL_COUNT + ESkillColorLength::MAX_BUFF_COUNT][ESkillColorLength::MAX_EFFECT_COUNT];
            memcpy(data, ch->GetSkillColor(), sizeof(data));

            DWORD dataAttacker[ESkillColorLength::MAX_SKILL_COUNT + ESkillColorLength::MAX_BUFF_COUNT][ESkillColorLength::MAX_EFFECT_COUNT];
            memcpy(dataAttacker, m_pkAttacker->GetSkillColor(), sizeof(dataAttacker));

            data[skill][0] = dataAttacker[id][0];
            data[skill][1] = dataAttacker[id][1];
            data[skill][2] = dataAttacker[id][2];
            data[skill][3] = dataAttacker[id][3];
            data[skill][4] = dataAttacker[id][4];

            ch->SetSkillColor(data[0]);

            TSkillColor db_pack;
            memcpy(db_pack.dwSkillColor, data, sizeof(data));
            db_pack.player_id = ch->GetPlayerID();
            db_clientdesc->DBPacketHeader(HEADER_GD_SKILL_COLOR_SAVE, 0, sizeof(TSkillColor));
            db_clientdesc->Packet(&db_pack, sizeof(TSkillColor));
        }

Son olarak MySQL Table: Açın ve okutun
Kod:
-- ----------------------------
-- Table structure for skill_color
-- ----------------------------
DROP TABLE IF EXISTS `skill_color`;
CREATE TABLE `skill_color`  (
  `player_id` int(11) UNSIGNED ZEROFILL NOT NULL,
  `s1_col1` int(255) NOT NULL DEFAULT 0,
  `s1_col2` int(255) NOT NULL DEFAULT 0,
  `s1_col3` int(255) NOT NULL DEFAULT 0,
  `s1_col4` int(255) NOT NULL DEFAULT 0,
  `s1_col5` int(255) NOT NULL DEFAULT 0,
  `s2_col1` int(255) NOT NULL DEFAULT 0,
  `s2_col2` int(255) NOT NULL DEFAULT 0,
  `s2_col3` int(255) NOT NULL DEFAULT 0,
  `s2_col4` int(255) NOT NULL DEFAULT 0,
  `s2_col5` int(255) NOT NULL DEFAULT 0,
  `s3_col1` int(255) NOT NULL DEFAULT 0,
  `s3_col2` int(255) NOT NULL DEFAULT 0,
  `s3_col3` int(255) NOT NULL DEFAULT 0,
  `s3_col4` int(255) NOT NULL DEFAULT 0,
  `s3_col5` int(255) NOT NULL DEFAULT 0,
  `s4_col1` int(255) NOT NULL DEFAULT 0,
  `s4_col2` int(255) NOT NULL DEFAULT 0,
  `s4_col3` int(255) NOT NULL DEFAULT 0,
  `s4_col4` int(255) NOT NULL DEFAULT 0,
  `s4_col5` int(255) NOT NULL DEFAULT 0,
  `s5_col1` int(255) NOT NULL DEFAULT 0,
  `s5_col2` int(255) NOT NULL DEFAULT 0,
  `s5_col3` int(255) NOT NULL DEFAULT 0,
  `s5_col4` int(255) NOT NULL DEFAULT 0,
  `s5_col5` int(255) NOT NULL DEFAULT 0,
  `s6_col1` int(255) NOT NULL DEFAULT 0,
  `s6_col2` int(255) NOT NULL DEFAULT 0,
  `s6_col3` int(255) NOT NULL DEFAULT 0,
  `s6_col4` int(255) NOT NULL DEFAULT 0,
  `s6_col5` int(255) NOT NULL DEFAULT 0,
  `s7_col1` int(255) NOT NULL DEFAULT 0,
  `s7_col2` int(255) NOT NULL DEFAULT 0,
  `s7_col3` int(255) NOT NULL DEFAULT 0,
  `s7_col4` int(255) NOT NULL DEFAULT 0,
  `s7_col5` int(255) NOT NULL DEFAULT 0,
  `s8_col1` int(255) NOT NULL DEFAULT 0,
  `s8_col2` int(255) NOT NULL DEFAULT 0,
  `s8_col3` int(255) NOT NULL DEFAULT 0,
  `s8_col4` int(255) NOT NULL DEFAULT 0,
  `s8_col5` int(255) NOT NULL DEFAULT 0,
  `s9_col1` int(255) NOT NULL DEFAULT 0,
  `s9_col2` int(255) NOT NULL DEFAULT 0,
  `s9_col3` int(255) NOT NULL DEFAULT 0,
  `s9_col4` int(255) NOT NULL DEFAULT 0,
  `s9_col5` int(255) NOT NULL DEFAULT 0,
  `s10_col1` int(255) NOT NULL DEFAULT 0,
  `s10_col2` int(255) NOT NULL DEFAULT 0,
  `s10_col3` int(255) NOT NULL DEFAULT 0,
  `s10_col4` int(255) NOT NULL DEFAULT 0,
  `s10_col5` int(255) NOT NULL DEFAULT 0,
  `s11_col1` int(255) NOT NULL DEFAULT 0,
  `s11_col2` int(255) NOT NULL DEFAULT 0,
  `s11_col3` int(255) NOT NULL DEFAULT 0,
  `s11_col4` int(255) NOT NULL DEFAULT 0,
  `s11_col5` int(255) NOT NULL DEFAULT 0,
  `s12_col1` int(255) NOT NULL DEFAULT 0,
  `s12_col2` int(255) NOT NULL DEFAULT 0,
  `s12_col3` int(255) NOT NULL DEFAULT 0,
  `s12_col4` int(255) NOT NULL DEFAULT 0,
  `s12_col5` int(255) NOT NULL DEFAULT 0,
  PRIMARY KEY (`player_id`) USING BTREE
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Fixed;

1852747806_kolorowanie(1).gif.cd6e466e6f04d402bdc3e8870bb305a7.gif
 

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler.
 
Eline Sağlık Paylaşım için teşekkürler :)
 
warez olan fileste ilk buna bakmistim ama sanirim 175 hala sorunlu.
170, 171, 172, 173, 174 calisiyor.

iLN6Lp.png
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst