←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodatek
Natychmiastowe przeładowanie

  • +
  • -
GoldenKill - zdjęcie GoldenKill 16.11.2013

Witam

 

Chciałbym wam przekazać funkcję natychmiastowego przeładowania dla klasy

 

Do plugin_init dodajemy

register_forward(FM_CmdStart, "CmdStart");

Na końcu sma wrzucamy ten kod

public CmdStart(id, uc_handle)
{
	if(!is_user_alive(id))
		return FMRES_IGNORED;

        new clip, ammo, weapon = get_user_weapon(id, clip, ammo);

	if(player_class[id] == NONE)
	{
		if(maxClip[weapon] == -1 || !ammo)
			return FMRES_IGNORED;
		
		if((button & IN_RELOAD && !(oldbutton & IN_RELOAD) && !(button & IN_ATTACK)) || !clip)
		{
			cs_set_user_bpammo(id, weapon, ammo-(maxClip[weapon]-clip));
			new new_ammo = (maxClip[weapon] > ammo)? clip+ammo: maxClip[weapon]
			set_user_clip(id, new_ammo);
		}
	}
	return FMRES_IGNORED;
}

stock set_user_clip(id, ammo)
{
	new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
	get_weaponname(weapon, weaponname, 31);
	while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
		if(entity_get_edict(weaponid, EV_ENT_owner) == id) 
	{
		set_pdata_int(weaponid, 51, ammo, 4);
		return weaponid;
	}
	return 0;
}

Aby zmienić klasę która będzie miała natychmiastowe przeładowanie Zamiast  NONE wpisujmy swoją nazwę klasy

 

np

if(player_class[id] == NONE)

na

if(player_class[id] == Pająk)

Autorem kodu nie jestem ja

Odpowiedz

  • +
  • -
sharkowy - zdjęcie sharkowy 16.11.2013

Zmieniłeś 1 linijkę, i już przypisujesz sobie kod? ^_^

 

http://amxx.pl/topic...alce-klasaitem/

Odpowiedz

  • +
  • -
FORMOZA - zdjęcie FORMOZA 16.11.2013

Patrze... kod znajomy :D

 

Ale może się przyda tym co nie myślą skąd wziąć :P

Odpowiedz

  • +
  • -
GoldenKill - zdjęcie GoldenKill 16.11.2013

Sharkowy zapomniałem dodać że to ty jesteś autorem kodu  

Odpowiedz

  • +
  • -
OverShot - zdjęcie OverShot 24.01.2014

Niestety kod nie działa :<

Odpowiedz

  • +
  • -
FarGoosiek - zdjęcie FarGoosiek 24.01.2014

Kod działa ty coś źle robisz ;D

Odpowiedz

  • +
  • -
aaaaaa - zdjęcie aaaaaa 12.05.2014

Pomoze ktos ??

Error: Array must be indexed (variable "button") on line 16717

To ta linijka:

 

if((button & IN_RELOAD && !(oldbutton & IN_RELOAD) && !(button & IN_ATTACK)) || !clip)

Odpowiedz