Witam
Jak sprawdzić, czy gracz stoi na ziemi w znaczeniu normalnej ziemi?
Dzięki za odpowiedź
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.
|
Best Answer MAGNET, 14.08.2014 08:55
@CheQ
W moim przypadku wystarcza sprawdzać, czy id enta jest równe 0 - nie ma właściciela, ale to pasuje pod BaseBuildera - nie wiem dalej, jak to by wyglądało na innych modyfikacjach. Żmudniejszym rozwiązaniem byłoby stworzenie jakiegoś bytu/bytów na ziemi - jest to rozwiązanie ale strasznie czasochłonne. Jeśli teren byłby równy (nie ma górek itp) można sprawdzać origin wysokości na początku rundy i na nim bazując, sprawdzać czy gracz jest na ziemi. Innych wyjść nie widzę
Go to the full post
Posted 14.08.2014 01:25
Witam
Jak sprawdzić, czy gracz stoi na ziemi w znaczeniu normalnej ziemi?
Dzięki za odpowiedź
Posted 14.08.2014 01:40
is_user_crouching(id) - true jeżeli gracz kuca
is_user_moving(id) - true jeżeli gracz jest w ruchu (nie locie)
is_user_onground(id, targetentity=0) - true jeżeli gracz jest na ziemi, przy uwzględnionym parametrze targetentity wykrywa czy podłożem jest dany index
is_near_target(id, idtarget, Float:distance) - true jeżeli gracz sie znajduje w odległości distance obok podanego idtarget
is_user_jumping(id) - true jeżeli gracz skacze (jest w powietrzu)
Stocki zwracające liczby w postaci int
getClosestPlayer(id, Type:ignoreteammates) - zwraca najbliższego gracza obok danego id, przy uwzględnionym IGNORUJ_SWOICH bedzie zwracać tylko przeciwników
Edited by ^Technik^, 14.08.2014 01:42.
Posted 14.08.2014 01:42
I gdzie tutaj jest na ziemi? Zwraca tylko czy stoi, bądź stoi na jakimś id
Posted 14.08.2014 01:46
PRZEPRASZAM ZLE ZROZUMIAŁEM
if(pev(id, pev_flags) & FL_ONGROUND){
//Gracz stoi na "czymś(ZIEMI)"
}
Jak chcesz sprawdzić czy stoi na danym bycie to w touchu
if(pev(id, pev_flags) & FL_ONGROUND && pev(id, pev_groundentity) == ent){
//Gracz stoi na bycie
}
lub
if(pev(id,pev_flags)&FL_ONGROUND || pev(id,pev_flags)&FL_PARTIALGROUND)
gracz może stać tylko częściowo na ziemi
Edited by ^Technik^, 14.08.2014 02:00.
Posted 14.08.2014 02:02
Posted 14.08.2014 08:55 Best Answer
@CheQ
W moim przypadku wystarcza sprawdzać, czy id enta jest równe 0 - nie ma właściciela, ale to pasuje pod BaseBuildera - nie wiem dalej, jak to by wyglądało na innych modyfikacjach. Żmudniejszym rozwiązaniem byłoby stworzenie jakiegoś bytu/bytów na ziemi - jest to rozwiązanie ale strasznie czasochłonne. Jeśli teren byłby równy (nie ma górek itp) można sprawdzać origin wysokości na początku rundy i na nim bazując, sprawdzać czy gracz jest na ziemi. Innych wyjść nie widzę
0 members, 1 guests, 0 anonymous users