1. Co to jest?
Wszystkie wiadomości (nie koniecznie tekstowe) związane z silnikiem gry.
2. Konstrukcja
Rozpoczęcie przekazywania
message_begin (dest, msg_type, origin[3]={0,0,0},player=0 )dest - przeznaczenie, najczęściej używane są wartości MSG_ONE (1 gracz) i MSG_ALL (wszyscy).
msg_type - typ, pełnia lista, musi to być wartość liczbowa, więc musimy wydobyć ją z tekstu:
get_user_msgid (const name[] ) //np. new SayText=get_user_msgid ("SayText")
Warto pobierać msgid w plugin_init(), bo wartości te są stałe.
origin[3] - tablica z położeniem, używana gdy mamy do czynienia z osobnym bytem.
player - id gracza, do którego wysyłamy Wiadomość
Parametry
Następnie musimy przekazać dane zgodnie ze strukturą Wiadomości. Na stronie z listą mamy również opisane budowy. Przykład:
Widzimy, że Wiadomość "BarTime" składa się z pojedynczego parametru: Duration typu short. Zatem kolejny krok w naszym kodzie to funkcje z rodziny write_...(); odpowiednie do danego typu.BarTime
Draws a HUD progress bar which is filled from 0% to 100% for the time Duration seconds. Once the bar is fully filled it will be removed from the screen automatically.
Note: Set Duration to 0 to hide the bar.
Name: BarTime
Structure:
short Duration
//Kilka przykładów write_byte(); write_short(); write_char();Ile parametrów Wiadomość ma tyle musimy przekazać.
Zamknięcie
Kończymy Wiadomość przez:
message_end();Pominięcie tej funkcji = crash serwa.
----------------------
Pokazujemy graczowi o id==pid pasek postępu (taki jak np. podczas rozbrajania bomby). Od 0% do 100% przejdzie w 10 sekund;
message_begin(MSG_ONE,get_user_msgid("BarTime"),{0,0,0}, pid); write_short(10); message_end();