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

Top15


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

#1 Black004

    Wszechpomocny

  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 04.07.2019 22:25

Witam, ma ktoś może kod do Top15 graczy ze zgonami i zabójstwami? Chodzi mi o zwykły kod bez zadnych dodatków, cvarów itd. Najlepiej chce żeby był zapis nvault. W tym domyślnym Top15 z cs, jest dla mnie zbyt skomplikowany kod :/


  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.07.2019 07:09

A co chcesz osiągnąć? Statsx jest fajnie napisane. Małym nakładem pracy można uzyskać jakieś efekty.

Dodam też że plugin "csstats" odpowiada za kalkulacje pozycji w rankingu, więc jak chcesz kille i deady, to trzeba też tam grzebnąć
  • +
  • -
  • 0

#3 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 05.07.2019 08:35

A co chcesz osiągnąć? Statsx jest fajnie napisane. Małym nakładem pracy można uzyskać jakieś efekty.

Dodam też że plugin "csstats" odpowiada za kalkulacje pozycji w rankingu, więc jak chcesz kille i deady, to trzeba też tam grzebnąć

 

Ja chce zobaczyć jak się takie top15 robi i zrobić top15 z licznikiem na moim serwerze rozdanych życzen przez CT na Jailbreak'u. A te w statsx jest dość skomplikowanie dla mnie napisane.

 

Widziałem jak top15 jest napisane w pluginie od gangów, ale autor w tym pluginie użył #include < sqlvault_ex >, a to jest dość dziwny zapis. A zwykły nvault najbardziej potrafię.


Użytkownik Black004 edytował ten post 05.07.2019 08:38

  • +
  • -
  • 0

#4 wonsz żeczny

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:254
  • Imię:Wonsz
  • Lokalizacja:Żeka
Offline

Napisano 05.07.2019 09:44

https://amxx.pl/topi...kszym-poziomie/

 

Możesz wzorować się na tym pluginie, fajnie jest tam to zrobione.


  • +
  • -
  • 1

#5 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 05.07.2019 10:09

https://amxx.pl/topi...kszym-poziomie/

 

Możesz wzorować się na tym pluginie, fajnie jest tam to zrobione.

 

Kurde tylko to właśnie jest pod nvault_util, a ja chciałbym zwykły nvault :/


  • +
  • -
  • 0

#6 wonsz żeczny

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:254
  • Imię:Wonsz
  • Lokalizacja:Żeka
Offline

Napisano 05.07.2019 14:36

A co za różnica która biblioteka została użyta?

Tam jest tylko odczyt danych z pliku.

Zapis zgonów i zabójstw zrób w oddzielnym pluginie z zapisem ze "zwykłego" nvault.


  • +
  • -
  • 0

#7 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 05.07.2019 16:10

A co za różnica która biblioteka została użyta?

Tam jest tylko odczyt danych z pliku.

Zapis zgonów i zabójstw zrób w oddzielnym pluginie z zapisem ze "zwykłego" nvault.

 

Bardziej chodzi mi o to że, jest np taki kod:

		pos = nvault_util_read(vault, pos, key, 63, data, 31, timestamp)

Jak ja mam to na nvault dać przez nvault_get ?


  • +
  • -
  • 0

#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 05.07.2019 18:31

Jak ja mam to na nvault dać przez nvault_get ?

a jaśniej ?

 

albo inaczej , dlaczego chcesz to zmieniać ?


  • +
  • -
  • 0

#9 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.07.2019 21:00

nvault_get umożliwia Ci pobieranie danych jak masz klucz. Jak chcesz pobrać dane wszystkich graczy nie mając ich kluczy? 

Do tego jest nvault_util_read, którym możesz przeiterować po kolejnych wpisach w nvault. 


  • +
  • -
  • 0

#10 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 05.07.2019 22:14

To ja już sam nie wiem jak to ma wyglądać mam zapis nvault:

public zaladuj_zyczbunt(id)
{
	new name[48]
	get_user_name(id,name,47)
	new vaultkey[64],vaultdata[128]
	formatex(vaultkey,63,"%s-zyczbunt",name)
	
	if(nvault_get(zyczbunt,vaultkey,vaultdata,127)) {
		new zyczenia[16];
		parse(vaultdata, zyczenia, 15)
		
		ilosc_zyczen[id]=str_to_num(zyczenia)
	}
	
	return PLUGIN_CONTINUE
}  

