Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Blokowanie wyświetlanie informacji, w momencie pojawienia się drugiej


Najlepsza odpowiedź FejmZPolski , 01.03.2015 12:26

Mysle, ze chcesz zablokowac wiadomosc na 5 sekund, bo tyle trwa czas pokazywania wiadomosci o awansie, mozesz to zrobic za pomocą pobrania czasu, dla danego gracza a potem sprawdzenia, proszę:

ew awansowal[33]
public client_connect(id) {
    awansowal[id] = 0
public SmiercGraczaPost(id, attacker, shouldgib)
{    
    if(!is_user_connected(attacker))
        return PLUGIN_CONTINUE;
    
    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 + madrosc_gracza[id]*2;
        
        new cod_hs = get_pcvar_num(cod_cvar);
        if(get_gametime() >= float(awansowal[attacker]+5)) {
            if(get_pdata_int(id, 75, 5) == HIT_HEAD)
            {
                cod_set_user_xp(attacker, cod_get_user_xp(attacker) + cod_hs);
                set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
                show_dhudmessage(attacker, "HEADSHOT + %i XP", cod_hs);
            }
            else
            {
                set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
                
                show_dhudmessage(attacker, "+ %i XP", nowe_doswiadczenie);
            }
        }
    }
    
    
    SprawdzPoziom(attacker);
    
    return PLUGIN_CONTINUE;
}
public SprawdzPoziom(id)
{    
    if(!is_user_connected(id))
        return;
    
    new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
    
    new bool:zdobyl_poziom = false, bool:stracil_poziom = false;
    
    while(doswiadczenie_gracza[id] >= PobierzDoswiadczeniePoziomu(poziom_gracza[id]) && poziom_gracza[id] < limit_poziomu)
    {
        poziom_gracza[id]++;
        punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
        zdobyl_poziom = true;
    }
    
    while(doswiadczenie_gracza[id] < PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1))
    {
        poziom_gracza[id]--;
        stracil_poziom = true;
    }
    
    if(poziom_gracza[id] > limit_poziomu)
    {
        poziom_gracza[id] = limit_poziomu;
        ResetujPunkty(id);
    }
    
    if(stracil_poziom)
    {
        ResetujPunkty(id);
        set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
        show_dhudmessage(id,"Spadles do %i poziomu!", poziom_gracza[id]);
    }
    else if(zdobyl_poziom)
    {
        punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
        set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
        show_dhudmessage(id,"Awansowales do %i poziomu!", poziom_gracza[id]);
        client_cmd(id, "spk QTM_CodMod/levelup");
        awansowal[id] = floatround(get_gametime())
    }
    
    
    ZapiszDane(id);
}

Od razu mowie, ze nie mam calego kodu, tak wiec nawet nie moglem skompilowac,   i zobaczyzc czy dziala ;P

Przejdź do postu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
59 odpowiedzi w tym temacie

#1 GoldenKill

    Guru

  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 09.02.2015 21:28

Witam

 

Chciałbym zablokować informacje o zdobyciu danej ilości XP, wtedy gdy wyświetli się awans do następnego lvl.

 

 

 

Informacja która ma być zablokowana 

		if(get_pdata_int(id, 75, 5) == HIT_HEAD)
		{
			cod_set_user_xp(attacker, cod_get_user_xp(attacker) + cod_hs);
			set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
			show_dhudmessage(attacker, "HEADSHOT + %i XP", cod_hs);
		}
		else
		{
			set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
			
			show_dhudmessage(attacker, "+ %i XP", nowe_doswiadczenie);
		}

W momencie wyświetlenia tego

	else if(zdobyl_poziom)
	{
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
		set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
		show_dhudmessage(id,"Awansowales do %i poziomu!", poziom_gracza[id]);
		client_cmd(id, "spk QTM_CodMod/levelup");
	}

Daje +++

 


  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 09.02.2015 21:49

To może najpierw dodaj exp, potem sprawdź poziom, tam zwracaj jakąś wartość i pod kodem na dodawanie expa wyświetl ile expa się dostało. oczywiście przed wyświetleniem sprawdz czy sprawdzpozion nie zwróciło wartości która odpowiada za awans
  • +
  • -
  • 1

