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 nickow do pliku


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

#1 Joke

    Zaawansowany

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Lokalizacja:wawa
Offline

Napisano 17.02.2012 09:54

Witam mam takowy problem, potrzebuję sposob na zapis samych nickow jeden pod drugim do pliku, gdyz chcę zeby dalo się wyswietlić to jako "motd", zapis do pliku potrafię zrobić ale jest tam nawalone trochę niepotrzebnych informacji, nie wiem jaki kod dać żeby zapisywało same nicki. I drugie zapytanie czy da radę żeby drugi raz nie zapisywało do pliku danego nicku , Pozdrawiam proszę o pomoc Dołączona grafika
  • +
  • -
  • 0

#2 ImSpY

    Zaawansowany

  • Użytkownik

Reputacja: 27
Życzliwy

  • Postów:97
  • Lokalizacja:localhost
Offline

Napisano 17.02.2012 10:38

Czyli tylko chcesz zapisać nicki do pliku?

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("zapisz_nicki", "zapis", ADMIN_BAN, "Zapis nickow do pliku")
}
public zapis(){
new gracze[32],ilosc,nick[33];
get_players(gracze,ilosc);
for(new i=0;i<ilosc;i++){
get_user_name(gracze[i],nick,32);
write_file("nicki.txt",nick);
}
}

To po wpisaniu w konsoli zapisz_nicki dopisze do pliku nicki.txt graczy aktualnie będących na serwerze.
Co do zapisywania tylko raz - wystarczy sprawdzić czy w pliku jest już taki nick - użyjesz read_file i equali / equal i zalatwione.

Użytkownik ImSpY edytował ten post 17.02.2012 10:41

  • +
  • -
  • 2

#3 Joke

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Lokalizacja:wawa
Offline

Napisano 17.02.2012 15:23

dzięki za pomoc :)

hmmm a kto mi powie jak uzyc read_file zeby odczytalo wszystkie linie, a nie jedna wybrana? :)

read_file(plik, linia, tekst, 255, len)



plik-ścieżka do pliku
linia-linia którą wczytujemy
tekst-zmienna która przechowuje nam naszą wczytaną linię
len-ilość wczytanych znaków.


Użytkownik Joke edytował ten post 17.02.2012 15:24

  • +
  • -
  • 0

#4 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 17.02.2012 15:56

petla lecisz po calym pliku
  • +
  • -
  • 1

#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 17.02.2012 18:02

Dokumentacja AMXX.pl: Core >> file > read_file

masz tam przykład użycia

//Wypisuje w konsoli zawartość pliku cstrke/liblist.gam linia po linii

new szLine[32], iLen;
for(new i=0;read_file("liblist.gam", i, szLine, 31, iLen);i++){
	log_amx("%s", szLine);
}

  • +
  • -
  • 1

#6 Joke

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Lokalizacja:wawa
Offline

Napisano 17.02.2012 22:45

wielkie dzięki za pomoc :)

jeszcze jeden mały problemik do rozwiązania, mam taki kod i chcę jakiś większy odstęp pomiędzy nickami dlatego też spróbowałem tak:

write_file(plik, ("%s  |  ",nick));

no ale nic z tego nie wyszlo i nadal zapisuje sam nick , jakaś porada ? :P
  • +
  • -
  • 0

#7 ImSpY

    Zaawansowany

  • Użytkownik

Reputacja: 27
Życzliwy

  • Postów:97
  • Lokalizacja:localhost
Offline

Napisano 18.02.2012 00:10

Czym edytujesz text? Notatnikiem? Jak otworzysz w notepad++ to będzie linia pod linią :D
  • +
  • -
  • 1

#8 Joke

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Lokalizacja:wawa
Offline

Napisano 18.02.2012 00:34

wordpad ;d da rade jakos zrobic odstepy wieksze ? bo linia bod linia tez mi za bardzo nie pasi ;P

Użytkownik Joke edytował ten post 18.02.2012 00:34

  • +
  • -
  • 0

#9 Joke

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Lokalizacja:wawa
Offline

Napisano 18.02.2012 01:42

a z reszta juz nie potrzeba ;d dalem

write_file(plik, ("%s",nick));
write_file(plik, " ,");

i tyle :D
  • +
  • -
  • 0




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

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