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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: DrAkE - 2011. január 28. - 16:39:20

Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. január 28. - 16:39:20

dFile
A leggyorsabb fájl és könyvtár kezelõ.
 
 
Mi ez?
Ez egy új fájlkezelõ rendszer,mely nem csupán a fájlokat,de a könyvtárakat is képes kezelni!
Figyelem: A fájl rendszer a scriptfiles mappába lett korlátozva néhány hiba elkerülése végett!
Miért ez?
A rendszer nagyon egyszerû és egyértelmû,hasonló a funkciói a többi fájlkezelõhöz de nem tartalmaz felesleges dolgokat!
Még van egy nagy elõnye: Ez a LEGGYORSABB fájlkezelõ rendszer! Hogy miért? Mivel egy pluginra alapul.
Ki készítette?
A plugint JaTochNietDan készítette.
/*
 *            Dfile 1.0.6
 *      Minden jog fenttartva! ˆ By: DrAkE
 *
 * Tulajdonos   : DrAkE
 * Idõ         : 2011.01.27
 *
 * A függvény szabadon terjeszthetõ.
 * És természetesen szabadon használható :D
 * Köszönet:
 *         ChuckNorris    - Tesztelés, segítség
 *          Fade          - Tesztelés, segítség
 *          Y_Less         - boolstr függvény
 *          JaTochNietDan    - FileManager
 *
 * Külön köszönet:
 *                  Thiadmer - PAWN.
 *               SA:MP Csapat múlt, jelen, jövõ - SA:MP.
*/
Összehasonlítás y_ini-vel:
\"gyorsasag.jpg\"
Funkciók:
           dfile_Create - Fájl létrehozása.Paraméterek:
      
(fajl[])

 
      fajl[] karakterlánc típusú paraméter a fájl neve.
      
           dfile_Delete - Fájl törlése.
      
(fajl[])

 
      fajl[] a törlendõ fájl neve.
      
           dfile_Open - Fájl megnyitása.
      
(fajl[])

 
      fajl[] a fájl neve/helye.
      
           dfile_CreateDirectory - Könyvtár létrehozása.
      
(mappa[])

 
      mappa[] a könyvtár neve,helye.
      
           dfile_DeleteDirectory - Könyvtár törlése.
      
(mappa[])

 
      mappa[] a könyvtár neve,helye.
           dfile_DirectoryExists - Ellenörzi hogy az adott mappa létezik-e
      
mappa[]

 
      mappa[] az adott mappa ellenörzése.         
           dfile_WriteString - Karakterlánc írása adott fájlba.
      
(parameter[], ertek[])

 
      parameter[] melyik kulcshoz írjon,
      ertek[] mit.
      Példa:
      
kulcs=ertek

 
      
           dfile_WriteInt - Egész szám írása adott fájlba.
      
(parameter[], ertek[])

 
          parameter[] melyik kulcshoz írjon,
      ertek[] mit.
      Példa:
      
kulcs=ertek

 
      dfile_WriteBool - logikai ( igaz=hamis ) érték írása adott fájlba.
      
(parameter[], bool:ertek)

 
           parameter[] melyik kulcshoz írjon,
      bool:ertek mit. (false/true)
      Példa:
      
kulcs=true

 
           dfile_WriteFloat - Lebegõpontos szám írása fájlba.
      
(parameter[], ertek[])

 
           parameter[] melyik kulcshoz írjon,
      ertek[] mit.
      Példa:
      
kulcs=ertek

 
           dfile_ReadString - karakterlánc olvasása fájlból.
      
(parameter[])

 
      parameter[] melyik kulcs értékét.
      
           dfile_ReadInt - Egész szám olvasása fájlból.
      
(parameter[])

 
      parameter[] melyik kulcs értékét.
      
           dfile_ReadFloat - Lebegõpontos szám olvasása fájlból.
      
(parameter[])

 
      parameter[] melyik kulcs értékét.
           dfile_ReadBool - Bool érték olvasása fájlból.
      
(parameter [])

 
      parameter [] paraméter értéke.         
           dfile_MoveFile - Fájl mozgatása adott mappába.Fontos a kiterjesztés és hogy a célmappa létezzen!
      
(fajl[], cel[])

 
      fajl[] melyik fájlt mozgassa,
      cel[] hova.
           dfile_RenameFile - Fájl átnevezése. Fontos a kiterjesztés megadása!
      
(reginev[], ujnev[])

 
      reginev[] melyik fájlt kivánod átnevezni.
      ujnev[] a kívánt fájl új neve.
           dfile_SaveFile - Értékek mentése adott fájlba.
      
fajl[]

 
      fajl[] az adatok melyik fájlba mentõdjenek.
           dfile_FileExists - Ellenörzi hogy az adott fájl létezik-e
      
fajl[]

 
      fajl[] az adott fájl ellenörzése.
           dfile_ParseString - Összehasonlítja a paramétert és a bevitt karakterláncot.
      
(parameter[], ertek[])

 
      parameter[] a kulcs neve,
      ertek[] az érték,amivel összehasonlítja a kulcs értékét.
      
           dfile_ParseInt - Összehasonlítja a paramétert és a bevitt egész szám értékét.
      
(parameter[], ertek[])

 
      parameter[] a kulcs neve,
      ertek[] az érték,amivel összehasonlítja a kulcs értékét.
      
           dfile_ParseFloat - Összehasonlítja a paramétert és a bevitt lebegõpontos szám értékét.
      