#3 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 11:42

Za bardzo nic nie zrozumiałem :(


  • +
  • -
  • 0

#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 12:10

Daj SprawdzPoziom() to może pomogę...


  • +
  • -
  • 1

#5 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 12:15

	else if(zdobyl_poziom)
	{
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
		set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
		show_dhudmessage(id,"Awansowales do %i poziomu!", poziom_gracza[id]);
		client_cmd(id, "spk QTM_CodMod/levelup");

                return 69;
	}
cod_set_user_xp(attacker, cod_get_user_xp(attacker) + cod_hs);
new sprawdz = SprawdzPoziom(attacker);

if(sprawdz != 69)
{
   if(get_pdata_int(id, 75, 5) == HIT_HEAD)
   {
	   set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
	   show_dhudmessage(attacker, "HEADSHOT + %i XP", cod_hs);
   }
   else
   {
	   set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
			
	   show_dhudmessage(attacker, "+ %i XP", nowe_doswiadczenie);
   }
}

Sprawdz to... Może styknie, ale to taki prototyp.


  • +
  • -
  • 1

#6 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 15:24

Trzymaj całe 2 publiki xD

public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return PLUGIN_CONTINUE;
	
	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 + madrosc_gracza[id]*2;
		
		new cod_hs = get_pcvar_num(cod_cvar);
		
		if(get_pdata_int(id, 75, 5) == HIT_HEAD)
		{
			cod_set_user_xp(attacker, cod_get_user_xp(attacker) + cod_hs);
			set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
			show_dhudmessage(attacker, "HEADSHOT + %i XP", cod_hs);
		}
		else
		{
			set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
			
			show_dhudmessage(attacker, "+ %i XP", nowe_doswiadczenie);
		}
	}
	SprawdzPoziom(attacker);
	
	return PLUGIN_CONTINUE;
}
public SprawdzPoziom(id)
{	
	if(!is_user_connected(id))
		return;
	
	new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
	
	new bool:zdobyl_poziom = false, bool:stracil_poziom = false;
	
	while(doswiadczenie_gracza[id] >= PobierzDoswiadczeniePoziomu(poziom_gracza[id]) && poziom_gracza[id] < limit_poziomu)
	{
		poziom_gracza[id]++;
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
		zdobyl_poziom = true;
	}
	
	while(doswiadczenie_gracza[id] < PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1))
	{
		poziom_gracza[id]--;
		stracil_poziom = true;
	}
	
	if(poziom_gracza[id] > limit_poziomu)
	{
		poziom_gracza[id] = limit_poziomu;
		ResetujPunkty(id);
	}
	
	if(stracil_poziom)
	{
		ResetujPunkty(id);
		set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
		show_dhudmessage(id,"Spadles do %i poziomu!", poziom_gracza[id]);
	}
	else if(zdobyl_poziom)
	{
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
		set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
		show_dhudmessage(id,"Awansowales do %i poziomu!", poziom_gracza[id]);
		client_cmd(id, "spk QTM_CodMod/levelup");
	}
	
	
	ZapiszDane(id);
}

  • +
  • -
  • 0

#7 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 15:30

Podmień sobie ten kod co podałem z tym co dałeś w pierwsZym poście.

Teraz jestem ba tel, więc nie wykonam :/
  • +
  • -
  • 1

#8 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 15:40

No ja wiem, zaraz to zrobię, tylko już tak podałem na wszelki wypadek xD


  • +
  • -
  • 0

#9 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 16:15

QTM_CodMod.sma(1080) : warning 209: function "SprawdzPoziom" should return a value
QTM_CodMod.sma(1118) : error 078: function uses both "return" and "return <value>"
QTM_CodMod.sma(1123) : warning 209: function "SprawdzPoziom" should return a value


  • +
  • -
  • 0

#10 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 16:15

QTM_CodMod.sma(1080) : warning 209: function "SprawdzPoziom" should return a value
QTM_CodMod.sma(1118) : error 078: function uses both "return" and "return <value>"
QTM_CodMod.sma(1123) : warning 209: function "SprawdzPoziom" should return a value

 

 

Niech to moderator połączy z powyższym postem


  • +
  • -
  • 0

