/** 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);}
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õ. :/
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);}