Pytanie, jak to napisać, czym to się różni?
GoldeN 14.12.2010
Witam, mam kilka pytań..
1. Jak mogę zablokować zakładanie tłumika na np. M4A1?
2. Jak mogę wykonać sprite, który idzie od bytu, na gracza?
3. Czym różni się:
Od:
4. Jak mogę stworzyć, że gdy gracz żyje, wciśnie E to na kilka sekund ma tzw. "freecam", czyli postać stoi, a my lecimy myszką i strzałkami po mapie?
5. Jak sprawdzić, czy gracz w kogoś celuje?
Użytkownik GoldeNx3 edytował ten post 14.12.2010 16:45
1. Jak mogę zablokować zakładanie tłumika na np. M4A1?
2. Jak mogę wykonać sprite, który idzie od bytu, na gracza?
3. Czym różni się:
register_event("Damage", "Damage", "b", "2!0")
Od:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
4. Jak mogę stworzyć, że gdy gracz żyje, wciśnie E to na kilka sekund ma tzw. "freecam", czyli postać stoi, a my lecimy myszką i strzałkami po mapie?
5. Jak sprawdzić, czy gracz w kogoś celuje?
Użytkownik GoldeNx3 edytował ten post 14.12.2010 16:45
Ortega
14.12.2010
1.
3. Wersja Hamsandwich rejestruje każde obrażenia, nawet generic.
5. AMX Mod X - Half-Life Scripting for Pros!
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
const m_flNextSecondaryAttack = 47;
public plugin_init()
{
register_plugin( "Block M4A1 Secondary Attack", "1.0", "Arkshine" );
RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_m4a1", "Event_BlockSecondaryAttack" , 1 );
RegisterHam( Ham_Item_Deploy , "weapon_m4a1" , "Event_BlockSecondaryAttack", 1 );
}
public Event_BlockSecondaryAttack ( const Entity )
{
set_pdata_float( Entity , m_flNextSecondaryAttack , 9999.0, 4 );
}
3. Wersja Hamsandwich rejestruje każde obrażenia, nawet generic.
5. AMX Mod X - Half-Life Scripting for Pros!
GoldeN 14.12.2010
Czyli w:
Mogę wykonać sprite na który ciągnie się od atakującego do obrywającego?
A jeżeli chce zablokować np. na Glocku Multi-Strzał? I jak chcę większość broni zablokować, to wystarczy, że dodam linijkę do init tak jak wyżej tylko z inną bronią?
Czekam na 2 i 4.
@Edit:
Testowałem i nie działa:
Reszta jak powyżej dodana.
Użytkownik GoldeNx3 edytował ten post 14.12.2010 17:41
register_event("Damage", "Damage", "b", "2!0")
Mogę wykonać sprite na który ciągnie się od atakującego do obrywającego?
A jeżeli chce zablokować np. na Glocku Multi-Strzał? I jak chcę większość broni zablokować, to wystarczy, że dodam linijkę do init tak jak wyżej tylko z inną bronią?
Czekam na 2 i 4.
@Edit:
Testowałem i nie działa:
public Event_BlockSecondaryAttack ( const Entity )
{
if(sm_tlumik[Entity] == 1)
{
set_pdata_float( Entity , m_flNextSecondaryAttack , 9999.0, 4 );
}
}
Reszta jak powyżej dodana.
Użytkownik GoldeNx3 edytował ten post 14.12.2010 17:41
G[o]Q
15.12.2010
#include <amxmodx> #include <hamsandwich> #include <fakemeta> const m_flNextSecondaryAttack = 47; public plugin_init() { register_plugin( "Block M4A1 Secondary Attack", "1.0", "Arkshine" ); RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_m4a1", "Event_BlockSecondaryAttack" , 0 ); RegisterHam( Ham_Item_Deploy , "weapon_m4a1" , "Event_BlockSecondaryAttack", 0); } public Event_BlockSecondaryAttack ( const Entity ) { set_pdata_float( Entity , m_flNextSecondaryAttack , 9999.0, 4 ); return HAM_SUPERCEDE; }
Ortega
15.12.2010
G[o]Q, testowałeś najpierw czy bez return działa poprawnie ? Ja wnioskuję, że Arkshine zna się deczko lepiej od nas bez urazy Dlatego tez przytoczyłem jego kod, bo mój pewnie miałby gdzieś błąd.
Tak poza tym, to supercede w post nic nie da więc...
Tak poza tym, to supercede w post nic nie da więc...
G[o]Q
15.12.2010
nie wiem kto ci powiedzial ze 0 to post no ale ok wiec wystarczy nr zmienic a supercede tez dalem zle bo gosc w ogóle broni nie dostanie
Ortega
15.12.2010
Wiesz ja już sam nie wiem, a nie mam jak sprawdzić czy 0 jest post czy 1. Spotkałem się w kilku poważnych kodach, że 1, natomiast w dokumentacji jest 0=post. Arkshine tutaj użył 1 czyli jakby patrzeć do dokumentacji to pre.
@GoldeNx3
Ciekawe, że nie działa skoro traktujesz Entity jako gracza. To słowo jednak ma tutaj inne znaczenie chociaż gracz też jest bytem. Tutaj funkcja wyłapuje każdy byt z classname m4. Jeśli uda Ci się tak zmodować grę, żebyś grał bronią, a nie postacią to wtedy zadziała.
@GoldeNx3
Ciekawe, że nie działa skoro traktujesz Entity jako gracza. To słowo jednak ma tutaj inne znaczenie chociaż gracz też jest bytem. Tutaj funkcja wyłapuje każdy byt z classname m4. Jeśli uda Ci się tak zmodować grę, żebyś grał bronią, a nie postacią to wtedy zadziała.
G[o]Q
15.12.2010
Post=0 a czy to nie oznacza ze jest to parametr domniemany i ma wartosc 0(false czyt nie post) czyli pre
Ortega
15.12.2010
W sensie
Dobra zachciało mi się to raz na zawsze sprawdzić:
func( ... , true ? post : pre );Jest to możliwe. Tak czy inaczej nie wiem czy supercede jest w tym przypadku konieczny.
Dobra zachciało mi się to raz na zawsze sprawdzić:
Forward *pfwd=new Forward(fwd);
if (post)
{
hook->post.push_back(pfwd);
}
else
{
hook->pre.push_back(pfwd);
}
G[o]Q
15.12.2010
no czyli wychodzi na to ze arkshire gafe jeb*ął supercede zbedny bo wtedy broni nie dostanie i bedzie strzelac z kosy
Ortega
15.12.2010
No ale ten OFFSET się zmienia po strzale każdym w CS, więc gdyby dał jako pre to gra by zdążyła zmienić
Ortega
16.12.2010
Wiem, że sprawdzić jest trudno. Prawdopodobnie ta co dałem zadziała poprawnie.
G[o]Q
16.12.2010
hmm ewentualnie w pre seccondary attacku ustawiac offset moze sie nie zmieni i/lub ewentualnie supercede zwrocic