(parameter[], ertek[])

 
      parameter[] a kulcs neve,
      ertek[] az érték,amivel összehasonlítja a kulcs értékét.
      
           dfile_ParseBool - Összehasonlítja a paramétert és a bevitt logikai érték értékét.
      
(parameter[], ertek[])

 
      parameter[] a kulcs neve,
      ertek[] az érték,amivel összehasonlítja a kulcs értékét.
           dfile_IsSet - Ellenörzi hogy a paraméternek van-e értéke.
      
(parameter[])

 
      parameter[] a kulcs neve
           dfile_UnSet - Törli a paraméter értékét.
      
(parameter[])

 
      parameter[] a kulcs neve
           dfile_MultiSet - Több érték írása fájlba.
      
(tipusok[], {Float,_}:...)

 
      tipusok[] - paraméterek típusa.
      Lehetséges típusok:
      

  •                

  • \"s\" - string
                   

  • \"d\" - integer
                   

  • \"b\" - boolean
                   

  • \"f\" - float
          


           dfile_MultiGet - Több élrték lekérdezése egy fájlból.
      
(tipusok[], {Float,_}:...)

 
      tipusok[] - paraméterek típusa.
      Lehetséges típusok:
      

  •                

  • \"s\" - string
                   

  • \"d\" - integer
                   

  • \"b\" - boolean
                   

  • \"f\" - float
          

      
Teszt script:
 
