Mam parę pytań, które mnie męczą.
1. Taski:
Zacznę od tego co mnie męczy przy tworzeniu ich
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
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.
|
Guest Message by DevFuse
[ROZWIĄZANE] Pytania do tasków, write_byte i read
Temat rozp.
MasterOfGames
, 04.07.2012 11:57
4 odpowiedzi w tym temacie
#1
Napisano 04.07.2012 11:57
#2 Gość_21977_*
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
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:
3. read_data pobiera poszczególne argumenty wiadomości, licząc od 1.
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 )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.
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()
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 zgonowczy ScreenFlash
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()
}
// 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.
#4
Napisano 05.07.2012 09:49
Dzięki, pomoc udzielona, do zamknięcia
#5 Gość_21977_*
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, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, 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