#11 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 16:18

No bo są różne wartości zwracane.

W sprawdzpoziom znajdz pierwszy return i daj tam PLUGIN_CONTINUE i na koniec funkcji sprawdzpoziom to samo
  • +
  • -
  • 1

#12 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 16:40

Teraz nic się nie wyświetla


  • +
  • -
  • 0

#13 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 16:46

public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return PLUGIN_CONTINUE;
	
	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 + madrosc_gracza[id]*2;
		
		new cod_hs = get_pcvar_num(cod_cvar);
		
		if(get_pdata_int(id, 75, 5) == HIT_HEAD)
		{
			cod_set_user_xp(attacker, cod_get_user_xp(attacker) + cod_hs);
			if(SprawdzPoziom(attacker) != 69)
			{
                        set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
                        show_dhudmessage(attacker, "HEADSHOT + %i XP", cod_hs);
			}
		}
		else
		{
                  if(SprawdzPoziom(attacker) != 69)
			{
                        set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
                        
                        show_dhudmessage(attacker, "+ %i XP", nowe_doswiadczenie);
			}
		}
	}
	
	
	return PLUGIN_CONTINUE;
}

public SprawdzPoziom(id)
{	
	if(!is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
	
	new bool:zdobyl_poziom = false, bool:stracil_poziom = false;
	
	while(doswiadczenie_gracza[id] >= PobierzDoswiadczeniePoziomu(poziom_gracza[id]) && poziom_gracza[id] < limit_poziomu)
	{
		poziom_gracza[id]++;
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
		zdobyl_poziom = true;
	}
	
	while(doswiadczenie_gracza[id] < PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1))
	{
		poziom_gracza[id]--;
		stracil_poziom = true;
	}
	
	if(poziom_gracza[id] > limit_poziomu)
	{
		poziom_gracza[id] = limit_poziomu;
		ResetujPunkty(id);
	}
	
	if(stracil_poziom)
	{
		ResetujPunkty(id);
		set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
		show_dhudmessage(id,"Spadles do %i poziomu!", poziom_gracza[id]);
	}
	else if(zdobyl_poziom)
	{
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
		set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
		show_dhudmessage(id,"Awansowales do %i poziomu!", poziom_gracza[id]);
		client_cmd(id, "spk QTM_CodMod/levelup");
		ZapiszDane(id);
		return 69;
	}
	
	
	ZapiszDane(id);
	
	return PLUGIN_CONTINUE
}

Nie wiem czy dobrze kminię, hm, ale może, może. Sprawdz i opisz dokładnie co nie działa w tym co teraz dałem


  • +
  • -
  • 1

#14 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 16:53

Lecę sprawdzić


  • +
  • -
  • 0

#15 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 17:08

Wyświetla się tylko informacje o ilości danego XP po zabiciu, a chodzi mi o to, aby w momencie wbicia lvl wyświetlała się informacja "Awansowales do %i poziomu!", a nie o ilości zdobytego XP za zabicie, tamte mają się wyświetlać ciągle, tylko nie wtedy gdy ktoś wbił lvl, aby nie przeszkadzało informacji o Awansie 


  • +
  • -
  • 0

#16 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 19:09

Nie mam pojęcia...

 

Próbujemy metody "na lampkę" (system logów)

 

Wgraj ten kod:

Spoiler

 

Zmien mape, zrob awans i daj mi ten plik: addons/amxmodx/awans.txt

 

 

 

Sam nie wiem czemu to nie działa.


  • +
  • -
  • 1

#17 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 19:23

Teraz przy wbiciu lvl zostają wyświetlone 2 wiadomości. Ta ze zdobyciem XP i awansem

 

 

Oto logi

