Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Reklam vermek için turkmmo@gmail.com

[Sourceden]Global Chat + Renk Ekleme

  • Konuyu başlatan Konuyu başlatan ThePooterr
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 23
  • Görüntüleme Görüntüleme 7K
Merhaba Arkadaşlar Bugün Sourceden Global Chat + Renk eklemeyi göstericem Bu Farklı Sourceden Ekleyeceğiz Dilerseniz Başlayalım

Not= Keşke Sabitlense :)

1) Global Chat Ekleme

input_p2p.cpp Açılır.

Ve Aşağıdaki Aranır.

Kod:
[COLOR=#9F9F9F][FONT=tahoma]if (!d->GetCharacter() || (d->GetCharacter()->GetGMLevel() == GM_PLAYER && d->GetEmpire() != m_bEmpire))[/FONT][/COLOR]


Eğer Novaline Kullanıyorsanız

Şunu Arayın

Kod:
[COLOR=#9F9F9F][FONT=tahoma]if (!d->GetCharacter())[/FONT][/COLOR]


Ve Alttaki İle Değiştirilir.

Kod:
[COLOR=#9F9F9F][FONT=tahoma]    // ADDED GLOBAL SHOUT OPTION[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        if (!d->GetCharacter())[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            return;[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        if(!g_bGlobalShoutEnable && (d->GetCharacter()->GetGMLevel() == GM_PLAYER && d->GetEmpire() != m_bEmpire))[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            return;[/FONT][/COLOR]
2) Chat Fonksiyon Ekleme

ınput_main.cpp Açılır

Ve Şunu Arayın

Kod:
[COLOR=#9F9F9F][FONT=tahoma]if (pinfo->type == CHAT_TYPE_SHOUT)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]    {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        const int SHOUT_LIMIT_LEVEL = 15;[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        if (ch->GetLevel() < SHOUT_LIMIT_LEVEL)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("외치기는 ë*ˆë²¨ %d 이상만 사용 가능 합니다."), SHOUT_LIMIT_LEVEL);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            return (iExtraLen);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        if (thecore_heart->pulse - (int) ch->GetLastShoutPulse() < passes_per_sec * 15)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            return (iExtraLen);[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        ch->SetLastShoutPulse(thecore_heart->pulse);[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        TPacketGGShout p;[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        p.bHeader = HEADER_GG_SHOUT;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        p.bEmpire = ch->GetEmpire();[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        strlcpy(p.szText, chatbuf, sizeof(p.szText));[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShout));[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        SendShout(chatbuf, ch->GetEmpire());[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        return (iExtraLen);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]    }[/FONT][/COLOR]


Bununla Değiştirin


Kod:
[COLOR=#9F9F9F][FONT=tahoma]if (pinfo->type == CHAT_TYPE_SHOUT)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]    {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        const int SHOUT_LIMIT_LEVEL = 15;[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        if (ch->GetLevel() < SHOUT_LIMIT_LEVEL)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("외치기는 ë*ˆë²¨ %d 이상만 사용 가능 합니다."), SHOUT_LIMIT_LEVEL);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            return (iExtraLen);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        if (thecore_heart->pulse - (int) ch->GetLastShoutPulse() < passes_per_sec * 15)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                return (iExtraLen);[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        ch->SetLastShoutPulse(thecore_heart->pulse);[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        const char* kingdoms[4] = {"|cFF47DA00|H|h[GameMaster]|cFFA7FFD4|H|h","|cFFff0000|H|h[Shinsoo]|cFFA7FFD4|H|h","|cFFFFFF00|H|h[Chunjo]|cFFA7FFD4|H|h","|cFF0080FF|H|h[Jinno]|cFFA7FFD4|H|h"};[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        char chatbuf_global[CHAT_MAX_LEN + 1];[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        int my_level = ch->GetLevel();[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        if (gSpecialShout == 1)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            if (ch->GetGMLevel() != GM_PLAYER)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                if (MasterGhostChat == 1)[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s : %s",kingdoms[0], buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                else[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    if ((MasterColorEmpire == 1) and (MasterLevelChat == 0))[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                        int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s : %s",ch->GetName(), kingdoms[ch->GetEmpire()], buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    else if ((MasterColorEmpire == 1) and (MasterLevelChat == 1))[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                        int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s [%d] : %s",ch->GetName(), kingdoms[ch->GetEmpire()], my_level, buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    else if ((MasterColorEmpire == 0) and (MasterLevelChat == 1))[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                        int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s [%d] : %s",ch->GetName(), my_level, buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    else[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                        int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s : %s",ch->GetName(), buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            else[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                if ((PlayerColorEmpire == 1) and (PlayerLevelChat == 0))[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s : %s",ch->GetName(), kingdoms[ch->GetEmpire()], buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                else if ((PlayerColorEmpire == 1) and (PlayerLevelChat == 1))[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s [%d] : %s",ch->GetName(), kingdoms[ch->GetEmpire()], my_level, buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                else if ((PlayerColorEmpire == 0) and (PlayerLevelChat == 1))[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s [%d] : %s",ch->GetName(), my_level, buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                else[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                    int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s : %s",ch->GetName(), buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]                }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        else[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s : %s",ch->GetName(), buf);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        TPacketGGShout p;[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        p.bHeader = HEADER_GG_SHOUT;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        p.bEmpire = ch->GetEmpire();[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        strlcpy(p.szText, chatbuf_global, sizeof(p.szText));[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShout));[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        SendShout(chatbuf_global, ch->GetEmpire());[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        return (iExtraLen);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]    }[/FONT][/COLOR]
3) Config fonksiyon Ekleme

config.cpp Açılır

Şunu Arayın

Kod:
[COLOR=#9F9F9F][FONT=tahoma]int gShutdownEnable = 0;[/FONT][/COLOR]


Altına Şunları Ekleyin

Kod:
[COLOR=#9F9F9F][FONT=tahoma]int gSpecialShout = 0;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]int MasterGhostChat = 0;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]int MasterColorEmpire = 0;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]int MasterLevelChat = 0;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]int PlayerColorEmpire = 0;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]int PlayerLevelChat = 0;[/FONT][/COLOR]


Ve Tekrar Şunu Arayın.

Kod:
[COLOR=#9F9F9F][FONT=tahoma]TOKEN("empire_whisper")[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            bool b_value = 0;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            str_to_number(b_value, value_string);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            g_bEmpireWhisper = !!b_value;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            continue;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]


Altına Ekleyin

Kod:
[COLOR=#9F9F9F][FONT=tahoma]TOKEN("special_shout")[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            str_to_number(gSpecialShout, value_string);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            continue;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        TOKEN("gm_ghost_shout")[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            str_to_number(MasterGhostChat, value_string);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            continue;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        TOKEN("gm_empire_shout")[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            str_to_number(MasterColorEmpire, value_string);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            continue;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        TOKEN("gm_level_shout")[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            str_to_number(MasterLevelChat, value_string);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            continue;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        TOKEN("player_empire_shout")[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            str_to_number(PlayerColorEmpire, value_string);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            continue;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]

[COLOR=#9F9F9F][FONT=tahoma]        TOKEN("player_level_shout")[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        {[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            str_to_number(PlayerLevelChat, value_string);[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]            continue;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]        }[/FONT][/COLOR]
config.h Açılır

Ve Şunu Arayın

Kod:
[COLOR=#9F9F9F][FONT=tahoma]extern int gPlayerMaxLevel;[/FONT][/COLOR]


Altına Şunları Ekleyin

Kod:
[COLOR=#9F9F9F][FONT=tahoma]extern int gSpecialShout;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]extern int MasterGhostChat;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]extern int MasterColorEmpire;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]extern int MasterLevelChat;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]extern int PlayerColorEmpire;[/FONT][/COLOR]
[COLOR=#9F9F9F][FONT=tahoma]extern int PlayerLevelChat;[/FONT][/COLOR]
4) Game Config fonksiyonları
Kod:
[INDENT]special_shout: 1
gm_ghost_shout: 1
gm_empire_shout: 1
gm_level_shout: 1
player_empire_shout: 1
player_level_shout: 1[/INDENT]


Teşekkürler.



 
Son düzenleme:
Daha önce çoğu yerde gördüm forumda da kırallık bildirimi olmadan ortak sohbet sistemi paylaşılmıştı yenilik iyidir. Denedikten sonra bu yoruma kanıt eklerim yinede paylaşım için teşekkürler alıntı olduğunuda bildirmelsin..
 

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

Geri
Üst