#include <a_samp>
#include <dfile>
#include <YSI\\y_ini>
#define FILTERSCRIPT
new gInt, formalas[128];
#define fDFILE \"DFILE_Test.txt\"
#define fYINI \"YINI_Test.txt\"
#define WRITES 1000
#define READS 100000
public OnFilterScriptInit()
{
    print(\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\");
    print(\"---------------------\");
    print(\"Writing Tests Started\");
    new
        initialTick,
        DFILE_tick,
        YINI_tick;
    print(\"-Testing dFile\");
    //dFile Write
    {
        dfile_Create(fDFILE);
        dfile_Open(fDFILE);
        initialTick=GetTickCount();
        for(new i;i<WRITES;i++)format(formalas, sizeof(formalas), \"%d\", i), dfile_WriteInt(formalas, i);
        dfile_SaveFile();
        dfile_CloseFile();
        DFILE_tick=GetTickCount()-initialTick;
    }
    print(\"-Testing Yini\\n\");
    //Yini Write
    {
        new
            INI:file = INI_Open(fYINI);
        initialTick=GetTickCount();
        for(new i;i<WRITES;i++)format(formalas, sizeof(formalas), \"%d\", i), INI_WriteInt(file, formalas, i);
        INI_Close(file);
        YINI_tick=GetTickCount()-initialTick;
    }
    printf(\"\\n-nTest Results %d Writes\\n\", WRITES);
    printf(\" - dFile:\\t%d\", DFILE_tick);
    printf(\" - Yini:\\t%d\", YINI_tick);
print(\"---------------------\\n\\n\");
print(\"---------------------\");
    print(\"Reading Tests Started\");
    print(\"-Testing dFile\");
    {
        dfile_Create(fDFILE);
        dfile_Open(fDFILE);
        initialTick=GetTickCount();
        for(new i;i<READS;i++)dfile_ReadInt(\"0\");
        DFILE_tick=GetTickCount()-initialTick;
    }
    print(\"-Testing Yini\\n\");
    {
        new
            INI:file = INI_Open(fYINI);
        initialTick=GetTickCount();
        for(new i;i<READS;i++)
        {
            INI_Load(fYINI);
        }
        INI_Close(file);
        YINI_tick=GetTickCount()-initialTick;
    }
    printf(\"\\n- Test Results %d Reads\\n\", READS);
    printf(\" - dFile:\\t%d\", DFILE_tick);
    printf(\" - Yini:\\t%d\\n\\n\", YINI_tick);
    print(\"---------------------\");
}
INI:filename[](name[], value[])
{
    INI_Int(\"TEST_TAG\", gInt);
    return 0;
}

 
Használat:
 
#include <a_samp>
#include <dfile>
main()
{
new valtozo1[3][128], valtozo2[2], float:valtozo3, bool:valtozo4;
dfile_Create(\"teszt.ini\");
dfile_Open(\"teszt.ini\");
dfile_WriteString(\"Parameter0\", \"teszt1234234\");
dfile_WriteInt(\"Parameter1\", 999999999);
dfile_WriteFloat(\"Parameter2\", 0.97398457987);
dfile_WriteBool(\"Parameter3\", true);
dfile_MultiSet(\"ssddfbs\",
\"teszt\", \"valami\",
\"teszt2\", \"tesztide\",
\"teszt3\", 30,
\"teszt4\", 50,
\"teszt5\", 36.23425,
\"teszt6\", true,
\"teszt7\", \"megintvalami\"
);
dfile_MultiGet(\"ssddfbs\",
\"teszt\", valtozo1[0],
\"teszt2\", valtozo1[1],
\"teszt3\", valtozo2[0],
\"teszt4\", valtozo2[1],
\"teszt5\", valtozo3,
\"teszt6\", valtozo4,
\"teszt7\", valtozo1[2]
);
dfile_SaveFile();
printf(\"%s|%s|%d|%d|%f|%b|%s\", valtozo1[0], valtozo1[1], valtozo2[0], valtozo2[1], valtozo3, valtozo4, valtozo1[2]);
dfile_Open(\"teszt.ini\");
printf(\"%s\", dfile_ReadString(\"Parameter0\"));
printf(\"%d\", dfile_ReadInt(\"Parameter1\"));
printf(\"%f\", dfile_ReadFloat(\"Parameter2\"));
printf(\"%d\", dfile_ReadBool(\"Parameter3\"));
printf(\"%d\", dfile_ParseString(\"Parameter0\", \"teszt1234234\"));
printf(\"%d\", dfile_ParseInt(\"Parameter1\", 345));
printf(\"%d\", dfile_ParseFloat(\"Parameter2\", 0.973984));
printf(\"%d\", dfile_ParseBool(\"Parameter3\", true));
dfile_CloseFile();
}

 
Letöltés:
v1.0.5: Letöltés
v1.0.6: Letöltés
v1.0.9: Letöltés
v1.1.0: Letöltés
v1.1.1: Letöltés
Frissitések:
Frissített funkciók:
 
  • dfile_WriteString - Nem írta felül a paraméter értékét ha az már létezett!

Új függvények kerültek be:
 
  • dfile_FileExists

  • dfile_DirectoryExists

  • dfile_RenameFile

  • dfile_IsSet

  • dfile_UnSet

  • dfile_MultiSet

  • dfile_MultiGet


Néhány funkció megváltozott:
 
  • dfile_Open - most már a fájl tartalmát is beolvassa

  • dfile_ReadString - nem kell megadni a fájl helyét/nevét


Egyéb:
 
  • Nem kell hozzá plugin ha nem akarod!

 
Leírás by ChuckNorris.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Mambo - 2011. január 28. - 16:46:37
gyönyörû.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: jana4 - 2011. január 28. - 16:50:00
\'Letéptem\', grat.

Most írom át az adminom dfileossá. ;)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Bart - 2011. január 28. - 17:16:19
Jó lett!! GRAT!!!
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Stricica - 2011. január 28. - 17:38:55
Végre, erre volt már szerintem kíváncsi mindenki :D  :amazed: És grat ;)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: nyE - 2011. január 28. - 18:32:17
Szép lett, grat!
Várjuk a drékcmd-t xD
Am komolyan elgondolkodhatnál rajta hamár ezt megtudtad csinálni...
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. január 28. - 18:47:36
Köszönöm mindenkinek a kommenteket, és lehet a drékcmdrõl szó! Esetleg ha vmi hibát tapasztaltok, vagy vmi függvény kellene esetleg bele akkor írjatok ide!
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: GroX - 2011. január 28. - 20:17:11
Végre kiadtad :) Köszönöm, hogy tesztelhettem/segíthettem. Amúgy, bocs hogy nem vagyok msn-en csak hát \"nincs\"...
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. január 29. - 08:55:35
Igen kiadtam :D. Frissítések kerültek bele. Lásd fentebb!
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: ChuckNorris - 2011. január 29. - 20:08:35
like :D
helped by me  ;D
Szerintem elég jó lett.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. január 29. - 20:19:53
Frissítések kerültek bele! Lásd fõposztban!
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: jana4 - 2011. január 29. - 20:43:53
Láttam hogy beléd kötöttek hivatalos fórumon.

Azért, mégiscsak a magyar a minõség.  8)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. január 30. - 10:11:16
Sajnálatos bug lépett fel a fájl rendszerben(Fentebb láthatod). Majd megpróbálom/megprobáljuk kijavítani Chuckal :)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: kurta999 - 2011. január 30. - 11:49:09
Akkor írd meg a plugin készítõjének, hogy hibás benne az a funkció.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. január 30. - 13:57:33
Hát már írták is elvileg javította de nem láttam rajta változást.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: kurta999 - 2011. január 31. - 17:25:37
Ha ez az egész totál pluginba lenne megírva, csak a funkciók lennének native-val létrehozva, akkor már semminek se lenne rá esélye   8)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. február 01. - 16:33:36
1.0.4 megjelent! Kérlek titeket töltsétek le a legújabb függvénykönyvtárat! Új funkciók: dfile_IsSet, dfile_UnSet
Üdv: DrAkE
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: jana4 - 2011. február 01. - 18:35:03
Remek.

A plugin már javított?
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. február 01. - 18:51:23
Nem épp azért lett korlátozva a scriptfiles mappába mivel hagyományos módon (fopennel) végzi a dolgokat :D
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Epsilon - 2011. február 03. - 20:21:14
Valójában a plugin gyorsabb...
Mindegy azért jó munkát hozzá!
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. február 18. - 22:34:02
Frissítettem a függvénykönyvtárat mert volt benne hiba. Kérlek titeket hogy töltsétek le a legújabb verziót!
Köszönöm.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: hegdavid95 - 2011. február 20. - 01:00:11
hmm lehet áttérek erre :) szép lett grat :D
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. február 21. - 19:43:01
Fájl kezelõ....
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: jana4 - 2011. március 13. - 17:08:21
Nem tudom, hogy vagy vele, de nálam bugos.

Mégpedig: felmegyek a szeróra, szerzek 213 pontot. jó, elmenti. kiírta a fájlba. újra felmentem átírt 234 ponttal. most is elmenti. megnézem a txt-t: többször levan írva hogy password=xxyyz; stb.


Nos?
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: SoAP - 2011. március 16. - 15:57:06
Nekem is úgyan ez a problémám... sõt a
dfile_Open(file)

-al is gondok vannak. kifagy tõle a szerver
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Iceaac - 2011. március 17. - 20:33:23
Idézetet írta: SoAP date=1300287426\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
Nekem is úgyan ez a problémám... sõt a
dfile_Open(file)

-al is gondok vannak. kifagy tõle a szerver
 
Segítség a javításhoz: Azért van, mert az fopennel sikertelenül nyitod meg a fájlt és ezután dolgozni szeretnél vele.. Megoldás: if(fopen...)...
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. március 19. - 11:03:23
Nos megnézem mit tehetek, de ez a hiba nem tudom mitõl van, mivel mentésnél törli az elõzõ fájlt és újra beleírja az adatokat. Esetleg be kellene szúrnom a stringekbe egy null karaktert.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Iceaac - 2011. március 19. - 11:12:22
Idézetet írta: DrAkE date=1300529003\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
mentésnél törli az elõzõ fájlt és újra beleírja az adatokat
 
Biztos ez a leggyorsabb? o.O Nagy fájlnál is?
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. március 19. - 11:48:41
Persze, ha megnézed mindegyik fájl kezelõnél szinte már így van :)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Koncz_Norbert - 2011. május 10. - 19:35:40
ööö... már félek megkérdezni. Adminok figyelnek.
De honnan szerezted a plugint? :D
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Csabesz - 2011. május 10. - 19:44:41
Idézetet írta: Koncz_Norbert date=1305048940\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
ööö... már félek megkérdezni. Adminok figyelnek.
De honnan szerezted a plugint? :D
 
FileManagerre gondolsz?
http://forum.sa-mp.com/showthread.php?t=92246
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Koncz_Norbert - 2011. május 10. - 19:58:55
Idézetet írta: SticK date=1305049481\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic


ööö... már félek megkérdezni. Adminok figyelnek.
De honnan szerezted a plugint? :D
 
FileManagerre gondolsz?
http://forum.sa-mp.com/showthread.php?t=92246
 
[/quote]
Igen arra. :D Köszönöm. ;) Bírom mikor kirakják a plugin forrását. ;D
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. május 17. - 16:21:21
Függvénykönyvtár frissítve! Kérlek titeket töltsétek le a mostanit!
Ha talán találtok benne hibát kérlek értesítsetek itt!
Köszönöm elõre is!
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: mauladam - 2011. június 25. - 15:07:18
Nekem is beírja mégegyszer a paramétert, ha változtatni szeretném...
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. szeptember 02. - 14:39:28
Hamarosan új verzió fog kijönni amiben új függvény lesz:
dfile_MultiSet, dfile_MultiGet
A használatát vhogy így képzeltem el:
dfile_MultiSet(\"dsssffbb\",
         \"dhhah4h\", 60,
   \"teszt2\", \"tadasa\",
   \"valami\", \"agdfgdfgt\",
   \"asdaksjd\", \"adasdas\",
   \"asdasd\", 27.1111,
   \"valami\", 82.1010,
   \"asddaa\", true,
   \"dass43\", 0
);
Ahol a \"dsssffbb\" található oda majd az adat típusokat kellesz írni:
d = integer,
i = integer,
s = string,
b = bool,
f = float.
A dfile_MultiGet használatát még nem találtam ki, de valahogy majd jön egy ihlet! :D
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. szeptember 10. - 21:05:36
Kiadatásra került az új verzió!

Kérek minden kedves dfile használót hogy frissítse a függvénykönyvtárat a legújabbra!



Változások:
Új függvények kerültek be:
- dfile_MultiSet
- dfile_MultiGet
Az új függvények használata:
 
   new valtozo1[3][128], valtozo2[2], float:valtozo3, bool:valtozo4;
dfile_Create(\"teszt.ini\");
dfile_Open(\"teszt.ini\");
dfile_MultiSet(\"ssddfbs\",
\"teszt\", \"valami\",
\"teszt2\", \"tesztide\",
\"teszt3\", 30,
\"teszt4\", 50,
\"teszt5\", 36.23425,
\"teszt6\", true,
\"teszt7\", \"megintvalami\"
);
dfile_MultiGet(\"ssddfbs\",
\"teszt\", valtozo1[0],
\"teszt2\", valtozo1[1],
\"teszt3\", valtozo2[0],
\"teszt4\", valtozo2[1],
\"teszt5\", valtozo3,
\"teszt6\", valtozo4,
\"teszt7\", valtozo1[2]
);
dfile_SaveFile();
printf(\"%s|%s|%d|%d|%f|%b|%s\", valtozo1[0], valtozo1[1], valtozo2[0], valtozo2[1], valtozo3, valtozo4, valtozo1[2]);

 
Gyorsasága a következõ lett:
\"hasonlitas.jpg\"
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: kurta999 - 2011. szeptember 10. - 21:14:37
Ezek a multi funkciók nagyon tetszenek  :)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. szeptember 10. - 21:15:34
És a gyorsasága sem az utolsó :D
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Csabesz - 2011. szeptember 11. - 16:01:07
Sajnos Én már teljes mértékben sql-el dolgozom..  :-[
 
Idézetet írta: kurta999 date=1315682077\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
Ezek a multi funkciók nagyon tetszenek  :)
 
Jaja jó ötlet volt.  ;)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2011. szeptember 11. - 16:30:22
Majd csinálok tesztet MYSQL-el szemben :3
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Zsolesszka - 2011. szeptember 11. - 17:18:00
Idézetet írta: DrAkE date=1315751422\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
Majd csinálok tesztet MYSQL-el szemben :3
 
Hát arra kíváncsi vagyok, de remélem a mysql szerver az localhost-on lesz és nem valami külföldi szerveren  >:D.
Amúgy a mysql az nagyon sokoldalú ezért én személy szerint nem váltok másra még akkor se ha gyorsabb lenne a dFile.  :D
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Epsilon - 2011. szeptember 14. - 19:44:33
A mysql-t nem azért használják sokan, mert gyors. Lassú minden fájlrendszerhez képest (ha jól vannak használva és megírva).
Azért használják, mert bonyolult dolgokat gyorsabban megcsinálhatunk vele.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2012. február 04. - 10:05:07
Újítás került bele:
Nem kell hozzá plugin, ha nem akarod!
(Magyarul plugin nélkül is megy, DE pár funkció nem megy nélküle pl.: dfile_CreateDirectory, dfile_DeleteDirectory, dfile_DirectoryExist)
Ha mégi használni szeretnéd a plugin adta funkciókat használd így:
 

#define USE_PLUGINS_FUNCTIONS
#include <dfile>
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: lackos888 - 2012. február 13. - 21:24:43
Ez nagyon jó fájl kezelõ.A szerveremnél mindig ezt használom MySQL helyett!Stabil, nem kell k*va sokat küszködni vele ennyi.Grat DrAkE!
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: xSkillZ7x - 2012. augusztus 10. - 08:37:38
Itt evel van egy kis gond.
 
dfile_CreateDirectory

 
azt irja hogy undefined symbol. de csak ezt.Mi lehet a gond?
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: JBauer - 2012. augusztus 10. - 08:41:57
#define USE_PLUGINS_FUNCTIONS
#include <dfile>

 
2HSZ-el feljebb.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: xSkillZ7x - 2012. augusztus 10. - 09:04:48
Ne haragudj :( .Koszonom.  :thumbsup:
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2012. szeptember 02. - 08:44:36
Frissítve egy kicsit!
Ha használni akarod a plugin adta lehetõségeket, használd az alábbi módon:
 

#define USE_PLUGIN_FUNCTIONS
#include <dfile>

 
Esetleg, ha valamilyen funkció hiányoltok, írjatok bátran ide, és kivitelezem.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: JackBronson - 2012. szeptember 06. - 19:48:51
Jo lett gratulalok hozza.
Tudnal dobni egy linket,hogy hova toltotted fel a hivatalos forumon?
Koszonom.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2012. szeptember 06. - 20:01:23
http://forum.sa-mp.com/showthread.php?t=218026
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: xSkillZ7x - 2012. szeptember 08. - 06:57:02
Nagyon jó.Én most ezt használom.
Egy gond van vele:
 

#define USE_PLUGIN_FUNCTIONS

 
Ha ezt használom azt irja hogy:
 

warning 203: symbol is never used: \"celfajl\"

 
pedig en csak a createdirectorys cuccot szeretném használni.Persze nekem nincs szükségem a movefile ra.
Ennek ellenére megadja az .amx et.Csak a gond hogy engem zavar, ha van benne error.Hogyan szedjem ki?
Muszály használjam egyszer?
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2012. szeptember 08. - 07:46:54
Idézetet írta: xSkillZ7x date=1347080222\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
Nagyon jó.Én most ezt használom.
Egy gond van vele:
 

#define USE_PLUGIN_FUNCTIONS

 
Ha ezt használom azt irja hogy:
 

warning 203: symbol is never used: \"celfajl\"

 
pedig en csak a createdirectorys cuccot szeretném használni.Persze nekem nincs szükségem a movefile ra.
Ennek ellenére megadja az .amx et.Csak a gond hogy engem zavar, ha van benne error.Hogyan szedjem ki?
Muszály használjam egyszer?
 
Látom, még nem frissítetted a legújabbra.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: xSkillZ7x - 2012. szeptember 09. - 11:00:20
:S.Ne haragudj.Nem voltam figyelmes.Máris frissítem.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Lana - 2012. szeptember 21. - 18:32:02
dfile_Delete után chrassel a szeróm. Ezzel cseszekszek már jó pár napja azért írok most már ide. A lényege a kódomnak hogy egy forciklussal kitöröl 6 fájlt a legelsõt kitörli és a másodiknál megakad és crash. Próbálkoztam ilyen megoldásokkal hátha valamiért azt hiszi hogy nem létezik a fájl beleirtam egy if feltételbe hogy ellenõrizze le hogy létezik e és csak utána töröljön, ugyanez a hiba ugyanígy, tehetetlen vagyok.
Ha már ittvagyok, lenne még egy kérdésem, hogy kellene stringeket helyesen beolvasni egy változóba mert a módom dfile nélkül 100 kb dfile-al pedig felugrik 2 megára, annyit már észrevettem hogy a stringekkel van valami gond, ez így normális vagy én csinálok valamit rosszul?
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Hun_Norberto - 2012. szeptember 21. - 20:09:44
Miért használ mindenki solidfiles-t? Nem mûködik most... Nincs meg valakinek a letöltött rar?

Dupla hozzászólás automatikusan összefûzve. ( 2012. szeptember 21. - 20:11:36 )

Pontosabban felrakná valaki a rar-t? Mert azt látom, hogy letöltöttétek. :D
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: 1ST_Chr - 2012. szeptember 21. - 20:31:11
http://data.hu/get/5592144/dfile.rar
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Zsolesszka - 2012. szeptember 21. - 20:38:09
Idézetet írta: Hun_Norberto date=1348250984\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
Miért használ mindenki solidfiles-t?
 
Mert ha oda te egyszer feltöltesz valamit az ott is marad, hacsak te magad le nem törlöd, és semmi baja nincs a solidfilesnak, én le meg fel is tudok rá tölteni.
Ez az egyik legmegbízhatóbb fájlmegosztó oldal, és persze ingyenes, nincs sebesség korlátozás, mint egyes vackokon.
Na meg persze nem kell húsz helyre klikkelni hogy letölts egy darab fájlt.
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Hun_Norberto - 2012. szeptember 21. - 21:17:56
Idézetet írta: ɐʞzssǝlosz date=1348252689\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
és semmi baja nincs a solidfilesnak, én le meg fel is tudok rá tölteni.
 
Akkor csak nekem csinálja ezt? De miért...
 

Ez a weboldal nem érhetõ el
Megszakadt a kapcsolat a következõvel: sfcdn.in.
Íme néhány javaslat:
...
Hiba: 101 (net::ERR_CONNECTION_RESET): A kapcsolat alaphelyzetbe állt.
 
[/quote]
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Monster112 - 2012. november 23. - 15:55:30
Hogy tudok megnyitni felhasználó file-t ezzel?
Így próbáltam:
 
#include <a_samp>
#include <dfile>
LOGGED_IN(playerid)
{
   new PlayerName[MAX_PLAYER_NAME];
   format(PlayerName, sizeof(PlayerName), \"/ladmin/users/%s.sav\" ,udb_encode(PlayerName(playerid)));
   dfile_Open(PlayerName);
   dfile_WriteString(\"logged\", \"1\");
   dfile_SaveFile();
   dfile_CloseFile();
}
LOGGED_OUT(playerid)
{
   new PlayerName[MAX_PLAYER_NAME];
   format(PlayerName, sizeof(PlayerName), \"/ladmin/users/%s.sav\" ,udb_encode(PlayerName(playerid)));
   dfile_Open(PlayerName);
   dfile_WriteString(\"logged\", \"0\");
   dfile_SaveFile();
   dfile_CloseFile();
}
 
PlayerName(playerid)
{
new player[MAX_PLAYER_NAME];
GetPlayerName(playerid, player, sizeof(player));
return player;
}

 
Gyakorlatilag annyit szeretnék elérni, hogy amikor belép a játékos, akkor átírja a file-ban a \"logged\" -et 1-re, ha kilép 0-ra.
Ezt a következõkkel szeretném megoldani:
LOGGED_IN(playerid); (OnPlayerConnect-nél)
LOGGED_OUT(playerid); (OnPlayerDisconnect-nél)
A problémám az, amikor a játékos belép, crashel a szerver, és ezt a hibaüzenetet írja ki:
 
[15:38:41] [debug] Server crashed while executing Script.amx
[15:38:41] [debug] AMX backtrace:
[15:38:41] [debug] #0 native fread () [00405770] from samp-server.exe
[15:38:41] [debug] #1 000004e4 in dfile_Open (fajl[]=@0x00227d10 \"\") at D:\\MyPC\\server1\\server1\\pawno\\include\\dfile.inc:204
[15:38:41] [debug] #2 00002990 in LOGGED_IN (playerid=0) at D:\\MyPC\\server1\\server1\\pawno\\include\\logged.inc:19
[15:38:41] [debug] #3 00030f50 in public FEP_OnPlayerConnect (playerid=0) at D:\\MyPC\\server1\\server1\\filterscripts\\Script.pwn:5303
[15:38:41] [debug] #4 native CallLocalFunction () [00472c00] from samp-server.exe
[15:38:41] [debug] #5 00007f54 in public OnPlayerConnect (playerid=0) at D:\\MyPC\\server1\\server1\\pawno\\include\\ForEachPlayer.inc:24
[15:38:41] [debug] System backtrace:
[15:38:41] [debug] #0 00493010 in ?? () from D:\\MyPC\\server1\\server1\\samp-server.exe
[15:38:41] [debug] #1 00493640 in ?? () from D:\\MyPC\\server1\\server1\\samp-server.exe
[15:38:41] [debug] #2 00404f14 in ?? () from D:\\MyPC\\server1\\server1\\samp-server.exe
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2012. november 23. - 17:45:43
Növeld meg a cellák számát. Meg valami más változó nevet adni (irritál, ha ugyan az mint a stock :D )
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Monster112 - 2012. november 23. - 17:48:51
Szerkesztve:
Köszönöm a választ, most már mûködik! ;)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Monster112 - 2012. november 29. - 22:07:50
Valaki tudna segíteni ezt átírni dfile-ossá?
Megpróbáltam, de valamiért nem akart összejönni. :(
A válaszokat elõre is köszönöm!
 
/*
*            DUDB functions
*       (c) Copyright 2006-2007 by DracoBlue
*
* @version   : 2.4
* @author    : DracoBlue (http://dracoblue.net)
* @date      : 8th May 2006
* @update    : 12th July 2007
* @require   : DUtils 1.10
* @require   : DINI 1.5
*
*/
#if defined _dudb_included
  #endinput
#endif
#define _dudb_included
#pragma library dutils
#include <dutils>
#include <dini>
#define dUser(%1).( udb_User(%1,
#define dUserINT(%1).( udb_UserInt(%1,
#define dUserSet(%1).( udb_UserSet(%1,
#define dUserSetINT(%1).( udb_UserSetInt(%1,
#define dUserSetFLOAT(%1).( udb_UserSetFloat(%1,
#define dUserFLOAT(%1).( udb_UserFloat(%1,
stock udb_hash(buf[]) {
new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
stock udb_encode(nickname[]) {
  new tmp[MAX_STRING];
  set(tmp,nickname);
  tmp=strreplace(\"_\",\"_00\",tmp);
  tmp=strreplace(\";\",\"_01\",tmp);
  tmp=strreplace(\"!\",\"_02\",tmp);
  tmp=strreplace(\"/\",\"_03\",tmp);
  tmp=strreplace(\"\\\\\",\"_04\",tmp);
  tmp=strreplace(\"[\",\"_05\",tmp);
  tmp=strreplace(\"]\",\"_06\",tmp);
  tmp=strreplace(\"?\",\"_07\",tmp);
  tmp=strreplace(\".\",\"_08\",tmp);
  tmp=strreplace(\"*\",\"_09\",tmp);
  tmp=strreplace(\"<\",\"_10\",tmp);
  tmp=strreplace(\">\",\"_11\",tmp);
  tmp=strreplace(\"{\",\"_12\",tmp);
  tmp=strreplace(\"}\",\"_13\",tmp);
  tmp=strreplace(\" \",\"_14\",tmp);
  tmp=strreplace(\"\\\"\",\"_15\",tmp);
  tmp=strreplace(\":\",\"_16\",tmp);
  tmp=strreplace(\"|\",\"_17\",tmp);
  tmp=strreplace(\"=\",\"_18\",tmp);
  return tmp;
}
stock udb_decode(nickname[]) {
  new tmp[MAX_STRING];
  set(tmp,nickname);
  tmp=strreplace(\"_01\",\";\",tmp);
  tmp=strreplace(\"_02\",\"!\",tmp);
  tmp=strreplace(\"_03\",\"/\",tmp);
  tmp=strreplace(\"_04\",\"\\\\\",tmp);
  tmp=strreplace(\"_05\",\"[\",tmp);
  tmp=strreplace(\"_06\",\"]\",tmp);
  tmp=strreplace(\"_07\",\"?\",tmp);
  tmp=strreplace(\"_08\",\".\",tmp);
  tmp=strreplace(\"_09\",\"*\",tmp);
  tmp=strreplace(\"_10\",\"<\",tmp);
  tmp=strreplace(\"_11\",\">\",tmp);
  tmp=strreplace(\"_12\",\"{\",tmp);
  tmp=strreplace(\"_13\",\"}\",tmp);
  tmp=strreplace(\"_14\",\" \",tmp);
  tmp=strreplace(\"_15\",\"\\\"\",tmp);
  tmp=strreplace(\"_16\",\":\",tmp);
  tmp=strreplace(\"_17\",\"|\",tmp);
  tmp=strreplace(\"_18\",\"=\",tmp);
  tmp=strreplace(\"_00\",\"_\",tmp);
  return tmp;
}
 
stock udb_Exists(nickname[]) {
  new tmp[MAX_STRING];
  format(tmp,sizeof(tmp),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return fexist(tmp);
}
 
stock udb_Remove(nickname[]) {
  new tmp[MAX_STRING];
  format(tmp,sizeof(tmp),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Remove(tmp);
}
stock udb_UserSetInt(nickname[],key[],value) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_IntSet(fname,key,value);
}
stock udb_UserSetFloat(nickname[],key[],Float:value) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_FloatSet(fname,key,value);
}
stock udb_UserSet(nickname[],key[],value[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Set(fname,key,value);
}
stock udb_User(nickname[],key[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  format(fname,sizeof(fname),dini_Get(fname,key));
  return fname;
}
stock Float:udb_UserFloat(nickname[],key[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Float(fname,key);
}
stock udb_UserInt(nickname[],key[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Int(fname,key);
}
stock udb_CheckLogin(nickname[],pwd[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  if (udb_UserInt(nickname,\"password_hash\")==udb_hash(pwd)) return true;
  return false;
}
stock udb_Create(nickname[],pwd[]) {
  if (udb_Exists(nickname)) return false;
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  dini_Create(fname);
  udb_UserSetInt(nickname,\"password_hash\",udb_hash(pwd));
  return true;
}
stock udb_RenameUser(nickname[],newnick[]) {
  new oldfname[MAX_STRING];
  new newfname[MAX_STRING];
  format(oldfname,sizeof(oldfname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  format(newfname,sizeof(newfname),\"ladmin/users/%s.sav\",udb_encode(newnick));
  return frenametextfile(oldfname,newfname);
}

 
Szerk.: Elnézést a dupla post-ért! Nem láttam hogy én voltam az utolsó kommentelõ. :/
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Place - 2012. november 30. - 11:37:43
Szép lett, DrAkE!!

Így tovább, sok sikert!!


Ez nagyon kellet még egyszer kösz!!
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: DrAkE - 2012. november 30. - 15:34:10
Idézetet írta: Monster112 date=1354223270\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5671\" data-ipsquote-contentclass=\"forums_Topic
Valaki tudna segíteni ezt átírni dfile-ossá?
Megpróbáltam, de valamiért nem akart összejönni. :(
A válaszokat elõre is köszönöm!
 
/*
*            DUDB functions
*       (c) Copyright 2006-2007 by DracoBlue
*
* @version   : 2.4
* @author    : DracoBlue (http://dracoblue.net)
* @date      : 8th May 2006
* @update    : 12th July 2007
* @require   : DUtils 1.10
* @require   : DINI 1.5
*
*/
#if defined _dudb_included
  #endinput
#endif
#define _dudb_included
#pragma library dutils
#include <dutils>
#include <dini>
#define dUser(%1).( udb_User(%1,
#define dUserINT(%1).( udb_UserInt(%1,
#define dUserSet(%1).( udb_UserSet(%1,
#define dUserSetINT(%1).( udb_UserSetInt(%1,
#define dUserSetFLOAT(%1).( udb_UserSetFloat(%1,
#define dUserFLOAT(%1).( udb_UserFloat(%1,
stock udb_hash(buf[]) {
new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
stock udb_encode(nickname[]) {
  new tmp[MAX_STRING];
  set(tmp,nickname);
  tmp=strreplace(\"_\",\"_00\",tmp);
  tmp=strreplace(\";\",\"_01\",tmp);
  tmp=strreplace(\"!\",\"_02\",tmp);
  tmp=strreplace(\"/\",\"_03\",tmp);
  tmp=strreplace(\"\\\\\",\"_04\",tmp);
  tmp=strreplace(\"[\",\"_05\",tmp);
  tmp=strreplace(\"]\",\"_06\",tmp);
  tmp=strreplace(\"?\",\"_07\",tmp);
  tmp=strreplace(\".\",\"_08\",tmp);
  tmp=strreplace(\"*\",\"_09\",tmp);
  tmp=strreplace(\"<\",\"_10\",tmp);
  tmp=strreplace(\">\",\"_11\",tmp);
  tmp=strreplace(\"{\",\"_12\",tmp);
  tmp=strreplace(\"}\",\"_13\",tmp);
  tmp=strreplace(\" \",\"_14\",tmp);
  tmp=strreplace(\"\\\"\",\"_15\",tmp);
  tmp=strreplace(\":\",\"_16\",tmp);
  tmp=strreplace(\"|\",\"_17\",tmp);
  tmp=strreplace(\"=\",\"_18\",tmp);
  return tmp;
}
stock udb_decode(nickname[]) {
  new tmp[MAX_STRING];
  set(tmp,nickname);
  tmp=strreplace(\"_01\",\";\",tmp);
  tmp=strreplace(\"_02\",\"!\",tmp);
  tmp=strreplace(\"_03\",\"/\",tmp);
  tmp=strreplace(\"_04\",\"\\\\\",tmp);
  tmp=strreplace(\"_05\",\"[\",tmp);
  tmp=strreplace(\"_06\",\"]\",tmp);
  tmp=strreplace(\"_07\",\"?\",tmp);
  tmp=strreplace(\"_08\",\".\",tmp);
  tmp=strreplace(\"_09\",\"*\",tmp);
  tmp=strreplace(\"_10\",\"<\",tmp);
  tmp=strreplace(\"_11\",\">\",tmp);
  tmp=strreplace(\"_12\",\"{\",tmp);
  tmp=strreplace(\"_13\",\"}\",tmp);
  tmp=strreplace(\"_14\",\" \",tmp);
  tmp=strreplace(\"_15\",\"\\\"\",tmp);
  tmp=strreplace(\"_16\",\":\",tmp);
  tmp=strreplace(\"_17\",\"|\",tmp);
  tmp=strreplace(\"_18\",\"=\",tmp);
  tmp=strreplace(\"_00\",\"_\",tmp);
  return tmp;
}
 
stock udb_Exists(nickname[]) {
  new tmp[MAX_STRING];
  format(tmp,sizeof(tmp),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return fexist(tmp);
}
 
stock udb_Remove(nickname[]) {
  new tmp[MAX_STRING];
  format(tmp,sizeof(tmp),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Remove(tmp);
}
stock udb_UserSetInt(nickname[],key[],value) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_IntSet(fname,key,value);
}
stock udb_UserSetFloat(nickname[],key[],Float:value) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_FloatSet(fname,key,value);
}
stock udb_UserSet(nickname[],key[],value[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Set(fname,key,value);
}
stock udb_User(nickname[],key[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  format(fname,sizeof(fname),dini_Get(fname,key));
  return fname;
}
stock Float:udb_UserFloat(nickname[],key[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Float(fname,key);
}
stock udb_UserInt(nickname[],key[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Int(fname,key);
}
stock udb_CheckLogin(nickname[],pwd[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  if (udb_UserInt(nickname,\"password_hash\")==udb_hash(pwd)) return true;
  return false;
}
stock udb_Create(nickname[],pwd[]) {
  if (udb_Exists(nickname)) return false;
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  dini_Create(fname);
  udb_UserSetInt(nickname,\"password_hash\",udb_hash(pwd));
  return true;
}
stock udb_RenameUser(nickname[],newnick[]) {
  new oldfname[MAX_STRING];
  new newfname[MAX_STRING];
  format(oldfname,sizeof(oldfname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  format(newfname,sizeof(newfname),\"ladmin/users/%s.sav\",udb_encode(newnick));
  return frenametextfile(oldfname,newfname);
}

 
Szerk.: Elnézést a dupla post-ért! Nem láttam hogy én voltam az utolsó kommentelõ. :/
 
Ez egy függvénykönyvtár... Ebbe nem kell semmit se átírni... (gyengébb elméjûeknek: DUDB egy függvénykönyvtár, ugyan úgy mint a dfile, a scriptjeidet kell átírni, nem pedig a függvénykönyvtárakat)
Cím: dFile GYORSABB MINT Y_INI (BIZONYÍTÉKKAL)
Írta: Monster112 - 2012. november 30. - 17:10:55
Igen, de ez az include dini alapján mûködik.
pl.:
 
stock udb_UserSet(nickname[],key[],value[]) {
  new fname[MAX_STRING];
  format(fname,sizeof(fname),\"ladmin/users/%s.sav\",udb_encode(nickname));
  return dini_Set(fname,key,value);
}