Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

dem222 - zdjęcie

dem222

Rejestracja: 25.08.2014
Aktualnie: Nieaktywny
Poza forum Ostatnio: 13.09.2014 10:12
-----

#660532 [ROZWIĄZANE] Komandos 1/1 z noża nie działa

Napisane przez kakus002 w 27.08.2014 17:11

;)

Załączone pliki




#661022 [ROZWIĄZANE] Komandos 1/1 z noża nie działa

Napisane przez kakus002 w 29.08.2014 16:52

No to powinno zadziałać normalnie -.- :

const m_iTeam = 114

public TakeDamage(id, ent, attacker, Float:damage, damagebits)
{
	if(~damagebits & DMG_BULLET  || ent != attacker || !is_user_connected(attacker)|| !ma_klase[attacker] || get_pdata_int(id,m_iTeam,5) == get_pdata_int(attacker,m_iTeam,5) || get_user_weapon(attacker) != CSW_KNIFE)	return HAM_IGNORED

	if(get_pdata_float(get_pdata_cbase(attacker,373,5),47,4) > 1.0)	KillPlayer(id,ent,attacker,CSW_KNIFE,HIT_GENERIC,0,damagebits)
	return HAM_IGNORED;
}

KillPlayer(id,inflictor,attacker,weapon,body,shouldgib,damagebits)
{
	if(weapon > 30 || !is_user_alive(id) || !is_user_connected(attacker))	return
	
	const GrenadeWeapon = 1<<CSW_HEGRENADE | 1<<CSW_C4 | 1<<CSW_SMOKEGRENADE | 1<<CSW_FLASHBANG
	const m_LastHitGroup = 75
	const m_bitsDamageType = 76
	const m_fHasTakenHighDamage = 107
	static DeathMsgId
	new msgblock,weaponname[32],effect
	if (!DeathMsgId)	DeathMsgId = get_user_msgid("DeathMsg")
	
	set_pdata_int(id,m_LastHitGroup,body,5)
	set_pdata_int(id,m_bitsDamageType,damagebits,5)
	set_pdata_int(id,m_fHasTakenHighDamage,1,5)
	set_pev(id,pev_dmg_inflictor,inflictor)
	msgblock = get_msg_block(DeathMsgId)
	set_msg_block(DeathMsgId, BLOCK_SET)
	ExecuteHamB(Ham_Killed,id,attacker,shouldgib)
	set_msg_block(DeathMsgId, msgblock)
	effect = pev(id,pev_effects)
	if(effect & 128)	set_pev(id,pev_effects,effect-128)
	
	new len
	if(get_weaponname(weapon,weaponname,31))
	{
		if(~GrenadeWeapon & 1<<weapon) len = 7
		else weaponname = "grenade"
	}
	else if(weapon == 2)	weaponname = "tracktrain"
	else	weaponname = "world"
	
	emessage_begin(MSG_ALL, DeathMsgId)
	ewrite_byte(attacker)
	ewrite_byte(id)
	ewrite_byte(body == HIT_HEAD ? 1:0)
	ewrite_string(weaponname[len])
	emessage_end()
}

+ fakemete do includów




#661026 [ROZWIĄZANE] Komandos 1/1 z noża nie działa

Napisane przez radim w 29.08.2014 17:00

Czy osoba która zabijasz posiada armor?

@Edit

Poprawione, teraz sprawdź.

Załączone pliki


  • +
  • -
  • 1


#661038 [ROZWIĄZANE] Komandos 1/1 z noża nie działa

Napisane przez radim w 29.08.2014 18:05

Jeżeli nadal nie będzie działać, to zapodaj *.sma silnika. Być może wytrzymałość gracza redukuje zadany damage i dlatego nie można zabić 1/1


  • +
  • -
  • 1


#660969 [ROZWIĄZANE] Komandos 1/1 z noża nie działa

Napisane przez radim w 29.08.2014 12:43

Sprawdź. 1/1 z kosy

Załączone pliki


  • +
  • -
  • 1


#660790 [ROZWIĄZANE] Komandos 1/1 z noża nie działa

Napisane przez kakus002 w 28.08.2014 12:10

Zamien public TakeDamage na ten:

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(idattacker) || !ma_klase[idattacker])    return HAM_IGNORED
    
    if(damagebits & DMG_BULLET)
    {    
    
        if(get_user_weapon(idattacker) == CSW_KNIFE && pev(idattacker, pev_button) & IN_ATTACK2)
        {
            SetHamParamFloat(4, float(pev(this, pev_health)))        
            return HAM_HANDLED;
        }
    }    
    return HAM_IGNORED;    
}

i pod

#include <hamsandwich>

daj

#include <fakemeta>



#660540 [ROZWIĄZANE] Komandos 1/1 z noża nie działa

Napisane przez kakus002 w 27.08.2014 17:43

to nadal nie to :(

Czyli co, nie działa? Bo mi ten kod działa - Chciałeś PPM to jest.

Sprawdz to...

Załączone pliki




#660600 [ROZWIĄZANE] Komandos 1/1 z noża nie działa

Napisane przez DOnius w 27.08.2014 20:22

Testowany musi działać, amx sobie wykompilujesz

 

 
#include <amxmodx>
#include <codmod>
#include <hamsandwich>


#define DMG_BULLET (1<<1)




new bool:ma_klase[33];


new const nazwa[] = "Komandos";
new const opis[] = "Natychmiastowe zabicie z noza(PPM)";
new const bronie = 1<<CSW_DEAGLE;
new const zdrowie = 40;
new const kondycja = 60;
new const inteligencja = 5;
new const wytrzymalosc = 0;


public plugin_init() 
{
register_plugin(nazwa, "1.0", "QTM_Peyote");


cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);


RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}


public cod_class_enabled(id)
ma_klase[id] = true;


public cod_class_disabled(id)
ma_klase[id] = false;


public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;


if(!ma_klase[idattacker])
return HAM_IGNORED;


if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20.0)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);


return HAM_IGNORED;
}


 


  • +
  • -
  • 1