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.
|
Ham_TakeDamage - jak używać...?
#21
Napisano 23.05.2011 14:47
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#22
Napisano 23.05.2011 15:16
#23
Napisano 23.05.2011 15:30
new clip, ammo, weapon;
if(idinflictor == idattacker) weapon = get_user_weapon(idattacker, clip, ammo);
else if(damagebits & (1<<24)) weapon = CSW_HEGRENADE;
Czyli takie coś będzie dobrze?
I jeszcze mam pytanie co do "ExecuteHamB" i "ExecuteHam". Ich można używać zamiennie? Czy jednak czymś się różnią?
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#24
Napisano 23.05.2011 15:45
ta funkcja z B na końcu uruchomi też forwardy w pluginach, czyli ExecuterHamB(Ham_TakeDamage, ...) wywoła Twoje fwTakeDamage
samo ExecuterHam po prosto zrobi swoje
#25
Napisano 23.05.2011 15:54
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#26
Napisano 23.05.2011 15:58
new clip, ammo, weapon; if(idinflictor == idattacker) weapon = get_user_weapon(idattacker, clip, ammo); else if(damagebits & (1<<24)) weapon = CSW_HEGRENADE; else{ new szClass[32]; pev(idinflictor, pev_classname, szClass, 31); if(equal(szClass, "MojeObrazenia")){ weapon = MojeObrazeniaWeaponid; } }
jak robisz ExecuteHam() to tam podaj inflictora co go sam stworzyłeś z klasą, którą możesz potem sprawdzić, zrobić stocka?
Załączone pliki
#27
Napisano 23.05.2011 16:07
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#28
Napisano 23.05.2011 16:09
#29
Napisano 23.05.2011 16:41
Chyba może, bo przecież "DMG_GENERIC" to 0 gapa mała
Użytkownik sebul edytował ten post 23.05.2011 16:44
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#30
Napisano 23.05.2011 16:42
jakbyś jakimś cudem nie zauważył to zaznaczam, że wrzuciłem nowy kod hamtest.sma
#31
Napisano 23.05.2011 16:48
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#32
Napisano 23.05.2011 16:57
To
if(!TrieGetCell(gCustomWeapons, szClass, weapon)) weapon = 0;działa jak to
if(equal(szClass, "piorun")){ weapon = CSW_PIORUN; } else if(equal(szClass, "piorun2")){ weapon = CSW_PIORUN2; } else weapon = 0;tylko dla większej ilości tych equali metoda z Trie: jest znacznie szybsza
#33
Napisano 23.05.2011 17:16
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#34
Napisano 23.05.2011 17:32
drzewo trie pozwala przypisać kluczowi tekstowemu wartość
Trie["klucz"] = wartość;ale to się nie skompiluje, dlatego są funkcje
TrieSetCell(Trie, "klucz", wartość);
TrieGetCell(Trie, "klucz", wartość);
oprócz Cell jest jeszcze Array co nie działa w amxx 1.8.1 i String co chyba działa
W plugin_cfg znajdziesz:
gCustomWeapons = TrieCreate();oznacza to stwórz nowe drzewo Trie o nazwie 'gCustomWeapons'
addCustomWeapon(const szName[])robi Set czyli jakby
gCustomWeapons['piorun'] = 31
jak dasz kilka broni to masz:
gCustomWeapons['piorun'] = 31 gCustomWeapons['ziemniak'] = 32 gCustomWeapons['magiczny plomien'] = 33
potem w fwTakeDamage pobierasz klasę bytu, a byt tworzony jest w stocku => to co podasz w stocku odczytasz w fwTakeDamage
i pobierasz Get`em
weapon = gCustomWeapons['piorun']; // zgodnie z drzewem bedzie to: weapon = 31
#35
Napisano 23.05.2011 17:38
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#36
Napisano 23.05.2011 17:47
#37
Napisano 23.05.2011 19:42
Rejestrujemy takie coś
RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
RegisterHam(Ham_TakeDamage, "player", "ObrazeniaPost", 1);
i w obydwu przypadkach można operować wszystkim tak samo? Wyczytałem gdzieś, że to drugie wykonuje się po (pewnie po "Obrazenia"), ale dokładniej po zadaniu obrażeń? Czy po czymś innym?
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#38
Napisano 23.05.2011 19:44
w post może też nie działać zmiana parametrów i bez znaczenia okazać się może zwracana wartość HAM_*
#39
Napisano 23.05.2011 19:57
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#40
Napisano 23.05.2011 20:04
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych