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
 

pitero1997 - zdjęcie

pitero1997

Rejestracja: 10.02.2013
Aktualnie: Nieaktywny
Poza forum Ostatnio: 19.01.2014 23:11
-----

#380430 Wiekszy lvl = więcej expa

Napisane przez Enson w 14.03.2012 00:45

nad plugin init dodajesz:
new  cvar_doswiadczenie_za_fraga1,
cvar_doswiadczenie_za_fraga2,
cvar_doswiadczenie_za_fraga3,
cvar_doswiadczenie_za_fraga4,
cvar_doswiadczenie_za_fraga5;
new cvar_przedzialn1,
cvar_przedzialn2,
cvar_przedzialn3,
cvar_przedzialn4,
cvar_przedzialn5;
new cvar_przedzialx1,
cvar_przedzialx2,
cvar_przedzialx3,
cvar_przedzialx4,
cvar_przedzialx5;


do plugin_init:
 cvar_doswiadczenie_za_fraga1 = register_cvar("cod_killxp1", "10");//ile expa w pirewszym przedziale
cvar_doswiadczenie_za_fraga2 = register_cvar("cod_killxp2", "20");//ile expa w drugim przedziale
cvar_doswiadczenie_za_fraga3 = register_cvar("cod_killxp3", "30");//ile expa w trzecim przedziale
cvar_doswiadczenie_za_fraga4 = register_cvar("cod_killxp4", "40");//ile expa w czwartym przedziale
cvar_doswiadczenie_za_fraga5 = register_cvar("cod_killxp5", "50");//ile expa w piatym przedziale

cvar_przedzialn1 = register_cvar("cod_przedzialn1", "0");//pierwszy przedzial minimum
cvar_przedzialn2 = register_cvar("cod_przedzialn1", "10");//drugi przedzial minimum
cvar_przedzialn3 = register_cvar("cod_przedzialn1", "20");//trzeci przedzial minimum
cvar_przedzialn4 = register_cvar("cod_przedzialn1", "30");//czwarty przedzial minimum
cvar_przedzialn5 = register_cvar("cod_przedzialn1", "40");//piaty przedzial minimum

cvar_przedzialx1 = register_cvar("cod_przedzialx1", "10");//pierwszy przedzial maximum
cvar_przedzialx2 = register_cvar("cod_przedzialx2", "20");//drugi przedzial maximum
cvar_przedzialx3 = register_cvar("cod_przedzialx3", "30");//trzeci przedzial maximum
cvar_przedzialx4 = register_cvar("cod_przedzialx4", "40");//czwarty przedzial maximum
cvar_przedzialx5 = register_cvar("cod_przedzialx5", "50");//piaty przedzial maximum


Nastepnie szukasz public SmiercGraczaPost i w zamian zawartosci tej funkcji dajesz to:
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_fraga1 = get_pcvar_num(cvar_doswiadczenie_za_fraga1);
new doswiadczenie_za_fraga2 = get_pcvar_num(cvar_doswiadczenie_za_fraga2);
new doswiadczenie_za_fraga3 = get_pcvar_num(cvar_doswiadczenie_za_fraga3);
new doswiadczenie_za_fraga4 = get_pcvar_num(cvar_doswiadczenie_za_fraga4);
new doswiadczenie_za_fraga5 = get_pcvar_num(cvar_doswiadczenie_za_fraga5);

new nowe_doswiadczenie1 = get_pcvar_num(cvar_doswiadczenie_za_fraga1);
new nowe_doswiadczenie2 = get_pcvar_num(cvar_doswiadczenie_za_fraga2);
new nowe_doswiadczenie3 = get_pcvar_num(cvar_doswiadczenie_za_fraga3);
new nowe_doswiadczenie4 = get_pcvar_num(cvar_doswiadczenie_za_fraga4);
new nowe_doswiadczenie5 = get_pcvar_num(cvar_doswiadczenie_za_fraga5);

