Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Problem z odrzucaniem kucnietego gracza, jakby był przyklejony do podłoża


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
12 odpowiedzi w tym temacie

#1 Ossal

    Wszechwidzący

  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 20.09.2015 16:22

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 ;)


  • +
  • -
  • 0

#2 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 21.09.2015 23:31

przed ustawieniem velocity usun graczowi klawisz IN_DUCK a po ustawieniu ustaw mu z powrotem ten klawisz


  • +
  • -
  • 0

#3 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 22.09.2015 20:17

Sprawdzakm to już, nawet onground usunąłem razem z duckiem i nic nie dało :/


  • +
  • -
  • 0

#4 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 28.09.2015 20:11

@refresh
Co jest z wami ludzie, nikt nie patrzy tych tematów? :o 


  • +
  • -
  • 0

#5 StoDwaJeden

    Pomocny

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:68
  • Imię:Fajne
  • Lokalizacja:Daleka
Offline

Napisano 28.09.2015 21:13

Musisz gracza podrzucic i odrzucic go najlepiej pod katem takim zeby troche w gore lecial bo inaczej szoruje nogami po ziemi i to zmniejsza predkosc odrzucenia.

Użytkownik StoDwaJeden edytował ten post 28.09.2015 21:13

  • +
  • -
  • 0

#6 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

Napisano 28.09.2015 22:55


szoruje nogami po ziemi i to zmniejsza predkosc odrzucenia

Powiedz mi coś czego nie wiem :P


Musisz gracza podrzucic



Powiem też, że powiększanie velocity w pionie [2] to słaby pomysł, ma ktoś lepszy?


  • +
  • -
  • 0

#7 StoDwaJeden

    Pomocny

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:68
  • Imię:Fajne
  • Lokalizacja:Daleka
Offline

Napisano 28.09.2015 23:13

będę mial czas to sie pobawie z tym, bo nigdy nie sprawdzalem. Powiedz w jakim celu chcesz graczy rzucac i kiedy chcesz odrzucac, po dostaniu strzalu z broni czy jak?

Użytkownik StoDwaJeden edytował ten post 28.09.2015 23:18

  • +
  • -
  • 0

#8 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

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 :/


  • +
  • -
  • 0

#9 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

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.


  • +
  • -
  • 0

b35020692_qesnxqa.png


#10 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 01.10.2015 11:02

Możesz spróbować teleportować gracza o kilka unitów w górę - wtedy nie będzie już przyklejony do podłoża i będziesz mógł go odrzucić do tyłu. Pamiętaj jednak, że może w ten sposób utknąć gdy np znajduje się w tunelu wentylacyjnym i po podniesieniu go do góry jego głowa wejdzie w sufit.

Aby uniknąć tego, musisz przed teleportowaniem sprawdzić w jakiej odległości od głowy gracza znajdują się jakieś przeszkody.
  • +
  • -
  • 0

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ę.
 
1988650.png?theme=dark


#11 Ossal

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:273
  • GG:
  • Lokalizacja:Warszawa
Offline

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 :P
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ę?


  • +
  • -
  • 0

#12 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

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 :P
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?


  • +
  • -
  • 0

b35020692_qesnxqa.png


#13 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

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 :)


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych