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

Czy ma włączoną tarcze


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

#1 sebacs2

    Wszechwidzący

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:244
  • Lokalizacja:nie wiem
Offline

Napisano 03.07.2014 15:47

Jak sprawdzić czy gracz jest zasłonięty tarczą (ma włączoną tarcze) ?


Użytkownik sebacs2 edytował ten post 03.07.2014 15:50

  • +
  • -
  • 0

;P Zapraszam na sieć serwerów Cs-KoRea.pl ^D^

Serwer [FFA+BF2] 31.186.83.100:27041 Serwer [Cod] 31.186.83.100:27046


#2 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 03.07.2014 18:49

Moduły:
Cstrike --> cs_get_user_shield
Fakemeta:  

GetPlayerShield(id)
{
	const OFFSET_SHIELD = 510
	const HAS_SHIELD = (1<<24)
	return get_pdata_int(id,OFFSET_SHIELD,5) & HAS_SHIELD ? 1:0
}

  • +
  • -
  • 3
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#3 sebacs2

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:244
  • Lokalizacja:nie wiem
Offline

Napisano 03.07.2014 21:47

ale to tylko pokazuje czy ma tarcze, a nie czy jest nią zasłonięty


  • +
  • -
  • 0

;P Zapraszam na sieć serwerów Cs-KoRea.pl ^D^

Serwer [FFA+BF2] 31.186.83.100:27041 Serwer [Cod] 31.186.83.100:27046


#4 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 03.07.2014 22:21

Wybacz źle cię zrozumiałem (moja wina). Trochę pokombinowałem i proszę:

bool:BehindShield(id)
{
	const m_pActiveItem = 373
	const OFFSET_SHIELD = 510
	const HAS_SHIELD = (1<<24)
	const m_fWeaponState = 74
	const WEAPONSTATE_SHIELD_DRAWN = (1<<5)
	if(is_user_alive(id) && get_pdata_int(id,OFFSET_SHIELD,5) & HAS_SHIELD)
	{
		new wid = get_pdata_cbase(id,m_pActiveItem,5)
		if(pev_valid(wid) == 2 && get_pdata_int(wid,m_fWeaponState,4) & WEAPONSTATE_SHIELD_DRAWN)	return true
	}
	return false
}

  • +
  • -
  • 2
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#5 Puchate

    Wszechobecny

  • Użytkownik

Reputacja: 204
Profesjonalista

  • Postów:433
  • Lokalizacja:Polska
Offline

Napisano 03.07.2014 23:00

Znacznie szybciej będzie tak:

#define SHIELD 98

bool:BehindShield(id) {
	if(!is_user_alive(id) || pev(id, pev_sequence) != SHIELD)
		return false	
	return true	
}

  • +
  • -
  • 0

#6 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 04.07.2014 06:05

Znacznie szybciej będzie tak:

pev_sequence spada o 1~5(w zależności od czegoś) zawsze jak gracz trzyma Ctrl (jak puszcza to wzrasta) tzn. jeśli gracz zasłoni się tarczą to twój kod zadziała ale jeś dodatkowo kucnie to już nie

Co do szybkości dzaiłania to masz rację można szybciej ;D
Np. tak:
bool:BehindShield(id)
{
	const OFFSET_SHIELD = 510
	const m_bUsesShield = (1<<16)
	if(is_user_alive(id) && get_pdata_int(id,OFFSET_SHIELD,5) & m_bUsesShield)	return true
	
	return false
}

Użytkownik BlackPerfum edytował ten post 04.07.2014 06:16

  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#7 Puchate

    Wszechobecny

  • Użytkownik

Reputacja: 204
Profesjonalista

  • Postów:433
  • Lokalizacja:Polska
Offline

Napisano 04.07.2014 08:28

 

 

pev_sequence spada o 1~5(w zależności od czegoś) zawsze jak gracz trzyma Ctrl (jak puszcza to wzrasta) tzn. jeśli gracz zasłoni się tarczą to twój kod zadziała ale jeś dodatkowo kucnie to już nie

ID animacji przy ducku to 97 więc nie problem to sprawdzić ;)


  • +
  • -
  • 0




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

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