←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Generator klas i 1/1 z AWP

Game4Fun - zdjęcie Game4Fun 25.08.2014

Witam,

chciałem zrobić nową klasę, 1/3 z AWP, zrobiłem, widze że nie działa.

nawet zrobilem juz 1/1 ale też nie działa:

public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits, attacker){
    if(get_user_weapon(attacker) == CSW_AWP){
	if(!is_user_alive(idAtt) || !ma_klase[idAtt] || !(dmgBits & (1<<1) ) || random_num(1, 1) != 1)
		return HAM_IGNORED;

	cs_set_user_armor(this, 0, CS_ARMOR_NONE);
	SetHamParamFloat(4, float(get_user_health(this) + 1));

	return HAM_HANDLED;
}
}

Cały skrypt:

http://wklej.org/id/1449042/

Odpowiedz

  • +
  • -
radim - zdjęcie radim 25.08.2014

public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits)
{
if(!is_user_connected(idAtt))
return HAM_IGNORED;
 
if(!ma_klase[idAtt])
return HAM_IGNORED;
 
if(get_user_team(this) != get_user_team(idAtt) && get_user_weapon(idAtt) == CSW_AWP && dmgBits & (1<<1) && random_num(1, 3) == 1)
cod_inflict_damage(idAtt, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
 
return HAM_IGNORED;
}
Odpowiedz

Wszechwiedzący - zdjęcie Wszechwiedzący 25.08.2014

Nie zrobiłes z awp tylko z nozem.

Nie zminiłes w klasie na awp tylko jest knife

public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits, attacker){
    if(get_user_weapon(attacker) == CSW_KNIFE){
	if(!is_user_alive(idAtt) || !ma_klase[idAtt] || !(dmgBits & (1<<1) ) || random_num(1, 1) != 1)
		return HAM_IGNORED;

	cs_set_user_armor(this, 0, CS_ARMOR_NONE);
	SetHamParamFloat(4, float(get_user_health(this) + 1));

	return HAM_HANDLED;
}
}

Zrob tak

public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits, attacker)
{
if(!is_user_connected(idattacker))
  return HAM_IGNORED;

if(!ma_perk[idattacker])
  return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
  new weapon = get_user_weapon(idattacker);

  if(weapon == TWOJA_BRON && damage > 20.0 && random_num(1,X) == 1)
   cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}

gdzie: "TWOJA_BRON" to broń np. "CSW_M4A1" da nam 1/x z m4
"X" to liczba np. gdy będzie 3 to masz 1/3 z danej broni

Odpowiedz

Game4Fun - zdjęcie Game4Fun 25.08.2014

Sorki nie dopisałem.

Robiłem testy już na paru broniach, dlatego tu jest AWP a w "całym" skrypcie Knife.

Dzięki za porady, wasz sposób działa

 

A jeśli chce 2 bronie to robię tak:

public fwTakeDamage_JedenZ(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_connected(idattacker))
		return HAM_IGNORED;
	
	if(!ma_klase[idattacker])
		return HAM_IGNORED;
	
	if(!(damagebits & DMG_BULLET))
		return HAM_IGNORED;
		
	if(get_user_weapon(idattacker) == CSW_AWP && random_num(1,3) == 1)
		cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
		
	if(get_user_weapon(idattacker) == CSW_DEAGLE && random_num(1,6) == 1)
		cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
	
	return HAM_IGNORED;
}

Dobrze jest to?

Odpowiedz

  • +
  • -
radim - zdjęcie radim 25.08.2014

Tak.

Odpowiedz