Jump to content

ربط السيرفرات


Recommended Posts

51 minutes ago, Abdul KariM said:

تحتاج


dbConnect
getPlayerSerial

 

م فهمت انا ع كذا رح يكون فيه بكل سيرفر قاعدة انت م فهمت مقصدي

انا ابيه لما يسجل في سيرفر رقم 1

يتسجل في سيرفر رقم 2 حسابة تلقائي

,

لما تنحفظ فلوسه في سيرفر رقم 1

تنتقل فلوسه لسيرفر رقم 2

إلخ

Link to comment

فيه طريقتين لكن ماني متأكد اذا راح تظبط معاك الطريقة الثانية ولا لا

 

الطريقة الاولى استعمل قاعدة بيانات MySQL

الطريقة الثانية سوي ملف اكس ام ال بجانب الكلينت عشان ينحفظ عند اللاعب واذا خرج من السيرفر حط بالملف فلوسه واذا خش السيرفر الثاني جيب فلوسه من الملف وضيفها له وهكذا

  • Like 1
Link to comment
20 minutes ago, N3xT said:

فيه طريقتين لكن ماني متأكد اذا راح تظبط معاك الطريقة الثانية ولا لا

 

الطريقة الاولى استعمل قاعدة بيانات MySQL

الطريقة الثانية سوي ملف اكس ام ال بجانب الكلينت عشان ينحفظ عند اللاعب واذا خرج من السيرفر حط بالملف فلوسه واذا خش السيرفر الثاني جيب فلوسه من الملف وضيفها له وهكذا

شكرا

طيب كيف طريقة الmysql

Link to comment

@N3xT

لو استعمل الطريقة الاولى .. بيكون بامكان اللاعب يغير فلوسه ويلعب فيها

@*RayaN-Alharbi.

عارف مودات الحياه الواقعيه ؟

فيها اتصال mysql

اشتري اي استضافه تقدم خدمة mysql

انا استعمل استضافة انست هوست تعاملهم كويس .

واربط فيها .

تقولي كيف اربط فيها ؟

شوف مودات الحياه الواقعيه وبتفهم كيف 

Link to comment
1 minute ago, Rakan# said:

@N3xT

لو استعمل الطريقة الاولى .. بيكون بامكان اللاعب يغير فلوسه ويلعب فيها

@*RayaN-Alharbi.

عارف مودات الحياه الواقعيه ؟

فيها اتصال mysql

اشتري اي استضافه تقدم خدمة mysql

انا استعمل استضافة انست هوست تعاملهم كويس .

واربط فيها .

تقولي كيف اربط فيها ؟

شوف مودات الحياه الواقعيه وبتفهم كيف 

انا اساسًا م اعرف للماي اس كيو ال

لكن هل فيه طريقة اني اقدر انفذ فنكشنات من سيرفر إلى اخر

مثال\

انفذ فنكشن اخراج رسالة فالشات من السيرفر 1 إلى سيرفر 2

 

Link to comment

اذا تبي تستخدم قاعدة بيانات بسيرفرين بس استخدم هذا

local connection = nil
local mysql_hostname = ""
local mysql_username = ""
local mysql_password = ""
local mysql_database = ""

addEventHandler("onResourceStart",resourceRoot,function(resource)
		connection = dbConnect("mysql", "dbname="..mysql_database..";host="..mysql_hostname, mysql_username, mysql_password, "autoreconnect=1")
		if connection then
			outputDebugString(getResourceName(resource) .. " : connected to database.")
			return true
		else
			outputDebugString(getResourceName(resource) .. " : Unable to connect with database. Please contact Developer.")
			return false
		end
	end
)



function _Query( ... )
	if connection then
		local query = dbQuery(connection, ... )
		local result = dbPoll(query,-1)
		return result
	else
		return false
	end
end

function _QuerySingle(str,...)
	if connection then
		local result = _Query(str,...)
		if type(result) == 'table' then
			return result[1]
		end
	else
		return false
	end
end

function _Exec(str,...)
	if connection then
		local query = dbExec(connection,str,...)
		return query
	else
		return false
	end
