v1.01
To rozszerzenie pozwala na pokazywanie graczowi okna z zawartością zależną od jego języka.
Kod powstał dzięki pomysłowi berix`a http://amxx.pl/topic... ... t17682.htm
Funkcja rejestrująca langmotd; zwraca wskaźnik, który należy przechować
register_langmotd(const szCustomDir[], const szExt[], const szDefaultFile[])szCustomDir[] - folder w który znajdują się pliki językowe
const szExt[] - rozszerzenie plików językowych
const szDefaultFile[] - pokaże ten plik, gdy nie znajdzie odpowiedniego dla języka gracza i serwa
Funkcja pokazująca langmotd, zwraca true lub false, zależy to od tego, czy znaleziono jakiś plik do pokazania
show_langmotd(id, langmotd, const szHeader[])id - index gracza
langmotd - wskaźnik zwrócony przez register_langmotd
const szHeader[] - nagłówek okienka
Jak to działa?
Od gracza pobierany jest kod języka, np. pl, en. W folderze szCustomDir odszukiwany jest plik o nazwie tego kodu i podanym rozszerzeniu:
gpHelp = register_langmotd("help/","txt","help.txt");gdy mam język "pl" szuka pliku
help/pl.txt
gpHelp = register_langmotd("addons/amxmodx/lang/help/","html","help.txt");gdy mam język "en" szuka pliku
addons/amxmodx/lang/help/en.html
Gdy go nie znajdzie poszukuje w identyczny sposób tylko kod pobiera od serwera.
Gdy nie znajdzie pliku nawet dla serwera pokaże szDefaultFile (czyli w obu przykładach help.txt)
Wszystkie ścieżki podawane są od cstrike/
Jak go użyć w swoim pluginie?
W nagłówkowej części plugin należy dopisać:
#include "langmotd.inl"a plik langmotd.inl umieścić w tym samym folderze co .sma
Można dowolnie zmieniać ilość obsługiwanych motd przez definicję stałej MAX_MOTDS nad include; np:
#define MAX_MOTDS 10 #include "langmotd.inl"i możesz zarejestrować 10 różnych LangMotd.
Domyślna wartość to 3.