Skocz do zawartości

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

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. 

Featured Replies

Opublikowano

Zabawa na dobre kilka h

Opublikowano
  • Autor

Ja to odpuściłem bo tego jest od zajebania tylko część komunikatów przerobiłem w entry. 

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...
Opublikowano

thx

  • 2 tygodnie później...
Opublikowano

Dzięki

Opublikowano

Ja to chyba bym musiał wstać o 5 rano i do pół nocy tak modyfikować to wszystko haha

Opublikowano
  • Autor

@Delta Zawsze możesz zostawić jako odczytywane z serwerowego. 😉

  • 1 miesiąc temu...
Opublikowano

+

  • 2 tygodnie później...
Opublikowano

Trzeba zobaczyć

  • 1 miesiąc temu...
Opublikowano

dzięki

 

  • 1 miesiąc temu...
Opublikowano

Zabawy, a zabawy.

Gość
Dodaj odpowiedź do tematu...