Witam. Chciałbym dodać aby każdy kto do mnie strzela aby zadawał mi obrażenia :
1 strzał = 2 DMG
próbowałem zrobić ale nie działa
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.
|
Napisano 13.08.2013 18:44
Witam. Chciałbym dodać aby każdy kto do mnie strzela aby zadawał mi obrażenia :
1 strzał = 2 DMG
próbowałem zrobić ale nie działa
Paczka map COD - http://cs-boster.pl/...ter-strike-1-6/
Paczka map AIM - http://cs-boster.pl/...ter-strike-1-6/
Counter Strike 1.6 Non Steam v23 - http://cs-boster.pl/...m-v23-download/
Counter Strike 1.6 Non Steam v32 - http://cs-boster.pl/...m-v32-download/
Counter Strike 1.6 Non Steam v52 - http://cs-boster.pl/...-non-steam-v52/
Napisano 13.08.2013 18:54
#include <amxmodx> #include <hamsandwich> #define PLUGIN "Obrazenia za 2" #define VERSION "1.0" #define AUTHOR "hubertTM" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_TakeDamage, "player", "Event_TakeDamage", 0); } public Event_TakeDamage(this, inf, attacker, Float:damage){ if(this == attacker) return HAM_IGNORED; if(inf != attacker) /* Z granata sa normalne DMG jak cos to usun to */ return HAM_IGNORED; /* to tez */ if(!is_user_connected(attacker)) return HAM_IGNORED; if(!is_user_alive(this)) return HAM_IGNORED; if(get_user_weapon(attacker) == CSW_KNIFE) /* Z noza sa normalne DMG jak cos to usun to */ return HAM_IGNORED; /* to tez */ SetHamParamFloat(4, 2.0); return HAM_HANDLED; }
Użytkownik HubertTM edytował ten post 13.08.2013 19:24
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
Napisano 13.08.2013 19:00
zaraz przetestuje i dzięki za szybką odpowiedź
Paczka map COD - http://cs-boster.pl/...ter-strike-1-6/
Paczka map AIM - http://cs-boster.pl/...ter-strike-1-6/
Counter Strike 1.6 Non Steam v23 - http://cs-boster.pl/...m-v23-download/
Counter Strike 1.6 Non Steam v32 - http://cs-boster.pl/...m-v32-download/
Counter Strike 1.6 Non Steam v52 - http://cs-boster.pl/...-non-steam-v52/
Napisano 13.08.2013 19:09
Sprawdzasz, czy gracz zadający obrażenia jest żywy, a czy gracz dostający jest połączony z serwerem. Chyba się pomyliłeś, bo powinno się robić na odwrót (trzeba brać pod uwagę obrażenia z HE) oraz z tym sprawdzaniem broni też nie do końca bym się zgodził, ale to akurat zależy od paru rzeczy. Do tego na końcu wypadało by zwracać coś innego.#include <amxmodx> #include <hamsandwich> #define PLUGIN "Obrazenia za 2" #define VERSION "1.0" #define AUTHOR "hubertTM" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_TakeDamage, "player", "Event_TakeDamage", 0); } public Event_TakeDamage(this, inf, attacker, Float:damage){ if(this == attacker) return HAM_IGNORED; if(inf != attacker) /* Z granata sa normalne DMG jak cos to usun to */ return HAM_IGNORED; /* to tez */ if(!is_user_alive(attacker)) return HAM_IGNORED; if(!is_user_connected(this)) return HAM_IGNORED; if(get_user_weapon(attacker) == CSW_KNIFE) /* Z noza sa normalne DMG jak cos to usun to */ return HAM_IGNORED; /* to tez */ SetHamParamFloat(4, 2.0); return HAM_IGNORED; }
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Napisano 13.08.2013 19:21
Obrażenia HE zostały wykluczone przez
if(inf != attacker) return HAM_IGNORED;
,ale poprawię, bo może autor tematu, chce, żeby DMG działało też dla HE.
Na końcu można zwrócić HAM_HANDLED zaraz poprawię.
@edit .Sma poprawione.
Co do sprawdzania broni, to powiem tak, jak autor chce, żeby HE zadawało normalne obrażenia, a nóż nie, to niech napiszę, a przerobię to pod jego prośbę
Użytkownik HubertTM edytował ten post 13.08.2013 19:27
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
Napisano 13.08.2013 19:26
Tu by można się sprzeczać ;]Obrażenia HE zostały wykluczone przez:
if(inf != attacker) return HAM_IGNORED;
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
Napisano 13.08.2013 19:29
jeden problem jeszcze mam.
ponieważ chcę to dodać do sklepu a chce aby tylko działało na jedną runde po zakupie.
ale coś nie działa
Paczka map COD - http://cs-boster.pl/...ter-strike-1-6/
Paczka map AIM - http://cs-boster.pl/...ter-strike-1-6/
Counter Strike 1.6 Non Steam v23 - http://cs-boster.pl/...m-v23-download/
Counter Strike 1.6 Non Steam v32 - http://cs-boster.pl/...m-v32-download/
Counter Strike 1.6 Non Steam v52 - http://cs-boster.pl/...-non-steam-v52/
Napisano 13.08.2013 19:58
Generalnie autor chciał, żeby HE i Knife też miały DMG za 2, więc poprawiłem Ci plugin miałeś literówkę.
one[attacker] trzeba było zamienić na one[this] - bo to dostający obrażenia ma mieć małe DMG (Już poprawione w .sma)
Jednak jak ktoś nadal jest ciekaw tych poprawek sebula to macie kod
#include <amxmodx> #include <hamsandwich> #define PLUGIN "Obrazenia za 2" #define VERSION "1.0" #define AUTHOR "hubertTM" #define DMG_NEVERGIB (1<<12) #define DMG_BULLET (1<<1) #define DMG_KNIFE ( DMG_NEVERGIB | DMG_BULLET ) #define DMG_HEGRENADE (1<<24) #define GRANAT 1 // postaw // przed #define aby granat mialy DMG 2 #define NOZ 1 // postaw // przed #define aby noz mial DMG 2 public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_TakeDamage, "player", "Event_TakeDamage", 0); } public Event_TakeDamage(this, inf, attacker, Float:damage, damagebits){ if(this == attacker) return HAM_IGNORED; if(!is_user_connected(attacker)) return HAM_IGNORED; if(!is_user_alive(this)) return HAM_IGNORED; #if defined NOZ if((damagebits & DMG_KNIFE)) return HAM_IGNORED; #endif #if defined GRANAT if(damagebits & DMG_HEGRENADE) return HAM_IGNORED; #endif SetHamParamFloat(4, 2.0); return HAM_HANDLED; }
Użytkownik HubertTM edytował ten post 13.08.2013 21:07
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
Napisano 13.08.2013 20:33
Wywal jeszcze to
#define IsPlayer(%1) (1 <= %1 <= 32)
0 użytkowników, 0 gości, 0 anonimowych