[ROZWIĄZANE] Czy po użyciu ExecuteHamB(Ham...
Najlepsza odpowiedź GwynBleidD 02.07.2014 09:32
Przy GIB_NEVER zawsze będzie ciało
Przy GIB_ALWAYS zawsze będą flaki Przejdź do postu
Rivit
01.07.2014
Witam.
Czy jeżeli użyję tego:
ExecuteHamB(Ham_Killed, this, idattacker)
To w prawym górnym rogu pokaże się błędna ikonka (ten znaczek jak przy samobójstwie) ?
Pytam bo nie wiem czy mam łapać DeahMsg czy jak.
BlackPerfum
01.07.2014
Tak i niestety nie mamy na to wpływuTo w prawym górnym rogu pokaże się błędna ikonka (ten znaczek jak przy samobójstwie) ?
Złap nikomu nie zaszkodzi złapanie tego eventu ;DPytam bo nie wiem czy mam łapać DeahMsg czy jak.
Rivit
01.07.2014
Dobrze rozumuje?
Rivit
01.07.2014
Wiem juz ze jezeli chce zabic z czegos co nie ma swojej ikonko to moge uzyc ExecuteHamB(Ham_Killed, vid, kid)
a jezeli mam 1/x i zabije za pomoca Execute to bedzie ta ikonka wlasnie (nieznana bron). Jak temu zapobiec? Moze faktycznie damage...
Rivit
01.07.2014
do zabicia gracza (np 1/x) uzyje SetHamParamFloat(4, float(get_user_health(id)))
Chodzi Ci o kevlar? Ze amortyzuje pare dmg?
szelbi
01.07.2014
Może kilka, może kilkanaście. Najlepiej zrobić x2, wtedy nie powinno być żadnego problemu.
Rivit
01.07.2014
Zawsze mozna przed ustawieniem dmg = hp ustawic kevlar gracza na 0
szelbi
01.07.2014
Zawsze mozna przed ustawieniem dmg = hp ustawic kevlar gracza na 0
Niepotrzebna dodatkowa funkcja, a może nie zadziałać. Bo co, jeśli gracz ma 50HP, ty je pobrałeś, ale w tym samym czasie gracz się leczy tym czymś na mapie lub ma wykupioną w sklepie regenerację HP i międzyczasie mu je dodało?
A może być też tak, że gracz ma 1HP, a zregenerowało mu 5HP i teraz w ogóle nie zadziała. Dlatego Ham_Killed jest najlepszym wyjściem.
Rivit
01.07.2014
Mysle ze ustawienie dmg takie jak hp gracza wystarczy.
Ktos moze mnie oswiecic?
BlackPerfum
01.07.2014
Sposób ci podałem ;D Ustaw Damagebits + Złap Deathmsgjezeli mam 1/x i zabije za pomoca Execute to bedzie ta ikonka wlasnie (nieznana bron). Jak temu zapobiec?
Jeśli chcesz:Moze faktycznie damage..
To damage nie jest wskazane bo zawsze coś może zmodyfikowac dmg tak że nie bedzie śmiertelneChce zabic gracza.
damage+wszystkie nam zanane czynniki == utracone HPdamage ≠ utracone HP
A jeśli jakiś inny plugin zmniejszy dmg 4x ?? to co wtedyNajlepiej zrobić x2, wtedy nie powinno być żadnego problemu.
W post zawsze łapiesz prawdziwe dmg (może je jedynie zmodyfikować ingerencja w kod ) a co do pre to zawsze działam na post w takich sytuacjach ale zapewne też nie tzn. kavler jest już uwzględnionysprawdzales to? Tzn czy obrazenia zadawane przez SetHamParamFloat() sa oslabiane przez kevlar.
To zabije gracza i doda mu hp == gracz nieżyje (bo nie doda mu najpierw )Bo co, jeśli gracz ma 50HP, ty je pobrałeś, ale w tym samym czasie gracz się leczy tym czymś na mapie lub ma wykupioną w sklepie regenerację HP i międzyczasie mu je dodało?
Ham_Killed jest najlepszym wyjściem ale twój przykład jest taki sam jak wyżej tzn. jeśli gracz ma 1 hp następnie pobiezemy jego hp (w Ham_TakeDamage i zadamy mu tyle dmg ile ma hp to w między czasie nie ma możliwości by się zregenerowało (jeśli nie regenerujesz hp w evencie przy którym gracz otrzymuje dmg)) tzn. takie zwyczajne regeneracje hp jakie są na modach tu nic nie psująmoże być też tak, że gracz ma 1HP, a zregenerowało mu 5HP i teraz w ogóle nie zadziała. Dlatego Ham_Killed jest najlepszym wyjściem.
Tak ;DWatpie zeby takie cos mialo miejsce. Przeciez to ulamki sekundy zeby sie funkcja wykonala.
Niewystarczy, po pierwsze to jakiś inny plugin może zmodyfikowac dmg i nie zabije nas toMysle ze ustawienie dmg takie jak hp gracza wystarczy.
po drugie to gracz sobie strzela po 10~125 a tu nagle 4094 (przykładowa liczba hp gracza)
Właśnie zapaliłem światłoKtos moze mnie oswiecic?
Rivit
01.07.2014
ad 1. A jak do 1/x uzyje SetHamParamFloat? Bedzie normalna ikonka + omine cod_inflict_damage !!!
ad 2. Czyli dmg do zabicia odpada...
ad 3,4,5 czyli kevlar jest uwzgledniany w pre czy post?
ad 6. Czy zanim zadam dmg to musze sprawdzic czy gracz zyje? Co jesli zadam dmg martwemu?
ad 7. Czyli nie ma szans zeby sie uleczyl przez ten czas?
ad 9. To jak to zrobic. Gubie sie juz... (no dobra. Niech walnie te 4k dmg, o to chodzi w 1/x )
BlackPerfum
01.07.2014
ad 1. A jak do 1/x uzyje SetHamParamFloat? Bedzie normalna ikonka + omine cod_inflict_damage !!!
Będzie normalna ale!!! nie jesteś pewien że na pewno go zabijesz bo jakiś inny plugin może zmodyfikować dmg!!! Do zabijania ZAWSZE używaj Ham_Killed ExecuteHamB/ExecuteHam (w zależności czy w danej chwili pożądasz kompatybilności) do zwiększania dmg SetHamParamFloat a do zadawania dmg Ham_TakeDamage ExecuteHamB/ExecuteHam (w zależności czy w danej chwili pożądasz kompatybilności. Do ominięcia głupiej ikonki możesz złapać event DeathMsg'a ;D
ad 2. Czyli dmg do zabicia odpada...
Yes...
ad 3,4,5 czyli kevlar jest uwzgledniany w pre czy post?
W post na 99,(9)% a w pre to raczej
ad 6. Czy zanim zadam dmg to musze sprawdzic czy gracz zyje? Co jesli zadam dmg martwemu?
Nie musisz ale oszczędzisz tym sprawdzaniem wykonania wielu niepotrzebnych funkcji dlatego polecam sprawdzać. Jedyne co można osiągnąć zadawaniem dmg martwym to zdobywaniem fragów do rankingu
ad 7. Czyli nie ma szans zeby sie uleczyl przez ten czas?
To zależy od typu regeneracji ale standardowa niema szans
ad 9. To jak to zrobic. Gubie sie juz... (no dobra. Niech walnie te 4k dmg, o to chodzi w 1/x )
Ale gracz zobaczy to. Bije cały czas normalnie a ty 4k A piszę w opisie że zabija przeciwnika nie zwiększa ci dmg. Takie efekty są niepożądane jeśli:
Chce zabic gracza.
Napisałem wyżej jak zabijać
sebul
01.07.2014
1. Nie chcesz kombinować z poprawnym wyświetleniem normalnej broni?
2. Chcesz w evencie śmierci łapać jakoś jak dany gracz został zabity i zarazem jakoś wpłynąć na to jaka ikonka ma być wyświetlona przy zabójstwie?
To dmg do zabicia jest idealne, tylko trzeba akurat kombinować, żeby gracz został rzeczywiście zabity, a są na to różne sposoby.
Ham_Killed byłby idealny do zabijania, gdyby mógł przyjmować dokładnie takie same parametry jak przy Ham_TakeDamage.
Rivit
01.07.2014
ad1.
Czyli tak:
-dodawanie - SetHamParamFloat
-zabijanie - Ham_Killed
-zadawanie - Ham_TakeDamage (albo cod_inflict_damage())
reszta zrozumiała.
@sebul
Co proponujesz? Jak zabic gracza za pomoca dmg+poprawna ikonka?
Dokladnie... Ham_Killed byłby idealny!!!
PS.
Za co odpowiada shouldgib? I jakie wartosci przyjmuje?
sebul
02.07.2014
Albo zadać tak duże obrażenia, że gracz na pewno zginie i ewentualnie zabrać kamizelkę, wtedy te obrażenia mogą być mniejsze, albo sprawdzać w jakimś tasku, czy gracz żyje, jeśli tak, to zadawaać jeszcze raz jakieś tam obrażenia, można też kombinować tak, żeby ustawić graczowi 1 hp (można też zabrać kamizelkę) i wtedy dopiero zadać mu jakieś niewielkie obrażenia. Pewnie jest jeszcze parę jakichś sposób, trzeba po prostu pomyśleć.Co proponujesz? Jak zabic gracza za pomoca dmg+poprawna ikonka?
Rivit
02.07.2014
Jeszcze tylko:
Za co odpowiada shouldgib? I jakie wartosci
przyjmuje?