←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD - Tracimy przedmiot gdy nas zabiją

Locked

  • +
  • -
Onyke's Photo Onyke 17.07.2010

Jak zrobić w cod mod by po zabiciu były wyrzucane itemy
czytałem temat QTM ale tam nic nie pisze

pisze jedynie coś o evencie
pomoże ktoś?
Quote

Gość_Aik_* 18.07.2010

W funkcji on_Death musisz dać WyrzucPrzedmiot(id), gdzie id to będzie id ofiary (czyli tego zabitego).
Quote

  • +
  • -
GodDomi's Photo GodDomi 18.07.2010

Otwórz plik QTM_CodMod.sma

W tej części kodu:
public Death()
{
	new id = read_data(2);
	new attacker = read_data(1);
	
	if(!is_user_alive(attacker) || !is_user_connected(attacker))
		return PLUGIN_CONTINUE;
	
	new weapon = get_user_weapon(attacker);
	new zdrowie = get_user_health(attacker);
	
	if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
	{
		new nowe_doswiadczenie = 0;
		
		nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
		
		if(klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo)
			nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
		
		if(poziom_gracza[id] > poziom_gracza[attacker])
			nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
		
		if(klasa_gracza[attacker] == Rambo || informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1)
		{
	
			new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_gracza[attacker])? zdrowie+20: maksymalne_zdrowie_gracza[attacker];
			set_user_clip(attacker, maxClip[weapon]);
			set_user_health(attacker, nowe_zdrowie);
		}

Znajdź:
new zdrowie = get_user_health(attacker);

I pod tym dodaj:
WyrzucPrzedmiot(id);

Części tego kodu powinna wyglądać tak:
public Death()
{
	new id = read_data(2);
	new attacker = read_data(1);
	
	if(!is_user_alive(attacker) || !is_user_connected(attacker))
		return PLUGIN_CONTINUE;
	
	new weapon = get_user_weapon(attacker);
	new zdrowie = get_user_health(attacker);
	WyrzucPrzedmiot(id);
	
	if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
	{
		new nowe_doswiadczenie = 0;
		
		nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
		
		if(klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo)
			nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
		
		if(poziom_gracza[id] > poziom_gracza[attacker])
			nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
		
		if(klasa_gracza[attacker] == Rambo || informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1)
		{
	
			new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_gracza[attacker])? zdrowie+20: maksymalne_zdrowie_gracza[attacker];
			set_user_clip(attacker, maxClip[weapon]);
			set_user_health(attacker, nowe_zdrowie);
		}

Od teraz, gdy ktoś cię zabije wypadnie ci przedmiot.
Edited by GodDomi, 18.07.2010 12:57.
Quote

hardbot's Photo hardbot 18.07.2010

GodDomi pamiętaj o klamrach!

public Death()
{
new id = read_data(2);
new attacker = read_data(1);

if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;

new weapon = get_user_weapon(attacker);
new zdrowie = get_user_health(attacker);
WyrzucPrzedmiot(id);

if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new nowe_doswiadczenie = 0;

nowe_doswiadczenie += doswiadczenia_za_zabojstwo;

if(klasa_gracza[id] == Rambo && klasa_gracza[attacker] != Rambo)
nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;

if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];

if(klasa_gracza[attacker] == Rambo || informacje_przedmiotu_gracza[attacker][0] == 15 && maxClip[weapon] != -1)
{

new nowe_zdrowie = (zdrowie+20<maksymalne_zdrowie_gracza[attacker])? zdrowie+20: maksymalne_zdrowie_gracza[attacker];
set_user_clip(attacker, maxClip[weapon]);
set_user_health(attacker, nowe_zdrowie);
}
}
}

Edited by hardbot, 18.07.2010 13:50.
Quote

  • +
  • -
Onyke's Photo Onyke 18.07.2010

GodDomi twoja wersja działa,
Hardbot twoja wersja z klamrami się nie kompiluje :/
Quote
Locked