Üdv. fórumozók!Elég sok munkával, de megszereztem nektek mabako MySQL plugin-ját.
Üzeneteket írtam neki és másoknak is, hogy nincs e meg valakinek?
Körbekérdeztem fórumokat is, de sajnos nem kaptam választ, fájlt.!
mabako-nak írtam is üzenetet, hogy kaphatnék e linket a MySQL plugin-hoz? Mivel
nem találom sehol sem.
erre ő ezt válaszolta:"No.
IVMP DEAD"
De nem adtam fel, hátha megtalálom és sikerrel is jártam 
Most pedig egy kis ízelítő a plugin, azaz modulunkból.Amiket tudomásommal tartalmaz:mysql_connect(HOST, USER, PASSWORD, DATABASE); //Pl.: mysql_connect("localhost", "root", "1234", "ivmp");
mysql_query(HANDLER, query); //Ezzel query-t futtatunk le
mysql_fetch_assoc(result); //ezzel tárolhatunk
mysql_close( ); //gondolom egyértelmű, zárhatjuk a kapcsolatot,adatbázist
mysql_free_result(result); //találatok ürítése
És akkor már írtam nektek egy példát is:
local handler;
function onScriptInit( )
{
handler = mysql_connect("127.0.0.1", "root", "1234", "ivmp"); //csatlakozunk az adatbázishoz.
return 1;
}
addEvent("scriptInit", onScriptInit);
function onScriptExit( )
{
mysql_close( ); //lecsatlakozunk az adatbázisról, zárjuk a kapcsolatot
return 1;
}
addEvent("scriptExit", onScriptExit);
function onPlayerConnect(playerid)
{
local result = mysql_query(handler, "SELECT * FROM users WHERE user='Azzeroth'"); //egy query-t futtatunk le, miszerint:
if(result) //ha van találat //Válassza ki azt a sort, az users táblából
{ //ahol az user meg egyezik az Azzeroth karakterlánccal
//van találat, azaz létezik ilyen sor
local row = mysql_fetch_assoc(result); //a row-ban fogjuk tárolni a sor értékeit
//nem kell tagolnunk, helyette:
sendPlayerMessage(playerid, row["user"] + ", a te pénzed: " + row["money"] + ", X:" + row["x"] + ", Y:" + row["y"] + ", Z:" + row["z"], 0xFFFFFFFF);
//a row[""] -on belül a két aposztrof közi a mysql-ben lévő táblán belüli oszlop nevét adjuk meg
}
else
{
//nincs találat, azaz nem létezik ilyen sor
//regisztrációnál példéul itt íratjuk ki, hogy:
//Nem vagy regisztrálva regisztrációhoz írd be a... stb stb, a találatnál(egyel feljebb) pedig, hogy jelentkezz be...
}
return 1;
}
addEvent("playerConnect", onPlayerConnect);
function onPlayerDisconnect(playerid, reason)
{
mysql_query(handler, "UPDATE users SET money=" + getPlayerMoney(playerid) + ", skin=" + getPlayerModel(playerid) + ""); //sor(ok) frissítése
mysql_query(handler, "INSERT INTO users (user, money, skin) VALUE(" + getPlayerName(playerid) + ", " + getPlayerMoney(playerid) + ", " + getPlayerModel(playerid) + ")");
//Ezzel új sort illesztünk be az user oszlopba:'Karakter neve', money oszlopva: 'pénze', skin oszlopba:'modelid', ha a skin után írod, hogy pl: x,y,z
//és a VALUE-be beleírod, hogy: pos[0], pos[1], pos[2] (miután lekérted a koordinátákat persze), akkor az x,y,z oszlopba is beírja ezeket
//itt a beszúrás nem az első sortól halad sorjában, hanem amelyikeknek a nevét megadtad, szóval ha most az első sor az id(INTEGER) és számlálón van, akkor
//abba nem fogja beleírni, hogy pl: 'Azzeroth', hanem az szépen számlálja magát és az user táblában lesz az Azzeroth szó.
return 1;
}
addEvent("playerDisconnect", onPlayerDisconnect);remélem tudtam segíteni, ha elakadtál, nem értesz valami bátran írj hozzászólást!
jajj jajj jajj

Közben kaptam még egy leírást
eDz0r-tól:
const MYSQL_HOSTNAME = "127.0.0.1";
const MYSQL_USERNAME = "root";
const MYSQL_PASSWORD = "";
const MYSQL_DATABASE = "ivmp";
local mysqlConnection = mysql(MYSQL_HOSTNAME, MYSQL_USERNAME, MYSQL_PASSWORD, MYSQL_DATABASE);
function onScriptInit( )
{
mysqlConnection.query("CREATE TABLE IF NOT EXISTS accounts (id INT NOT NULL AUTO_INCREMENT, name CHAR(24), password CHAR(128), money INT, skin SMALLINT, adminlevel SMALLINT, viplevel SMALLINT, kills SMALLINT, deaths SMALLINT, PRIMARY KEY(id))");
}
addEvent("scriptInit", onScriptInit);
function isPlayerRegistered(playerid)
{
local playerName = getPlayerName(playerid);
local result = mysqlConnection.query_assoc_single("SELECT * FROM `accounts` WHERE name = '" + playerName + "'");
if(result)
{
return true;
}
else
{
return false;
}
return null;
}
function savePlayerData(playerid)
{
local playerName = getPlayerName(playerid);
if(isPlayerLogged[playerid] == true)
{
mysqlConnection.query("UPDATE `accounts` SET `money` = '" + getPlayerMoney(playerid) + "', `skin` = '" + getPlayerModel(playerid) + "', `adminlevel` = '" + pAdminLevel[playerid] + "', `viplevel` = '" + pVIPLevel[playerid] + "', `kills` = '" + pKills[playerid] + "', `deaths` = '" + pDeaths[playerid] + "' WHERE name = '" + playerName + "'");
return 1;
}
else
{
return 0;
}
}
function loadPlayerData(playerid)
{
local playerName = getPlayerName(playerid);
local result = mysqlConnection.query_assoc_single("SELECT * FROM `accounts` WHERE name = '" + playerName + "'");
if(isPlayerRegistered(playerid))
{
setPlayerMoney(playerid, result.money);
setPlayerModel(playerid, result.skin);
pAdminLevel[playerid] = result.adminlevel;
pKills[playerid] = result.kills;
pDeaths[playerid] = result.deaths;
return 1;
}
else
{
return 0;
}
}
Forrás:
mabakoLetöltés:
IVMP MySQL pluginLetöltés:
msvcp110.dllLetöltés:
libmysql.dll ha esetleg valakinek kellene

Verzió:
R1A telepítésről pedig annyit, hogy:
A MySQL plugint a "modules" mappába helyezd el, a másik kettőt pedig az IVMP-Szerver gyökér könyvtárába(Ahol megtalálható például a setting.xml fájl).