hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 18:21



Jelenlévő felhasználók

Jelenleg 217 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 215 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], Google [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  [ 41 hozzászólás ]  Oldal 1 2 3 4 5 Következő
Szerző Üzenet
 Hozzászólás témája: Admin Login System
HozzászólásElküldve: 2015.12.05. 21:20 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Plugin Neve:
Admin Login System
Plugint készitette:
mforce
Játék:
Mind
Kategória:
Általános célú
Eredeti link:
Nincs megadva
Jóváhagyó:


Admin Login System
v1.2.1 by mforce


Leírás:
Egyszerű menüs admin bejelentkező plugin. Olvas SQL-ből vagy fájlból.
Nincsen semmi extra funkciója az admin bejelentkezés - kijelentkezésen - azonosításon kívül.
Saját igényeim szerint csináltam ezt hirtelen, mert a setinfo-s admin jelszavakat rcon hozzáféréssel bármilyen prefixxel DeRoiD fórumtársunk felhívta a figyelmem, hogy milyen egyszerű lelopni + az ő régi Admin rendszer pluginjából indultam ki.

SteamID alapján azonosít csak! Ehhez társítható a jelszó (minimum 6 karakter) és a jogok.
Ha valakit megtalál az adatbázisban vagy a fájlban (attól függ mire állítod), akkor szerverre lépés után 10mp múlva feldobja neki a bejelentkező menüt.
Ha nem lép be, akkor 60 másodpercenként kap egy üzenetet:
Kép
Akinek a steamid-je nem szerepel az adatbázisban vagy a fájlban az a menüt se tudja elérni, nemhogy nem kap üzenetet.

Parancsok:
Adminok újratöltése: /admintoltes

Konfiguráció:
Lehetőség van az SQL adatbázisban vagy a fájlban hozzáadni az adminokat, a jelszót és a kívánt jogokat.

Fájl ("steamid" "jelszó" "jogok"):
Kép

SQL (A tábla magától generálódik, és az auto increment (id) részhez nem kell nyúlni, a szerkesztés miatt szolgál.):
Kép

Ezeken felül a szerver prefix és az SQL vagy fájl támogatás állítható a 7. - 22. sorig.:
Kód:
new const PREFIX[] = "AdminSystem"

// HA SQL-t szeretnél használni, vedd ki a # elől a //-t és írd be az adatokat lentebb. (alapból fájlba ment)
//#define SQL

#if defined SQL
   #include <sqlx>
   new Handle:g_SqlTuple;
   
   new const SQL_INFO[][] = {
      "127.0.0.1",   // HOST
      "USERNAME",      // USERNAME
      "PASSWORD",      // PASSWORD
      "DATABASE"      // DATABASE
   }
#endif


Telepítés a mappák szerint értelemszerűen. Scriptingben lévő .sma-t meg .amxx-re
kompilálod és plugins mappába helyezed.

Include:
Készítettem hozzá egy includeot is, mert kellett nekem.
Egyetlen native szerepel benne, a lényege az, ha valaki nem lép be, de szerepel a SteamID-je az adatbázisban vagy a fájlban, akkor azt ki lehet olvasni.
Például: Nekem az AFK pluginomhoz kellett, hogy ha valamelyik admin AFK speciben, nem kell mapváltásonként belépnie az adminba, hogy őt ne dobja ki.
Ehhez példa:
Kód:
#include <inadmin>

in_admin_system(id)

Ha erre nincs szükséged, egyszerűen nem kell akkor az include-al foglalkoznod.

Képek:
KépKépKép

Kép
Kép
Kép
Kép

Változtatások:
v1.1 - Menü bezáráskor hiba javítva, chatcolor javítva, kódvezetés javítva.
v1.2 - Fájl / SQL olvasás most már mapresinként van egyszer. (nem minden csatlakozónál).
Memóriacellákban (Array) tárolás. SQL javítva.
Funkció az adminok újratöltésére: /admintoltes
v1.2.1 - ArrayDestroy hozzáadva, ArraySize használata külön számláló tömb helyett, minimális kódvezetés fix.

Virustotal:


SMA
AMXX
Tömörített fájl
*A fordítás a aghl.ru oldalon történik.

    _________________
    GitHub - mforce

    Ők köszönték meg mforce nek ezt a hozzászólást (összesen 5): alfaanero (2015.12.05. 22:49) • kiki (2015.12.07. 15:06) • micsinai01 (2015.12.27. 22:25) • ReDSTAR (2016.09.21. 22:01) • FonoK (2017.01.26. 13:32)
      Népszerűség: 11.36%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2015.12.08. 16:09 
    Offline
    Tag

    Csatlakozott: 2015.12.08. 16:06
    Hozzászólások: 43
    Megköszönt másnak: 4 alkalommal
    Megköszönték neki: 5 alkalommal
    Hali, és ebben van minden admin menü, ami egy adminnak kell? pl kick, stb..

    Ők köszönték meg KillMan nek ezt a hozzászólást: FonoK (2017.01.26. 13:32)
      Népszerűség: 2.27%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2015.12.08. 16:15 
    Offline
    Fórum Moderátor
    Avatar

    Csatlakozott: 2012.07.02. 17:41
    Hozzászólások: 1641
    Megköszönt másnak: 121 alkalommal
    Megköszönték neki: 247 alkalommal
    KillMan írta:
    Hali, és ebben van minden admin menü, ami egy adminnak kell? pl kick, stb..

    Ez csak egy login system, azaz az alap admin menüt meg tudod nyitni, ha beléptél!

    _________________
    Kép

    Ők köszönték meg theglorious nek ezt a hozzászólást: FonoK (2017.01.26. 13:32)
      Népszerűség: 2.27%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2015.12.08. 16:17 
    Offline
    Tag

    Csatlakozott: 2015.12.08. 16:06
    Hozzászólások: 43
    Megköszönt másnak: 4 alkalommal
    Megköszönték neki: 5 alkalommal
    Jajj értem köszönöm :D

    Ők köszönték meg KillMan nek ezt a hozzászólást: FonoK (2017.01.26. 13:32)
      Népszerűség: 2.27%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2016.01.05. 21:41 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2015.04.10. 19:49
    Hozzászólások: 610
    Megköszönt másnak: 53 alkalommal
    Megköszönték neki: 147 alkalommal
    1. copy(writepass[id], charsmax(writepass), "")


    Helyett használható:
    1. writepass[ id ][ 0 ] = EOS; // = End Of String ( fordító által generált konstans )
    2. writepass[ id ][ 0 ] = '^0';
    3. writepass[ id ][ 0 ] = 0;


    Így biztos üres lesz és nem kell native hívás.

    _________________
    Néha itt, de többször nem.

    Ők köszönték meg Akosch:. nek ezt a hozzászólást: FonoK (2017.01.26. 13:32)
      Népszerűség: 2.27%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2016.01.05. 21:58 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2014.09.08. 22:21
    Hozzászólások: 3014
    Megköszönt másnak: 96 alkalommal
    Megköszönték neki: 555 alkalommal
    Akkor EOS, de miért [0] ?

    Ha volt több karakter?
    End of string, oké, hogy szöveg vége, azért? De akkor a 0 érték?

    _________________
    GitHub - mforce

    Ők köszönték meg mforce nek ezt a hozzászólást: FonoK (2017.01.26. 13:32)
      Népszerűség: 2.27%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2016.01.05. 22:19 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2015.04.10. 19:49
    Hozzászólások: 610
    Megköszönt másnak: 53 alkalommal
    Megköszönték neki: 147 alkalommal
    Ugyanaz mindhárom, amelyik jobban kézre áll neked. ( EOS = '^0' = 0 )
    Ugye egy karakterlánc vége mindig a záró 0 ( EOS ), ezért is a charsmax ( sizeof változó - 1 ), különben, ha az utolsó indexre is értéket tennél jönne az array out of bounds error.
    És ezzel amit előbb írtam rögtön az 1. karakter ( 0. index ) a zárás lesz, ha bekérnéd formatexnél stringként pl lehetne a 2. karakter egy betű, nem olvasná addig, mert hamarabb le van zárva a karakterláncod. ( de tudsz hivatkozni a zárás utáni részre is, ha kéne )
    Egy példa kód:
    1. #include < amxmodx >
    2.  
    3. public plugin_init( )
    4. {
    5.       register_plugin( "TESZT", "1.0", "" );
    6.  
    7.       register_clcmd( "say /teszt", "fnTeszt" );
    8. }
    9.  
    10. public fnTeszt( iJatekosId )
    11. {
    12.       new sSzoveg[ 5 ] = { 'a', 'b', '^0', 'd', 'e' };
    13.  
    14.       client_print( iJatekosId, print_chat, "Teszt: %s | %s", sSzoveg, sSzoveg[ 3 ] );
    15. // Kimenet: Teszt: ab | de
    16. }

    _________________
    Néha itt, de többször nem.

    Ők köszönték meg Akosch:. nek ezt a hozzászólást (összesen 2): mforce (2016.01.05. 22:47) • FonoK (2017.01.26. 13:32)
      Népszerűség: 4.55%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2016.01.07. 19:04 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2014.09.08. 22:21
    Hozzászólások: 3014
    Megköszönt másnak: 96 alkalommal
    Megköszönték neki: 555 alkalommal
    Akinek van ideje rá tesztelje legyen szíves.
    Mini kódvezetés fix, Akosch:. előző hozzászólása alapján
    +

    Új funkció: Lejárati idő

    Fájlban és SQL-ben egyaránt: "steamid" "jelszó" "jogok" "lejárati idő"
    Példa: "STEAM_0:0:12345678" "jelszo582" "abcdefghijklmnopqrstu" "2016/09/22"

    Ha soha ne járjon le:
    "STEAM_0:0:12345678" "jelszo582" "abcdefghijklmnopqrstu" "SOHA"

    Map resinként ellenőriz és ha valamelyik lejárt, akkor törli azt a sort a fájlban vagy SQL-ben.
    Megjegyzés: SQL-hez vagy létrehoztok egy date mezőt, NOT NULL 32 VARCHAR vagy törlitek az előző táblát, ha van. Másképp nem tudja hozzáadni.

    1. #include <amxmodx>
    2.  
    3. #define PLUGIN "Admin Login System"
    4. #define VERSION "1.3"
    5. #define AUTHOR "mforce"
    6.  
    7. new const PREFIX[] = "AdminSystem"
    8.  
    9. // HA SQL-t szeretnél használni, vedd ki a # elől a //-t és írd be az adatokat lentebb. (alapból fájlba ment)
    10. //#define SQL
    11.  
    12. #if defined SQL
    13.     #include <sqlx>
    14.     new Handle:g_SqlTuple;
    15.    
    16.     new const SQL_INFO[][] = {
    17.         "127.0.0.1",    // HOST
    18.         "USERNAME",     // USERNAME
    19.         "PASSWORD",     // PASSWORD
    20.         "DATABASE"      // DATABASE
    21.     }
    22. #endif
    23.  
    24. enum _:admininfo
    25. {
    26.     steamidchk[32],
    27.     passwordchk[32],
    28.     flagschk[32],
    29.     datechk
    30. }
    31.  
    32. new Array:adminlist
    33. new data[admininfo];
    34. new password[33][32], flags[33][32], writepass[33][32], bool:loggedin[33], bool:admins[33];
    35.  
    36. public plugin_init() {
    37.     register_plugin(PLUGIN, VERSION, AUTHOR)
    38.    
    39.     register_clcmd("say /login", "admin_menu")
    40.     register_clcmd("say /admintoltes", "loadadmins")
    41.     register_clcmd("JELSZO", "Jelszo")
    42.     register_cvar("admin_login_system", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
    43.     set_task(60.0, "admincheck", .flags = "b");
    44.     adminlist = ArrayCreate(admininfo)
    45. }
    46.  
    47. public admincheck() {
    48.     new players[32], num;
    49.     get_players(players, num, "ch")
    50.     for(new i = 0; i < num; i++) {
    51.         new tempid = players[i]
    52.         if(admins[tempid] && !loggedin[tempid]) {
    53.             ChatColor(tempid, "^4[%s]^1 Az admin bejelentkezéshez írd be: ^3/login", PREFIX)
    54.         }
    55.     }
    56. }
    57.  
    58. public client_putinserver(id) {
    59.     if(!is_user_bot(id) && !is_user_hltv(id)) {
    60.         new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
    61.         if(containi(steamid, "_ID_LAN") != -1) return;
    62.  
    63.         for(new i = 0; i < ArraySize(adminlist); i++) {
    64.             ArrayGetArray(adminlist, i, data)
    65.        
    66.             if(equal(steamid, data[steamidchk])) {
    67.                 copy(password[id], charsmax(password[]), data[passwordchk])
    68.                 copy(flags[id], charsmax(flags[]), data[flagschk])
    69.                 admins[id] = true;
    70.                 set_task(10.0, "admin_menu", id);
    71.             }
    72.         }
    73.     }
    74. }
    75.  
    76. public loadadmins(id) {
    77.     if(get_user_flags(id) & ADMIN_RCON) {
    78.         ArrayClear(adminlist)
    79.         ChatColor(id, "^4[%s]^1 Adminok újra betöltve.", PREFIX)
    80.         load()
    81.     }
    82.     else ChatColor(id, "^4[%s]^1 Nincs jogod a parancs használatához.", PREFIX)
    83. }
    84.  
    85. public client_disconnect(id) {
    86.     loggedin[id] = false;
    87.     admins[id] = false;
    88.     password[id][0] = EOS;
    89.     writepass[id][0] = EOS;
    90.     flags[id][0] = EOS;
    91.     if(task_exists(id)) remove_task(id);
    92. }
    93.  
    94. public admin_menu(id) {
    95.     if(!admins[id]) {
    96.         ChatColor(id, "^4[%s]^1 Nincs jogod az admin belépéshez, mert nem szerepelsz adatbázisban.", PREFIX)
    97.         return PLUGIN_HANDLED;
    98.     }
    99.    
    100.     new temp[128];
    101.     formatex(temp, charsmax(temp), "\r[\y%s\r] \wAdmin Login System ^nby \y%s", PREFIX, AUTHOR)
    102.     new menu = menu_create(temp, "admin_menu_h" )
    103.     if(!loggedin[id]) {
    104.         new steamid[32]; get_user_authid(id, steamid, charsmax(steamid));
    105.         formatex(temp, charsmax(temp), "\rSteamID: \d%s", steamid)
    106.         menu_additem(menu,temp, "0",0)
    107.         formatex(temp, charsmax(temp), "\rJelszó: \d%s^n", writepass[id])
    108.         menu_additem(menu,temp, "1",0)
    109.     }
    110.     else {
    111.         menu_additem(menu,"\r[\wStátusz\r]: \yBejelentkezve","0",0)
    112.         formatex(temp, charsmax(temp), "\rJogok:\d %s^n", flags[id])
    113.         menu_additem(menu,temp, "1",0)
    114.     }
    115.     formatex(temp, charsmax(temp), "%s", loggedin[id] ? "Kijelentkezés":"Bejelentkezés")
    116.     menu_additem(menu, temp, "2",0)
    117.    
    118.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    119.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
    120.     menu_display(id, menu, 0)
    121.     return PLUGIN_HANDLED;
    122. }
    123.  
    124. public admin_menu_h(id, menu, item) {
    125.     if(item == MENU_EXIT) {
    126.         menu_destroy(menu);
    127.         return PLUGIN_HANDLED;
    128.     }
    129.     new command[6], name[64], access, callback;
    130.     menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
    131.  
    132.     switch(item)
    133.     {
    134.         case 0: {
    135.             admin_menu(id)
    136.         }
    137.         case 1: {
    138.             if(!loggedin[id]) {
    139.                 client_cmd(id, "messagemode JELSZO")
    140.             }
    141.             else admin_menu(id)
    142.         }
    143.         case 2: {
    144.             if(!loggedin[id]) {
    145.                 if(strlen(password[id]) >= 6 && equal(writepass[id], password[id]) && !equal(flags[id],"")) {
    146.                     ChatColor(id, "^4[%s]^1 Sikeresen beléptél! Admin információk: ^3/login", PREFIX)
    147.                     remove_user_flags(id, read_flags("z"));
    148.                     set_user_flags(id, read_flags(flags[id]));
    149.                     loggedin[id] = true;
    150.                 }
    151.                 else if(strlen(writepass[id]) == 0) {
    152.                     ChatColor(id, "^4[%s]^1 Be kell írnod a jelszót!", PREFIX)
    153.                     admin_menu(id)
    154.                 }
    155.                 else {
    156.                     ChatColor(id, "^4[%s]^1 Hibás jelszó, próbáld újra!", PREFIX)
    157.                     admin_menu(id)
    158.                 }
    159.                 writepass[id][0] = EOS;
    160.             }
    161.             else {
    162.                 loggedin[id] = false;
    163.                 remove_user_flags(id, read_flags(flags[id]));
    164.                 set_user_flags(id, read_flags("z"));
    165.                 ChatColor(id, "^4[%s]^1 Sikeresen kiléptél! A belépéshez: ^3/login", PREFIX)
    166.             }
    167.         }
    168.     }
    169.    
    170.     menu_destroy(menu);
    171.     return PLUGIN_HANDLED;
    172. }
    173.  
    174. public Jelszo(id) {
    175.     new adat[32]
    176.     read_args(adat, charsmax(adat))
    177.     remove_quotes(adat)
    178.     if(strlen(adat) < 6) {
    179.         ChatColor(id, "^4[%s]^1 A jelszavadnak legalább 6 karakternek kell lennie!", PREFIX)
    180.         writepass[id][0] = EOS;
    181.     }
    182.     else {
    183.         copy(writepass[id], charsmax(writepass[]), adat)
    184.     }
    185.     admin_menu(id)
    186. }
    187.  
    188. public plugin_natives() {
    189.     register_native("in_admin_system", "native_admins", 1);
    190. }
    191. public native_admins(index) {
    192.     return admins[index];
    193. }
    194.  
    195. stock ChatColor(const id, const szMessage[], any:...) {
    196.     static pnum, players[32], szMsg[190], IdMsg;
    197.     vformat(szMsg, charsmax(szMsg), szMessage, 3);
    198.    
    199.     if(!IdMsg) IdMsg = get_user_msgid("SayText");
    200.    
    201.     if(id) {
    202.         if(!is_user_connected(id)) return;
    203.         players[0] = id;
    204.         pnum = 1;
    205.     }
    206.     else get_players(players, pnum, "ch");
    207.    
    208.     for(new i; i < pnum; i++) {
    209.         message_begin(MSG_ONE, IdMsg, .player = players[i]);
    210.         write_byte(players[i]);
    211.         write_string(szMsg);
    212.         message_end();
    213.     }
    214. }
    215.  
    216. #if defined SQL
    217. public plugin_cfg() {
    218.     new Query[512];
    219.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
    220.     formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS admin_system (`steamid` varchar(32) NOT NULL,`password` varchar(32) NOT NULL,`flags` varchar(32) NOT NULL,`date` varchar(32) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
    221.     SQL_ThreadQuery(g_SqlTuple,"TableThread", Query)
    222.     load()
    223. }
    224.  
    225. public TableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
    226.     if(FailState == TQUERY_CONNECT_FAILED)
    227.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
    228.     else if(FailState == TQUERY_QUERY_FAILED)
    229.         set_fail_state("Query Error");
    230.     if(Errcode)
    231.         log_amx("Hibat dobtam: %s",Error);
    232. }
    233.  
    234. public load() {
    235.     new Query[512];
    236.     formatex(Query, charsmax(Query), "SELECT * FROM `admin_system`;")
    237.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query)
    238. }
    239.  
    240. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
    241.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
    242.         log_amx("%s", Error)
    243.         return
    244.     }
    245.     else {
    246.         new sTime[64], iTime, sSavedTime[32];
    247.         get_time("%Y%m%d", sTime, charsmax(sTime));
    248.         iTime = str_to_num(sTime);
    249.        
    250.         while(SQL_MoreResults(Query)) {
    251.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "steamid"), data[steamidchk], charsmax(data[steamidchk]));
    252.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "date"), sSavedTime, charsmax(sSavedTime));
    253.             if(!equali(sSavedTime, "SOHA")) {
    254.                 replace_all(sSavedTime, charsmax(sSavedTime), "/", "");
    255.                 data[datechk] = str_to_num(sSavedTime);
    256.                 if(iTime >= data[datechk]) {
    257.                     new Query[512];
    258.                     formatex(Query, charsmax(Query), "DELETE * from `admin_system` WHERE steamid = ^"%s^";", data[steamidchk])
    259.                     SQL_ThreadQuery(g_SqlTuple, "TableThread", Query)
    260.                     continue;
    261.                 }
    262.             }
    263.             else data[datechk] = 0;
    264.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "password"), data[passwordchk], charsmax(data[passwordchk]));
    265.             SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "flags"), data[flagschk], charsmax(data[flagschk]));
    266.             ArrayPushArray(adminlist, data)
    267.             SQL_NextRow(Query)
    268.         }
    269.     }
    270. }
    271.  
    272. public plugin_end() {
    273.     SQL_FreeHandle(g_SqlTuple)
    274.     ArrayDestroy(adminlist)
    275. }
    276.  
    277. #else
    278.  
    279. public plugin_cfg() {
    280.     load()
    281. }
    282.  
    283. public load() {
    284.     new sBuffer[256], sFile[64], sData[4][32], pFile;
    285.     new sTime[64], iTime;
    286.     get_time("%Y%m%d", sTime, charsmax(sTime));
    287.     iTime = str_to_num(sTime);
    288.  
    289.     get_localinfo("amxx_configsdir", sFile, charsmax(sFile));
    290.     format(sFile, charsmax(sFile), "%s/admin_system.ini", sFile);
    291.  
    292.     pFile = fopen(sFile, "rt");
    293.    
    294.     if(pFile)
    295.     {      
    296.         while(!feof(pFile))
    297.         {
    298.             fgets(pFile, sBuffer, charsmax(sBuffer));
    299.             trim(sBuffer);
    300.             if(sBuffer[0] != ';' && parse(sBuffer, sData[0], charsmax(sData[]), sData[1],  charsmax(sData[]), sData[2],  charsmax(sData[]), sData[3],  charsmax(sData[]))) {
    301.                 if(!equali(sData[3], "SOHA")) {
    302.                     replace_all(sData[3], charsmax(sData[]), "/", "");
    303.                     data[datechk] = str_to_num(sData[3]);
    304.                     if(iTime >= data[datechk]) {
    305.                         fprintf(pFile, "^n");
    306.                         continue;
    307.                     }
    308.                 }
    309.                 else data[datechk] = 0;
    310.                 copy(data[steamidchk], charsmax(data[steamidchk]), sData[0]);
    311.                 copy(data[passwordchk], charsmax(data[passwordchk]), sData[1]);
    312.                 copy(data[flagschk], charsmax(data[flagschk]), sData[2]);
    313.                
    314.                 ArrayPushArray(adminlist, data);
    315.             }
    316.         }
    317.        
    318.         fclose(pFile);
    319.     }
    320.     else {
    321.         write_file(sFile, ";^"STEAM_0:0:12345678^" ^"jelszo582^" ^"abcdefghijklmnopqrstu^" ^"SOHA^"");
    322.         write_file(sFile, ";^"STEAM_0:0:12345678^" ^"jelszo582^" ^"abcdefghijklmnopqrstu^" ^"2016/09/22^"");
    323.     }
    324. }
    325.  
    326. public plugin_end() {
    327.     ArrayDestroy(adminlist)
    328. }
    329. #endif

    _________________
    GitHub - mforce

    Ők köszönték meg mforce nek ezt a hozzászólást: FonoK (2017.01.26. 13:32)
      Népszerűség: 2.27%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2016.01.09. 18:39 
    Offline
    Félisten
    Avatar

    Csatlakozott: 2015.03.12. 18:30
    Hozzászólások: 975
    Megköszönt másnak: 67 alkalommal
    Megköszönték neki: 136 alkalommal
    Nincs jogod az admin belépéshez, mert nem szerepelsz adatbázisban.
    Miféle adatbázisban?:D Nins is engedélyezve a sql.

    _________________
    Fórumi aktivitásom véget ért: 2017.09.07.
    Innentől esetleg steamen vagyok elérhető.

    Ők köszönték meg kengurumancs nek ezt a hozzászólást: FonoK (2017.01.26. 13:32)
      Népszerűség: 2.27%


    Hozzászólás jelentése
    Vissza a tetejére
       
     Hozzászólás témája: Re: Admin Login System
    HozzászólásElküldve: 2016.01.09. 21:18 
    Offline
    Tiszteletbeli
    Avatar

    Csatlakozott: 2014.09.08. 22:21
    Hozzászólások: 3014
    Megköszönt másnak: 96 alkalommal
    Megköszönték neki: 555 alkalommal
    Admin adatbázisban. Most tök mindegy, hogy fájl vagy SQL :D Ez legyen már a legkevesebb, hogy mi a kifejezés módja.

    _________________
    GitHub - mforce


    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  [ 41 hozzászólás ]  Oldal 1 2 3 4 5 Következő


    Ki van itt

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


    Nem nyithatsz 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