←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Za szybki exp za zabicie wysokiego LV

  • +
  • -
XXL's Photo XXL 20.12.2014

Witam mam problem i nie wiem jak go naprawić np. Mamy 1 LV zabijemy gracza z 170 LV to daje nam 120LV  na 200 LV MAX  i nwm jak zmiejszyć ten exp bo w 1 mape idzie nabić max LV o.0 proszę o pomoc jak to zmienić


Edited by XXL, 20.12.2014 21:08.
Quote

  • +
  • -
Linux''s Photo Linux' 21.12.2014

Daj sma lub wycinke z public SmiercGracza to ci to naprawie.

Quote

  • +
  • -
XXL's Photo XXL 21.12.2014

Łap

public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
	
	if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
	{
		new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		
		if(poziom_gracza[id] > poziom_gracza[attacker])
			nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
		
		if(!perk_gracza[attacker])
			UstawPerk(attacker, -1, -1, 1);
		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
		
		new dywizja_doswiadczenie;
		
		for(new i=1;i<33;i++)
		{
			if(!is_user_alive(i))
				continue;
			
			if(attacker == i)
				continue;
			
			if(get_user_team(attacker) != get_user_team(i))
				continue;
			
			if(dywizja_gracza[attacker] == dywizja_gracza[i])
			{				
				if(dywizja_gracza[attacker] == 1) dywizja_doswiadczenie = 10;
				if(dywizja_gracza[attacker] == 2) dywizja_doswiadczenie = 30;
				if(dywizja_gracza[attacker] == 3) dywizja_doswiadczenie = 70;
				if(dywizja_gracza[attacker] == 4) dywizja_doswiadczenie = 150;
				if(dywizja_gracza[attacker] == 5) dywizja_doswiadczenie = 350;
				if(dywizja_gracza[attacker] == 6) dywizja_doswiadczenie = 800;
				
				//set_hudmessage(255, 212, 0, -1.0, 0.63, 1, 6.0, 4.0);
				//ShowSyncHudMsg(i, SyncHudObj4, "Dywizja +%i Expa", dywizja_doswiadczenie);
				//client_print(i,print_chat,"Dywizja +%i Expa", dywizja_doswiadczenie);
				// Powyzej znajduje sie kod na wyswietlenie informacji pierwsze 2 to hud a 3 linijka info na czacie poprzez usuniecie // odblokujemy wysylanie informacji o expie dywizji.
				doswiadczenie_gracza[i] += dywizja_doswiadczenie;
			}
			else
			{
				//set_hudmessage(255, 212, 0, -1.0, 0.63, 1, 6.0, 4.0);
				//ShowSyncHudMsg(attacker, SyncHudObj4, "Zaden gracz nie dolaczyl do Dywizji");
				//client_print(attacker,print_chat,"Zaden gracz nie dolaczyl do Dywizji");
				// To samo co wyzej. Odblokowac wedlug uznania
				
			}
		}
		
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}
Quote

  • +
  • -
Linux''s Photo Linux' 21.12.2014

Sprawdz.

public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
	
	if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
	{
		new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		doswiadczenie_gracza[attacker] += poziom_gracza[id]+nowe_doswiadczenie;

		if(!perk_gracza[attacker])
			UstawPerk(attacker, -1, -1, 1);
		new dywizja_doswiadczenie;
		
		for(new i=1;i<33;i++)
		{
			if(!is_user_alive(i))
				continue;
			
			if(attacker == i)
				continue;
			
			if(get_user_team(attacker) != get_user_team(i))
				continue;
			
			if(dywizja_gracza[attacker] == dywizja_gracza[i])
			{				
				if(dywizja_gracza[attacker] == 1) dywizja_doswiadczenie = 10;
				if(dywizja_gracza[attacker] == 2) dywizja_doswiadczenie = 30;
				if(dywizja_gracza[attacker] == 3) dywizja_doswiadczenie = 70;
				if(dywizja_gracza[attacker] == 4) dywizja_doswiadczenie = 150;
				if(dywizja_gracza[attacker] == 5) dywizja_doswiadczenie = 350;
				if(dywizja_gracza[attacker] == 6) dywizja_doswiadczenie = 800;
				
				//set_hudmessage(255, 212, 0, -1.0, 0.63, 1, 6.0, 4.0);
				//ShowSyncHudMsg(i, SyncHudObj4, "Dywizja +%i Expa", dywizja_doswiadczenie);
				//client_print(i,print_chat,"Dywizja +%i Expa", dywizja_doswiadczenie);
				// Powyzej znajduje sie kod na wyswietlenie informacji pierwsze 2 to hud a 3 linijka info na czacie poprzez usuniecie // odblokujemy wysylanie informacji o expie dywizji.
				doswiadczenie_gracza[i] += dywizja_doswiadczenie;
			}
			else
			{
				//set_hudmessage(255, 212, 0, -1.0, 0.63, 1, 6.0, 4.0);
				//ShowSyncHudMsg(attacker, SyncHudObj4, "Zaden gracz nie dolaczyl do Dywizji");
				//client_print(attacker,print_chat,"Zaden gracz nie dolaczyl do Dywizji");
				// To samo co wyzej. Odblokowac wedlug uznania
				
			}
		}
		
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}

Zrobilem by kazdy gracz dostawal doswiadczenie za zabicie wroga + 1xp za kazdy poziom ofiary.

Quote