Jump to content

* اقوى نظام لحفظ البيانات


Recommended Posts

السلام عليكم ورحمة الله وبركاته
بما ان موضوع
setElementData
getElementData
يضعف البروسيسور حق الخادم
وايضاً ماهو محفوظ بشكل يدوم فترة طويلة

سويت هذه الوظيفة البسيطة
نفس طريقة تشغيل الـ
set/getElementData

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

المهم لازم تحمل المود و تابع باقي الشرح
ملاحظة طريقة الحفظ بملفات
db
او اللي هي
Database

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

اول شي
التحميل

To4pTop

مركز الخليج
.. تخطى الاعلانات للتحميل ..
ثاني شي
الشرح

تركيبة الكود
 

-- [[ server side ]]

exports["SQL"]:setElementSqlData ( element theElement, string key, value ) -- وضع بيانات أو تحديث بيانات قديمة بنفس الطريقة

value = exports["SQL"]:getElementSqlData ( element theElement, string key ) -- لمعرفة البيانات القديمة لعنصر معين

--[[ حيث

    theElement --> هو العنصر الذي ستضيف له البيانات ويجب ان يكون عنصر
    
    key --> string هو اسم او مفتاح البيانات ويجب ان يكون من نوع
    
    value --> وهي القيمة التي تريد وضعها في بيانات العنصر
    
    بما ان هذا الإصدار التجريبي
    
    يمكنك وضع القيمة اما رقم او قيمة داخل علامتي تنصيص
    
    ""

--]]



مثال

 

function q ()
	
	exports["SQL"]:setElementSqlData ( source, "money", getPlayerMoney ( source ) )
	
	local x, y, z = getElementPosition ( source )
	
	exports["SQL"]:setElementSqlData ( source, "x", x )
	exports["SQL"]:setElementSqlData ( source, "y", y )
	exports["SQL"]:setElementSqlData ( source, "z", z )
	
end

addEventHandler ( "onPlayerQuit", root, q )

function l ()
	
	givePlayerMoney ( source, exports["SQL"]:getElementSqlData ( source, "money" ) )
	
	local x = exports["SQL"]:getElementSqlData ( source, "x" )
	local y = exports["SQL"]:getElementSqlData ( source, "y" )
	local z = exports["SQL"]:getElementSqlData ( source, "z" )
	
	setElementPosition ( source, x, y, z )
	
end

addEventHandler ( "onPlayerLogin", root, l )

 

  • Like 1
  • Thanks 1
Link to comment
  On 29/01/2018 at 07:51, killerProject said:

وش برأيك انت ذذ

Expand  

جرب تسوي 
Timer

حق exports["SQL"]:setElementSqlData ( source, "z", z ) و setElementData ( source, "z", z )
وبتعرف وش هو الافضل ^_^

أفضل بديل للحفظ المؤقت هو الـ

Array (الجداول) 

مع الـ

Database

في نفس الوقت

تحفظ الجدول في جهة السيرفر وتحفظ بيانات الاعبين عليه 

إذا حصل تحديث لـ الجدول ، حدّث قاعدة البيانات

وإذا بغيت تجلب شيء ، استخدم الجدول

(قواعد البيانات تتحدث نادراً ، إذا كان التحديث بيحصل بشكل سريع ، حدّث الجدول وكل 5 دقائق او في احداث معينة فقط)

استخدمت هاذي الطريقة في موداتي :

القروبات ، تصميم المقرات ، حرب الكلانات ... الخ

Edited by ahmedfef
  • Like 1
Link to comment
  On 28/01/2018 at 18:16, killerProject said:

السلام عليكم ورحمة الله وبركاته
بما ان موضوع
setElementData
getElementData
يضعف البروسيسور حق الخادم
وايضاً ماهو محفوظ بشكل يدوم فترة طويلة

سويت هذه الوظيفة البسيطة
نفس طريقة تشغيل الـ
set/getElementData

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

المهم لازم تحمل المود و تابع باقي الشرح
ملاحظة طريقة الحفظ بملفات
db
او اللي هي
Database

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

اول شي
التحميل

To4pTop

مركز الخليج
.. تخطى الاعلانات للتحميل ..
ثاني شي
الشرح

تركيبة الكود
 


