Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Wiadomości


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 R3X

    Godlike

  • Przyjaciel

Reputacja: 2960
Godlike

  • Postów:4247
  • Lokalizacja:Nie
Offline

Napisano 29.12.2008 14:32

*
Popularny

Wiadomości

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:

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

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.
//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();

  • +
  • -
  • 6

#2 wizu

    Godlike

  • Przyjaciel

Reputacja: 224
Profesjonalista

  • Postów:1217
  • GG:
  • Lokalizacja:Sanok
Offline

Napisano 29.12.2008 15:06

O dzięki Ci wielkie. Zawsze mnie to nurtowało jak tego używać, gdy grankee poprosił o kurs, czekałem na niego z niecierpliwością :P
  • +
  • -
  • 0

#3 grankee

    Godlike

  • Support Team

Reputacja: 507
Wszechwiedzący

  • Postów:1500
  • Lokalizacja:Radom
Offline

Napisano 29.12.2008 16:21

Na chwilę obecną do kosza. Tu nie ma prawie nic!

Przeczytaj to ktokolwiek, kto tego nie czaił zupełnie i zrób z tego użytek, dasz rade? bo ja nie.


Podaj listę messagów jakie możesz przesyłać-ile tylko znasz.
Podaj listę jak np. że tak powiem coś namalować, czy maluje się jakimiś stworzonymi bytami czy spritami np.
Wyjaśnij ile się tylko da tak, aby ktoś kto to czytał nie mógł zadać pytania, na które w tej treści nie ma odpowiedzi.

Sory, że się czepiam, ale to bardzo mało co napisałeś-zbyt ogólnie.
  • +
  • -
  • 0

#4 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1725
Godlike

  • Postów:6881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 29.12.2008 16:34

Jak dla mnie wystarczająco, poza tym jest link do listy message'ów. :D
  • +
  • -
  • 0

#5 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 85
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 29.12.2008 17:01

Nie, nie wszystko. Pominąłeś prawie najważniejsze wiadomości typu SVC_TEMPENTITY.

http://wiki.amxmodx....s_(Half-Life_1)

Tutaj opisane po części, chociaż jest to może 1/10 wszystkich wiadomosci. Wszystkie znajdują się w pliku nagłówkowym message_const.inc.

Dodaje go do załącznika(zmieniłem rozszerzenie na .sma, bo .inc nie wejdzie), tam jest wszystko opisane.

Załączone pliki


  • +
  • -
  • 0

#6 R3X

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 2960
Godlike

  • Postów:4247
  • Lokalizacja:Nie
Offline

Napisano 29.12.2008 21:31

Napisałem to o czym mam pojęcie. Pracę z sprite`ami dopiero zaczynam, więc nie zawarłem. Informacje ogólne, bo moim celem było skłonienie do samodzielnej pracy w oparciu o podstawowe założenia - stąd w tym subforum zamiast w "Modele kodowania". Nie piszę do nie czających zupełnie; sam się jeszcze uczę, próbuję stawiać drogowskazy, których nie znalazłem zaczynając pisanie w Pawnie.
  • +
  • -
  • 0

#7 grankee

    Godlike

  • Support Team

Reputacja: 507
Wszechwiedzący

  • Postów:1500
  • Lokalizacja:Radom
Offline

Napisano 29.12.2008 21:48

Nie dawaj linka do listy, wypisz ją tutaj i opisz każdą pozycję. Zarówno Ty rex jak i darkman. Podaj też jakieś przykłady użycia.
  • +
  • -
  • 0

#8 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 85
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

Napisano 30.12.2008 11:28

Nie dawaj linka do listy, wypisz ją tutaj i opisz każdą pozycję. Zarówno Ty rex jak i darkman. Podaj też jakieś przykłady użycia.


swierzb sutów? tego nie jest 10 czy 15, tylko troche więcej. w pliku masz opisane co do jednej linijki tylko że po angielsku, a przykłady użycia to sobie ściągnij pierwszy lepszy plugin ze sprite-ami i masz.
  • +
  • -
  • 0

#9 Miczu

    Godlike

  • Przyjaciel

Reputacja: 646
Wszechmogący

  • Postów:2862
Offline

Napisano 08.08.2009 21:47

Mozna dodac info o emessage_ oraz ewrite.

Dokladnie to samo, tylko komunikat inaczej przechodzi przez serwer w efekcie czego jak robisz emessage o czyjejs smierci, to inne plugi widza to jako prawdziwa smierc - zwykle message wysyla tylko komunikat do uzytkownikow co oglupia inne plugi.

PS. musze zrobic update paru plugow
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych