Skocz do zawartości
Opublikowano

Cześć, od jakiegoś czasu mam problem z ustawieniem flag i nie mogę tego zrobić poprawnie. Kiedy próbuję je ustawić, zamiast oczekiwanego efektu, widzę coś w stylu:

[FLAGA] |Lp|I Mój_Nick: Tekst

Nie rozumiem tego |Lpl|I <-- wiem że to odnośnie języka Screenshot_154.png

Tutaj znajduje się mój kod:

#ifdef ENABLE_CHAT_COLOR_SYSTEM

if (CHAT_TYPE_SHOUT == pinfo->type)

{

static const char* colorbuf[] = {"|cFFffa200|H|h[Staff]|h|r", "|cFFf77f77|H|h[Shinsoo]|h|r", "|cFFf5ef78|H|h[Chunjo]|h|r", "|cFF6d8cf2|H|h[Jinno]|h|r"};

int len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s", (ch->IsGM()?colorbuf[0]:colorbuf[MINMAX(0, ch->GetEmpire(), 3)]), ch->GetName(), buf);

}

else

{

int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);

}

#else

int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);

#endif

A to musze dodać xD

// Search

int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);

// Replace with

#ifdef __MULTI_LANGUAGE_SYSTEM__

int len = snprintf(chatbuf, sizeof(chatbuf), "|L%s|l %s : %s", LC_LOCALE(ch->GetDesc()->GetLanguage()), ch->GetName(), buf);

#else

int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);

#endif

Jakby mógł mi to ktoś ustawić byłbym wdzięczny.

Edytowane przez YeeeY

Rozwiązane przez KoYGeR

Przejdź do rozwiązania

Featured Replies

Opublikowano

Sprawdź

#ifdef ENABLE_CHAT_COLOR_SYSTEM
if (CHAT_TYPE_SHOUT == pinfo->type)
{
    static const char* colorbuf[] = {"|cFFffa200|H|h[Staff]|h|r", "|cFFf77f77|H|h[Shinsoo]|h|r", "|cFFf5ef78|H|h[Chunjo]|h|r", "|cFF6d8cf2|H|h[Jinno]|h|r"};
    const char* color_tag = (ch->IsGM() ? colorbuf[0] : colorbuf[MINMAX(0, ch->GetEmpire(), 3)]);
#ifdef __MULTI_LANGUAGE_SYSTEM__
    const char* lang_flag = LC_LOCALE(ch->GetDesc()->GetLanguage());
    int len = snprintf(chatbuf, sizeof(chatbuf), "|L%s|l %s %s : %s", lang_flag, color_tag, ch->GetName(), buf);
#else
    int len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s", color_tag, ch->GetName(), buf);
#endif
}
else
{
#ifdef __MULTI_LANGUAGE_SYSTEM__
    const char* lang_flag = LC_LOCALE(ch->GetDesc()->GetLanguage());
    int len = snprintf(chatbuf, sizeof(chatbuf), "|L%s|l %s : %s", lang_flag, ch->GetName(), buf);
#else
    int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);
#endif
}
#else
#ifdef __MULTI_LANGUAGE_SYSTEM__
    const char* lang_flag = LC_LOCALE(ch->GetDesc()->GetLanguage());
    int len = snprintf(chatbuf, sizeof(chatbuf), "|L%s|l %s : %s", lang_flag, ch->GetName(), buf);
#else
    int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);
#endif
#endif

Napisz, co widzisz w grze, jak dalej to samo to może formatowanie albo przejrzyj LC_LOCALE

Sprawdź

const char* lang_flag = "pl";
int len = snprintf(chatbuf, sizeof(chatbuf), "|L%s|l %s %s : %s", lang_flag, color_tag, ch->GetName(), buf);

Jak teraz |Lpl|I zniknie to problem z LC_LOCALE

Edytowane przez kris006

Opublikowano
  • Programista
  • Rozwiązanie
"|L%s|l"

Sugeruje, że jest to jakiś TextTag, który prawdopodobnie nie jest obsługiwany, lub jest źle obsługiwany przez Twoją binkę. Albo braki w dodanym systemie multi-language, albo źle wyciągnięty system z jakiegoś src.

Opublikowano
  • Autor

Rozwiązane.

Dzięki @KoYGeR za naprowadzenie mnie.

Edytowane przez YeeeY

  • Poly zablokował(a) ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.