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.
|
Najlepsza odpowiedź 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ę
Przejdź do postu
Napisano 14.08.2014 01:25
Witam
Jak sprawdzić, czy gracz stoi na ziemi w znaczeniu normalnej ziemi?
Dzięki za odpowiedź
Napisano 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
Użytkownik ^Technik^ edytował ten post 14.08.2014 01:42
Napisano 14.08.2014 01:42
I gdzie tutaj jest na ziemi? Zwraca tylko czy stoi, bądź stoi na jakimś id
Napisano 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
Użytkownik ^Technik^ edytował ten post 14.08.2014 02:00
Napisano 14.08.2014 02:02
Napisano 14.08.2014 08:55 Najlepsza odpowiedź
@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 użytkowników, 1 gości, 0 anonimowych