hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.23. 05:44



Jelenlévő felhasználók

Jelenleg 206 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 204 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Majestic-12 [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Regisztráció hiba
HozzászólásElküldve: 2017.01.06. 12:10 
Offline
Tud valamit

Csatlakozott: 2016.12.25. 12:43
Hozzászólások: 129
Megköszönt másnak: 35 alkalommal
Megköszönték neki: 4 alkalommal
Üdv!

Olyan problémám van hogy, egyes embernek nem menti el, vagyis el menti de ki írja hogy hibás jelszó, vagyis nem tud be jelentkezni.

  1. public LoadUsers() {
  2.     new file[200];
  3.  
  4.     get_configsdir(file, 199);
  5.     format(file, 199, "%s/regusers.ini", file);
  6.    
  7.     if(!file_exists(file))
  8.         return PLUGIN_HANDLED;
  9.    
  10.     new pFile  = fopen(file, "rt");
  11.    
  12.     if(pFile) {
  13.         new Line[192];
  14.         new s[2][32];
  15.    
  16.         while(!feof(pFile)) {
  17.             fgets(pFile, Line, 191);
  18.             if(Line[0] == ';' || strlen(Line) < 5)
  19.                 continue;
  20.  
  21.             parse(Line, s[0], 31, s[1], 31);
  22.            
  23.             copy(Data[uName], charsmax(Data[uName]), s[0]);
  24.             copy(Data[Pass], charsmax(Data[Pass]), s[1]);
  25.            
  26.             ArrayPushArray(RegUsers, Data);
  27.         }
  28.         fclose(pFile);
  29.     }
  30.     return 0;
  31. }
  32. public SaveUser(const sName[], const sPass[]) {
  33.     new file[200];
  34.    
  35.     copy(Data[uName], charsmax(Data[uName]), sName);
  36.     copy(Data[Pass], charsmax(Data[Pass]), sPass);
  37.    
  38.     ArrayPushArray(RegUsers, Data);
  39.  
  40.     get_configsdir(file, 199);
  41.     format(file, 199, "%s/regusers.ini", file);
  42.    
  43.     new pFile  = fopen(file, "at");
  44.    
  45.     if(pFile) {
  46.         new line[70];
  47.        
  48.         formatex(line, 69, "^"%s^" ^"%s^"", sName, sPass);
  49.        
  50.         fputs(pFile, line);
  51.         fclose(pFile);
  52.     }
  53.     return PLUGIN_HANDLED;
  54. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Regisztráció hiba
HozzászólásElküldve: 2017.01.06. 18:23 
Offline
Újonc
Avatar

Csatlakozott: 2017.01.02. 20:02
Hozzászólások: 8
Megköszönt másnak: 1 alkalommal
Szerintem hadjad aszt a plugin-t.
Használd ezt.
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <sqlx>
  4.  
  5. #define PLUGIN "Registration System"
  6. #define VERSION "1.3"
  7. #define AUTHOR "mforce"
  8.  
  9.  
  10. new const PREFIX[] = "RegSystem"
  11.    
  12. new const SQL_INFO[][] = {
  13.     "127.0.0.1",    // HOST
  14.     "username",     // USERNAME
  15.     "password",     // PASSWORD
  16.     "database"      // DATABASE
  17. }
  18.  
  19. enum _:reginfo
  20. {
  21.     usernamechk[32],
  22.     passwordchk[32]
  23. }
  24.  
  25. new Handle:g_SqlTuple;
  26. new Array:reglist
  27. new loaded, data[reginfo];
  28. new username[33][32], password[33][32], writepass[33][32], bool:loggedin[33], bool:registered[33];
  29.  
  30. public plugin_init() {
  31.     register_plugin(PLUGIN, VERSION, AUTHOR)
  32.    
  33.     register_clcmd("say /reg", "reg_menu")
  34.     register_clcmd("TYPE_PASSWORD", "Type_password")
  35.     register_clcmd("NEW_PASSWORD", "New_password")
  36.     register_cvar("reg_system", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
  37.     register_dictionary("reg_system.txt");
  38.     reglist = ArrayCreate(reginfo)
  39.     register_forward(FM_ClientUserInfoChanged, "ClientUserInfoChanged")
  40.     set_task(60.0, "regcheck", .flags = "b");
  41. }
  42.  
  43. public regcheck() {
  44.     new players[32], num;
  45.     get_players(players, num, "ch")
  46.     for(new i = 0; i < num; i++) {
  47.         new tempid = players[i]
  48.         if(!loggedin[tempid]) {
  49.             ChatColor(tempid, "^4[%s]^1 %L ^3/reg", PREFIX, LANG_SERVER, "HELP", LANG_SERVER, registered[tempid] ? "FOR_LOGIN":"FOR_REGISTER");
  50.         }
  51.     }
  52. }
  53.  
  54. public client_putinserver(id) {
  55.     if(!is_user_bot(id) && !is_user_hltv(id)) {
  56.         get_user_name(id, username[id], charsmax(username[]));
  57.         for(new i = 0; i < loaded; i++) {
  58.             ArrayGetArray(reglist, i, data)
  59.        
  60.             if(equal(username[id], data[usernamechk])) {
  61.                 copy(password[id], charsmax(password[]), data[passwordchk])
  62.                 registered[id] = true;
  63.                 set_task(10.0, "reg_menu", id);
  64.             }
  65.         }
  66.     }
  67. }
  68.  
  69. public client_disconnect(id) {
  70.     loggedin[id] = false;
  71.     registered[id] = false;
  72.     username[id] = "";
  73.     password[id] = "";
  74.     writepass[id] = "";
  75.     if(task_exists(id)) remove_task(id);
  76. }
  77.  
  78. public reg_menu(id) {
  79.     new temp[128], loggedinmsg[32], registeredmsg[32], logoffmsg[32], notreggedname[32], exitname[32];
  80.     formatex(notreggedname, charsmax(notreggedname), "%L", LANG_SERVER, "NOTREGGED");
  81.     formatex(loggedinmsg, charsmax(loggedinmsg), "%L", LANG_SERVER, loggedin[id] ? "LOGGED_IN":"REGISTERED");
  82.     formatex(temp, charsmax(temp), "\r[\y%s\r] %L", PREFIX, LANG_SERVER, "REG_MENU_TITLE", AUTHOR, registered[id] ? loggedinmsg:notreggedname);
  83.     new menu = menu_create(temp, "reg_menu_h" )
  84.  
  85.     formatex(temp, charsmax(temp), "%L", LANG_SERVER, "USERNAME", username[id])
  86.     menu_additem(menu,temp, "0",0)
  87.     formatex(temp, charsmax(temp), "%L", LANG_SERVER, "PASSWORD", writepass[id])
  88.     menu_additem(menu,temp, "1",0)
  89.     formatex(registeredmsg, charsmax(registeredmsg), "%L", LANG_SERVER, registered[id] ? "LOGIN":"REGISTER")
  90.     formatex(logoffmsg, charsmax(logoffmsg), "%L", LANG_SERVER, "LOGOFF")
  91.     formatex(temp, charsmax(temp), "%s^n", loggedin[id] ? logoffmsg:registeredmsg)
  92.     menu_additem(menu,temp, "2",0)
  93.     if(loggedin[id]) {
  94.         formatex(temp, charsmax(temp), "%L", LANG_SERVER, "CHGPASS")
  95.         menu_additem(menu,temp, "3",0)
  96.     }
  97.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  98.     formatex(exitname, charsmax(exitname), "%L", LANG_SERVER, "EXIT")
  99.     menu_setprop(menu, MPROP_EXITNAME, exitname);
  100.     menu_display(id, menu, 0)
  101.     return PLUGIN_HANDLED;
  102. }
  103.  
  104. public reg_menu_h(id, menu, item) {
  105.     if(item == MENU_EXIT) {
  106.         menu_destroy(menu);
  107.         return PLUGIN_HANDLED;
  108.     }
  109.     new command[6], name[64], access, callback;
  110.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
  111.  
  112.     switch(item)
  113.     {
  114.         case 0: {
  115.             reg_menu(id)
  116.         }
  117.         case 1: {
  118.             if(!loggedin[id]) {
  119.                 client_cmd(id, "messagemode TYPE_PASSWORD")
  120.             }
  121.             else reg_menu(id)
  122.         }
  123.         case 2: {
  124.             if(registered[id]) {
  125.                 if(!loggedin[id]) {
  126.                     if(strlen(password[id]) >= 6 && equal(writepass[id], password[id])) {
  127.                         ChatColor(id, "^4[%s]^1 %L ^3/reg", PREFIX, LANG_SERVER, "SUCCESS_LOGIN")
  128.                         loggedin[id] = true;
  129.                     }
  130.                     else {
  131.                         ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "WRONG_PASS")
  132.                         writepass[id] = "";
  133.                         reg_menu(id)
  134.                     }
  135.                 }
  136.                 else {
  137.                     loggedin[id] = false;
  138.                     ChatColor(id, "^4[%s]^1 %L ^3/reg", PREFIX, LANG_SERVER, "SUCCESS_LOGOFF")
  139.                     writepass[id] = "";
  140.                 }
  141.             }
  142.             else {
  143.                 if(strlen(writepass[id]) >= 6) {
  144.                     ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "SUCCESS_REGISTER")
  145.                     copy(password[id], charsmax(password[]), writepass[id]);
  146.                     registered[id] = true;
  147.                     save(id);
  148.                     reg_menu(id)
  149.                 }
  150.                 else reg_menu(id)
  151.             }
  152.         }
  153.         case 3: {
  154.             if(loggedin[id]) {
  155.                 client_cmd(id, "messagemode NEW_PASSWORD")
  156.             }
  157.             else reg_menu(id)
  158.         }
  159.     }
  160.    
  161.     menu_destroy(menu);
  162.     return PLUGIN_HANDLED;
  163. }
  164.  
  165. public Type_password(id) {
  166.     new adat[32]
  167.     read_args(adat, charsmax(adat))
  168.     remove_quotes(adat)
  169.     if(strlen(adat) < 6) {
  170.         ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "PASS_CHANGE1")
  171.     }
  172.     else {
  173.         copy(writepass[id], charsmax(writepass[]), adat)
  174.     }
  175.     reg_menu(id)
  176. }
  177.  
  178. public New_password(id) {
  179.     if(!loggedin[id]) return;
  180.    
  181.     new adat[32]
  182.     read_args(adat, charsmax(adat))
  183.     remove_quotes(adat)
  184.     if(strlen(adat) < 6) {
  185.         ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "PASS_CHANGE1")
  186.     }
  187.     else {
  188.         copy(writepass[id], charsmax(writepass[]), adat)
  189.         copy(password[id], charsmax(password[]), adat)
  190.         ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "PASS_CHANGE2")
  191.         update(id);
  192.     }
  193.     reg_menu(id)
  194. }
  195.  
  196. public ClientUserInfoChanged(id, buffer) {
  197.     if (!is_user_connected(id))
  198.         return FMRES_IGNORED
  199.     static name[32], val[32]
  200.     get_user_name(id, name, charsmax(name))
  201.     engfunc(EngFunc_InfoKeyValue, buffer, "name", val, charsmax(val))
  202.     if (equal(val, name))
  203.         return FMRES_IGNORED
  204.     engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", name)
  205.     client_cmd(id, "name ^"%s^"; setinfo name ^"%s^"", name, name)
  206.     ChatColor(id, "^4[%s]^1 %L", PREFIX, LANG_SERVER, "NAMECHANGE_BLOCK")
  207.     return FMRES_SUPERCEDE
  208. }
  209.  
  210. public plugin_natives() {
  211.     register_native("is_user_loggedin", "native_loggedin", 1);
  212.     register_native("is_user_registered", "native_registered", 1);
  213. }
  214. public native_loggedin(index) {
  215.     return loggedin[index];
  216. }
  217. public native_registered(index) {
  218.     return registered[index];
  219. }
  220.  
  221. stock ChatColor(const id, const szMessage[], any:...) {
  222.     static pnum, players[32], szMsg[190], IdMsg;
  223.     vformat(szMsg, charsmax(szMsg), szMessage, 3);
  224.    
  225.     if(!IdMsg) IdMsg = get_user_msgid("SayText");
  226.    
  227.     if(id) {
  228.         if(!is_user_connected(id)) return;
  229.         players[0] = id;
  230.         pnum = 1;
  231.     }
  232.     else get_players(players, pnum, "ch");
  233.    
  234.     for(new i; i < pnum; i++) {
  235.         message_begin(MSG_ONE, IdMsg, .player = players[i]);
  236.         write_byte(players[i]);
  237.         write_string(szMsg);
  238.         message_end();
  239.     }
  240. }
  241.  
  242. public plugin_cfg() {
  243.     new Query[512];
  244.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  245.     formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS registration_system (`username` varchar(32) NOT NULL,`password` varchar(32) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  246.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  247.     load()
  248. }
  249.  
  250. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  251.     if(FailState == TQUERY_CONNECT_FAILED)
  252.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  253.     else if(FailState == TQUERY_QUERY_FAILED)
  254.         set_fail_state("Query Error");
  255.     if(Errcode)
  256.         log_amx("Hibat dobtam: %s",Error);
  257. }
  258.  
  259. public load() {
  260.     new Query[512];
  261.     formatex(Query, charsmax(Query), "SELECT * FROM `registration_system`;")
  262.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query)
  263. }
  264.  
  265. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  266.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  267.         log_amx("%s", Error)
  268.         return
  269.     }
  270.     else {
  271.         while(SQL_MoreResults(Query)) {
  272.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "username"), data[usernamechk], charsmax(data[usernamechk]));
  273.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "password"), data[passwordchk], charsmax(data[passwordchk]));
  274.             ArrayPushArray(reglist, data)
  275.             loaded++
  276.             SQL_NextRow(Query)
  277.         }
  278.     }
  279. }
  280.  
  281. public save(id) {
  282.     copy(data[usernamechk], charsmax(data[usernamechk]), username[id])
  283.     copy(data[passwordchk], charsmax(data[passwordchk]), password[id])
  284.     ArrayPushArray(reglist, data)
  285.     loaded++
  286.     new text[512];
  287.     formatex(text, charsmax(text), "INSERT INTO `registration_system` (`username`, `password`) VALUES (^"%s^", ^"%s^");", username[id], password[id])
  288.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  289. }
  290.  
  291. public update(id) {
  292.     for(new i = 0; i < loaded; i++) {
  293.             ArrayGetArray(reglist, i, data)
  294.        
  295.             if(equal(data[usernamechk], username[id])) {
  296.                 copy(data[passwordchk], charsmax(data[passwordchk]), password[id])
  297.                 ArraySetArray(reglist, i, data)
  298.             }
  299.     }
  300.     new text[512];
  301.     formatex(text, charsmax(text), "UPDATE `registration_system` SET password = ^"%s^" WHERE username = ^"%s^";", password[id], username[id])
  302.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  303. }
  304.  
  305. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  306.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  307.         log_amx("%s", Error)
  308.         return
  309.     }
  310. }
  311.  
  312. public plugin_end() {
  313.     SQL_FreeHandle(g_SqlTuple)
  314. }

