A co w przypadku gdy nie chce, aby łapało zabicia za pomocą c4? Bo "Ham_Killed" wykonuje się także w tym momencie i szczerze nie sprawdzałem co i kto jest wtedy dokładnie zabójcą i bytem zabijającym.Zalicza fraga nie z tej broni a z world'a (chyba że dodasz classname swojego swój byta (który podajesz do inflictor) do csstats za pomocą custom_weapon_add). I będziesz mógł sprawdzic za pomoca czego zabiłeś gracza!! Roboty jest tyle samo co przy zwykłym sprawdzaniu za pomocą zadawania dmg Przykład:I wtedy nie będę mógł sprawdzić poprzez nazwę broni (w evencie śmierci można to sprawdzać) z czego dany gracz został zabity, bo wyświetlając tę ikonę w ten sposób jak to jest u Ciebie, nie zmienia się tylko wyświetlane sprite, ale także będzie zaliczać fraga z tej broni. Jedno kłóci się z drugim, chyba więcej kombinacji niż zabijanie przez zadawanie większych dmg.
Spoiler
Tylko nie mów że dużo kombinowania bo tyle samo co przy normalnym łapaniu w dodatku użyłem classname tylko i wyłącznie dlatego że powiedziałeś że chcesz nazwę broni
Ogólnie może podam konkretny przykład.
1. Chcę znać czas, zabójcę i broń z jakiej ktoś został zabity, ale oczywiście wszystko w ramach silnika, nie poprzez jakieś dodatkowe zmienne globalne. Broń najlepiej w postaci jakiegoś id, czyli skoro standardowe są do 30, to od 31 zaczynają się te niestandardowe, wszystko po to, żeby móc potem tę broń w prosty sposób identyfikować w jakimś zadaniu na zabicia z różnych broni, np. poprzez wysłanie jakiegoś forwardu.
2. Mam niestandardową broń, powiedzmy bazookę, która nie zabija zawsze przy trafieniu, ale ma powiedzmy 1/5 szansy na to.
3. Chcę, aby sprite było inne niż world, czyli powiedzmy sprite he.
4. Przy trafieniu i zadaniu obrażeń kod wyglądał by mniej więcej tak
entity_set_string(inflictor, EV_SZ_classname, "bazooka"); entity_set_edict(inflictor, EV_ENT_owner, attacker); ExecuteHam(Ham_TakeDamage, victim, inflictor, attacker, fDamage, bits); // lub z Bi wtedy po zabiciu gracza w evencie śmierci "DeathMsg" mam wszystko to czego potrzebuję, jedynie do ranku się nie nalicza, ale być może po dodaniu paru linijek z Twojej funkcji rozwiązało by sprawę. Potem żeby zmieniać sprite, wystarczy złapać
register_message(get_user_msgid("DeathMsg"), "MessageDeathMsg");i tam podmieniać nazwę sprite, sprawdzając czy otrzymana nazwa nie jest bazooką. Ogólnie wydaję mi się, że to miejsce jest najbardziej odpowiednie do podmian wyświetlanej wiadomości, bo tutaj tylko podmieniamy to co chcemy, a nie wysyłamy nową wiadomość o zabiciu kogoś. Ale przejdźmy do sedna, jak teraz zabić kogoś natychmiast po trafieniu? Od razu piszę, że nie twierdzę, aby to nie było możliwe Twoim sposobem, ale raczej bez jakiejś edycji się nie obędzie. Przypominam jeszcze raz, chodzi o to, aby funkcja była jak najbardziej uniwersalna, bo wydaję mi się, że aktualnie nie jest.