Advertisement
Guest User

Untitled

a guest
May 28th, 2011
317
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.82 KB | None | 0 0
  1. Plugin!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2.  
  3.  
  4.  
  5. /*
  6. * DUDB functions
  7. * (c) Copyright 2006-2007 by DracoBlue
  8. *
  9. * @version : 2.4
  10. * @author : DracoBlue (http://dracoblue.net)
  11. * @date : 8th May 2006
  12. * @update : 12th July 2007
  13. * @require : DUtils 1.10
  14. * @require : DINI 1.5
  15. *
  16. * This Unit is provided as is (no warranties).
  17. * Feel free to use it, a little message in
  18. * about box is honouring thing, isn't it?
  19. *
  20. */
  21.  
  22. #if defined _dudb_included
  23. #endinput
  24. #endif
  25.  
  26. #define _dudb_included
  27. #pragma library dutils
  28.  
  29. #include <dutils>
  30. #include <dini>
  31. #define dUser(%1).( udb_User(%1,
  32. #define dUserINT(%1).( udb_UserInt(%1,
  33. #define dUserSet(%1).( udb_UserSet(%1,
  34. #define dUserSetINT(%1).( udb_UserSetInt(%1,
  35. #define dUserSetFLOAT(%1).( udb_UserSetFloat(%1,
  36. #define dUserFLOAT(%1).( udb_UserFloat(%1,
  37.  
  38. stock udb_hash(buf[]) {
  39. new length=strlen(buf);
  40. new s1 = 1;
  41. new s2 = 0;
  42. new n;
  43. for (n=0; n<length; n++)
  44. {
  45. s1 = (s1 + buf[n]) % 65521;
  46. s2 = (s2 + s1) % 65521;
  47. }
  48. return (s2 << 16) + s1;
  49. }
  50.  
  51. stock udb_encode(nickname[]) {
  52. new tmp[MAX_STRING];
  53. set(tmp,nickname);
  54. tmp=strreplace("_","_00",tmp);
  55. tmp=strreplace(";","_01",tmp);
  56. tmp=strreplace("!","_02",tmp);
  57. tmp=strreplace("/","_03",tmp);
  58. tmp=strreplace("\\","_04",tmp);
  59. tmp=strreplace("[","_05",tmp);
  60. tmp=strreplace("]","_06",tmp);
  61. tmp=strreplace("?","_07",tmp);
  62. tmp=strreplace(".","_08",tmp);
  63. tmp=strreplace("*","_09",tmp);
  64. tmp=strreplace("<","_10",tmp);
  65. tmp=strreplace(">","_11",tmp);
  66. tmp=strreplace("{","_12",tmp);
  67. tmp=strreplace("}","_13",tmp);
  68. tmp=strreplace(" ","_14",tmp);
  69. tmp=strreplace("\"","_15",tmp);
  70. tmp=strreplace(":","_16",tmp);
  71. tmp=strreplace("|","_17",tmp);
  72. tmp=strreplace("=","_18",tmp);
  73. return tmp;
  74. }
  75.  
  76. stock udb_decode(nickname[]) {
  77. new tmp[MAX_STRING];
  78. set(tmp,nickname);
  79. tmp=strreplace("_01",";",tmp);
  80. tmp=strreplace("_02","!",tmp);
  81. tmp=strreplace("_03","/",tmp);
  82. tmp=strreplace("_04","\\",tmp);
  83. tmp=strreplace("_05","[",tmp);
  84. tmp=strreplace("_06","]",tmp);
  85. tmp=strreplace("_07","?",tmp);
  86. tmp=strreplace("_08",".",tmp);
  87. tmp=strreplace("_09","*",tmp);
  88. tmp=strreplace("_10","<",tmp);
  89. tmp=strreplace("_11",">",tmp);
  90. tmp=strreplace("_12","{",tmp);
  91. tmp=strreplace("_13","}",tmp);
  92. tmp=strreplace("_14"," ",tmp);
  93. tmp=strreplace("_15","\"",tmp);
  94. tmp=strreplace("_16",":",tmp);
  95. tmp=strreplace("_17","|",tmp);
  96. tmp=strreplace("_18","=",tmp);
  97. tmp=strreplace("_00","_",tmp);
  98. return tmp;
  99. }
  100.  
  101.  
  102. stock udb_Exists(nickname[]) {
  103. new tmp[MAX_STRING];
  104. format(tmp,sizeof(tmp),"%s.dudb.sav",udb_encode(nickname));
  105. return fexist(tmp);
  106. }
  107.  
  108.  
  109. stock udb_Remove(nickname[]) {
  110. new tmp[MAX_STRING];
  111. format(tmp,sizeof(tmp),"%s.dudb.sav",udb_encode(nickname));
  112. return dini_Remove(tmp);
  113. }
  114.  
  115. stock udb_UserSetInt(nickname[],key[],value) {
  116. new fname[MAX_STRING];
  117. format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname));
  118. return dini_IntSet(fname,key,value);
  119. }
  120.  
  121. stock udb_UserSetFloat(nickname[],key[],Float:value) {
  122. new fname[MAX_STRING];
  123. format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname));
  124. return dini_FloatSet(fname,key,value);
  125. }
  126.  
  127. stock udb_UserSet(nickname[],key[],value[]) {
  128. new fname[MAX_STRING];
  129. format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname));
  130. return dini_Set(fname,key,value);
  131. }
  132.  
  133. stock udb_User(nickname[],key[]) {
  134. new fname[MAX_STRING];
  135. format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname));
  136. format(fname,sizeof(fname),dini_Get(fname,key));
  137. return fname;
  138. }
  139.  
  140. stock Float:udb_UserFloat(nickname[],key[]) {
  141. new fname[MAX_STRING];
  142. format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname));
  143. return dini_Float(fname,key);
  144. }
  145.  
  146. stock udb_UserInt(nickname[],key[]) {
  147. new fname[MAX_STRING];
  148. format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname));
  149. return dini_Int(fname,key);
  150. }
  151.  
  152. stock udb_CheckLogin(nickname[],pwd[]) {
  153. new fname[MAX_STRING];
  154. format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname));
  155. if (udb_UserInt(nickname,"password_hash")==udb_hash(pwd)) return true;
  156. return false;
  157. }
  158.  
  159.  
  160. stock udb_Create(nickname[],pwd[]) {
  161. if (udb_Exists(nickname)) return false;
  162. new fname[MAX_STRING];
  163. format(fname,sizeof(fname),"%s.dudb.sav",udb_encode(nickname));
  164. dini_Create(fname);
  165. udb_UserSetInt(nickname,"password_hash",udb_hash(pwd));
  166. return true;
  167. }
  168.  
  169. stock udb_RenameUser(nickname[],newnick[]) {
  170. new oldfname[MAX_STRING];
  171. new newfname[MAX_STRING];
  172. format(oldfname,sizeof(oldfname),"%s.dudb.sav",udb_encode(nickname));
  173. format(newfname,sizeof(newfname),"%s.dudb.sav",udb_encode(newnick));
  174. return frenametextfile(oldfname,newfname);
  175. }
  176.  
  177.  
  178.  
  179.  
  180. ADDD IT ON WORDTEXT AND SAVE IT IN ICLUDES !!!!!!!!!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement