1
Leírások / Re:Szerver beüzemelése
« Dátum: március 25, 2014, 01:29:25 pm »
Hát rendben, még egyszer sok sikert 
Nagy Arnold

Nagy Arnold
Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.





jelszóMentés(cmd[1]);hanemjelszóMentés(md5(cmd[1]));string jelszo = beolvasValahonnan(Azzeroth jelszavát); //ő most befogja olvasni az én jelszavamat kódoltan.
if(md5(beírtJelszó(playerid)) == jelszo)
{
//a jelszó egyezik!
}
<clientscript>Dialogs.nut</clientscript>Ezután a te szkriptedbe helyezd el ezeket a tetejére:
const DIALOG_STYLE_MSGBOX = 0;
const DIALOG_STYLE_INPUT = 1;
const DIALOG_STYLE_LIST = 2;
function onDialogResponse(playerid, dialogid, response, listitem, inputtext) //Amikor választott a dialógusban
{
togglePlayerControls(playerid, true);
return true;
}
addEvent("dialogResponse", onDialogResponse);playerid: játékos id-je
dialogid: a dialógus id-je
response: IGEN vagy NEM gombra nyomott
listitem: a DIALOG_STYLE_LIST dialóguson belül hanyadik elemet választotta
inputtext: a DIALOG_STYLE_INPUT dialógusnál visszatér a megadott karakterlánccal
function showPlayerDialog(playerid, dialogid, type, windowtext, maintext, firstbuttontext, secondbuttontext = "")
{
triggerClientEvent(playerid, "GUIDialog", dialogid, type, windowtext, maintext, firstbuttontext, secondbuttontext);
togglePlayerControls(playerid, false);
return true;
}showPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Window text", "Hello world", "OK", "Cancel");
showPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Window text", "Instert text:", "OK", "Cancel");
showPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX, "Window text", "First button\nSecond button\nThirt button", "OK", "Cancel");
createObject(int modelod, float x, floa y, float z, float rx, float ry, float rz);


"No.
IVMP DEAD"

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
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);
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;
}
}