new p_max1 = get_pcvar_num(cvar_przedzialx1);
new p_max2 = get_pcvar_num(cvar_przedzialx2);
new p_max3 = get_pcvar_num(cvar_przedzialx3);
new p_max4 = get_pcvar_num(cvar_przedzialx4);
new p_max5 = get_pcvar_num(cvar_przedzialx5);

new p_min1 = get_pcvar_num(cvar_przedzialn1);
new p_min2 = get_pcvar_num(cvar_przedzialn2);
new p_min3 = get_pcvar_num(cvar_przedzialn3);
new p_min4 = get_pcvar_num(cvar_przedzialn4);
new p_min5 = get_pcvar_num(cvar_przedzialn5);

if (poziom_gracza[attacker] >= p_min1 && poziom_gracza[attacker] < p_max1)
{
if (poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie1 += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_fraga1/10);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie1;

}

if (poziom_gracza[attacker] >= p_min2 && poziom_gracza[attacker] <p_max2)
{
if (poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie2 += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_fraga2/10);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie2;
}

if (poziom_gracza[attacker] >= p_min3 && poziom_gracza[attacker] < p_max3)
{
if (poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie3 += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_fraga3/10);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie3;

}

if (poziom_gracza[attacker] >= p_min4 && poziom_gracza[attacker] < p_max4)
{
if (poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie4 += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_fraga4/10);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie4;
}

if (poziom_gracza[attacker] >= p_min5 && poziom_gracza[attacker] <= p_max5)
{
if (poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie5 += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_fraga5/10);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie5;
}

if(!perk_gracza[attacker])
UstawPerk(attacker, -1, -1, 1);
}

SprawdzPoziom(attacker);

return HAM_IGNORED;
}


wedlug tych ustawionych cvarow aktualnie ustawione jest:
0-9lvl = x10 exp
10-19lvl = x20 exp
20-29lvl = x30 exp
30-39lvl = x40 exp
40-49lvl = x50 exp

Cala ta funkcja byla przeze mnie testowana i w 100% dziala.

Nowsza wersje lepiej optymalna opublikuje jak skoncze robic i testowac.

Ustaw sobie wedlug swoich upodoban

Mysle ze sie przyda to wielu osobom ;P bo sporo pytalo juz o cos takiego ^^
  • +
  • -
  • 2


#589885 Exp za zabicie

Napisane przez Dziobak? w 30.11.2013 23:54

To chyba powinno ci pomóc :)

 

http://amxx.pl/topic...wiekszego-lvla/

http://amxx.pl/topic...vl-wiecej-expa/


  • +
  • -
  • 1


#589884 Exp za zabicie

Napisane przez mastah7991 w 30.11.2013 23:54

jaki mod ?

jak bez to zrob tak jak w cod modzie

pobierasz lvl twoj i tego w kogo strzelasz
jesli jego lvl jest wiekszy to
odejmujesz od jrgo lvl twoj i mnozysz lub nie przez jakis mnaznik
dodajesz to do aktualnego expa ktory masz
ustawiasz jako nowy ta sume

to tyle
  • +
  • -
  • 1


#343607 [ROZWIĄZANE] EXP za zabicie większego lvl'a

Napisane przez HaDeS From HELL w 01.01.2012 22:46

ehhhhh Up :mur: :facepalm:

@Topic

Znajdź public SmiercGraczaPost(id, attacker, shouldgib)

i tam masz takie coś :
new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
i
if(poziom_gracza[id] > poziom_gracza[attacker])
		   nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);

usuń to i skompiluj

czyli jak masz podstawowy silnik coda ten public powinien wyglądać tak:
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 nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
			
		if(!perk_gracza[attacker])
			UstawPerk(attacker, -1, -1, 1);
		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}


powinno działać
  • +
  • -
  • 5


#526133 [ROZWIĄZANE] Prośba o klase "master"

Napisane przez иєxт w 19.03.2013 13:06

Łap
Dodatkowe 5dmg, + 2int = 1dmg

Załączone pliki


  • +
  • -
  • 1