Czy ma włączoną tarcze
sebacs2
03.07.2014
Jak sprawdzić czy gracz jest zasłonięty tarczą (ma włączoną tarcze) ?
Użytkownik sebacs2 edytował ten post 03.07.2014 15:50
BlackPerfum
03.07.2014
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 }
BlackPerfum
03.07.2014
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 }
Puchate
03.07.2014
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 }
BlackPerfum
04.07.2014
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ż nieZnacznie szybciej będzie tak:
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
Puchate
04.07.2014
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ć