Niezależnie od nadanego nowego velocity, a nawet od grawitacji gracz będący w kucnięciu na podłożu niemal nie zostanie odepchnięty, jak to naprawić? Żeby całkowicie zignorować kucanie przy odrzucie, czyli usunąć to dziwne przylepienie do ziemi.
Powiem też, że powiększanie velocity w pionie [2] to słaby pomysł, ma ktoś lepszy? Z góry dzięki, pozdrawiam
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.
|
Problem z odrzucaniem kucnietego gracza, jakby był przyklejony do podłoża
#1
Napisano 20.09.2015 16:22
#2
Napisano 21.09.2015 23:31
przed ustawieniem velocity usun graczowi klawisz IN_DUCK a po ustawieniu ustaw mu z powrotem ten klawisz
#3
Napisano 22.09.2015 20:17
Sprawdzakm to już, nawet onground usunąłem razem z duckiem i nic nie dało
#4
Napisano 28.09.2015 20:11
@refresh
Co jest z wami ludzie, nikt nie patrzy tych tematów?
#5
Napisano 28.09.2015 21:13
Użytkownik StoDwaJeden edytował ten post 28.09.2015 21:13
#6
Napisano 28.09.2015 22:55
szoruje nogami po ziemi i to zmniejsza predkosc odrzucenia
Powiedz mi coś czego nie wiem
Musisz gracza podrzucic
Powiem też, że powiększanie velocity w pionie [2] to słaby pomysł, ma ktoś lepszy?
#7
Napisano 28.09.2015 23:13
Użytkownik StoDwaJeden edytował ten post 28.09.2015 23:18
#8
Napisano 28.09.2015 23:26
tak, po trafieniu, pamiętaj, że dopiero od 200-300 (nie pamiętam ile dokładnie) velo w pionie [2] oderwie gracza od ziemi, stąd są problemy
#9
Napisano 30.09.2015 08:19
register_event("Damage", "Damage", "b", "2!=0");
public Damage(id) { new idattacker = get_user_attacker(id); if(!is_user_connected(idattacker)) return PLUGIN_CONTINUE; if(get_user_team(id) != get_user_team(idattacker)) set_pev(id, pev_velocity, Float:{0.0, 0.0, 260.0}); return PLUGIN_CONTINUE; }
Funkcja nie zadziala poprawnie, np w takedamage.
#10
Napisano 01.10.2015 11:02
Aby uniknąć tego, musisz przed teleportowaniem sprawdzić w jakiej odległości od głowy gracza znajdują się jakieś przeszkody.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#11
Napisano 02.10.2015 09:19
Linux, Twoja funkcja zadziała gdziekolwiek, ale w sumie to żadna różnica, bo nie wnosi nic do tematu
Gwyn, ale przy teleportowaniu jest probem z rodzajem zmiennych originu, gdyż przez zaokrąglenie w set_user_origin czasem podniesienie gracza o dowolną liczbe unitów w pionie na nieograniczonym terenie w pionie równa się stuck bo dosunie go do ściany
No chyba, że można teleportować używajć Floatu, dodam, że nadanie nowego peva (lub to samo w engine) nie przeniesie gracza
Dziwne, że gdy borykałem się z problemem teleportacji jakiś czas temu nie sprawdziłem entity_set_origin (lub engfunca), ta funkcja przeniesie gracza? Sprawdzę potem, ale może ktoś zdąrzy odpisać
Sprawdzenie czy można tepnąć wystarczy tak?
stock bool:WScianie(const Float:origin[3]){ if(engfunc( EngFunc_PointContents, origin) == CONTENTS_SOLID) return true return false }
Ale jest jedno ale, jaki jest dokładnie origin głowy gracza, no we float oczywiście, jak to ma się przy kucnięciu i w ogólę?
#12
Napisano 02.10.2015 09:28
Linux, Twoja funkcja zadziała gdziekolwiek, ale w sumie to żadna różnica, bo nie wnosi nic do tematu
Gwyn, ale przy teleportowaniu jest probem z rodzajem zmiennych originu, gdyż przez zaokrąglenie w set_user_origin czasem podniesienie gracza o dowolną liczbe unitów w pionie na nieograniczonym terenie w pionie równa się stuck bo dosunie go do ściany
No chyba, że można teleportować używajć Floatu, dodam, że nadanie nowego peva (lub to samo w engine) nie przeniesie gracza
Dziwne, że gdy borykałem się z problemem teleportacji jakiś czas temu nie sprawdziłem entity_set_origin (lub engfunca), ta funkcja przeniesie gracza? Sprawdzę potem, ale może ktoś zdąrzy odpisać
Sprawdzenie czy można tepnąć wystarczy tak?stock bool:WScianie(const Float:origin[3]){ if(engfunc( EngFunc_PointContents, origin) == CONTENTS_SOLID) return true return false }Ale jest jedno ale, jaki jest dokładnie origin głowy gracza, no we float oczywiście, jak to ma się przy kucnięciu i w ogólę?
Wytestuj, potem pisz. Po kodzie to tak wyglada, poniewaz skladna jest dosc banalna ale nie zadziala gdzie kolwiek. To co przedstawilem wyzej dziala poprawnie i odrzuca gracza gdy kuca wiec nie rozumiem w czym rzecz. Czego oczekujesz?
#13
Napisano 10.11.2015 05:26
Można też nieoptymalnie kontrolować velocity co setną sekundy i "sztucznie" odrzucić gracza. Z taką częstotliwością narzucania mu velocity tylko ściana mu się oprze
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych