Sziasztok!
Szeretném meghatározni, hogy egy mappában milyen fájlok vannak. (Felhasználók)
Ehhez a FileManager nevû plugint használnám. (
http://forum.sa-mp.com/showthread.php?t=92246)
A példa kód a listázásra így néz ki:
new dir:dHandle = dir_open(\"./\");
new item[40], type;
while(dir_list(dHandle, item, type))
{
if(type == FM_FILE) printf(\"%s is a file\", item);
else if(type == FM_DIR) printf(\"%s is a directory\", item);
}
dir_close(dHandle);
Ezt kicsit átalakítottam, és most így néz ki a kód:
#include <a_samp>
#include <filemanager>
#include <Dini>
public OnFilterScriptInit()
{
new dir:dHandle = dir_open(\"./scriptfiles/ladmin/users/\");
new item[255], type;
while(dir_list(dHandle, item, type))
{
if(type == FM_FILE)
{
if(dini_Exists(item))
{
printf(\"%s\", item);
dini_IntSet(item,\"money\",0);
}
}
}
dir_close(dHandle);
return 1;
}
Azt szeretném megcsinálni, hogy minden játékos pénzét átírni 0-ra. Viszont az a problémám, hogy nem írja át. printf-el kiírná azoknak a nevét, akiket lenullázott, viszont a módosításom után semmit sem ír ki, és nem is nyúl a fájlokhoz. :S
Valaki tudna segíteni, mi lehet a probléma?
Dupla hozzászólás automatikusan összefûzve. ( 2013. szeptember 17. - 14:03:55 )
Ezzel a kóddal kilistáz minden fájlt a mappában, csak nem tudom hogy tudnék rá hivatkozni a késõbbiekben. (például fájlból olvasáskor.)
#include <a_samp>
#include <filemanager>
public OnFilterScriptInit()
{
new dir:dHandle = dir_open(\"./scriptfiles/ladmin/users/\");
new item[40], type;
while(dir_list(dHandle, item, type))
{
if(type == FM_FILE)
{
printf(\"%s\", item); // Az \"item\" a fájl neve, XYZ.sav formátumban.
}
}
dir_close(dHandle);
return 1;
}
Próbáltam fájlkezelõben az \"item\"-re hivatkozva megnyitni minden fájlt, és átírni a \"money\" értéket 0-ra, viszont valamiért nem listázza ki, ha elé teszem a \"if(dini_Exists(item))\"-t.