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

Zapis nVault w prezentach.


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

#1 WeBsteR

    Wszechwidzący

  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 23.11.2014 19:38

Witajcie

Mógłby ktoś zrobić zapis nVault tego pluginu:  http://amxx.pl/topic...ające-prezenty/

Chodzi mi o to, żeby potem ten zapis wykorzystać do różnych innych opcji np. zrobić ranking ludzi, którzy najwięcej znaleźli tych prezentów.

Chętnie sam bym zrobił taki zapis, tylko jeszcze nie bardzo ogarniam nVault.

Tutaj kilka opcji.

Dostępne funkcje:

Spoiler

Tutaj bardziej czytelniejszy kod na wklejce:  http://amxx.pl/pastebin/7wggdd9y03sa/

 

Przykład pluginu:

 

Spoiler

Tutaj bardziej czytelniejszy kod na wklejce:  http://amxx.pl/pastebin/1wojnox9b0dcv/

 

Jak dodać zapis nVault do tego przykładowego pluginu który podałem?

 

Mam nadzieje, że ktoś pomoże, ponieważ mam wiele pomysłów co do tego pluginu na zbliżające się święta, lecz bez tego zapisu nic nie uda mi się zrobić :(

 

 


Użytkownik WeBsteR edytował ten post 23.11.2014 19:42

  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#2 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 25.11.2014 17:12

nVault jest mocno ubogi, potrafi przechowywać dane tylko w postaci klucz = wartość, co średnio nadaje się do tworzenia rankingów jakichkolwiek. Jak chcesz jeszcze w tym samym pliku nvault przechowywać prezenty i ten ranking, to życzę szczęścia :) są do tego lepsze metody, jak choćby SQL.
  • +
  • -
  • 2

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#3 WeBsteR

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 25.11.2014 17:27

A potrafiłby ktoś zrobić zapis SQL tych prezentów? i potem zrobić jeszcze /top15 tych prezentów np. Miejsce | Nick | Liczba prezentów.

 

Chyba, że nikomu się to nie chce to szkoda i rozumiem :(


Użytkownik WeBsteR edytował ten post 25.11.2014 17:28

  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 25.11.2014 18:56

Zrobić to raczej nie zrobię, ale możemy to razem mocno kopnąć do przodu. Z taką pomocą powinieneś sobie poradzić :)

 

Po 1. zastanów się czy chcesz przechowywać 1 rekord dla każdego gracza (z sumaryczną liczbą prezentów), czy może dla każdego zebranego prezentu osobny rekord (wtedy gdy gracz zbierze 17 prezentów, w bazie danych będzie 17 rekordów dot. tego gracza).

Po 2. jakie dane o graczu chcesz przechowywać i jakie dane o prezencie (w przypadku, gdy chcesz tworzyć osobny rekord dla każdego prezentu). Na pewno przyda Ci się nick gracza, jego SteamID, jego IP lub jakieś inne dane, po których graczy rozpoznajesz (zmienna z configa?). Jeśli mówimy o 2 przypadku z pkt 1, możemy trzymać dodatkowo mapę na której gracz podniósł prezent, czas który upłynął od początku mapy, czas od spawna prezentu do jego zebrania, typ prezentu (jeśli posiadasz kilka).

 

Jak się zdecydujesz, ułożymy strukturę bazy danych.


  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 WeBsteR

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 25.11.2014 19:08


Po 1. zastanów się czy chcesz przechowywać 1 rekord dla każdego gracza (z sumaryczną liczbą prezentów)

Dokładnie to chodzi mi o to, że chcę zrobić konkurs na serwerze kto najwięcej znajdzie prezentów przez święta ten wygrywa konkurs.

np.

1. Nick1 100 prezentow - miejsce 1

2. Nick2 90 prezentów - miejsce 2

3. Nick3 80 prezentów - miejsce 3

 

