←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Pistolety na start rundy jak je wylaczyc?

PAKOV9 - zdjęcie PAKOV9 18.11.2011

Dodalem na swoj serwer kilka nowych klas premium jedna z nich jest ninja.
Posiada on niewidzialnosc i 1/1 z broni.
Ustawilem mu ze ma posiadac jedynie noz bo w końcu gdyby mial inna bron zabija by z nia taksamo na hita.
Ale niestety na start rundy kazdy dostaje pistoleg TT-glocka a CT-USP
Wiec moj ninja posiada glocka lub usp w kazdej rundzie z ktorego ma kazdego na hita :(
Czy ktos wie jak moge zablokowac to ze na start dostaje sie te pistolety?

proszę o pomoc
Odpowiedz

  • +
  • -
Na 5tyk - zdjęcie Na 5tyk 18.11.2011

strip_users_weapons(id)
give_item(id, "weapon_knife);

Do cod_class_enable. chyba bedzie dzialac.
Odpowiedz

  • +
  • -
Najkon - zdjęcie Najkon 18.11.2011

Rownie dobrze można zrobić aby miala tylko 1/1 z noza a tamto zostawić :D
Odpowiedz

PAKOV9 - zdjęcie PAKOV9 18.11.2011

No wlasnie jak w generatorze klas daje ze ma 1/1 z noza PPM to w ogóle nie dziala :( Musze dawac ze ma 1/1 z broni.
Jak powiesz mi jak dac samo 1/1 z noza PPM to tak zrobie ;P
Odpowiedz

  • +
  • -
Hiroshima - zdjęcie Hiroshima 18.11.2011

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod XPytania
do
Scripting AMXXPytania

Odpowiedz

  • +
  • -
Najkon - zdjęcie Najkon 19.11.2011

Na samej gorze w sma wklejasz to :

#include <hamsandwich>
Pod Includami wklejasz to :
#define DMG_BULLET (1<<1)
Pod tym wklejaz to :
new bool:ma_klase[33];
Pozniej normalnie rejestrujesz klase. Do plugin_init dopisujesz
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
Nastepnie musisz zrobić funkcje
public cod_class_enabled(id)
{
	ma_klase[id] = true;
	// Reszta kodu
}
	
public cod_class_disabled(id)
{
	ma_klase[id] = false;
	// Reszta kodu
}

I na samym dole wklejasz to :

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;
}

To teraz troche opisze...

damage > 20.0 - Odpowiada za to, ile minimalnie hp musisz zabrać z knife by zabic na 1 hit. U mnie jest 20 gdyż ja osobiście nie chciałem aby zabijał z LPM z ktorego zadaje jakies 12 dmg :D
Odpowiedz