←  Bugi

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Klasa po awansie x2

Zablokowany

Acer - zdjęcie Acer 17.07.2013

Witam, dlaczego klasa po awansie zbugowała mi się i jest 2 razy ta sama, jedną można normalnie wybrać, bez nabicia poziomu, na 2 już trzeba poziom nabić.

2013-07-17_00001.jpg

 

 

Sma klasy:

#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <hamsandwich>
#define DMG_BULLET (1<<1)
new bool:ma_klase[33];

new const nazwa[] = "Elitarny Graves";
new const opis[] = "Posiada brak rozrzutu w broniach oraz dodatkowe 60 DMG z kazdej broni, nieskonczone amunicja";
new const bronie = 1<<CSW_M4A1 | 1<<CSW_AK47 | 1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE
new const zdrowie = 100;
new const kondycja = 20;
new const inteligencja = 10;
new const wytrzymalosc = 30;

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

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

register_forward(FM_PlayerPreThink, "PreThink");
register_forward(FM_UpdateClientData, "UpdateClientData", 1)
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
register_event("CurWeapon","CurWeapon","be", "1=1");
cod_register_advance(cod_get_classid("Graves"), 500, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}

public cod_class_enabled(id)
{
ma_klase[id] = true;
return COD_CONTINUE;
}

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

public PreThink(id)
{
if(ma_klase[id])
set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}

public UpdateClientData(id, sw, cd_handle)
{
if(ma_klase[id])
set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})
}

public TakeDamage(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)
	{
		new weapon = get_user_weapon(idattacker);
			
		if(weapon == CSW_M4A1)
			cod_inflict_damage(idattacker, this, 60.0, 0.0, idinflictor, damagebits);
		if(weapon == CSW_AK47)
			cod_inflict_damage(idattacker, this, 60.0, 0.0, idinflictor, damagebits);
		if(weapon == CSW_HEGRENADE)
			cod_inflict_damage(idattacker, this, 60.0, 0.0, idinflictor, damagebits);
	}
	
	return HAM_IGNORED;
}
public CurWeapon(id)
{
	if(!is_user_connected(id))
		return;
	
	if(!ma_klase[id])
		return;
	
	set_user_clip(id, 2);
}
	

stock set_user_clip(id, ammo)
{
	new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
	get_weaponname(weapon, weaponname, 31);
	while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
		if (pev(weaponid, pev_owner) == id) {
		set_pdata_int(weaponid, 51, ammo, 4);
		return weaponid;
	}
	return 0;
}
Odpowiedz

Acer - zdjęcie Acer 19.07.2013

Naprawione, do zamknięcia

Odpowiedz
Zablokowany