public zapisz_zyczbunt(id) {	
	new name[48]
	get_user_name(id,name,47)
	new vaultkey[64],vaultdata[128]
	formatex(vaultkey,63,"%s-zyczbunt",name)
	formatex(vaultdata,127,"%d", ilosc_zyczen[id])
	nvault_set(zyczbunt,vaultkey,vaultdata)
	
	return PLUGIN_CONTINUE
}

W tym zapisie jest zapisywane ile gracz dał życzeń i jak ja mam zrobic żeby była topka właśnie z graczami którzy dali najwięcej życzeń ? 


  • +
  • -
  • 0

#11 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.07.2019 22:28

Identycznie jak w pluginie cod_top15!

Nawet prościej bo masz tylko jedną daną w pliku zapisaną (ilość życzeń).

 

Otwierasz plik, czytasz cały plik nvault za pomocą nvault_util_read, konwertujesz to co wczytasz na liczbe, no i w trakcie wczytywania musisz wybrać 15 największych (wszystko masz gotowe).

 

De facto sprowadza sie to do prostej edycji kodu z topki i wyświetlenie motd ze swoim formatowaniem.

 

Opis poszczególnych funkcji do nvault_util masz tu: https://forums.allie...ad.php?t=139584

 

 

I jeszcze:

	new name[33]
	get_user_name(id,name,32)

wystarczą takie rozmiary na  nick ;)


Użytkownik TibacK edytował ten post 05.07.2019 22:30

  • +
  • -
  • 0

#12 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 05.07.2019 22:46

Identycznie jak w pluginie cod_top15!

Nawet prościej bo masz tylko jedną daną w pliku zapisaną (ilość życzeń).

 

Otwierasz plik, czytasz cały plik nvault za pomocą nvault_util_read, konwertujesz to co wczytasz na liczbe, no i w trakcie wczytywania musisz wybrać 15 największych (wszystko masz gotowe).

 

De facto sprowadza sie to do prostej edycji kodu z topki i wyświetlenie motd ze swoim formatowaniem.

 

Opis poszczególnych funkcji do nvault_util masz tu: https://forums.allie...ad.php?t=139584

 

 

I jeszcze:

	new name[33]
	get_user_name(id,name,32)

wystarczą takie rozmiary na  nick ;)

 

 

Nadal, nie wiem jak to miałoby wyglądać to np:

	new dane[6][32], name[64], class[64], trash[16], poziom, doswiadczenie, temp = get_cvar_num("cod_savetype");
	format(trash, 15, "-%i-cod", temp);

Mam usunąc po prostu ten temp? Chyba raczej nie bo wtedy muszę trash, class itd bo to się wszystko łączy ze sobą. Jak mam to zrobić?


  • +
  • -
  • 0

#13 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.07.2019 23:10

trash jest tam, bo standardowo cod mod zapisuje tam 'savetype' czyli na co jest zapis. trash potem jest uzyty do po prostu wyszukania tej frazy w stringu i jej usuniecia bo jest zbedna. U Ciebie to będzie "-zyczbunt". Bo będziesz chciał ze stringa przechowującego klucz wyciągnąc nick, a to bedzie w takiej formie "Rivit-zyczbunt", no to albo robisz split z separatorem '-' (tak jak w topce jest) albo robisz replace(key, "-zyczbunt"), co osobisnie bardziej polecam (choć obie metody mają wade (pierwsza opcja - gracz z pauzą w nicku lub druga - gracz z nickiem zawierajacym  "-zyczbunt" moze jakis błąd powodować, ale to wiesz...)

 

Popatrz sobie na zapis/wczytywanie w cod mod to Ci sie wyjasni dlaczego tam ten trash jest.

 

a co do samego data - masz jak na tacy, wystarczy przekonwertowac na int (str_to_num) i juz jest, nie trzeba tam robic żadnych parse, replace_all


  • +
  • -
  • 0




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

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