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

[ROZWIĄZANE] Umiejętności dla Gildii.


  • Zamknięty Temat jest zamknięty
15 odpowiedzi w tym temacie

#1 Pawlik4Ver

    Wszechwidzący

  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:239
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Polska
Offline

Napisano 20.04.2019 17:02

Witam, zrobiłem umiejętności do gili, oraz że tylko Lider może je ulepszyć, problem polega na tym że Umiejętności są dodane tylko że pozostałej liście osób w gildii wyświetla że mają np HP +0, a mi jako Liderowi +40.

 

 

Hmm ktoś ma pomysł jak to naprawić, może pętlą czy coś?


Tworze strony Internetowe/WWW (HTML5/CSS, PHP), oraz robię paczki do cs1.6( pisze pluginy też ) na zamówienie.

SPRZEDAM PACZKĘ BASEBUILDER DNKS, mod doskonalony paczka możliwa do zobaczenia przed zakupem, więcej na priv lub GG: 62653757

Skontaktować możesz się zemną przez GG:62653757


#2 Robiin

    Godlike

  • Support Team

Reputacja: 1 103
Super Hero

  • Postów:2 043
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 20.04.2019 19:16

Pokaż fragment kodu odpowiedzialny za wyświetlanie dodatkowego hp.


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#3 Pawlik4Ver

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:239
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Polska
Offline

Napisano 20.04.2019 19:19

Pokaż fragment kodu odpowiedzialny za wyświetlanie dodatkowego hp.

