GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Lana - 2012. szeptember 22. - 09:56:51

Cím: fremove
Írta: Lana - 2012. szeptember 22. - 09:56:51
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?
Cím: fremove
Írta: Kovacs_Richard - 2012. szeptember 22. - 10:55:04
a \"valamii\" függvényt másold be...
Cím: fremove
Írta: Zsolesszka - 2012. szeptember 22. - 11:52:35
Idézetet írta: Kovacs_Richard date=1348304104\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27787\" data-ipsquote-contentclass=\"forums_Topic
a \"valamii\" függvényt másold be...
 
Meg a Remove( -t is.
Cím: fremove
Írta: Lana - 2012. szeptember 22. - 14:13:22
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;
}
Cím: fremove
Írta: Kovacs_Richard - 2012. szeptember 22. - 18:23:05
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?
Cím: fremove
Írta: Lana - 2012. szeptember 22. - 19:35:29
Á, 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\"
Cím: fremove
Írta: Kovacs_Richard - 2012. szeptember 23. - 02:06:11
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
Cím: fremove
Írta: Lana - 2012. szeptember 23. - 07:22:02
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.