- 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:
Aç UserInterface/GameType.h ve ekle :
3. açın UserInterface/InstanceBase.cpp ve bulun:
4. açınUserInterface/InstanceBaseEffect.cpp ve aratın
açın common/length.h ve bulun:
açın db/Cache.cpp ve bulun:
açın db/ClientManagerPlayer.cpp ve bulun:
. açın game/char_skill.cpp bulun:
Son olarak MySQL Table: Açın ve okutun
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;
En Çok Reaksiyon Alan Mesajlar
Tabikide hayır problemimiz yok kötü algılamayın yazdığım yazıyı ."sanirim" yazdim bu uslup neden? problemimiz mi var?
- Katılım
- 12 Tem 2017
- Konular
- 3,675
- Mesajlar
- 14,203
- Online süresi
- 1ay 19g
- Reaksiyon Skoru
- 6,340
- Altın Konu
- 1
- Başarım Puanı
- 462
- TM Yaşı
- 8 Yıl 9 Ay 12 Gün
- MmoLira
- 2,560
- DevLira
- 166
Paylaşım için teşekkürler.
- Katılım
- 3 Ara 2017
- Konular
- 3,084
- Mesajlar
- 11,960
- Online süresi
- 1y 2ay
- Reaksiyon Skoru
- 18,203
- Altın Konu
- 91
- Başarım Puanı
- 506
- Yaş
- 28
- TM Yaşı
- 8 Yıl 4 Ay 18 Gün
- MmoLira
- 118,784
- DevLira
- 176
Eline Sağlık Paylaşım için teşekkürler 
- Katılım
- 2 Şub 2015
- Konular
- 230
- Mesajlar
- 2,000
- Online süresi
- 3ay 24g
- Reaksiyon Skoru
- 1,027
- Altın Konu
- 0
- Başarım Puanı
- 276
- TM Yaşı
- 11 Yıl 2 Ay 18 Gün
- MmoLira
- 5,466
- DevLira
- 31
warez olan fileste ilk buna bakmistim ama sanirim 175 hala sorunlu.
170, 171, 172, 173, 174 calisiyor.
170, 171, 172, 173, 174 calisiyor.
Son düzenleme:
- Katılım
- 12 Ara 2015
- Konular
- 106
- Mesajlar
- 1,849
- Online süresi
- 1ay 7g
- Reaksiyon Skoru
- 933
- Altın Konu
- 1
- Başarım Puanı
- 211
- TM Yaşı
- 10 Yıl 4 Ay 10 Gün
- MmoLira
- 1,232
- DevLira
- 165
Aynen hata var dediğin gibiwarez olan fileste ilk buna bakmistim ama sanirim 175 hala sorunlu.
170, 171, 172, 173, 174 calisiyor.
![]()
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 0
- Görüntüleme
- 184
- Cevaplar
- 33
- Görüntüleme
- 2K
- Cevaplar
- 4
- Görüntüleme
- 340
- Cevaplar
- 2
- Görüntüleme
- 128













