[ROZWIĄZANE] engfunc - problem z ładowanie...
Sooldierr
29.03.2020
Przerabiam plugin, który ładuje modele z listy tworzonej w kodzie, na taki, który będzie wczytywać je z pliku tekstowego.
Ładowanie z pliku wygląda ok, ale w momencie, gdy przechodzi do engfunc, aby je zaczytać, to wywala error:
ERROR : Mod_NumForName: models/present/jajkokinder.mdl
Lecz, gdy tą samą listę modeli po prostu na sztywno zdefiniuję w kodzie, to wtedy działa. Nie ma żadnych literówek, wygląda, jakby nie wiem, złe formatowanie? znak końca wiersza windowsowy CR LF, kodowanie UTF-8.
Tutaj kod ładowania z ścieżek do modeli z pliku, a następnie w pętli po dynamicznej tablicy ładuję modele:
public plugin_precache() { static sConfigDir[64], sFilePath[64] get_configsdir(sConfigDir, sizeof sConfigDir - 1) formatex(sFilePath, sizeof sFilePath - 1, "%s/presents_models.cfg", sConfigDir) new buff[40]; new FILE = fopen(sFilePath, "rt"); while( !feof(FILE) ) { fgets(FILE, buff, sizeof buff - 1); if( equali(buff, "") || buff[0] == ';') continue; model_present_num++; } fseek(FILE, 0, SEEK_SET); model_present = ArrayCreate(sizeof buff, model_present_num); for (new i = 0; i < model_present_num; i++) { fgets(FILE, buff, sizeof buff - 1); if( equali(buff, "") || buff[0] == ';') continue; ArrayPushString(model_present, buff) } fclose(FILE); for(new i = 0; i < model_present_num; i++) { ArrayGetString(model_present, i, buff, sizeof buff - 1) engfunc(EngFunc_PrecacheModel,buff) } }
W załączniku plik z listą modeli. To problem z kodowaniem tekstu jakiś, czy może źle tablicy używam?
Załączone pliki
Użytkownik Sooldierr edytował ten post 29.03.2020 10:25
Rivit
29.03.2020
jesli podejrzewasz biale znaki uzyj trim
druga sprawa - skoro uzywasz tablicy dynamicznej to po co najpierw wczytujesz plik i liczysz jego linie?
Po to masz dynamic array zeby tego nie robic, daj mu jakis rozmiar poczatkowy typu 50 czy cos i pchaj w to dane po prostu.
To ile danych masz aktualnie dostaniesz za pomoca ArraySize
sizeof buff - 1
->
charsmax(buf)
wyjdzie na to samo
a czy sprawdzales sobie jakims log_amx, czy na pewno dobrze Ci wczytuje z pliku linijki?
Sooldierr
30.03.2020
Dzięki, funkcja trim załatwiła sprawę, enter psuł sprawę.
Odnośnie charsmax w sumie nie patrzyłem pod tym kątem, w całym pluginie było sizeof .. -1 i nie skupiałem się na tym.
Z tablicą też poprawiłem.
DarkGL
10.04.2020
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,

Z pozdrowieniami,
Zespół AMXX.PL