_________________
EventScript Moderators
Feltöltöt EventScript


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Regisztráció hiba
HozzászólásElküldve: 2017.01.06. 21:08 
Offline
Tud valamit

Csatlakozott: 2016.12.25. 12:43
Hozzászólások: 129
Megköszönt másnak: 35 alkalommal
Megköszönték neki: 4 alkalommal
Az a baj hogy mikor regisztrálok, és más is ő nem tud de én igen, és ha meg adom neki a jelszót meg a felhasználónevet akkor be tud jelentkezni az én jelszómat meg felhasználóval

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <colorchat>
  4.  
  5. new const PLUGIN[] = "Regisztracios Menu";
  6. new const VERSION[] = "1.0";
  7. new const AUTHOR[] = "Star";
  8.  
  9. new const Chat_Prefix[] = "[Információ]";
  10.  
  11. new Username[33][32], Password[33][32];
  12. new bool: Loggedin[33];
  13. new Menu[33];
  14.  
  15. enum _:info
  16. {
  17.     uname[32],
  18.     pass[32]
  19. };
  20.  
  21. new Array:regusers, data[info];
  22.  
  23. public plugin_init() {
  24.     register_plugin(PLUGIN, VERSION, AUTHOR);
  25.    
  26.     regusers = ArrayCreate(info);
  27.    
  28.     LoadUsers();
  29.    
  30.     register_clcmd("say /reg", "Regisztracio_Menu");
  31.    
  32.     register_clcmd("Felhasznalo", "GetUsername");
  33.     register_clcmd("Jelszo", "GetPassword");
  34. }
  35.  
  36. public client_putinserver(id)
  37. {
  38.     Loggedin[id] = false;
  39.     Username[id] = "";
  40.     Password[id] = "";
  41. }
  42.  
  43. public Regisztracio_Menu(id)
  44. {
  45.     new menu = menu_create("[\ySzerver] \r- \dRegisztracios Rendszer^n\rÜdv a szerveren!", "RegFo_h");
  46.    
  47.     if(!Loggedin[id])
  48.     {
  49.         menu_additem(menu, "\yRegisztracio^n", "1", 0);
  50.         menu_additem(menu, "\yBejelentkezes^n", "2", 0);
  51.     }
  52.     else menu_additem(menu, "\yKijeletkezes", "1", 0);
  53.    
  54.     menu_display(id, menu, 0);
  55. }
  56. public RegFo_h(id, menu, item)
  57. {
  58.     if(item == MENU_EXIT)
  59.     {
  60.         menu_destroy(menu);
  61.         return;
  62.     }
  63.    
  64.     if(Loggedin[id])
  65.     {
  66.         Loggedin[id] = false;
  67.         ColorChat(0, GREEN, "%s^1Sikeresen kijelentkeztel.", Chat_Prefix);
  68.         return;
  69.     }
  70.     Menu[id] = item;
  71.     Reg_Menu(id);
  72. }
  73. public Reg_Menu(id)
  74. {
  75.     new cim[121];
  76.     new menu = menu_create(Menu[id] == 0 ? "[\ySzerver] \r- \dRegisztracio" : "[\ySzerver] \r- \dBejelentkezes", "Reg_h");
  77.    
  78.     formatex(cim, charsmax(cim), "Felhasznalonev: \r%s^n", Username[id]);
  79.     menu_additem(menu, cim, "1", 0);
  80.    
  81.     formatex(cim, charsmax(cim), "Jelszo: \r%s\n^n^n", Password[id]);
  82.     menu_additem(menu, cim, "2", 0);
  83.    
  84.     menu_additem(menu, Menu[id] == 0 ? "\yRegisztralas!" : "\yBejelentkezes!", "3", 0);
  85.    
  86.     menu_display(id, menu, 0);
  87. }
  88. public Reg_h(id, menu, item)
  89. {
  90.     if(item == MENU_EXIT)
  91.     {
  92.         menu_destroy(menu);
  93.         return;
  94.     }
  95.    
  96.     switch(item)
  97.     {
  98.         case 0:client_cmd(id, "messagemode Felhasznalo");
  99.         case 1:client_cmd(id, "messagemode Jelszo");
  100.         case 2:
  101.         {
  102.             new User = CheckUser(Username[id]);
  103.             if(Menu[id] == 0)
  104.             {
  105.                 if(User == -1)
  106.                 {
  107.                     ColorChat(0, GREEN, "%s^1Sikeresen regisztraltal, most mar bejelentkezhetsz! ^4Felhasznalo:^1 %s | ^4Jelszo:^1 %s", Chat_Prefix, Username[id], Password[id]);
  108.                     SaveUser(Username[id], Password[id])
  109.                     Menu[id] = 1;
  110.                     Reg_Menu(id);
  111.                 }
  112.                 else
  113.                 {
  114.                     ColorChat(0, GREEN, "%s^3%s ^1Felhasznalo mar letezik!", Chat_Prefix, Username[id]);
  115.                     Reg_Menu(id);
  116.                 }
  117.             }
  118.             else if(Menu[id] == 1)
  119.             {
  120.                 if(User > -1)
  121.                 {
  122.                     ArrayGetArray(regusers, User, data);
  123.                     if(equal(data[pass], Password[id]))
  124.                     {
  125.                         ColorChat(0, GREEN, "%s^1Üdv újra itt^4 %s^1!", Chat_Prefix, Username[id]);
  126.                         Loggedin[id] = true;
  127.                     }
  128.                     else
  129.                     {
  130.                         ColorChat(0, GREEN, "%s^1Hibas jelszo, probald ujra.", Chat_Prefix);
  131.                         Reg_Menu(id);
  132.                     }
  133.                 }
  134.             }
  135.         }
  136.     }
  137. }
  138.  
  139. public GetUsername(id) {
  140.     new u[32];
  141.     read_args(u, charsmax(u));
  142.     remove_quotes(u);
  143.     if(strlen(u) < 3)
  144.     {
  145.         ColorChat(0, GREEN, "%s^1A felhasznalonevednek hosszabb kell hogy legyen mint 3 karakter!", Chat_Prefix, Username[id]);
  146.         client_cmd(id, "messagemode Felhasznalo");
  147.     }
  148.     else copy(Username[id], charsmax(Username[]), u);
  149.    
  150.     Reg_Menu(id);
  151. }
  152.  
  153. public GetPassword(id) {
  154.     new p[32];
  155.     read_args(p, charsmax(p));
  156.     remove_quotes(p);
  157.     if(strlen(p) < 6)
  158.     {
  159.         ColorChat(0, GREEN, "%s^1A jelszavad hosszabb kell hogy legyen mint 6 karakter!", Chat_Prefix);
  160.         client_cmd(id, "messagemode Jelszo");
  161.     }
  162.     else copy(Password[id], charsmax(Password[]), p);
  163.    
  164.     Reg_Menu(id);
  165. }
  166.  
  167. public CheckUser(const sName[])
  168. {
  169.     for(new i = 0; i < ArraySize(regusers); i++)
  170.     {
  171.         ArrayGetArray(regusers, i, data);
  172.    
  173.         if(equal(sName, data[uname])) return i;
  174.     }
  175.     return -1;
  176. }
  177.  
  178. public LoadUsers()
  179. {
  180.     new file[200];
  181.  
  182.     get_configsdir(file, 199);
  183.     format(file, 199, "%s/regusers.ini", file);
  184.    
  185.     if (!file_exists(file))
  186.         return PLUGIN_HANDLED;
  187.    
  188.     new pFile  = fopen(file, "rt");
  189.    
  190.     if(pFile)
  191.     {
  192.         new Line[192];
  193.        
  194.         new s[2][32];
  195.         while(!feof(pFile))
  196.         {
  197.             fgets(pFile, Line, 191);
  198.             if(Line[0] == ';' || strlen(Line) < 5)
  199.                 continue;
  200.  
  201.             parse(Line, s[0], 31, s[1], 31);
  202.            
  203.             copy(data[uname], charsmax(data[uname]), s[0]);
  204.             copy(data[pass], charsmax(data[pass]), s[1]);
  205.            
  206.             ArrayPushArray(regusers, data);
  207.         }
  208.         fclose(pFile);
  209.     }
  210.     return 0;
  211. }
  212.  
  213. public SaveUser(const sName[], const sPass[])
  214. {
  215.     new file[200];
  216.    
  217.     copy(data[uname], charsmax(data[uname]), sName);
  218.     copy(data[pass], charsmax(data[pass]), sPass);
  219.    
  220.     ArrayPushArray(regusers, data);
  221.  
  222.     get_configsdir(file, 199);
  223.     format(file, 199, "%s/regusers.ini", file);
  224.    
  225.     new pFile  = fopen(file, "at");
  226.    
  227.     if(pFile)
  228.     {
  229.         new line[70];
  230.        
  231.         formatex(line, 69, "^"%s^" ^"%s^"", sName, sPass);
  232.        
  233.         fputs(pFile, line);
  234.         fclose(pFile);
  235.     }
  236.     return PLUGIN_HANDLED;
  237. }


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 8 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole