parse i takie sprawy
mlekovita
14.09.2019
Witam, kiedy podczas zapisu w pliku widnieje takie coś:
new szData[128]; if(!szData[0] || szData[0] == ';' || (szData[0] == '/' && szData[1] == '/')) continue;
to jakbym wziął i zmienił if(szData[0] na szData[1] lub szData[3] <- to co wtedy sprawdzi?
Rivit
14.09.2019
Pierwszy znak nie jest znakiem zero (null terminator) lub średnikiem, lub czy dwa pierwsze znaki w linii to /.
Zmiana jaka opisałeś nie spowoduje nic oprócz przesunięcia indeksów o jeden. Czyli sprawdzi czy drugi znak jest znakiem zero lub średnikiem itp itp
To samo z [3] tylko przesunie o 3 znaki.
Powiedz co chcesz osiągnąć
mlekovita
14.09.2019
Aktualnie jest tak że ; wstawia sie przed nick pierwotny
natomiast chciałbym osiągnąć tak żeby ; (średnik) wstawiał się nawet jak ktoś zmieni nick ale sid zostanie ten sam.
wyglada to tak
Dell VALVE_1:0:342181978 "Noob"
Jeżeli graczowi usunie sie oznaczenie
to robi się tak:
;Dell VALVE_1:0:342181978 "Noob"
Natomiast jeśli gracz zmieni nick i usunie sie mu oznaczenie to ; (średnik) sie nie stawia i zostaje jak było:
Dell VALVE_1:0:342181978 "Noob"
Użytkownik mlekovita edytował ten post 14.09.2019 21:52
Rivit
15.09.2019
To jak na moje trzeba łapać zmiane nicku gracza i w momencie zmiany wyłączyć admina z tego starego nicku, a włączyć (i dodać do pliku) ten nowy nick
mlekovita
15.09.2019
mlekovita
15.09.2019
w taki sposób?
parse(szData, szNick, 31); parse(szData, szSid, 31); if(equali(nick[i], szNick) || equali(sid[i], szSid) { format(szData, 127, "; %s", szData); write_file(szFile, szData, Line - 1); break; }
Rivit
15.09.2019
Jakbyś zajrzał do naszej ukochanej dokumentacji to byś wiedział
parse(szData, szNick, 31, sid[id], 31);
mlekovita
15.09.2019
nie działa
parse(szData, szNick, 31, sid[i], 31);
if(equali(nick[i], szNick) || equali(sid[i], szSid) {
format(szData, 127, "; %s", szData);
write_file(szFile, szData, Line - 1);
break;
}
Rivit
15.09.2019
pokaż cały kod jaki masz
parse(szData, szNick, 31, szSid, 31);
Spróbuj tak, źle wcześniej podalem tą linijke.
Czy do tablicy sid, pobierasz steamid gracza przy wchodzeniu na serwer?
mlekovita
15.09.2019
Caly kod jest w drugim moim poscie To jest cały kod.
Sid mam przy wchodzeniu na serwer pobierane
dalej nie działa ;/
Rivit
17.09.2019
To nie jest cały kod, bo chciałem sobie to przetestować, ale cóż...
Dodaj sobie logi i zobacz co jest nie tak, wypisz np sid, które da ci 'parse', wypisz to ktore wczytane z pliku jest, wypisz linie z pliku. No musisz wykminić co tam nie tak i w którym miejscu coś się sypie (np jakas zmienna ma nie taka wartosc jak byc powinna)