Szerző Téma: [MySQL !!R6] Adminrendszer  (Megtekintve 1746 alkalommal)

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
[MySQL !!R6] Adminrendszer
« Dátum: 2015. December 15. - 22:16:08 »
+6 Show voters
[MySQL !!R6] Adminrendszer
 
Sziasztok!
Ezt az adminrendszert Flashnak írtam 2012 nyarán, oktatási célzattal.
Érdekesség
Első sorban egy kis érdekesség..
Már én is rég elfeledkeztem erről..
A szkript alján találtam leírásokat, kezdőknek még jól jöhet! :)


################################################################################
                     //Leírások//
--------------------------------------------------------------------------------
                   •Leírás az sscanf-es adatlehívási módszerről.•
Ennek tulajdonképpen néhány fontos része lesz.
Röviden, és tömören fogok fogalmazni.. Na jólvan, nem untatlak tovább..
Szóval, elősszöris vegyük elősször az SScanf létező paramétereit!
c       -    Karakter. /Például: A, á, B, c, .../
d, i   -    Egész szám érték. /Például: 1, 2, 3, 4, 5.../
h, x   -    Hexadecimális érték. (Színekhez) /Például: 0xFFFFFFAA/
f       -    Lebegőpontos érték. /Például: 0.0, 0.0, 0.0/
s       -    Karakterlánc. /Például: Süt a nap./
z       -    Opcionális karakterlánc.
pX       -    An additional delimiter where X is another character.
\'\'       -    Encloses a litteral string to locate.
u       -    A játékosoknak a nevét, vagy részletét vizsgálja. /Például: Ped/
/Forrás: http://wiki.sa-mp.com/wiki/Sscanf/
Itt egy példa elősszöris, hogy hogyan kell egy oszlop értékét lekérnünk..
----------------------------------------------------------------------------
new query[128], rows[128];
new ip[16]; //Ebbe a karakterláncba hívjuk le az értéket.
format(query, sizeof(query),
\"SELECT `IP` FROM `Accounts` WHERE Name = \'%s\'\",
   pName(playerid)
); //Lezárjuk a sort
mysql_query(query); //Elküldjük a mysql adatbázisnak a lekérdezést..
mysql_store_result(); //Eltároljuk az adatokat, amellyeket kiolvastunk..
mysql_fetch_row_format(rows, \"|\"); //Lekérdezzük az oszlop értékét..
sscanf(rows, \"p<|>s[16]\", ip); //A karakterlánc méretének egyezőnek kell..
//.., hogy legyen annak a változónak az értékével, amit létrehoztunk, ...
//hogy, abban tárolja a lekért adatot..
printf(\"Egy lekérésnek a végeredménye: %s\", ip); /Például ki írhatjuk./
mysql_free_result(); //Tisztítjuk az elmentett adatokat..
----------------------------------------------------------------------------
Az sscanf függvény használata, és paraméterei MySQLbeli érték lekérdezése..
közben.
Például:
----------------------------------------------------------------------------
sscanf(rows, \"p<|>i\", money);
Szóval..
Az sscanf első paramétere az a karakterlánc, hogy mit darabol szét..
Ezt előtte kérdeztük le elvileg.. (mysql_fetch_row_format(rows, \"|\");)
A második..
\"p<|>i\"
Szóval, a p<|> ez azt szabályozza, hogy mi az elválasztó..
Ezt is szintén a mysql_fetch_row_format(rows, \"|\"); -nál állítottuk.
Az utána következő paraméterek típusait már ismertettem veled..
Ha például a lekérdezésnél a `Money` -t akarjuk lekérdezni, az ugye..
..egész szám, azaz akkor visszanézünk a leírás elejére, és láthassuk, hogy..
..annak a jelölése egy i betű. Szóval akkor a p<|> után írunk egy i betűt.
Ha több mindent szeretnénk lehívni akkor a p<|> után írjuk a paraméterek..
..jelöléseit!
----------------------------------------------------------------------------
Több oszlop lekérdezése..
----------------------------------------------------------------------------
new query[128], rows[128];
new ip[16], money, kills;
format(query, sizeof(query),
\"SELECT `IP`, `Money`, `Kills` FROM `Accounts` WHERE Name = \'%s\'\",
   pName(playerid)
); //Lezárjuk a sort
mysql_query(query); //Elküldjük a mysql adatbázisnak a lekérdezést..
mysql_store_result(); //Eltároljuk az adatokat, amellyeket kiolvastunk..
mysql_fetch_row_format(rows, \"|\"); //Lekérdezzük az oszlop értékét..
sscanf(rows, \"p<|>s[16]ii\", ip, money, kills);
printf(\"IP cím: \'%s\'\", ip);
SetPVarInt(playerid, \"Money\", money);
SetPVarInt(playerid, \"Kills\", kills);
mysql_free_result(); //Tisztítjuk az elmentett adatokat..
----------------------------------------------------------------------------
Hamarosan folytatás..
                                                          /2012. Augusztus 6-7./
--------------------------------------------------------------------------------
################################################################################

 


Mivel ez egy adminrendszer, az adminparancsokat nem hagynám ki.

1. Szintű parancsok /admweaps /asay /ann /healall /armourall


2. Szintű parancsok /setmoney /setscore /setskin /setweather /god /godoff /slap /clearchat


3. Szintű parancsok /kick /gw /settime /eject /spawn /setwanted /boom /warn /freeze /unfreeze


4. Szintű parancsok /ban /setname /disarm /get /(un)mute /mute


5. Szintű parancsok /saveallstats /setlevel /ip /spawnall /(un)muteall /disarmall /fakechat /fakecmd /soundforall


Amiket még tud a rendszer:

 
  • Dinamikus rádió rendszer, az admin tud ki-be tenni rádióadókat.

  • Szkripten belüli 3 állítási lehetőség


Forráskód
-Elnézést, de beszúrtam ide, és nem fért már ki a téma alja-
Pastebin: http://pastebin.com/DzuXp1qq
MySQL táblák, és még pár rádióadó beszúrása
 
CREATE TABLE IF NOT EXISTS `Accounts` (
`ID` mediumint(9) unsigned NOT NULL AUTO_INCREMENT,
`Name` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Password` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`IP` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`RegDate` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Money` int(15) NOT NULL DEFAULT \'0\',
`Score` int(15) NOT NULL DEFAULT \'0\',
`Kills` int(15) NOT NULL DEFAULT \'0\',
`Deaths` int(15) NOT NULL DEFAULT \'0\',
`Admin` int(1) NOT NULL DEFAULT \'0\',
`Vip` int(1) NOT NULL DEFAULT \'0\',
`Repaircar` int(1) NOT NULL DEFAULT \'0\',
`Antifall` int(1) NOT NULL DEFAULT \'0\',
`ReacWins` int(4) NOT NULL DEFAULT \'0\',
`Time` int(11) NOT NULL DEFAULT \'0\',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `Connections` (
`Name` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Country` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`IP` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Serial` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Date` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `Warns` (
`Admin` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Player` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Reason` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`PlayerIP` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Date` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `Kicks` (
`Admin` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Player` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Reason` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`PlayerIP` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Date` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `Bans` (
`Admin` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Player` varchar(24) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Reason` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`PlayerIP` varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Date` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
CREATE TABLE IF NOT EXISTS `Radiolist` (
`Name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`URL` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
INSERT INTO `Radiolist` (`Name`, `URL`) VALUES (\'MixRadio\', \'http://savetofile.net:8450/;stream\');
INSERT INTO `Radiolist` (`Name`, `URL`) VALUES (\'Radio Face\', \'http://www.radioface.hu/live/radio_face.m3u\');
INSERT INTO `Radiolist` (`Name`, `URL`) VALUES (\'Rádió1\', \'http://79.172.241.237:8000/radio1.mp3\');
INSERT INTO `Radiolist` (`Name`, `URL`) VALUES (\'Master of HardCore (hardcoreradio.nl)\',  \'http://shoutcast2.hardcoreradio.nl\');
INSERT INTO `Radiolist` (`Name`, `URL`) VALUES (\'Dubstep Rádió (dubstep.fm)\', \'http://72.232.2.83:80\');
INSERT INTO `Radiolist` (`Name`, `URL`) VALUES (\'Rock\', \'http://94.199.181.124:8800/rockvilag2\');

 


Figyelem!

A szkript a MySQL r6-os verzióhoz íródott. Ez a változat már elavult.


A szkriptet nem áll szándékomban módosítani, fejleszteni, javítani, ahogy feltöltöttem, úgy állt már több mint 3 éve, és szeretném, ha ez így is maradna részemről. :)



Aki használni fogja, használja egészséggel, kellemes ünnepeket kívánok mindenkinek!

Nem elérhető Radikal

  • 273
  • Kenton
    • Profil megtekintése
[MySQL !!R6] Adminrendszer
« Válasz #1 Dátum: 2015. December 17. - 06:21:05 »
0 Show voters
Cépike lett! :thumbsup:

Nem elérhető b1s

  • 2212
  • Faszidegbénulás
    • Profil megtekintése
[MySQL !!R6] Adminrendszer
« Válasz #2 Dátum: 2015. December 31. - 12:43:12 »
0 Show voters
úúúú nagyon király lett pedró isten király nagyon szuper csak így tovább !!!!!

Nem elérhető !Adam

[MySQL !!R6] Adminrendszer
« Válasz #3 Dátum: 2016. Február 07. - 18:17:16 »
0 Show voters
Jó kis script lett.. :D :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal