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

[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


  • Zamknięty Temat jest zamknięty
17 odpowiedzi w tym temacie

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 02.05.2014 07:39

Witam.
Jak w temacie.
Chodzi o to zeby zlapac moment kiedy gracz spada/podskakuje .
Chce mu wtedy dac godmode (przykladowo). Jak to wykonac?
  • +
  • -
  • 0

#2 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 02.05.2014 08:30

http://www.amxmodx.o...?go=module&id=3

 

ctrl+f "FL_ONGROUND"


  • +
  • -
  • 1

#3 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 02.05.2014 08:47

Dobra ale jak to zastosować...


  • +
  • -
  • 0

#4 0-0-0

    ● 600 punktów ostrzeżeń

  • Power User

Reputacja: 222
Profesjonalista

  • Postów:599
  • Imię:___
  • Lokalizacja:___
Offline

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 
}  

  • +
  • -
  • 2
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [4FUN][Ruletka]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [DM]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [FFA]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [Only Dust2]
b_350_20_692108_381007_FFFFFF_000000.png - CS:GO [Call of Duty]

#5 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 02.05.2014 09:33

Czyli FL_ONGROUND2 odpowiada za stanie na ziemii/w wodzie (ogolem: dotykanie czegos)?
  • +
  • -
  • 0

#6 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

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
}

  • +
  • -
  • 0

#7 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 03.05.2014 07:55

Dobra. A teraz jak to wyłapywać? Bo to ma być aktywne tak jakby przez caly czas. To znaczy ze nie sprawdzam jednorazowo tylko tak jakby sie samo sprawdza. Nie wiem czy to jakims thinkiem czy jak?
  • +
  • -
  • 0

#8 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 03.05.2014 08:04

Chcesz żeby wywoływał się taki forward kiedy gracz skacze i kiedy spada?


  • +
  • -
  • 0

#9 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 03.05.2014 08:10

Sam nie wiem jak to nazwac.
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.
  • +
  • -
  • 0

#10 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

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/

 


  • +
  • -
  • 2

#11 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

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


  • +
  • -
  • 0

#12 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

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.


  • +
  • -
  • 0

#13 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 04.05.2014 07:14

Jak to zastosowac w prethinku? Nie ogarnaiam tego za bardzo. Taskiem bym zrobil, ale chce prethinkiem sie nauczyc.

Jak sprawdzic to w prethinku?
  • +
  • -
  • 0

#14 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

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
}

  • +
  • -
  • 0

#15 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 04.05.2014 08:57

Ten twoj kod...
Po co tam jest bInvis?
Nie mozna tak:
if(is_user_jumping(id)) // ustaw niewidke
else //ustaw widocznosc

  • +
  • -
  • 0

#16 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

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

  • +
  • -
  • 0

#17 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 04.05.2014 09:09

Właśnie po to, żeby nie ustawiało niewidki co klatkę gracza.


  • +
  • -
  • 0

#18 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 04.05.2014 09:43

Dobra. dzięki
Chlopacy.

Edit:
*Chłopaki
  • +
  • -
  • 0




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

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