Gdy ktoś dostanie w tarcze odbija pocisk
Szymek^
17.08.2011
Witam jak w temacie. Wiem jak odbić obrażenia ale nie wiem jak zrobić, żeby odbijało pociski trafione w Tarcze.
Pomoże ktoś lub wytłumaczy.?
Pomoże ktoś lub wytłumaczy.?
alc0
17.08.2011
Czy odbicie pocisku od tarczy to nie ten sam efekt co odpisie obrażeń?
Zależy o co dokładnie ci chodzi... Jeśli o efekt wizualny to nie wiem jak pomóc...
Zależy o co dokładnie ci chodzi... Jeśli o efekt wizualny to nie wiem jak pomóc...
Szymek^
17.08.2011
Chodzi o to, że jak w trafisz w czyjąś tarcze to dostajesz te obrażenia ty..
Barto_12_SAS
18.08.2011
Czyli przeróbka pancerza nomexowego - tylko , że 1/1 i pod warunkiem , że ma sie tarcze i się nia zasłoni ?
Dwdov 18.08.2011
Napisał po polsku że chce odbicie pocisku jeżeli ktoś trafi W TARCZE. Da się to zrobić tylko trochę kombinowania. Nie wiem czy jak się zmieni w traceline HIT_SHIELD na HIT_GENERIC to zada dmg czy nie. Jeszcze później odbić ten pocisk. Troche srania z tym jest, ale jak chcesz to zrobić to musisz użyć albo traceline albo komibnować z emitsound ; p
Szymek^
18.08.2011
właśnie rozmyślałem nad TraceLine i na miejscach obrażeń, czytałem też definicje na dokumentacji ale nie było definicji strzału związanej z tarczą...;/
Barto_12_SAS
18.08.2011
Ale możnaby tozrobić na zasadzie pancerza nomexowego tylko przekierować z postaci na tarcze ?
Dwdov 18.08.2011
HIT_SHIELD odpowiada liczbie 8. Nie ma tego dopisanego do standardowych nagłówków, ale to nie znaczy że coś takiego nie istnieje, gdzieś w necie była cała lista. Dokładnie jest to wartość zwracana przez get_tr2( id, TR_pHit ) // <- tu mój błąd TR_iHitgroup dopiero jak Change napisał post popatrzyłem co za głupote napisałem
Użytkownik Dawedov edytował ten post 19.08.2011 12:45
Użytkownik Dawedov edytował ten post 19.08.2011 12:45
Change
19.08.2011
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define HIT_SHIELD 8
public plugin_init()
{
register_plugin("PLUGIN", "VERSION", "AUTHOR")
register_forward(FM_TraceLine, "fw_Traceline", 1)
}
public fw_Traceline(Float:start[3], Float:end[3], nomonsters, id, trace)
{
if(!is_user_connected(id))
return FMRES_IGNORED;
static victim, hitgroup
victim = get_tr2(trace, TR_pHit);
hitgroup = get_tr2(trace, TR_iHitgroup);
if(!is_user_connected(victim))
return FMRES_IGNORED;
if (hitgroup == HIT_SHIELD)
//DOSTAŁ W TARCZE
return FMRES_IGNORED;
}
Szymek^
19.08.2011
Zaraz przetestuję. Mam pytanie. Czy w TraceLine da się pobrać id atakującego ? Potrzebne mi to do pancerza nomexowego
DarkGL
19.08.2011
sprawdź
#include <amxmodx> #include <amxmisc> #include <fakemeta> #define HIT_SHIELD 8 public plugin_init() { register_plugin("PLUGIN", "VERSION", "AUTHOR") register_forward(FM_TraceLine, "fw_Traceline", 1) } public fw_Traceline(Float:start[3], Float:end[3], nomonsters, id, trace) { if(!is_user_connected(id)) return FMRES_IGNORED; static victim victim = get_tr2(trace, TR_pHit); if(!is_user_connected(victim)) return FMRES_IGNORED; new iAttacker = get_user_attacker(victim); if(!is_user_connected(iAttacker)) return FMRES_IGNORED; if (get_tr2(trace, TR_iHitgroup) == HIT_SHIELD) set_tr2(trace,TR_pHit,iAttacker) return FMRES_IGNORED; }
A może sma?
19.08.2011
id to id atakującego, victim = get_tr2(trace, TR_pHit); - id tego, który oberwał