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.
|
[ROZWIĄZANE] Jaki jest ID ( ent'a ) naboju?
Najlepsza odpowiedź R3X , 20.10.2013 16:05
Wystrzelone pociski nie mają bytu ani modelu w przypadku broni palnej. Silnik gry zakłada, że takie pociski poruszają się na tyle szybko by przemieścić się w dowolnej miejsce bez żadnego opóźnienia i używa Trace. W momencie strzału wywoływane jest HAM_TraceAttack i na podstawie przekazanego tam `traceresult` określane jest miejsce gdzie uderza pocisk. Jeśli to miejsce należy do zniszczalnego bytu lub potwora (np. gracza ) wtedy mamy uszkodzenia.
Masz więc 2 opcje:
- złap HAM_TraceAttack i sprawdz z traceresult czy uderzony byt to Twoja ściana
- [jeśli tylko ściana jest zniszczalna,] złap HAM_TakeDamage i sprawdź kto próbował uszkodzić Twoją ścianę
Kod nie mogę dołączyć bo od dawna już nie mam narzędzi amxxowych na kompie ale przyda Ci się <hamsadwich> i <fakemeta> + RegisterHam + get_tr2() do sprwadzenia wyniku `traceresult`
Przejdź do postu#1
Napisano 18.10.2013 12:06
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#2 Gość_21977_*
Napisano 18.10.2013 13:21
O ile nie złapiesz naboju po modelu (pointer pod m_iShell)
//wiki.alliedmods.net/CBasePlayerWeapon_(CS)#Entity_Data
stock bool:is_entity_shell(ent){ if(pev_valid(ent)){ new model[32]; entity_get_string(ent, EV_SZ_model, model, 31); return ( equal(model, "models/rshell.mdl") || equal(model, "models/pshell.mdl") || equal(model, "models/rshell_big.mdl") || equal(model, "models/shotgunshell.mdl") // custom weapons shell || equal(model, "models/shell.mdl") ); } }
To możesz wychwycić event Brass, który zawiera przydatny parametr ModelIndex, którego wartość odpowiada wspomnianej m_iShell w zależności od typu broni.
#3
Napisano 18.10.2013 14:39
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#4
Napisano 20.10.2013 16:05 Najlepsza odpowiedź
Wystrzelone pociski nie mają bytu ani modelu w przypadku broni palnej. Silnik gry zakłada, że takie pociski poruszają się na tyle szybko by przemieścić się w dowolnej miejsce bez żadnego opóźnienia i używa Trace. W momencie strzału wywoływane jest HAM_TraceAttack i na podstawie przekazanego tam `traceresult` określane jest miejsce gdzie uderza pocisk. Jeśli to miejsce należy do zniszczalnego bytu lub potwora (np. gracza ) wtedy mamy uszkodzenia.
Masz więc 2 opcje:
- złap HAM_TraceAttack i sprawdz z traceresult czy uderzony byt to Twoja ściana
- [jeśli tylko ściana jest zniszczalna,] złap HAM_TakeDamage i sprawdź kto próbował uszkodzić Twoją ścianę
Kod nie mogę dołączyć bo od dawna już nie mam narzędzi amxxowych na kompie ale przyda Ci się <hamsadwich> i <fakemeta> + RegisterHam + get_tr2() do sprwadzenia wyniku `traceresult`
#5
Napisano 20.10.2013 17:31
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#6
Napisano 20.10.2013 18:34
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych