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

[ROZWIĄZANE] Pytania do tasków, write_byte i read


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 MasterOfGames

    Zaawansowany

  • Zbanowany

Reputacja: 33
Życzliwy

  • Postów:125
  • Lokalizacja:Wierzchucin
Offline

Napisano 04.07.2012 11:57

Mam parę pytań, które mnie męczą.

1. Taski:
Zacznę od tego co mnie męczy przy tworzeniu ich :D
set_task(Czas, nazwa funkcji, id, parametr???, len???, flaga, powtarzanie)

Wiem co wstawić w Czas, Nazwę funkcji, id (gdy ma być wykonane na konkretnym graczu), flaga("a","b","c","d") to też wiem no i wiem powtarzanie przy fladze "a", ale co to jest ten parametr? co to jest to len? Do czego są przydatne?

task_exist czy jakoś tak, niech ktoś mi opisze co on robi, bo dokumentacje czytałem, ale nie pomogła

Jak usunąć taska, czy do usunięcia taska uzywa się remove_task? Opiszcie mi dokładnie co się robi aby usunąć taska np. mamy taska który ma być powtarzany w nieskończoność, ale w pewnym momencie ma zostać usunięty np. na starcie rundy

2. Spotkałem się w .sma z czymś takim jak write_byte, próbowałem sobie to przetłumaczyć ale jakoś nie miało sensu bo albo napisać byt albo napisać bajt więc, powiedzcie do czego to służy????

3. Spotkałem się w pluinach a raczej w ich .sma z róznymi read, ale zastanawia mnie co robi read_data, bo spotkałem się w .sma diablo read_data(jakaś cyferka tu była) //alpha to pomyślałem że to jest coś związane z widocznością gracza, ale nie wiem co robi ogólnie to read_data, proszę o opisanie tego

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 04.07.2012 12:26

1. Zazwyczaj funkcji set_task używa się, przekazując jeden argument, zazwyczaj id gracza.
Jednak czasem potrzeba wysłać więcej argumentów i tu przydaje się Tutorial: set_task - Funkcje czasowe

Tak więc za parameter wysyłasz tablicę z kolejnymi argumentami, a za len wysyłasz jej wielkość.

Aby usunąć taska, wystarczy użyć funkcji remove_task(id) gdzie id to id zadania.
Funkcja task_exists(id) sprawdza, czy zadanie o podanym id istnieje i zwraca true lub false.

2. write_byte pozwala na wysłanie pojedynczych bajtów wiadomości dla określonych zdarzeń, np.
możemy stworzyć byt ze sprite w wybranym miejscu za pomocą kodu
message_begin(MSG_BROADCAST,SVC_TEMPENTITY )
write_byte(TE_SPRITE)
write_coord_f(x)
write_coord_f(y)
write_coord_f(z)
write_short(spriteName)
write_byte(scale)
write_byte(brightness)
message_end()
x,y,z to współrzędne miejsca, spriteName to sprite, wcześniej precache`owany i pobrany przez graczy, scale to skala w 1/10, tzn. 10 = 100%, 20 = 200%, 1 = 10% etc.
brightness to jasność i 255 to całkowita jasność.

Możemy wysłać wiele różnych wiadomości, np. wiadomość o statystykach danego gracza na tablicy Score:
// Dodanie zgonow
public AddDeaths(id,deaths){
cs_set_user_deaths(id,cs_get_user_deaths(id)+deaths)
message_begin(MSG_BROADCAST,gmsgScoreInfo)
write_byte(id)
write_short(get_user_frags(id))
write_short(cs_get_user_deaths(id))
write_short(0)
write_short(get_user_team(id))
message_end()
}
czy ScreenFlash
// Screen Flash (np. w momencie oberwania FB, mamy biały ekran (red=green=blue=255)
public screen_flash(id,red,green,blue,alpha){
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id);
write_short(1<<12);
write_short(1<<12);
write_short(1<<12);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(alpha);
message_end();
}


3. read_data pobiera poszczególne argumenty wiadomości, licząc od 1.

#3 radim

    Godlike

  • Moderator

Reputacja: 932
Master

  • Postów:2725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 05.07.2012 09:15

Co do write_byte masz tutaj ; )
https://forums.allie...ad.php?t=158291
  • +
  • -
  • 3

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#4 MasterOfGames

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 33
Życzliwy

  • Postów:125
  • Lokalizacja:Wierzchucin
Offline

Napisano 05.07.2012 09:49

Dzięki, pomoc udzielona, do zamknięcia

#5 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 05.07.2012 10:02

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




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

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