end

وتحصل استضافات تعطيك mysql مجانيه

Edited by Simple.
Link to comment
2 minutes ago, Simple. said:

اذا تبي تستخدم قاعدة بيانات بسيرفرين بس استخدم هذا


local connection = nil
local mysql_hostname = ""
local mysql_username = ""
local mysql_password = ""
local mysql_database = ""

addEventHandler("onResourceStart",resourceRoot,function(resource)
		connection = dbConnect("mysql", "dbname="..mysql_database..";host="..mysql_hostname, mysql_username, mysql_password, "autoreconnect=1")
		if connection then
			outputDebugString(getResourceName(resource) .. " : connected to database.")
			return true
		else
			outputDebugString(getResourceName(resource) .. " : Unable to connect with database. Please contact Developer.")
			return false
		end
	end
)



function _Query( ... )
	if connection then
		local query = dbQuery(connection, ... )
		local result = dbPoll(query,-1)
		return result
	else
		return false
	end
end

function _QuerySingle(str,...)
	if connection then
		local result = _Query(str,...)
		if type(result) == 'table' then
			return result[1]
		end
	else
		return false
	end
end

function _Exec(str,...)
	if connection then
		local query = dbExec(connection,str,...)
		return query
	else
		return false
	end
end

وتحصل استضافات تعطيك mysql مجانيه

وكيف اقدر اخزن واجلب البيانات منها؟

Link to comment
32 minutes ago, *RayaN-Alharbi. said:

انا اساسًا م اعرف للماي اس كيو ال

لكن هل فيه طريقة اني اقدر انفذ فنكشنات من سيرفر إلى اخر

مثال\

انفذ فنكشن اخراج رسالة فالشات من السيرفر 1 إلى سيرفر 2

 

callRemote

 

Link to comment

هذا مثال لحفظ الفلوس عن طريق ال mySQL في سيرفرين

local dbHost = '';
local dbPort = '';
local dbName = '';
local dbUsername = '';
local dbPassword = '';
local connection = dbConnect('mysql', 'dbname='..dbName..';host='..dbHost..';port='..dbPort, dbUsername, dbPassword);

function setupDatabase(resource)
    if connection then
        dbExec(connection, 'CREATE TABLE IF NOT EXISTS playersMoney(playerSerial TEXT, playerMoney INTEGER)');
        local function giveMoney(player)
            local returnedValue = dbPoll(dbQuery(connection, 'SELECT * FROM playersMoney WHERE playerSerial=?', getPlayerSerial(player)), -1)
            if #returnedValue > 0 then
                setPlayerMoney(player, returnedValue[1].playerMoney)
            end
        end
        if eventName == 'onResourceStart' then
            local players = getElementsByType('player');
            for index = 1, #players do
                giveMoney(players[index]);
            end
        else
            giveMoney(source);
        end
    else
        outputDebugString((resource and getResourceName(resource) or '')..': Failed to connect to the database')
    end
end
addEventHandler('onPlayerJoin', root, setupDatabase);
addEventHandler('onResourceStart', resourceRoot, setupDatabase);

addEventHandler('onPlayerQuit', root, function()
    local playerSerial = getPlayerSerial(source);
    local returnedValue = dbPoll(dbQuery(connection, 'SELECT * FROM playersMoney WHERE playerSerial=?', playerSerial), -1)
        if type(returnedValue) == 'table' and #returnedValue > 0 then
        dbExec(connection, 'UPDATE playersMoney SET playerMoney=? WHERE playerSerial=?', getPlayerMoney(source), playerSerial)
    else
        dbExec(connection, 'INSERT INTO playersMoney (playerSerial, playerMoney) VALUES(?, ?)', playerSerial, getPlayerMoney(source))
    end
end)

