Odczyt pliku z danymi
ZepA***
11.08.2011
Siemka.
Zrobilem sobie plugin czarnalista. Prawie wszystko w nim dziala. Gdy wpisze /dodajgracza wyskakuje mi menu z wszystkimi graczami na serwerze i mozna wybrac ktorego dodac do czarnej listy.
Do tego momentu wszystko dobrze dziala. Jednak gdy wpisze /czarnalista wyskakuje mi mtod z tylko ostatnim graczem dodanym do czarnej listy, a ja chce zeby wczytywalo mi do mtod wszystkich graczy ktorzy sa zapisani w czarnalista.ini
Czy pomoze mi ktos to naprawic?
Użytkownik ZepA*** edytował ten post 11.08.2011 19:30
Zrobilem sobie plugin czarnalista. Prawie wszystko w nim dziala. Gdy wpisze /dodajgracza wyskakuje mi menu z wszystkimi graczami na serwerze i mozna wybrac ktorego dodac do czarnej listy.
Do tego momentu wszystko dobrze dziala. Jednak gdy wpisze /czarnalista wyskakuje mi mtod z tylko ostatnim graczem dodanym do czarnej listy, a ja chce zeby wczytywalo mi do mtod wszystkich graczy ktorzy sa zapisani w czarnalista.ini
Czy pomoze mi ktos to naprawic?
Załączone pliki
Użytkownik ZepA*** edytował ten post 11.08.2011 19:30
Dwdov 11.08.2011
for(new i=0; read_file(list_file, i, tekst, 51, len);i++)
Tu się mogę bardzo mylić, ale:
Jest wykonywane kiedy warunek jest spełniony a Ty na starcie dajesz i = 0 czyli jakby false - mam nadzieje że zrozumeisz o co chodzi ; d
Spróbuj tak :
for(new i=0; read_file(list_file, i, tekst, 51, len) != -1;i++)
Użytkownik Dawedov edytował ten post 11.08.2011 20:32
R3X
11.08.2011
samo for jest dobrze, warunkiem wyjścia z pętli nie jest wartość i tylko wynik funkcji read_file.
To co w pętli to w pętli, a to co ma otaczać listę na początku i końcu + klamry
To co w pętli to w pętli, a to co ma otaczać listę na początku i końcu + klamry
public zobaczmtod(id) { new tempstring[100]; new motd[2048]; new Configsdir[64] new list_file[64] new tekst[52]; new len; get_configsdir(Configsdir, 63) format(list_file, 63, "%s/czarnalista.ini", Configsdir) formatex(motd, charsmax(motd), "<html><body bgcolor=^"#474642^"><font size=^"2^" face=^"verdana^" color=^"FFFFFF^"><strong>"); formatex(tempstring, charsmax(tempstring), "Czarna Lista</strong><br><br>"); add(motd, charsmax(motd), tempstring); for(new i=0; read_file(list_file, i, tekst, 51, len);i++){ formatex(tempstring, charsmax(tempstring), "^"%s^"", tekst); add(motd, charsmax(motd), tempstring); } add(motd, charsmax(motd), "<br></font></body></html>"); show_motd(id, motd, "Czarna Lista"); }
ZepA***
12.08.2011
Wszystko dziala. R3X dzięki. Dawedov tobie tez dziekuje
Chcialbym sie jeszcze zapytac jak zrobic aby usunac wyraz z tego pliku? Czyli wpisuje w konsoli np amx_usungracza nick
i mi z pliku czarnalista.ini usuwa gracza?
Użytkownik ZepA*** edytował ten post 12.08.2011 07:31
Chcialbym sie jeszcze zapytac jak zrobic aby usunac wyraz z tego pliku? Czyli wpisuje w konsoli np amx_usungracza nick
i mi z pliku czarnalista.ini usuwa gracza?
Użytkownik ZepA*** edytował ten post 12.08.2011 07:31
R3X
12.08.2011
Usuwanie danych z pliku to kłopotliwa sprawa, musisz przepisać go pomijając wybrane linijki.
Jeśli zadowalają Cię puste linijki to możesz użyć write_file(plik, "", numer_linii_do_usuniecia);
Zadziała to tak
usun b
Jeśli zadowalają Cię puste linijki to możesz użyć write_file(plik, "", numer_linii_do_usuniecia);
Zadziała to tak
a
b
c
usun b
a
c
R3X
12.08.2011
idzie pozamieniać na spacje, otwórz fopen() z flagą r+, poszukaj tego co masz usunąć i w tym miejscu daj fputs(); z tyloma spacjami, że zakryło cały usuwany napis
ZepA***
12.08.2011
Czyli chodzi o takie cos?
załużmy ze w czarnalista.ini mam
i jak chce usunac nobek to robie takie cos:
na pewno to jest zle
Pomozesz?
Użytkownik ZepA*** edytował ten post 12.08.2011 20:11
załużmy ze w czarnalista.ini mam
zepa nobek bartek krzysiu
i jak chce usunac nobek to robie takie cos:
fopen ( list_file, r+ ) fputs ( list_file, nobek ) write_file ( list_file, " ")
na pewno to jest zle
Pomozesz?
Użytkownik ZepA*** edytował ten post 12.08.2011 20:11
R3X
12.08.2011
Masz rację, źle
Nie wiem czy ma sens pisanie takiego kodu, skoro nVault zapewnia Ci całą funkcjonalność jakiej oczekujesz:
- dodawanie
- usuwanie
- wyszukiwanie
- z dodatkowym .inc`em nawet przeglądanie
Do tego wyszukiwanie odbywa się w czasie stałym, niezależnym od wielkości pliku.
Nie wiem czy ma sens pisanie takiego kodu, skoro nVault zapewnia Ci całą funkcjonalność jakiej oczekujesz:
- dodawanie
- usuwanie
- wyszukiwanie
- z dodatkowym .inc`em nawet przeglądanie
Do tego wyszukiwanie odbywa się w czasie stałym, niezależnym od wielkości pliku.
ZepA***
13.08.2011
A podasz mi ten dodadkowy inc z vaulta? Na vault to sobie przerobie i moze lepiej mi pojdzie