Ahmed_Negm Posted August 28, 2016 Share Posted August 28, 2016 لو سمحتم انا معايا مود مخالفات شغال زي الفل عايز اعمل فيه لما اعطي حد مخالفة يتعمل تيمر الحكاية سهله لاكن ازاي اخلي التيمر ينفحظ لما المود يرستر Link to comment
فاّرس Posted August 28, 2016 Share Posted August 28, 2016 اعتقد والله اعلم مب متأكد من كلامي, ان التايمر بملف سيرفر ينحفظ يعني ما يعيد من اول, ع العموم تقدر تحفظ الوقت بعدة طرق داتا اواكاونت داتا او اكس ام ال او اس كيو ال ... Link to comment
Ahmed_Negm Posted August 28, 2016 Author Share Posted August 28, 2016 اعتقد والله اعلم مب متأكد من كلامي, ان التايمر بملف سيرفر ينحفظ يعني ما يعيد من اول,ع العموم تقدر تحفظ الوقت بعدة طرق داتا اواكاونت داتا او اكس ام ال او اس كيو ال ... ما المشكلة انا مش عارف استخدم ولا طريقة من دي غير كمان عايز طريقة متكنش فيها لاج لو سمحت Link to comment
ahmedfef Posted August 28, 2016 Share Posted August 28, 2016 لو سمحتم انا معايا مود مخالفات شغال زي الفلعايز اعمل فيه لما اعطي حد مخالفة يتعمل تيمر الحكاية سهله لاكن ازاي اخلي التيمر ينفحظ لما المود يرستر setElementData getElementData Link to comment
#DRAGON!FIRE Posted August 29, 2016 Share Posted August 29, 2016 setElementData getElementData ما ينفع المنت داتا !! استخدم getTimerDetails executeSQLQuery Link to comment
ahmedfef Posted August 29, 2016 Share Posted August 29, 2016 setElementData getElementData ما ينفع المنت داتا !! استخدم getTimerDetails executeSQLQuery Link to comment
Me[Z]oO Posted August 29, 2016 Share Posted August 29, 2016 setElementData getElementData ما ينفع المنت داتا !! استخدم getTimerDetails executeSQLQuery setTimer( function() setElementData(resourceRoot,'Time',getTimerDetails ( theTimer )) end, 800,0) Link to comment
N3xT Posted August 29, 2016 Share Posted August 29, 2016 setElementData getElementData ما ينفع المنت داتا !! استخدم getTimerDetails executeSQLQuery setTimer( function() setElementData(resourceRoot,'Time',getTimerDetails ( theTimer )) end, 800,0) تحط داتا ع الريسورس ، والريسورس اذا سويت له ريستارت ما تروح الداتا ؟ Link to comment
ahmedfef Posted August 29, 2016 Share Posted August 29, 2016 تحط داتا ع الريسورس ، والريسورس اذا سويت له ريستارت ما تروح الداتا ؟ الداتا بتحطها على الاعب حسب صاحب الموضوع كل لاعب له تايمر خاص فيه ، ولما تسوي ريستارت للمود الداتا ما راح يروح ^^ Link to comment
Me[Z]oO Posted August 29, 2016 Share Posted August 29, 2016 تحط داتا ع الريسورس ، والريسورس اذا سويت له ريستارت ما تروح الداتا ؟ هذا مثال بسيط لحفظ التايمر بالكلينت Link to comment
#DRAGON!FIRE Posted August 31, 2016 Share Posted August 31, 2016 قلت نكتة انا عشان قاعد تضحكـ ولا كيف ؟ بعدين بالنسبة للـ SQL عشان يحفظ التايمر لو خرج اللاعب من السيرفر ! Link to comment
!#NssoR_) Posted August 31, 2016 Share Posted August 31, 2016 قلت نكتة انا عشان قاعد تضحكـ ولا كيف ؟ بعدين بالنسبة للـ SQL عشان يحفظ التايمر لو خرج اللاعب من السيرفر ! مايحتاج تستخدم ( الاس كيو ال ) بما ان صاحب الموضوع قال ابي الوقت مايروح عند عمل ريستارت فـ يقدر يستخدم الداتا وطبعا ( الاس كيو ال ) افضل بكثير عشان تضمن الوقت مايروح Link to comment
</Mr.Tn6eL> Posted August 31, 2016 Share Posted August 31, 2016 set/get/removeSQLData وظيفة مفيدة تسهل عملية استخدام قواعد البيانات setSQLData(string data_name, string data_value) getSQLData(string data_name) removeSQLData(string data_name) ( string ) قيمة الداتا تقبل السلسة النصية فقط ( tostring ) لتحويل الارقام قم باستخدام ( toJSON, fromJSON) JSON لتحويل الجداول استخدم دوال الـ Code : sql = executeSQLQuery sql "CREATE TABLE IF NOT EXISTS string_data(data_name TEXT, data_value TEXT)" function setSQLData(data, value) assert(type(data) == "string", "Bad Argument @setStringData #1 [string expect, got "..type(data).."]") assert(type(value) == "string", "Bad Argument @setStringData #2 [string expect, got "..type(value).."]") local query = sql("SELECT * FROM string_data WHERE data_name=?", data) if query and type(query) == "table" and #query == 1 then sql("UPDATE string_data SET data_value=? WHERE data_name=?", value, data) else sql("INSERT INTO string_data(data_name, data_value) VALUES(?, ?)", data, value) end return true end function getSQLData(data) assert(type(data) == "string", "Bad Argument @getStringData #1 [string expect, got "..type(data).."]") local query = sql("SELECT data_value FROM string_data WHERE data_name=?", data) return query and type(query) == "table" and #query == 1 and query[1]["data_value"] end function removeSQLData(data) assert(type(data) == "string", "Bad Argument @removeSQLData #1 [string expect, got "..type(data).."]") return sql("DELETE FROM string_data WHERE data_name=?", data) end Example : setSQLData("money"..getPlayerSerial(player), tostring(getPlayerMoney(player))) -- نقوم بوضع داتا على سريال الاعب وقيمتها فلوس الاعب outputChatBox(getSQLData("money"..getPlayerSerial(player)) or "none") -- كتابة بالشات قيمة الداتا removeSQLData("money"..getPlayerSerial(player)) -- حذف الداتا + getTickCount Link to comment
#DRAGON!FIRE Posted August 31, 2016 Share Posted August 31, 2016 ما يحتاج نزود بالكلام يعني واضحة CPU عشان يحفظها بكل الاحوال سواء طلع او صار ريستارات وافضل من الداتا بحيث يوفر من الـ SQL الـ اتمنى ما اشوف احد يتفلسف بعد ويزود ردود !! Link to comment
Ahmed_Negm Posted August 31, 2016 Author Share Posted August 31, 2016 ما يحتاج نزود بالكلام يعني واضحة CPU عشان يحفظها بكل الاحوال سواء طلع او صار ريستارات وافضل من الداتا بحيث يوفر من الـ SQL الـ اتمنى ما اشوف احد يتفلسف بعد ويزود ردود !! SQL يعين انت تنصح بأيه الداتا ولا قاعدة البينات ولا Link to comment
فاّرس Posted August 31, 2016 Share Posted August 31, 2016 على حسب فكرتك, دام فيه امكانيه لطرق غير الإلمنت داتا استخدمها. والإلمنت داتا لو سويتها للمود اذا طفيته وشغلته بتروح الداتا, ولو سويتها للاعب وطلع ودخل بتروح, عشان كذا العب ع المضمون .(JSON) عندك اكثر من طريقه, تقدر تحفظ على حساب اللاعب او قاعدة بيانات او اكس ام ال او جسون Link to comment
ahmedfef Posted August 31, 2016 Share Posted August 31, 2016 ما يحتاج نزود بالكلام يعني واضحة CPU عشان يحفظها بكل الاحوال سواء طلع او صار ريستارات وافضل من الداتا بحيث يوفر من الـ SQL الـ اتمنى ما اشوف احد يتفلسف بعد ويزود ردود !! لو طلع الاعب يستخدم AccountData وإذا الاعب موجود يستخدم ElementData وبعدين الـ ElementData هو الي يوفر من الـ CPU ^^ Link to comment
فاّرس Posted August 31, 2016 Share Posted August 31, 2016 ^ ,ما بتنفع getAccount الاكاونت داتا كيف راح تجيبها دام اللاعب ما سجل دخوله؟ لا تقول لي ؟ CPU واشرح لي كيف يوفر من الـ Link to comment
ahmedfef Posted August 31, 2016 Share Posted August 31, 2016 الاكاونت داتا كيف راح تجيبها دام اللاعب ما سجل دخوله؟ اغلب السيرفرات تجبر الاعبين على تسجيل الدخول ماعدا الهجولة في هاذي الحالة يستخدم executeSQLQuery ؟CPU واشرح لي كيف يوفر من الـ بما ان الموضوع اساساً عن التايمر جرب وشوف الفرق بنفسك setTimer( function() outputChatBox(getElementData(player,"DataName")) end ,50,0) setTimer( function() local Info = executeSQLQuery ( "SELECT * FROM Table WHERE Serial = ?", getPlayerSerial(player)) outputChatBox(Info[1]["Time"]) end ,50,0) خرجنا خارج الموضوع لحفظ التايمر بالسيريال ( طبعاً الافضل علشان لو غير الاعب حسابه او إذا كان الاعب ماعنده حساب من الاساس ) getTimerDetails executeSQLQuery لحفظ التايمر بالحساب setElementData getElementData setAccountData getAccountData getTimerDetails ولا تزعل يا زاحف على الضحكه ض1 Link to comment
فاّرس Posted August 31, 2016 Share Posted August 31, 2016 ,ماخرجنا خارج الموضوع, حنا نتكلم عن الموضوع اصلاً ,اولاً : انا اللعبه مب عندي عشان اجرب ,CPU ثانياً : انا ماجبت طاري قاعدة البيانات فـ الـ تسألني كيف؟ CPU ثالثاً : انا اللي اعرفه ان الالمنت داتا ياخذ كثير من الـ : ذي الإجابه Whenever you change an Elementdata on the server/client the information will be synced to any connected client. This is often not necessary, but simply a waste of bandwidth. Why would a remote player be required to know the exact amount of fuel in a vehicle far away? That information is only useful for the driver of the vehicle, so you'd waste a ton of bandwidth which could be used by MTA for better synchronization. . يمكن يكون كلامي خطأ وفاهم غلط, اشرح لي يمكن نستفيد Link to comment
#DRAGON!FIRE Posted August 31, 2016 Share Posted August 31, 2016 لو طلع الاعب يستخدم AccountData وإذا الاعب موجود يستخدم ElementData وبعدين الـ ElementData هو الي يوفر من الـ CPU ^^ CPU طيب انا قلت انه يستخدم السكل بدلأ من الداتا لتوفير الـ CPU عشان يحفظها بكل الاحوال سواء طلع او صار ريستارات وافضل من الداتا بحيث يوفر من الـ SQL الـ ع العموم انت عطيته الزبدهـ . Link to comment
</Mr.Tn6eL> Posted September 1, 2016 Share Posted September 1, 2016 ,ماخرجنا خارج الموضوع, حنا نتكلم عن الموضوع اصلاً,اولاً : انا اللعبه مب عندي عشان اجرب ,CPU ثانياً : انا ماجبت طاري قاعدة البيانات فـ الـ تسألني كيف؟ CPU ثالثاً : انا اللي اعرفه ان الالمنت داتا ياخذ كثير من الـ : ذي الإجابه Whenever you change an Elementdata on the server/client the information will be synced to any connected client. This is often not necessary, but simply a waste of bandwidth. Why would a remote player be required to know the exact amount of fuel in a vehicle far away? That information is only useful for the driver of the vehicle, so you'd waste a ton of bandwidth which could be used by MTA for better synchronization. . يمكن يكون كلامي خطأ وفاهم غلط, اشرح لي يمكن نستفيد synchronize يمديك تطفي bool setElementData ( element theElement, string key, var value [, bool synchronize = true ] ) وهذا مو سبب مو مقنع انه ياخذ من المعالج وانا مدري ليش خايفين على المعالج كلها عملية بسيطة ما تأثر على السيرفر بس انتو خايفين ياكثر الطرق اللي تحفظ Link to comment
فاّرس Posted September 1, 2016 Share Posted September 1, 2016 ايه والمعالج وش فيه ما يحس يعني؟ . شف فكرة ان الالمنت داتا تاخذ من الس بي يو داخله براسي وما بتطلع Link to comment
</Mr.Tn6eL> Posted September 1, 2016 Share Posted September 1, 2016 ايه والمعالج وش فيه ما يحس يعني؟. شف فكرة ان الالمنت داتا تاخذ من الس بي يو داخله براسي وما بتطلع ههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه اي عملية بتروح للمعالج يعني مابتشرد والله انتو تضحكون يتهاوشون هي تاخذ منن المعالج ولا لا هههههههههه اي عملية بتاخذ من المعالج Link to comment
فاّرس Posted September 1, 2016 Share Posted September 1, 2016 . طيب نجي مثال من الواقع, ذحين انته ترضى اخوك يجي يشل منك فلوس بزياده؟ ها امنعنا من الكذاب وابصم Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now