Coś podobnego do konkursu kto zdobędzie najwięcej fragów w top15 ten wygrywa konkurs. Za bardzo nie bawiłem się z SQL :(


  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#6 WeBsteR

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 04.12.2014 14:48

Jak zrobić strukturę bazy danych, aby zapisywała znalezione prezenty i potem z tych danych zrobić TOP15 prezentów.


Użytkownik WeBsteR edytował ten post 04.12.2014 14:49

  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#7 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 04.12.2014 15:35

Sama struktura bazy danych jest prosta. Stwórz sobie tabelę np. "prezenty" w phpmyadmin, jeśli masz do tego dostęp.

Pierwszą kolumną niech będzie id i ustaw mu klucz podstawowy najlepiej. Powinienes do niego zapisywać nick gracza, moim zdaniem.

Drugą kolumną niech będzie ilośc zebranych prezentów.

 

No i wiadomo - klient wchodzi to sprawdzamy ile ma prezentów, przy zebraniu każdego dodajemy jeden do tablicy z prezentami i zapisujemy w SQL. Jeśli nie zostały wczytane dane gracza (czyli nie zbierał wcześniej prezentów), formatujemy zapytanie do bazy tak:

formatex(query, charsmax(query), "INSERT INTO `prezenty` (`id`, `prezenty`) VALUES ('%s', '0')", nick)

Kiedy chcemy pobrać z bazy danych ilość prezentów:

formatex(query, charsmax(query), "SELECT * FROM `prezenty` WHERE `id` = '%s'", nick)

Jak chcemy zapisać:

formatex(query,charsmax(query),"UPDATE `prezenty` SET `prezenty`='%d' WHERE `nick`='%s' ", ilosc_prezentow[id], nick)

Tyle od strony SQL.

 

EDIT. Jak chcesz stworzyć bazę za pomocą SQL to możesz użyć tego zapytania:

CREATE TABLE IF NOT EXISTS prezenty ( id VARCHAR(32), wynik INT(11), PRIMARY KEY (id) )

Stworzy tablelę "prezenty" o kolumnach id i wynik (wynik to ilość prezentów)


Użytkownik wiwi249 edytował ten post 04.12.2014 15:44

  • +
  • -
  • 1

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul


#8 WeBsteR

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 04.12.2014 15:45

Stworzenie bazy danych/serwera MySQL (jakby coś) etc nie jest dla mnie problemem ;)

A jak zrobić, aby zapisać a następnie wyświetlić (najlepiej w postaci top15):

1 KOLUMNA | 2 KOLUMNA | 3 KOLUMNA

MIEJSCE GRACZA | NICK GRACZA | ILOŚĆ ZNALEZIONYCH PREZENTÓW

 

P.S Bo na razie co wiwi249 mi dałeś to chyba będzie zapisywać tylko nick i ilość prezentów, a mi chodzi o to jeszcze aby dodać do tego miejsce które się zajmuje i potem to wszystko wyświetlić pod TOP15 (np. /topprezenty)a i czy dałoby się jeszcze dodać np. /rankprezenty i tam w say'u będzie pisało znalazłeś x liczbę prezentów oraz zajmujesz x miejsce.

 


Użytkownik WeBsteR edytował ten post 04.12.2014 15:52

  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#9 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 04.12.2014 17:10

show_motd

 

Myślę, że tutaj najrozsądniejsze by było (o ile masz forum) skorzystanie z www, bo PHP jest do takich rzeczy zdecydowanie wygodniejszy. Następnie za pomocą tego co podałem, otwierasz po prostu link do tej strony, która zawiera top15 w języku PHP i tyle. W AMXX też sie da, ale będzie to dużo trudniejsze.

<?php 
function Top15() {
	$connection = @mysql_connect($sql_host, $sql_user, $sql_pass);
	$db = @mysql_select_db($sql_dbase, $connection);

	if(!$connection || !$db)
		return 0;

	$query = mysql_query("SELECT TOP 15 * FROM prezenty ORDER BY wynik;" );
	
	if(mysql_num_rows($query) > 0)
	{
		while($r = mysql_fetch_assoc($query)) 
		{
			echo "<tr><td>".$r['id']."</td><td>".$r['wynik']."</td></tr>";
		}
	}
}
?>
<html>
<head></head>
<body>
<?php Top15(); ?>
</body>
</html>

Oczywiscie trzeba uzupełnic swoimi danymi. Tak bym polecał to rozwiązać.


Użytkownik wiwi249 edytował ten post 04.12.2014 17:16

  • +
  • -
  • 0

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul





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

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