1. A więc dodajemy na sam początek :
#include <hamsandwich>
i pod wszystkimi include :
#define DMG_BULLET (1<<1)
jezeli dodajemy 1/x z granata, dodaj to
#define DMG_HEGRENADE (1<<24)
2. do plugin_init() dodajemy :
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
[/sma]
3. A tera rejestrujemy przykladowy public :
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_perk[idattacker])
return HAM_IGNORED;
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
return HAM_IGNORED;
}
3.1 W powyższym publicu przyjżyj się temu :
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET && random_num(1, 7) == 1)
Tam gdzie pisze CSW_AWP zmieniamy na bron z której chcemy miec 1/x szans na zabicie np. CSW_M4A1
Aby ustawić granata odlamkowego wpisz to :
if(damagebits & DMG_HEGRENADE && get_user_team(this) != get_user_team(idattacker) && random_num(1,7) == 1)
zamiast
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)
3.2 Ok, tera przyjzyjmy sie temu :
random_num(1, 7) == 1
To tutaj ustawiamy, jaką mamy szanse na zabicie przeciwnika, w tym przypadku 1/7, zeby zmienic np. na 1/4 zamieniamy to wyzej na
random_num(1, 4) == 1
Czyli nasz public bedzie wygladac tak :
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_perk[idattacker])
return HAM_IGNORED;
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET && random_num(1, 4) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
return HAM_IGNORED;
}
I to daje 1/4 szans na zabicie z m4a1
Zeby ustawic natychmiastowe (1/1) pozbywamy się tego
random_num(1, 7) == 1
I usuwamy jeszcze "&&" Czyli w sumie caly warunek bedzie wygladac tak
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_AWP && damagebits & DMG_BULLET)
To już chyba zrozumieliscie
3.3 Dla granatow, zmieniamy
DMG_BULLETNa
DMG_HEGRENADE
czyli tak np.
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_HEGRENADE && damagebits & DMG_HEGRENADE)
3.4 Jeżeli chcemy np dla dwoch broni dac 1/x z broni, to pod tym
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET && random_num(1, 4) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
dodajemy to
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET && random_num(1, 4) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
i nastepnie konfigurujemy
Jak zrobic 1/x szans na zabicie z kosy (PPM) ?
Natychmiastowe z HeadShota
Mam nadzieje ze zrozumieliście Oczywiście to można przerobić na klase
Użytkownik d0n tHe Pr0oo edytował ten post 15.04.2012 06:55