-
fremove használata után chrasel a szeróm. Aminek történnie kéne: kitörölni pár fájlt egy for ciklussal, de közbe ez történik: kitöröl PONTOSAN EGY fájlt és becrashel a szeró. Ezzel a kóddal szeretném törölni a fájlokat:
for(new i = 0; i<valami; i++)
{
Remove(valamii(i));
}
a Remove ellenõrzi hogy létezik e fájl majd törölné. A \"valami\" változóm egy szám hogy hányszor fusson le az egész. A \"valamii\" függvényem megformázza úgymond megkeresi a fájlját mivel számokkal neveztem el a fájlt. Tehát pl ha i=1 akkor azt adja vissza hogy Nemtudom/1.ini Annyi biztos hogy nem ezzel a függvénnyel van a gond úgyhogy feleslegesnek is tartom beírni ide. Valójában a kérdés egyszerû fremove utáni crasht mi okozhat?
-
a \"valamii\" függvényt másold be...
-
a \"valamii\" függvényt másold be...
Meg a Remove( -t is.
-
stock valamii(id)
{
new string[18];
format(string, sizeof(string), mentes, id);
return string;
}
remove a dfilebõl van csak nemszeretem kiirkálni hogy dfile_Delete ezért megoldottam egy egyszerû #define Remove dfile_Delete-vel, de itt a kódja:
stock dfile_Delete(fajl[]){
if(!fexist(fajl)) return false;
fremove(fajl);
return true;
}
-
format(string, sizeof(string), mentes, id);
nekem ez elég gyanúsnak tûnik...a \"mentes\" honnan jött neked?
ha pl a scriptfiles mappában vannak sorba a fájlok 0.ini 1.ini 2.ini.......akkor ez a megoldás lenne jó:
format(string, sizeof(string), \"%d.ini\", id);
de az a \"mentes\" honnan jött? és mit akar takarni?
-
Á, nemszeretek semmit fix-re megírni, változik egy mappanév vagy akármi irhatom át az egész módot.. ehelyett ittvan ez a mód elején és egybõl átvan írva az egész:
#define mentes \"valami/%i.ini\"
-
a mappa szerkezet megfelelõ a scriptfiles mappában? tehát meg van minden mappa amiben keresni akar a szerver? mert amiatt lehet a crash hogy hiányos a mappa szerkezeted
-
megvan mert elõzõleg meg oda hozza létre a fájlokat amirõl meg is bizonyosodtam, hogy minden rendbe, meg mint ahogy mondtam azaz érdekes hogy 1et kitöröl mindig crash elõtt és utánna crashel csak, na meg a másik hogy ha nemis létezne a fájl akkor ki se törölné mert elõtte ellenõrzi a függvényem
for(new i = 0; i<valami; i++)
{
print(\"1);
Remove(valamii(i));
print(\"2\");
}
Ilyenkor ezt látom a server logba:
1
2
1
és itt crashel itt már nemirja ki a második 2est és a fájlt se törli
Szerkesztés: a remove elé írtam egy printf(\"%s\", valamii(i)); hogy lássam mégis mit dob vissza a biztonság kedvéért és jót dob vissza 1.ini-t ki is törli 2.ini-t kiirja de már nem törli ki pedig ott van a scriptfiles mappába megbizonyosodtam róla.