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.
|
[ROZWIĄZANE] Jak wyłapać moment kiedy gracz jest w powietrzu?
Najlepsza odpowiedź ^Grzyboo, 03.05.2014 13:18
Możesz w tasku / prethinku zrobić:
if(is_user_moving(id)) { if(bInvis[id]) { bInvis[id] = false; set_rendering(...) // Ustawiasz widzialnosc } } else { if(!bInvis[id]) { bInvis[id] = true; set_rendering(...) // Ustawiasz niewidzialnosc } }
Wystarczy tylko zdefiniować is_user_moving(id)
Może Ci pomóc to: http://amxx.pl/topic...pozycja-i-ruch/
Przejdź do postu
#1
Napisano 02.05.2014 07:39
Jak w temacie.
Chodzi o to zeby zlapac moment kiedy gracz spada/podskakuje .
Chce mu wtedy dac godmode (przykladowo). Jak to wykonac?
#3
Napisano 02.05.2014 08:47
Dobra ale jak to zastosować...
#4
Napisano 02.05.2014 08:50
#define FL_ONGROUND2 (FL_ONGROUND | FL_PARTIALGROUND | FL_INWATER | FL_CONVEYOR | FL_FLOAT | FL_FLY) stock bool:is_user_in_air(id) { if( !(pev(id, pev_flags) & FL_ONGROUND2) ) return true else return false return false }
#5
Napisano 02.05.2014 09:33
#6
Napisano 02.05.2014 20:04
Czyli FL_ONGROUND2 odpowiada za stanie na ziemii/w wodzie (ogolem: dotykanie czegos)?
Tak
if(is_user_in_air(id)) { ///id jest w powietrzu } else { id nie jest w powietrzu }
#7
Napisano 03.05.2014 07:55
#8
Napisano 03.05.2014 08:04
Chcesz żeby wywoływał się taki forward kiedy gracz skacze i kiedy spada?
#9
Napisano 03.05.2014 08:10
W CoD MoD jest taki perk:
Jak sie nie ruszasz to jestes niewidzialny.
I tam to sie odbywa tak jakby automatycznie (sprawdzane caly czas?)
Tu chce tak samo.
#10
Napisano 03.05.2014 13:18 Najlepsza odpowiedź
Możesz w tasku / prethinku zrobić:
if(is_user_moving(id)) { if(bInvis[id]) { bInvis[id] = false; set_rendering(...) // Ustawiasz widzialnosc } } else { if(!bInvis[id]) { bInvis[id] = true; set_rendering(...) // Ustawiasz niewidzialnosc } }
Wystarczy tylko zdefiniować is_user_moving(id)
Może Ci pomóc to: http://amxx.pl/topic...pozycja-i-ruch/
#11
Napisano 03.05.2014 17:55
Lepiej to taskiem czy prethinkiem?
stock bool:is_user_jumping(id){ new Float:fVelo[3]; pev(id, pev_velocity, fVelo); return fVelo[2] ? true : false; }
Czy to też zadziała ? Czy będzie jakiś wyjątek że gracz skoczy a ten stock tego nie wyłapie
#12
Napisano 03.05.2014 20:15
To zwraca czy pionowa szybkość != 0
Tak więc zawsze, gdy gracz spada, leci do góry - zostanie to wyłapane.
A prethink vs task to jedno i to samo. Taskiem optymalniej, ale mniej dokładnie.
#13
Napisano 04.05.2014 07:14
Jak sprawdzic to w prethinku?
#14
Napisano 04.05.2014 08:31
public client_PreThink(id) { if(!is_user_alive(id)) return; // Tutaj kod, który Ci dałem wcześniej :P }
#15
Napisano 04.05.2014 08:57
Po co tam jest bInvis?
Nie mozna tak:
if(is_user_jumping(id)) // ustaw niewidke else //ustaw widocznosc
#16
Napisano 04.05.2014 09:00
Tak będzie lepiej. U Ciebie cały czas będzie spamowało ustawianiem widoczności, a u grzyba tylko przy pierwszym zetknięciu się z ziemią i przy pierwszym momencie skoku.
Użytkownik d0naciak edytował ten post 04.05.2014 09:10
#17
Napisano 04.05.2014 09:09
Właśnie po to, żeby nie ustawiało niewidki co klatkę gracza.
#18
Napisano 04.05.2014 09:43
Chlopacy.
Edit:
*Chłopaki
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych