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
 

zapis nickow do pliku


  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć
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 559
    Godlike

  • Postów:11 993
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Online

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: 1

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

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Logowanie


  • Potrzebujesz konta? Zarejestruj się!