L 02/10/2015 - 19:19:08: Log file started (file "cstrike/addons/amxmodx/awans.txt") (game "cstrike") (amx "1.8.1.3746")
L 02/10/2015 - 19:19:08: awansuje
L 02/10/2015 - 19:19:08: 0
L 02/10/2015 - 19:19:08: wyswietlam tekst
L 02/10/2015 - 19:19:08: awansuje
L 02/10/2015 - 19:19:32: awansuje
L 02/10/2015 - 19:19:32: 0
L 02/10/2015 - 19:19:32: wyswietlam tekst
L 02/10/2015 - 19:19:32: awansuje
L 02/10/2015 - 19:19:56: 0
L 02/10/2015 - 19:20:21: awansuje
L 02/10/2015 - 19:20:21: 69
L 02/10/2015 - 19:20:46: 0
L 02/10/2015 - 19:20:46: awansuje
L 02/10/2015 - 19:21:01: 0
L 02/10/2015 - 19:21:01: wyswietlam tekst
L 02/10/2015 - 19:21:01: awansuje
L 02/10/2015 - 19:22:48: 0

  • +
  • -
  • 0

#18 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 19:38

Spoiler

 

 

Usun stare logi i daj nowe.

 

 

 

Czemu to nie zwraca 69 to nie wiem :/


  • +
  • -
  • 1

#19 GoldenKill

    Guru

  • Autor tematu
  • Power User

Reputacja: 507
Wszechwiedzący

  • Postów:792
  • Steam:steam
  • Imię:Damian
  • Lokalizacja:Trzebnica
Offline

Napisano 10.02.2015 20:38

Teraz raz wyświetliło napis Awansowałeś, potem już nie wyświetlało i również nie wyświetla wiadomość o ilości XP

 

Logi

L 02/10/2015 - 20:36:21: Log file started (file "cstrike/addons/amxmodx/awans.txt") (game "cstrike") (amx "1.8.1.3746")
L 02/10/2015 - 20:36:21: awansuje
L 02/10/2015 - 20:36:45: awansuje
L 02/10/2015 - 20:37:02: awansuje
L 02/10/2015 - 20:37:20: awansuje 

  • +
  • -
  • 0

#20 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 10.02.2015 20:46

public SmiercGraczaPost(id, attacker, shouldgib)
{    
    if(!is_user_connected(attacker))
        return PLUGIN_CONTINUE;
    
    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 + madrosc_gracza[id]*2;
        
        new cod_hs = get_pcvar_num(cod_cvar);
        
        if(get_pdata_int(id, 75, 5) == HIT_HEAD)
        {
            cod_set_user_xp(attacker, cod_get_user_xp(attacker) + cod_hs);
            if(SprawdzPoziom(attacker))
            {
set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);
show_dhudmessage(attacker, "HEADSHOT + %i XP", cod_hs);
            }
        }
        else
        {

if(SprawdzPoziom(attacker))
            {
set_dhudmessage(255, 212, 0, 0.50, 0.33, 1, 3.0, 1.0, 0.0, 0.0);

show_dhudmessage(attacker, "+ %i XP", nowe_doswiadczenie);
            }
        }
    }
    
    
    return PLUGIN_CONTINUE;
}

public SprawdzPoziom(id)
{	
	if(!is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
	
	new bool:zdobyl_poziom = false, bool:stracil_poziom = false;
	
	while(doswiadczenie_gracza[id] >= PobierzDoswiadczeniePoziomu(poziom_gracza[id]) && poziom_gracza[id] < limit_poziomu)
	{
		poziom_gracza[id]++;
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
		zdobyl_poziom = true;
	}
	
	while(doswiadczenie_gracza[id] < PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1))
	{
		poziom_gracza[id]--;
		stracil_poziom = true;
	}
	
	if(poziom_gracza[id] > limit_poziomu)
	{
		poziom_gracza[id] = limit_poziomu;
		ResetujPunkty(id);
	}
	
	if(stracil_poziom)
	{
		ResetujPunkty(id);
		set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
		show_dhudmessage(id,"Spadles do %i poziomu!", poziom_gracza[id]);
	}
	else if(zdobyl_poziom)
	{
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-madrosc_gracza[id];
		set_dhudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0, 0.0, 0.0);
		show_dhudmessage(id,"Awansowales do %i poziomu!", poziom_gracza[id]);
		client_cmd(id, "spk QTM_CodMod/levelup");
		ZapiszDane(id);
		return 0;
	}
	
	
	ZapiszDane(id);
	
	return PLUGIN_HANDLED
}

Sprawdz. Powinno być.

 

 

PS. Nie ma logów już.

 

 


  • +
  • -
  • 1




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych