Pro gyalog - gyalog-portál script

Mysql nyilvántartási rendszer

#include // e nélkül nem tudjuk használni minden funkcióját Samp / visszahívások
#include // e nélkül nem tudjuk használni minden funkciót mysql






Minden meghatározzák hozzá:

#define host "localhost" // ez lesz a házigazda mysql. Az alapértelmezett XAMPP-localhost
#define felhasználó „root” // ez a mysql felhasználó nevét. Alapértelmezésben ez a root-XAMPP
#define db "kiszolgáló" // adatbázis neve. Emlékezz, hoztunk létre egy adatbázist, amely az úgynevezett szerver előtt.
#define pass "" // ez a jelszavát mysql. A XAMPP, a jelszó nincs beállítva. Tehát hagyja üresen.

Globális változók:

statikus mysql. // ezt a változót kell használni az adatbázis kezelésére
név # 91; MAX_PLAYERS # 93; # 91; 24 # 93;, // fogjuk használni ezt a változó tárolja a játékos neve.
IP # 91; MAX_PLAYERS # 93; # 91; 16 # 93; // fogjuk használni ezt a változó tárolja a játékos ip.
;

natív WP_Hash (puffer # 91; # 93;, len. const str # 91; # 93;);

enum PDATA
ID. // fogják használni később tárolni a játékos ID az adatbázisból, így tudjuk használni bárhol később
jelszó # 91; 129 # 93;, // betöltjük a játékos jelszó ebben varible az adatbázisban
Admin. // fogjuk betölteni a játékos szintű adminisztrátor az adatbázisból a változóban, így tudjuk használni bárhol később.
VIP. // fogjuk feltölteni a VIP szintje a játékos adatbázis ebben a változó, így tudjuk használni bárhol később.
Pénzt. // fogjuk feltölteni pénzt a játékosok az adatbázisból a változóban, így tudjuk használni bárhol később.
Float. posX. // fogjuk feltölteni X játékos pozícióját az adatbázisból a változóban, így tudjuk használni bárhol később.
Float. jelige. // fogjuk betölteni a játékos Y pozíció az adatbázisból a változtatható, így tudjuk használni bárhol később.
Float. posZ // betöltjük a játékos Z pozíció az adatbázisból a változóban, így tudjuk használni bárhol később.

új pInfo # 91; MAX_PLAYERS # 93; # 91; PDATA # 93 ;; // Változó, hogy megtartja a számlálóra fenti

A nyilvános OnGameModeInit ():

mysql_log (LOG_ERROR | LOG_WARNING | LOG_DEBUG); // Nézzük viszont a hibakeresést, így tudjuk azonosítani a problémákat (ha van ilyen)
mysql = mysql_connect (fogadó felhasználói dB menetben ...); // Ez a függvény fog kapcsolódni a szerverhez az adatbázishoz. Ne felejtsük el, hogy meghatároztuk a gazda, adatbázis felhasználói nevet és jelszót. Itt az ideje, hogy használja itt.
if (! mysql_errno (mysql) = 0) print ( "Nem lehet kapcsolódni az adatbázishoz!"); // Ez mondani, ha az adatbázis kapcsolat sikeres, vagy sem. Ha nem, akkor ellenőrizze a host, felhasználónév és jelszó tárol. Győződjön meg róla, hogy minden rendben






A nyilvános OnPlayerConnect (playerid):

új lekérdezés # 91; 128 # 93 ;; // Használjuk ezt a változót a formában egy kérés
GetPlayerName (playerid. Név # 91; playerid # 93;, 24); // A játékos neve
GetPlayerIp (playerid. IP # 91; playerid # 93; 16); // Az Player IP
mysql_format (mysql. lekérdezés. sizeof (lekérdezés), "SELECT` Password`,` ID` FROM` players` WHERE `Username` = '% e' határ 1". Név # 91; playerid # 93;);
// - használjuk mysql_format formátum helyett, mert tudjuk használni a% e adja meg. % E specifikátor leárnyékolja a sor, hogy ki tudjuk kerülni az SQL-injection, ami azt jelenti, hogy nem kell használni mysql_real_escape_string
// - formázása kérésünket; SELECT `Password`,` ID` FROM `players` WHERE` Username` =„% e”azt jelenti, hogy úgy dönt, egy jelszót és azonosítót, egy oszlop a táblázatban, hogy van egy játékos neve a táblázat„felhasználónév.
// - határ 1; Most csak egy eredmény jelenik meg
mysql_tquery (mysql lekérdezés "OnAccountCheck" "i" playerid ....);
// lehetővé teszi, hogy formázza a lekérdezést, és az előadás készül, a visszahívás fogják hívni OnAccountCheck
// hívhatja visszahívási ahogy tetszik

Végén a script létrehozása a nyilvánosság:

előre OnAccountLoad (playerid);
előre OnAccountRegister (playerid);
nyilvános OnAccountLoad (playerid)
pInfo # 91; playerid # 93; # 91; admin # 93; = Cache_get_field_content_int (0. "Admin"); // megkapjuk területén 4 sor 0. És mivel ez egy egész, általunk használt cache_get_row_int
pInfo # 91; playerid # 93; # 91; VIP # 93; = Cache_get_field_content_int (0. "VIP"); // felett
pInfo # 91; playerid # 93; # 91; pénz # 93; = Cache_get_field_content_int (0. "pénz"); // felett
pInfo # 91; playerid # 93; # 91; posX # 93; = Cache_get_field_content_float (0. "PosX"); // A helyzet a játékos egy float, használjuk cache_get_field_content_float
pInfo # 91; playerid # 93; # 91; jelige # 93; = Cache_get_field_content_float (0. "jelige"); // felett
pInfo # 91; playerid # 93; # 91; posZ # 93; = Cache_get_field_content_float (0. "PosZ"); // felett

GivePlayerMoney (playerid. PInfo # 91; playerid # 93; # 91; pénz # 93;); // Állítsd be a pénzt
SendClientMessage (playerid - 1. "A sikeres bejelentkezés."); // közölje velük, hogy sikeresen bejelentkezett
vissza 1;
>

nyilvános OnAccountRegister (playerid)
pInfo # 91; playerid # 93; # 91; ID # 93; = Cache_insert_id (); // betölti a játékos ID változó, miután regisztrált.
printf ( "Új fiók regisztrált ID :.". pInfo # 91; playerid # 93; # 91; ID # 93;); // csak hibakeresés céljából.
vissza 1;
>

A nyilvános OnDialogResponse (playerid, dialogid, válasz, listitem, inputtext []):

A nyilvános OnPlayerDisconnect (playerid, ok):

új lekérdezés # 91; 128 # 93;, Float. pos # 91; 3 # 93 ;; // lekérdezés # 91; 128 # 93; formázni a kérelmet, és Lebegés: pos # 91; 3 # 93; Ahhoz, és megtartsák játékos
GetPlayerPos (playerid. Pos # 91; 0 # 93;, pos # 91; 1 # 93;, pos # 91; 2 # 93;); // Térjünk a játékos pozíciója, amikor elhagyják a szerver
mysql_format (mysql. lekérdezés. sizeof (lekérdezés), „UPDATE` players` SET` Admin` =., `VIP` =.,` Money` =., `posX` =% f,` posY` =% f, ` posZ` =% f WHERE `ID` =". \
pInfo # 91; playerid # 93; # 91; admin # 93;, pInfo # 91; playerid # 93; # 91; VIP # 93;, pInfo # 91; playerid # 93; # 91; pénz # 93;, pos # 91; 0 # 93;, pos # 91; 1 # 93;, pos # 91; 2 # 93;, pInfo # 91; playerid # 93; # 91; ID # 93;);
// frissítse az asztal ( „játékos”), hogy a játékos a rendszergazda szintű VIP szintű, a pénz és a pozíció, és mentse őket az adatbázisban
mysql_tquery (mysql lekérdezés "" .. "");
// végre a lekérdezést.

A nyilvános OnPlayerSpawn (playerid):

SetPlayerPos (playerid. PInfo # 91; playerid # 93; # 91; posX # 93;, pInfo # 91; playerid # 93; # 91; jelige # 93;, pInfo # 91; playerid # 93; # 91; posZ # 93;);
// állítsa a játékos pozícióját az utolsó mentett pozíció.




Kapcsolódó cikkek