-- [[ server side ]]

exports["SQL"]:setElementSqlData ( element theElement, string key, value ) -- وضع بيانات أو تحديث بيانات قديمة بنفس الطريقة

value = exports["SQL"]:getElementSqlData ( element theElement, string key ) -- لمعرفة البيانات القديمة لعنصر معين

--[[ حيث

    theElement --> هو العنصر الذي ستضيف له البيانات ويجب ان يكون عنصر
    
    key --> string هو اسم او مفتاح البيانات ويجب ان يكون من نوع
    
    value --> وهي القيمة التي تريد وضعها في بيانات العنصر
    
    بما ان هذا الإصدار التجريبي
    
    يمكنك وضع القيمة اما رقم او قيمة داخل علامتي تنصيص
    
    ""

--]]



مثال

 


function q ()
	
	exports["SQL"]:setElementSqlData ( source, "money", getPlayerMoney ( source ) )
	
	local x, y, z = getElementPosition ( source )
	
	exports["SQL"]:setElementSqlData ( source, "x", x )
	exports["SQL"]:setElementSqlData ( source, "y", y )
	exports["SQL"]:setElementSqlData ( source, "z", z )
	
end

addEventHandler ( "onPlayerQuit", root, q )

function l ()
	
	givePlayerMoney ( source, exports["SQL"]:getElementSqlData ( source, "money" ) )
	
	local x = exports["SQL"]:getElementSqlData ( source, "x" )
	local y = exports["SQL"]:getElementSqlData ( source, "y" )
	local z = exports["SQL"]:getElementSqlData ( source, "z" )
	
	setElementPosition ( source, x, y, z )
	
end

addEventHandler ( "onPlayerLogin", root, l )

 

Expand  

اقوي نظام حفظ للبيانات بالجداول  ~_~

و عشان تحفظ الجداول من انها تنحذف اذا سويت رستارت للمود , بكل بساطه

fileCreate

fileClose

fileWrite

و طبعا ضيف الملف لي الميتا

Link to comment
  On 29/01/2018 at 10:53, killerProject said:

ماهي مشفرة

Expand  

ياعمي فهمت غلط :-

عشان تحفظ الجداول لو تبي تسوي رستارت للسكربت او شي و ما تضيع

استخرج كل محتوياتها

و حطها في ملف عن طريق

fileCreate

fileWrite

و بعدها طبعا هتضيف الملف ده للميتا و لما تيجي تفتح المود هيكون الجدول جواه بالقيم القديمه

طريقه تعلمتها من كروس لحفظ الجداول

Link to comment
  • 1 month later...
  On 29/01/2018 at 12:18, #SycroX said:

ياعمي فهمت غلط :-

عشان تحفظ الجداول لو تبي تسوي رستارت للسكربت او شي و ما تضيع

استخرج كل محتوياتها

و حطها في ملف عن طريق

fileCreate

fileWrite

و بعدها طبعا هتضيف الملف ده للميتا و لما تيجي تفتح المود هيكون الجدول جواه بالقيم القديمه

طريقه تعلمتها من كروس لحفظ الجداول

Expand  

ليه مزعلين نفسكم عندي طريقة ممتازه صراحه افضل ما يمكن

  On 29/01/2018 at 09:06, ahmedfef said:

Array (الجداول) 

 

Expand  

تجمع بين table+file

وهي عن طريق تخزين البيانات في ملف مع استخدام

md5 للتشفير

وبس لما مثلا لاعب يخش تجلب البيانات من الملف وتفك التشفير  وتخزنه بالتيبل

يخرج تشفر وتخزنه بالملف الخ

Link to comment
  • 2 weeks later...
  On 25/03/2018 at 10:00, Master_MTA said:

ليه مزعلين نفسكم عندي طريقة ممتازه صراحه افضل ما يمكن

تجمع بين table+file

وهي عن طريق تخزين البيانات في ملف مع استخدام

md5 للتشفير

وبس لما مثلا لاعب يخش تجلب البيانات من الملف وتفك التشفير  وتخزنه بالتيبل

يخرج تشفر وتخزنه بالملف الخ

Expand  

O.o

Edited by ahmedfef
Link to comment
  • 1 month later...
  • 3 weeks later...

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...