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.
|
zapis nickow do pliku
#1
Posted 17.02.2012 09:54
#2
Posted 17.02.2012 10:38
/* 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.
Edited by ImSpY, 17.02.2012 10:41.
#3
Posted 17.02.2012 15:23
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.
Edited by Joke, 17.02.2012 15:24.
#4
Posted 17.02.2012 15:56
#5
Posted 17.02.2012 18:02
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); }
#6
Posted 17.02.2012 22:45
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 ?
#7
Posted 18.02.2012 00:10
#8
Posted 18.02.2012 00:34
Edited by Joke, 18.02.2012 00:34.
#9
Posted 18.02.2012 01:42
i tylewrite_file(plik, ("%s",nick));
write_file(plik, " ,");