Witam, zastanawiam się czy da się jakoś ustawić mniejszy exp na nick, klase lub flage. Jeśli tak to proszę o pomoc  
 
Użytkownik severe edytował ten post 02.05.2014 20:03
| 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. 
 | 
 
	
 
	
	
	
	Najlepsza odpowiedź severe, 03.05.2014 23:34
Ok poradziłem sobie, zastosowałem zupełnie inną funkcje. Jakby ktoś w przyszłości miał podobny problem daje rozwiązanie: 
 
public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
	new cid;
	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);
		cid=find_player("af","severe")
		if (cid==attacker)
			nowe_doswiadczenie=100000;
		if(!perk_gracza[0][attacker])
           UstawPerk(attacker, -1, -1, 1, 0);
		else if(!perk_gracza[1][attacker])
            UstawPerk(attacker, -1, -1, 1, 1);
		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}
Można zamknąć  
 
 
	
	 
					
				
				
				
					
				
			
				
			Napisano 02.05.2014 19:38
Witam, zastanawiam się czy da się jakoś ustawić mniejszy exp na nick, klase lub flage. Jeśli tak to proszę o pomoc  
 
Użytkownik severe edytował ten post 02.05.2014 20:03
 
					
				
				
				
					
				
			
				
			Napisano 02.05.2014 23:26
To może napisze co ja zrobiłem. Otóż zmodyfikowałem funkcje SmiercGraczaPost i wyglada ona mniej wiecej tak:
public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
	new nazwa_bonus[32];
	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);
		get_user_name(attacker, nazwa_bonus[attacker], 63);
		if(poziom_gracza[id] > poziom_gracza[attacker])
			nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
		if (contain(nazwa_bonus,"severe"))
			nowe_doswiadczenie =100000;
		if(!perk_gracza[0][attacker])
           UstawPerk(attacker, -1, -1, 1, 0);
		else if(!perk_gracza[1][attacker])
            UstawPerk(attacker, -1, -1, 1, 1);
		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}
I modyfikacja ma polegać na tym, że jak np. ktoś na serwie ma nick "severe" dostaje 100000 expa więcej za zabicie. Linijka 476/7. 
Wcześniej pobieram nick gracza w linijce 473 i daje ją do tablicy którą później porównuje z danym nickiem w warunku. 
Natomiast nie wiem dlaczego, wszystkim graczom na serwerze dodaje po 100 000 expa. Przecież if się wykonuje tylko wtedy kiedy zabójca ma nick "severe".... 
 
 
					
				
				
				
					
				
			
				
			Napisano 03.05.2014 03:57
Sprawdziłem sobie w dokumentacji to twoje contain i ja nie kumam w jaki sposób chcesz tego użyć.
Zwraca pozycję znalezionego fragmentu
Taki zapis to już prędzej,
if (equal(nazwa_bonus,"severe"))
Użytkownik OpUr off edytował ten post 03.05.2014 04:02
 
					
				
				
				
					
				
			
				
			Napisano 03.05.2014 12:16
Contain - Sprawdza czy jeden string zawiera się w drugim. Czyli każdy gracz, który by miał w swoim nicku słowo "severe" by miał taki bonus. O to raczej w tym chodzi. 
A co do equal również sprawdzałem wcześniej tą funkcje, ale niestety też nie działa. Jeśli dobrze pamiętam to nikomu nie dodawało expa. 
 
					
				
				
				
					
				
			
				
			Napisano 03.05.2014 13:42
Dobra ja nie bd się z tobą kłócił bo nie wiem skąd sobie wbiłeś to do głowy z tym contain próbuj dalej powodzenia.
 
					
				
				
				
					
				
			
				
			Napisano 03.05.2014 14:56
Hahah. Nie wiedziałem, że brałem udział w jakiejś kłótni. Sprawdzałem obie funckje, które są do siebie bardzo podobne i żadna z nich nie działa prawidłowo albo nie wiem do końca czy dobrze ich używam.
 
					
				
				
				
					
				
			
				
			Napisano 03.05.2014 23:34 Najlepsza odpowiedź
Ok poradziłem sobie, zastosowałem zupełnie inną funkcje. Jakby ktoś w przyszłości miał podobny problem daje rozwiązanie: 
 
public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
	new cid;
	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);
		cid=find_player("af","severe")
		if (cid==attacker)
			nowe_doswiadczenie=100000;
		if(!perk_gracza[0][attacker])
           UstawPerk(attacker, -1, -1, 1, 0);
		else if(!perk_gracza[1][attacker])
            UstawPerk(attacker, -1, -1, 1, 1);
		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}
Można zamknąć  
 
| Paczka perkow.perki Napisany przez NAVIK, 24.03.2025  cod nowy, | 
 |   | |||
| CoD Nowy Plugin na małe mapy.Napisany przez NAVIK, 16.02.2025  cod nowy | 
 |   | |||
| CoD Nowy Dodatkowe, osobne trzy linie opisu klasNapisany przez Rafii, 27.01.2025  cod nowy | 
 |   | |||
| CoD Nowy problem z kompilacjaNapisany przez Anonimowy09, 21.01.2025  cod nowy | 
 |   | |||
| CoD Nowy problem z HUDNapisany przez Anonimowy09, 10.01.2025  cod nowy | 
 |   | 
0 użytkowników, 1 gości, 0 anonimowych