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

Logowanie ilości graczy.Opis zbędny.


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

#1 Drzanas

    Godlike

  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 25.07.2011 19:25

Witam czy jest możliwość napisania pluginu oraz jeżeli jest to czy ktoś potrafiłby napisać taki plugin, który logował by ilość graczy na początku mapy w środku oraz na minutę/dwie przed końcem mapy.
W pliku mniej więcej mogłoby to wyglądać tak
Mapa de_dust2
Ilość graczy na początku mapy: 
Ilość graczy w połowie mapy"
Ilość graczy pod koniec mapy:
Oraz (ale to nie koniecznie) tak, żeby można było to na stronie obejrzeć tak ja to --> Chat Logger SQL - AMXX.pl: Support AMX Mod X
  • +
  • -
  • 0

graphic.png


#2 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 26.07.2011 14:57

proszę
#include <amxmodx>
#include <amxmisc>

#define CZAS_MAPY 20 // wpisz ile u ciebie trwa mapa

new liczba_graczy[3], nazwa_mapy[33]

public plugin_init() {
register_plugin("Logowanie Graczy", "1.0", "MarWit")
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
get_mapname(nazwa_mapy, 32)
}

public plugin_end(){
log_amx("Mapa %s", nazwa_mapy)
log_amx("Ilosc graczy na poczatku mapy: %d", liczba_graczy[0])
log_amx("Ilosc graczy w polowie mapy: %d", liczba_graczy[1])
log_amx("Ilosc graczy na koncu mapy: %d", liczba_graczy[2])
}

public Nowa_Runda(){
liczba_graczy[0] = get_playersnum(0)
set_task(float(CZAS_MAPY*60/2), "HalfLog", 222)
set_task(float(CZAS_MAPY*60)-120.0, "EndLog", 333)
}

public HalfLog()
liczba_graczy[1] = get_playersnum(0)

public EndLog()
liczba_graczy[2] = get_playersnum(0)

Użytkownik MarWit edytował ten post 26.07.2011 14:58

  • +
  • -
  • 1

marwit-0.png


#3 Drzanas

    Godlike

  • Autor tematu
  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 26.07.2011 21:26

Dziękuję. Zaraz sprawdzę czy działa :)
A czy ten plugin tworzy osobny plik czy loguje do pliku "L[data]"?

Jeżeli dałoby się aby tworzył plik Mapy[data] to byłbym wdzięczny. Byłoby to czytelniejsze :)

Użytkownik Drzanas edytował ten post 26.07.2011 21:34

  • +
  • -
  • 0

graphic.png


#4 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 27.07.2011 17:11

Łap :D zapisywane jest do pliku "nazwamapy_dzien.miesiac.rok"
#include <amxmodx>
#include <amxmisc>

#define CZAS_MAPY 20 // wpisz ile u ciebie trwa mapa

new liczba_graczy[3], nazwa_mapy[33]

public plugin_init() {
register_plugin("Logowanie Graczy", "1.0", "MarWit")
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
get_mapname(nazwa_mapy, 32)
}

public plugin_end(){

if(task_exists(222)) remove_task(222)
if(task_exists(333)) remove_task(333)

new log_file[32], data[32], buffer[128]
get_time("%d.%m.%Y", data, 31)
format(log_file, 31, "%s_%s.log", nazwa_mapy, data)
log_to_file(log_file, "------------------------------------------------------")

formatex(buffer, 127, "-------- Mapa %s --------", nazwa_mapy)
log_to_file(log_file, buffer)

formatex(buffer, 127, "-------- Ilosc graczy na poczatku mapy: %d --------", liczba_graczy[0])
log_to_file(log_file, buffer)

formatex(buffer, 127, "-------- Ilosc graczy w polowie mapy: %d --------", liczba_graczy[1])
log_to_file(log_file, buffer)

formatex(buffer, 127, "-------- Ilosc graczy na koncu mapy: %d --------", liczba_graczy[2])
log_to_file(log_file, buffer)
}

public Nowa_Runda(){
liczba_graczy[0] = get_playersnum(0)
set_task(float(CZAS_MAPY*60/2), "HalfLog", 222)
set_task(float(CZAS_MAPY*60)-120.0, "EndLog", 333)
}

public HalfLog()
liczba_graczy[1] = get_playersnum(0)

public EndLog()
liczba_graczy[2] = get_playersnum(0)

Użytkownik MarWit edytował ten post 27.07.2011 17:12

  • +
  • -
  • 1

marwit-0.png


#5 Drzanas

    Godlike

  • Autor tematu
  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 27.07.2011 20:06

