kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
BlackFullMoon 1
BlackFullMoon
Hikaye Ekle

Wolfman Renk Sistemindeki Hata Fixi

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 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

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 : 0, Üye: 0, Misafir: 0)

Geri
Üst