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
#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;
}
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.
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, 1 gości, 0 anonimowych