Plugin działa jak powinien, ale jednak mam jeszcze jedną ostatnią prośbę.
Na serwerze mam plugin mapchooser4 i kiedy odpowiednia ilość graczy wywoła vote (rtv) to zmiana mapy następuje przed czasem (zapomniałem to uwzględnić za co przepraszam) i w logach pokazuje, że pod koniec mapy było 0 graczy co jest nie prawdą tylko po prostu mapa nie trwała tyle ile powinna aby zlogowało odpowiednią ilość graczy stąd prośba jedna z dwóch czy da radę, aby trzeci log pod koniec mapy był wywoływany wtedy kiedy serwer wywoła zmianę mapy.
Oraz druga co do sposobu zapisu, aby tworzył jeden plik (np MAPY20110727) na cały dzień, bo w ciągu doby mogą być 72 i więcej map, a przeglądanie tylu plików nie byłoby wygodne.
Z góry dziękuję :)
  • +
  • -
  • 0

graphic.png


#6 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 28.07.2011 13:53

proszę, wszystkie dane są logowane do pliku "mapy_dzien.miesiac.rok.log". Gdy podczas zmiany mapy trzecia wartosc jest zerowa pobierana i zapisywana jest aktualna liczba graczy.

#include <amxmodx>
#include <amxmisc>

#define CZAS_MAPY 20 // wpisz ile u ciebie trwa mapa

new liczba_graczy[3], nazwa_mapy[33]

public plugin_init() {
register_plugin("Logowanie Graczy", "1.0", "MarWit")
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
get_mapname(nazwa_mapy, 32)
}

public plugin_end(){

if(task_exists(222)) remove_task(222)
if(task_exists(333)) remove_task(333)

if(liczba_graczy[2] == 0) { liczba_graczy[2] = get_playersnum(0); }

new log_file[32], data[32], buffer[128]
get_time("%d.%m.%Y", data, 31)
format(log_file, 31, "mapy_%s.log", data)
log_to_file(log_file, "------------------------------------------------------")

formatex(buffer, 127, "-------- Mapa %s --------", nazwa_mapy)
log_to_file(log_file, buffer)

formatex(buffer, 127, "-------- Ilosc graczy na poczatku mapy: %d --------", liczba_graczy[0])
log_to_file(log_file, buffer)

formatex(buffer, 127, "-------- Ilosc graczy w polowie mapy: %d --------", liczba_graczy[1])
log_to_file(log_file, buffer)

formatex(buffer, 127, "-------- Ilosc graczy na koncu mapy: %d --------", liczba_graczy[2])
log_to_file(log_file, buffer)
}

public Nowa_Runda(){
liczba_graczy[0] = get_playersnum(0)
set_task(float(CZAS_MAPY*60/2), "HalfLog", 222)
set_task(float(CZAS_MAPY*60)-120.0, "EndLog", 333)
}

public HalfLog()
liczba_graczy[1] = get_playersnum(0)

public EndLog()
liczba_graczy[2] = get_playersnum(0)

  • +
  • -
  • 1

marwit-0.png


#7 Drzanas

    Godlike

  • Autor tematu
  • Power User

Reputacja: 329
Wszechpomocny

  • Postów:1 283
  • Steam:steam
  • Imię:Piotrek
  • Lokalizacja:Warszawa
Offline

Napisano 31.07.2011 13:57

proszę, wszystkie dane są logowane do pliku "mapy_dzien.miesiac.rok.log". Gdy podczas zmiany mapy trzecia wartosc jest zerowa pobierana i zapisywana jest aktualna liczba graczy.


Wszystko prawie dobrze działa.
Plik się tworzy, ale przy wcześniejszej zmianie mapy pokazuje nadal 0.
Przykład:
Zmiana na cpl_fire
L 07/31/2011 - 13:32:38: -------- Mapchange to de_cpl_fire --------
I potem po kilku minutach zmiana mapy
L 07/31/2011 - 13:38:37: -------- Mapchange to de_inferno --------
I w pliku :
L 07/31/2011 - 13:38:37: -------- Mapa de_cpl_fire --------
L 07/31/2011 - 13:38:37: -------- Ilosc graczy na poczatku mapy: 5 --------
L 07/31/2011 - 13:38:37: -------- Ilosc graczy w polowie mapy: 0 --------
L 07/31/2011 - 13:38:37: -------- Ilosc graczy na koncu mapy: 0 --------

Użytkownik Drzanas edytował ten post 31.07.2011 13:59

  • +
  • -
  • 0

graphic.png





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

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