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] Zapisywanie IP graczy do plikuSkomplikowane ;/

ip log_to_file write_file

Najlepsza odpowiedź Ogen Dogen, 22.05.2014 18:28

Chyba te funkcje ci się przydadzą :

 

http://amxx.pl/dokum...1/get-user-name

http://amxx.pl/dokum...f70/get-user-ip

http://amxx.pl/dokum...907/file-exists

http://amxx.pl/dokum...f88/log-to-file - jeśli chcesz żeby nick był w nazwie pliku to wystarczy że w tej funkcji wpiszesz odpowiednio sformatowaną wcześniej tablicę z nickiem gracza do nazwy , spróbuj np. :

new nick[64];
get_user_name(id,nick,63);
new txt[] = ".txt";
add(nick,sizeof(nick),txt,sizeof(txt));
log_to_file(nick,"To co chcesz zapisać"); // log_to_file sam tworzy plik jeśli nie istnieje
Przejdź do postu


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

#1 KRAKOW

    Zaawansowany

  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:83
  • Lokalizacja:Kraków
Offline

Napisano 22.05.2014 16:47

Witam.

Wielokrotnie czytałem już zarówno w dokumentacji jak i w tutorialach o użyciu log_to_file oraz write_file. Jednakże nadal nie umiem sobie poradzić z moim pluginem :( Chodzi o to żeby po wpisaniu przez gracza "/ip" działo się po kolei :

Sprawdza czy plik o nazwie %s istnieje

Jeśli tak to return

Jeśli nie to utwórz plik o nazwie %s i zapisz do niego linijkę ??? %d

 

Gdzie %s to nick gracza a %d to moja zmienna

??? - nie wiem czy tu ma być %s czy %f bo to ma być ip gracza. Czyli do pliku np. "krakow.txt" zapisz linijkę np. "111.111.1.111 45". 

Pogrubione to przykładowe IP. Kursywa to moja zmienna.

Gdzie %s to nick gracza a %d to moja zmienna

 

W plugin_init jest task wykonujący funkcję "zmien"

funkcja zmien :

pobiera wartosc zmiennej od gracza i do pliku o nazwie jego nicku wpisuje nowa wartosc zmiennej

 

Nie jestem początkujący więc nie trzeba opisywać co do plugin_init, co robi np. get_user_ip xD

Wystarczy mi sama funkcja. Z góry dzięki.


Użytkownik KRAKOW edytował ten post 22.05.2014 16:50

  • +
  • -
  • 0

#2 UTeam

    Pomocny

  • Zbanowany

Reputacja: 29
Życzliwy

  • Postów:70
  • Lokalizacja:404 Not Found
Offline

Napisano 22.05.2014 16:56

z tego co mi sie wydaje to pobrane ip gracza biorac z twojego przykladu mimo ze zawiera same liczby to i tak to sie zapisuje jako string wiec %s

 

@edit

 

Znalazlem pare podobnych tematow, ktore moga ci pomoc

 

http://amxx.pl/topic...nie-adresow-ip/

http://amxx.pl/topic...czach-w-logach/

http://amxx.pl/topic...zy-na-serwerze/


Użytkownik UTeam edytował ten post 22.05.2014 16:59


#3 KRAKOW

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:83
  • Lokalizacja:Kraków
Offline

Napisano 22.05.2014 17:49

To co podałeś, te pluginy sam umiem zrobić. Pisałem, że całkiem początkujący nie jestem (ale daleeeko mi do takiego DarkGL'a). Prosiłem o funkcję a nie inne pluginy a to mi nie pomoże bo nie wiem jak zrobić plik o nazwie = nick gracza. Jeśli nie jest to możliwe to napiszcie jak pobrać, który to gracz na serwerze (przypisuje mu stały index).


  • +
  • -
  • 0

#4 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 22.05.2014 18:28   Najlepsza odpowiedź

Chyba te funkcje ci się przydadzą :

 

http://amxx.pl/dokum...1/get-user-name

http://amxx.pl/dokum...f70/get-user-ip

http://amxx.pl/dokum...907/file-exists

http://amxx.pl/dokum...f88/log-to-file - jeśli chcesz żeby nick był w nazwie pliku to wystarczy że w tej funkcji wpiszesz odpowiednio sformatowaną wcześniej tablicę z nickiem gracza do nazwy , spróbuj np. :

new nick[64];
get_user_name(id,nick,63);
new txt[] = ".txt";
add(nick,sizeof(nick),txt,sizeof(txt));
log_to_file(nick,"To co chcesz zapisać"); // log_to_file sam tworzy plik jeśli nie istnieje

  • +
  • -
  • 1

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#5 KRAKOW

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 26
Życzliwy

  • Postów:83
  • Lokalizacja:Kraków
Offline

Napisano 22.05.2014 20:29

Dzięki wielkie za funkcję, plusik leci. Jednak po dziesiątkach testów okazało się, że nie można zapisać IP gracza do pliku (błędy) więc zrobię coś w stylu rezerwacja nick'u. Chodzi o to, żeby nie dało się włamać na czyjś "profil". Funkcja dobra, jak ktoś ma lepszy pomysł zamiast rezerwacji to pisać ;)


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: ip, log_to_file, write_file

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

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