https://pastebin.com/cuKwDuyv

	
	public client_connect(id)
	
	
	    HP[id]=0
	
	
	 
	
	
	public Um_HP(id){
	
	
	 
	
	
	    new formats[256];
	
	
	    format( formats, charsmax( formats ), "\r[BaseBuilder]\y^nUlepszasz: \rWiecej Zycia na start^n\yKoszt: \w%d^n\yGildia otrzymuje \r+%d\y zycia na start!^n\yPosiadasz \r%d\y Monet z Gildii do wydania na ulepszenie!",get_pcvar_num(potrzebneM1)*(HP[id]+1),HP[id]*5,PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ))
	
	
	    new menu = menu_create( formats, "Um_HP_handle" )
	
	
	   
	
	
	    format(formats,charsmax(formats),"Ulepsz")
	
	
	    menu_additem(menu,formats)
	
	
	    format(formats,charsmax(formats),"Wroc")
	
	
	    menu_additem(menu,formats)
	
	
	   
	
	
	    menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
	
	
	    menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
	
	
	   
	
	
	    menu_display(id, menu,0);
	
	
	    return PLUGIN_HANDLED;
	
	
	}
	
	
	 
	
	
	public Um_HP_handle(id, menu, item){
	
	
	    if(item == MENU_EXIT){
	
	
	        menu_destroy(menu);
	
	
	        return PLUGIN_HANDLED;
	
	
	    }
	
	
	    item++;
	
	
	    switch(item){
	
	
	        case 1:{
	
	
	            if((get_pcvar_num(potrzebneM1)*(HP[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
	
	
	                Um_HP(id);
	
	
	                menu_destroy(menu);
	
	
	                return PLUGIN_HANDLED;
	
	
	            }
	
	
	            UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) -get_pcvar_num(potrzebneM1)*(HP[id]+1))
	
	
	            HP[id]++;
	
	
	            Um_HP(id);
	
	
	            menu_destroy(menu);
	
	
	            return PLUGIN_HANDLED;
	
	
	        }
	
	
	        case 2:{
	
	
	            upDateSkill(id)
	
	
	        }
	
	
	    }
	
	
	    menu_destroy(menu);
	
	
	    return PLUGIN_HANDLED;
	
	
	}
	
	
	 
	
	
	public spawned(id){
	
	
	    if(is_user_alive(id) && cs_get_user_team(id)==CS_TEAM_CT){
	
	
	        set_user_health(id,get_user_health(id)+(HP[id]*5)) 
	
	
	    }
	
	
	}
	


Tworze strony Internetowe/WWW (HTML5/CSS, PHP), oraz robię paczki do cs1.6( pisze pluginy też ) na zamówienie.

SPRZEDAM PACZKĘ BASEBUILDER DNKS, mod doskonalony paczka możliwa do zobaczenia przed zakupem, więcej na priv lub GG: 62653757

Skontaktować możesz się zemną przez GG:62653757


#4 Robiin

    Godlike

  • Support Team

Reputacja: 1 103
Super Hero

  • Postów:2 043
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 20.04.2019 19:32

Gdzie tu jest wyświetlanie hp?


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#5 Pawlik4Ver

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:239
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Polska
Offline

Napisano 20.04.2019 19:37

Gdzie tu jest wyświetlanie hp?

Chodzi o to że nawet nie dodaje tych umiejetnosci, one są ale działają tylko dla Lidera Gildii.

Tutaj masz cały plugin

https://pastebin.com/UsyP7BrP


Tworze strony Internetowe/WWW (HTML5/CSS, PHP), oraz robię paczki do cs1.6( pisze pluginy też ) na zamówienie.

SPRZEDAM PACZKĘ BASEBUILDER DNKS, mod doskonalony paczka możliwa do zobaczenia przed zakupem, więcej na priv lub GG: 62653757

Skontaktować możesz się zemną przez GG:62653757


#6 Robiin

    Godlike

  • Support Team

Reputacja: 1 103
Super Hero

  • Postów:2 043
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 20.04.2019 20:19

format( gForm, sizeof( gForm ), "Czy na pewno chcesz %s?", iLider[ id ] == 1 ? "usunac gildie" : "odejsc z gildii" )

Na pewno osobno.

 

Kod wygląda tragicznie.

 

Nie działa, bo inkrementujesz zmienną HP tylko dla danego id, w tym przypadku lidera, dlatego tylko jemu to działa. Należy zrobić pętlę dla wszystkich graczy na serwerze, sprawdzić czy jego gildia == gildia lidera, po czym inkrementować zmienną HP także im. Dodatkowo trzeba jakoś zająć się graczami, którzy dołączą do gry po zwiększeniu umiejętności.

case 1:
{
	if((get_pcvar_num(potrzebneM1)*(HP[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
		Um_HP(id);
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) - get_pcvar_num(potrzebneM1)*(HP[id]+1))
	HP[id]++;
	handleHealthAbility(id);
	Um_HP(id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
handleHealthAbility(index)
{
	#define ForPlayers(%1) for(new %1 = 1; %1 <= 32; %1++)

	ForPlayers(i)
	{
		if(!is_user_connected(i) || i == index || !equal(szNazwaKlanuGracza[i], szNazwaKlanuGracza[index]))
		{
			continue;
		}

		HP[i]++;
	}
}
public client_connect( id ){
	get_user_name( id, szUserName[ id ], sizeof( szUserName ) )
	copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), "" )
	iLider[ id ] = 0
	HP[id] = 0
	Oslepienie[id] = 0
	ExpGXP[id] = 0
	WczytajDane( id )
	setHealthVariable(id);
}
setHealthVariable(index)
{
	#define ForPlayers(%1) for(new %1 = 1; %1 <= 32; %1++)

	ForPlayers(i)
	{
		if(!is_user_connected(i) || i == index || !equal(szNazwaKlanuGracza[i], szNazwaKlanuGracza[index]) || !HP[i])
		{
			continue;
		}

		HP[index] = HP[i];

		break;
	}
}

Nie testowalem, nie kompilowałem.


  • +
  • -
  • 1

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#7 Pawlik4Ver

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:239
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Polska
Offline

Napisano 20.04.2019 20:31

format( gForm, sizeof( gForm ), "Czy na pewno chcesz %s?", iLider[ id ] == 1 ? "usunac gildie" : "odejsc z gildii" )
Na pewno osobno.
 
Kod wygląda tragicznie.
 
Nie działa, bo inkrementujesz zmienną HP tylko dla danego id, w tym przypadku lidera, dlatego tylko jemu to działa. Należy zrobić pętlę dla wszystkich graczy na serwerze, sprawdzić czy jego gildia == gildia lidera, po czym inkrementować zmienną HP także im. Dodatkowo trzeba jakoś zająć się graczami, którzy dołączą do gry po zwiększeniu umiejętności.
case 1:
{
	if((get_pcvar_num(potrzebneM1)*(HP[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
		Um_HP(id);
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) - get_pcvar_num(potrzebneM1)*(HP[id]+1))
	HP[id]++;
	handleHealthAbility(id);
	Um_HP(id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
handleHealthAbility(index)
{
	#define ForPlayers(%1) for(new %1 = 1; %1 <= 32; %1++)

	ForPlayers(i)
	{
		if(!is_user_connected(i) || i == index || !equal(szNazwaKlanuGracza[i], szNazwaKlanuGracza[index]))
		{
			continue;
		}

		HP[i]++;
	}
}
public client_connect( id ){
	get_user_name( id, szUserName[ id ], sizeof( szUserName ) )
	copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), "" )
	iLider[ id ] = 0
	HP[id] = 0
	Oslepienie[id] = 0
	ExpGXP[id] = 0
	WczytajDane( id )
	setHealthVariable(id);
}
setHealthVariable(index)
{
	#define ForPlayers(%1) for(new %1 = 1; %1 <= 32; %1++)

	ForPlayers(i)
	{
		if(!is_user_connected(i) || i == index || !equal(szNazwaKlanuGracza[i], szNazwaKlanuGracza[index]) || !HP[i])
		{
			continue;
		}

		HP[index] = HP[i];

		break;
	}
}
Nie testowalem, nie kompilowałem.

Przetestuje jutro jak będę w domu i dam znac

Tworze strony Internetowe/WWW (HTML5/CSS, PHP), oraz robię paczki do cs1.6( pisze pluginy też ) na zamówienie.

SPRZEDAM PACZKĘ BASEBUILDER DNKS, mod doskonalony paczka możliwa do zobaczenia przed zakupem, więcej na priv lub GG: 62653757

Skontaktować możesz się zemną przez GG:62653757


#8 Pawlik4Ver

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:239
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Polska
Offline

Napisano 21.04.2019 07:47

Nie działa nadal, jakis inny pomysl 

ciagle pokazuje 0;


Tworze strony Internetowe/WWW (HTML5/CSS, PHP), oraz robię paczki do cs1.6( pisze pluginy też ) na zamówienie.

SPRZEDAM PACZKĘ BASEBUILDER DNKS, mod doskonalony paczka możliwa do zobaczenia przed zakupem, więcej na priv lub GG: 62653757

Skontaktować możesz się zemną przez GG:62653757


#9 Robiin

    Godlike

  • Support Team

Reputacja: 1 103
Super Hero

  • Postów:2 043
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 21.04.2019 19:22

Sprawdź do którego momentu działa mój sposób.


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#10 Marcin2171

    Początkujący

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:17
Offline

Napisano 22.04.2019 11:57

Spróbuj sobie przerobić

Załączone pliki


  • +
  • -
  • 0

#11 Pawlik4Ver

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:239
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Polska
Offline

Napisano 22.04.2019 20:22

Sprawdź do którego momentu działa mój sposób.

Działa, ale jest taki problem, ze ci co mieli wcześniej Gildie to nie mają umiejętnosci, tylko jeśli założę od nowa Gildie, albo dodam umiejętnosci dopiero to wtedy dodaje mi/.

 

Edit: Gdy wyjdę i wejdę na serwer to mam tylko 1 punkt dany w umiejętność a Lider ulepszył 3 razy.


Użytkownik Pawlik4Ver edytował ten post 22.04.2019 20:41

Tworze strony Internetowe/WWW (HTML5/CSS, PHP), oraz robię paczki do cs1.6( pisze pluginy też ) na zamówienie.

SPRZEDAM PACZKĘ BASEBUILDER DNKS, mod doskonalony paczka możliwa do zobaczenia przed zakupem, więcej na priv lub GG: 62653757

Skontaktować możesz się zemną przez GG:62653757


#12 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 23.04.2019 10:57

Skoro pkt. statystyk są zapisywane to ta funkcja jest raczej nie potrzebna.

setHealthVariable(index)
{
	#define ForPlayers(%1) for(new %1 = 1; %1 <= 32; %1++)

	ForPlayers(i)
	{
		if(!is_user_connected(i) || i == index || !equal(szNazwaKlanuGracza[i], szNazwaKlanuGracza[index]) || !HP[i])
		{
			continue;
		}

		HP[index] = HP[i];

		break;
	}
}

Co do tego dodawania pkt. to dlatego że funkcjahandleHealthAbility(index) jest wywoływana przy ulepszeniu. Musiałbyś ją wywoływać np. przy połączeniu z serwerem ale musiałbyś zmienić lekko jej działanie bo aktualnie przy każdym połączeniu gracz by miał dodawane pkt. Musiałbyś zamiast HP[i/id]++; zrobić HP[i/id] = poziom_statystyki. Oczywiście to tylko moje przypuszczenia.


  • +
  • -
  • 0

#13 Robiin

    Godlike

  • Support Team

Reputacja: 1 103
Super Hero

  • Postów:2 043
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 23.04.2019 11:07


nie potrzebna.

 

Niepotrzebna

 

 

Funkcja setHealthVariable wywoływana jest przy połączeniu się gracza do serwera. Celem funkcji jest dziedziczenie wartości zmiennej HP od gracza, który wcześniej wartość zmiennej miał ustawioną na > 0. Dosłownie: przy połączeniu się do serwera, skopiuj wartość gracza, który jest w tym samym klanie (więc ma już zaaplikowaną wartość).

 


Co do tego dodawania pkt. to dlatego że funkcjahandleHealthAbility(index) jest wywoływana przy ulepszeniu. Musiałbyś ją wywoływać np. przy połączeniu z serwerem ale musiałbyś zmienić lekko jej działanie bo aktualnie przy każdym połączeniu gracz by miał dodawane pkt. Musiałbyś zamiast HP[i/id]++; zrobić HP[i/id] = poziom_statystyki.

 

 

Nie, funkcja jest wywoływana w momencie ulepszenia. Ulepszenia następują pojedyńczo, tak więc inkrementuję zmienną HP liderowi, po czym aktualizuję wartość dla reszty podłączonych członków klanu. Reszta graczy, którzy przychodzą na serwer w momencie, w którym nie ma od kogo zaczerpnąć HP (czyli nie ma innego członka klanu) powinny mieć wczytaną wartość HP z nvaulta, do którego dane są zapisane przy zmianie mapy.

 


  • +
  • -
  • 1

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#14 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 23.04.2019 11:50

Wiem co powyższa funkcja robi ale chodziło mi o to że gdy nie ma kogoś innego z klanu to nic nie da. Po prostu nie wpadłem na to że ona aktualizuje zmienną gdy w czasie jego nie obecności umiejętność była ulepszana dlatego też dopisałem "Oczywiście to tylko moje przypuszczenia". Mój błąd  :facepalm: 


  • +
  • -
  • 0

#15 Pawlik4Ver

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 17
Początkujący

  • Postów:239
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Polska
Offline

Napisano 23.04.2019 20:38

Wszystko działa można zamknąć!


Użytkownik Pawlik4Ver edytował ten post 23.04.2019 20:45

Tworze strony Internetowe/WWW (HTML5/CSS, PHP), oraz robię paczki do cs1.6( pisze pluginy też ) na zamówienie.

SPRZEDAM PACZKĘ BASEBUILDER DNKS, mod doskonalony paczka możliwa do zobaczenia przed zakupem, więcej na priv lub GG: 62653757

Skontaktować możesz się zemną przez GG:62653757


#16 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 24.04.2019 00:14

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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