Tyler Durden 556 Posted October 7, 2015 A pedido do @Wery Oliveira, para não ter que criar conta noutro fórum, vou postar aqui o procedimento de como ter chat global no servidor usando o source. É de notar que não tenho quaisquer créditos, apenas vou fazer copy & paste com tradução para português e adicionada a TAG [staff]. Chat Global (com opção de activação/desactivação no ficheiro CONFIG) 1º game/input_p2p.cpp Procurar por #include "threeway_war.h"e colar em baixo isto extern bool global_chat; ______________________________________ A seguir procurar por struct FuncShoute substituir esta função if (!d->GetCharacter() || (d->GetCharacter()->GetGMLevel() == GM_PLAYER && d->GetEmpire() != m_bEmpire)) return;por esta if(global_chat) { if (!d->GetCharacter()) return; } else { if (!d->GetCharacter() || (d->GetCharacter()->GetGMLevel() == GM_PLAYER && d->GetEmpire() != m_bEmpire)) return; } 2º game/input_main.cpp Procurar por ch->SetLastShoutPulse(thecore_heart->pulse);e adicionam isto if(global_chat) { char buf[256]; char chatbuf_global[CHAT_MAX_LEN + 1]; const BYTE char_empire = ch->GetEmpire(); if (ch->GetGMLevel() != GM_PLAYER) { strlcpy(buf, LC_TEXT("Staff"), sizeof(buf)); std::string staff_color = "|cFFFFC700|H|h["; staff_color += buf; staff_color += "]|cFFA7FFD4|H|h"; sprintf(chatbuf_global, "%s %s", staff_color.c_str(), chatbuf); } else if(char_empire == 1) { strlcpy(buf, LC_TEXT("Shinsoo"), sizeof(buf)); std::string kingdom_red = "|cFFff0000|H|h["; kingdom_red += buf; kingdom_red += "]|cFFA7FFD4|H|h"; sprintf(chatbuf_global, "%s %s", kingdom_red.c_str(), chatbuf); } else if (char_empire == 2) { strlcpy(buf, LC_TEXT("Chunjo"), sizeof(buf)); std::string kingdom_yel = "|cFFFFFF00|H|h["; kingdom_yel += buf; kingdom_yel += "]|cFFA7FFD4|H|h"; sprintf(chatbuf_global, "%s %s", kingdom_yel.c_str(), chatbuf); } else if (char_empire == 3) { strlcpy(buf, LC_TEXT("Jinno"), sizeof(buf)); std::string kingdom_blue = "|cFF0080FF|H|h["; kingdom_blue += buf; kingdom_blue += "]|cFFA7FFD4|H|h"; sprintf(chatbuf_global, "%s %s", kingdom_blue.c_str(), chatbuf); } 3º game/config.cpp Procurar por int gPlayerMaxLevel = 99;e adicionam isto em baixo bool global_chat = false; ______________________________________ A seguir procurar por TOKEN("max_level") { str_to_number(gPlayerMaxLevel, value_string); gPlayerMaxLevel = MINMAX(1, gPlayerMaxLevel, PLAYER_MAX_LEVEL_CONST); fprintf(stderr, "PLAYER_MAX_LEVEL: %d\n", gPlayerMaxLevel); }e adicionam isto em baixo TOKEN("global_chat") { int flag = 0; str_to_number(flag, value_string); if (1 == flag) { global_chat = true; fprintf(stderr, "GLOBAL_CHAT: %i\n", flag); } } 4º game/config.h Procurar por extern int gPlayerMaxLevel;e adicionam isto em baixo extern bool global_chat; 5º .../share/locale/???/ Adicionar isto no final do ficheiro locale_string.txt "Staff"; "Staff, ou o que vocês quiserem"; "Jinno"; "Jinno, ou o que vocês quiserem"; "Chunjo"; "Chunjo, ou o que vocês quiserem"; "Shinsoo"; "Shinsoo, ou o que vocês quiserem"; 6º Todos os ficheiros CONFIG Adicionar isto em todos os ficheiros CONFIG GLOBAL_CHAT: 1/01 = Chat Global Activado0 = Chat Global Desactivado Fonte: metin2dev 4 Wery Oliveira, Pâmela, Frotaz and 1 other reacted to this Share this post Link to post Share on other sites
Wery Oliveira 170 Posted October 7, 2015 obrigado mesmo pelo tut aposto que vai ajudar muitos 1 Tyler Durden reacted to this Share this post Link to post Share on other sites
TeknosGames 0 Posted October 7, 2015 Muito bom Tyler, Meu game é 40267, funcionou perfeitamente, porem no input_main.cpp tive que fazer uma alteração, não sei se foi só no meu game que possa ter acontecido, ou se vc esqueceu de copiar a } para o fechamento da função, segue meu codigo a baixo e leva o meu +1 if(global_chat) { char buf[256]; char chatbuf_global[CHAT_MAX_LEN + 1]; const BYTE char_empire = ch->GetEmpire(); if (ch->GetGMLevel() != GM_PLAYER) { strlcpy(buf, LC_TEXT("Equipe"), sizeof(buf)); std::string staff_color = "|cFFFFC700|H|h["; staff_color += buf; staff_color += "]|cFFA7FFD4|H|h"; sprintf(chatbuf_global, "%s %s", staff_color.c_str(), chatbuf); } else if(char_empire == 1) { strlcpy(buf, LC_TEXT("Shinsoo"), sizeof(buf)); std::string kingdom_red = "|cFFff0000|H|h["; kingdom_red += buf; kingdom_red += "]|cFFA7FFD4|H|h"; sprintf(chatbuf_global, "%s %s", kingdom_red.c_str(), chatbuf); } else if (char_empire == 2) { strlcpy(buf, LC_TEXT("Chunjo"), sizeof(buf)); std::string kingdom_yel = "|cFFFFFF00|H|h["; kingdom_yel += buf; kingdom_yel += "]|cFFA7FFD4|H|h"; sprintf(chatbuf_global, "%s %s", kingdom_yel.c_str(), chatbuf); } else if (char_empire == 3) { strlcpy(buf, LC_TEXT("Jinno"), sizeof(buf)); std::string kingdom_blue = "|cFF0080FF|H|h["; kingdom_blue += buf; kingdom_blue += "]|cFFA7FFD4|H|h"; sprintf(chatbuf_global, "%s %s", kingdom_blue.c_str(), chatbuf); } } Share this post Link to post Share on other sites
Tyler Durden 556 Posted October 7, 2015 Muito bom Tyler, Meu game é 40267, funcionou perfeitamente, porem no input_main.cpp tive que fazer uma alteração, não sei se foi só no meu game que possa ter acontecido, ou se vc esqueceu de copiar a } para o fechamento da função, segue meu codigo a baixo e leva o meu +1 Ya esqueci-me de 1 } Share this post Link to post Share on other sites
☆♕ CabrinhaSexy ♕☆ 738 Posted November 19, 2015 Tópico fechado e movido para a lixeira a pedido do autor por mensagem privada Cumprimentos Share this post Link to post Share on other sites