addEventHandler('onResourceStop', resourceRoot, function()
    local players = getElementsByType('player');
    for index = 1, #players do
        local playerSerial = getPlayerSerial(players[index]);
        local returnedValue = dbPoll(dbQuery(connection, 'SELECT * FROM playersMoney WHERE playerSerial=?', playerSerial), -1)
        if type(returnedValue) == 'table' and #returnedValue > 0 then
            dbExec(connection, 'UPDATE playersMoney SET playerMoney=? WHERE playerSerial=?', getPlayerMoney(players[index]), playerSerial)
        else
            dbExec(connection, 'INSERT INTO playersMoney (playerSerial, playerMoney) VALUES(?, ?)', playerSerial, getPlayerMoney(players[index]))
        end
    end
end)

حط الكود في السيرفرين, ولاتنسى تحط معلومات الداتا بيس

Link to comment
58 minutes ago, #,xiRocKyz said:

هذا مثال لحفظ الفلوس عن طريق ال mySQL في سيرفرين


local dbHost = '';
local dbPort = '';
local dbName = '';
local dbUsername = '';
local dbPassword = '';
local connection = dbConnect('mysql', 'dbname='..dbName..';host='..dbHost..';port='..dbPort, dbUsername, dbPassword);

function setupDatabase(resource)
    if connection then
        dbExec(connection, 'CREATE TABLE IF NOT EXISTS playersMoney(playerSerial TEXT, playerMoney INTEGER)');
        local function giveMoney(player)
            local returnedValue = dbPoll(dbQuery(connection, 'SELECT * FROM playersMoney WHERE playerSerial=?', getPlayerSerial(player)), -1)
            if #returnedValue > 0 then
                setPlayerMoney(player, returnedValue[1].playerMoney)
            end
        end
        if eventName == 'onResourceStart' then
            local players = getElementsByType('player');
            for index = 1, #players do
                giveMoney(players[index]);
            end
        else
            giveMoney(source);
        end
    else
        outputDebugString((resource and getResourceName(resource) or '')..': Failed to connect to the database')
    end
end
addEventHandler('onPlayerJoin', root, setupDatabase);
addEventHandler('onResourceStart', resourceRoot, setupDatabase);

addEventHandler('onPlayerQuit', root, function()
    local playerSerial = getPlayerSerial(source);
    local returnedValue = dbPoll(dbQuery(connection, 'SELECT * FROM playersMoney WHERE playerSerial=?', playerSerial), -1)
        if type(returnedValue) == 'table' and #returnedValue > 0 then
        dbExec(connection, 'UPDATE playersMoney SET playerMoney=? WHERE playerSerial=?', getPlayerMoney(source), playerSerial)
    else
        dbExec(connection, 'INSERT INTO playersMoney (playerSerial, playerMoney) VALUES(?, ?)', playerSerial, getPlayerMoney(source))
    end
end)

addEventHandler('onResourceStop', resourceRoot, function()
    local players = getElementsByType('player');
    for index = 1, #players do
        local playerSerial = getPlayerSerial(players[index]);
        local returnedValue = dbPoll(dbQuery(connection, 'SELECT * FROM playersMoney WHERE playerSerial=?', playerSerial), -1)
        if type(returnedValue) == 'table' and #returnedValue > 0 then
            dbExec(connection, 'UPDATE playersMoney SET playerMoney=? WHERE playerSerial=?', getPlayerMoney(players[index]), playerSerial)
        else
            dbExec(connection, 'INSERT INTO playersMoney (playerSerial, playerMoney) VALUES(?, ?)', playerSerial, getPlayerMoney(players[index]))
        end
    end
end)

حط الكود في السيرفرين, ولاتنسى تحط معلومات الداتا بيس

شكرا

Link to comment

كيف يعني مرتبطة او لا هي قاعدة بيانات

بعض الاستضافات اذا تشتري منهم سيرفر يعطونك قاعدة بيانات،

معلومات الداتا بيس منفصلة عن معلومات السيرفر

Edited by #,xiRocKyz
Link to comment
8 minutes ago, #,xiRocKyz said:

كيف يعني مرتبطة او لا هي قاعدة بيانات

بعض الاستضافات اذا تشتري منهم سيرفر يعطونك قاعدة بيانات،

معلومات الداتا بيس منفصلة عن معلومات السيرفر

يب يعطونك قاعدة بيانات لكن يثبوتها ع سيرفرك

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...