Skocz do zawartości

Jak przerobić pakiet komunikatu w źródle do nowego formatu wczytywanego z klienta gry

Featured Replies

Opublikowano

Cześć,

 

Przedstawiam opis w jaki sposób przerabiać komunikaty w źródle do nowego formatu odczytywanego z klienta gry. 

 

Przykład:

image.png.2c3016aa59488fd548f37fc594e6bab8.png

 

Mamy funkcję w której występuje komunikat ChatPacket, domyślnie to koreańskie znaczki, które są przetłumaczone w locale_string.txt na serwerze. 

Musimy zaktualizować ten komunikat w źródle gry do nowego formatu, a więc: 

 

Komunikat:

ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s에 박혀있던 보석이 사라집니다."), GetName());

 

Będzie miał teraz taki format:

ch->ChatPacket(CHAT_TYPE_INFO, "[LS;1;%s]", GetName());

 

locale_string.txt z klienta gry:

1	Z %s zniknął klejnot.

 

Przeanalizujmy ten format:

[LS;1;%s] # LS (określa plik locale_string z klienta gry - 1 (oznacza identyfikator komunikatu z locale_string) - %s - określa format dla argumentu.

 

Jeśli komunikat nie ma argumentów wystarczy zapis. 

ch->ChatPacket(CHAT_TYPE_INFO, "[LS;1]");

 

Jeśli argument ma wartość liczbową wtedy używamy formatu - %d

 

 

W ten sposób możesz przerobić wszystkie komunikaty w źródle do nowego formatu odczytywanego z klienta gry zamiast serwera. 

Opublikowano

To nic, dla kogoś kto faktycznie będzie korzystał z tych plików można poświęcić z pół godzinki dziennie. Super wstawka!

  • 2 tygodnie później...
  • 2 tygodnie później...
  • 1 miesiąc temu...
  • 2 tygodnie później...
  • 1 miesiąc temu...
  • 1 miesiąc temu...
Gość
Dodaj odpowiedź do tematu...