Jump to content

فاّرس

Members
  • Posts

    4,805
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by فاّرس

  1. .عشان تحول الرقم الى سلسله نصيه tostring ايه , ولازم تعرف السورس, وتستخدم
  2. : اذا كنت بتستخدم قاعدة بيانات السيرفر, وذا شي ما افضله انا, ولكن تراها سهله هي مجرد وظيفه وحده : تسوي جدول جديد بإسم و2 كولمن executeSQLQuery ('CREATE TABLE IF NOT EXISTS `PlayersNick` ( serial, nick ) ') --[[ PlayersNick : اسم الجدول اللي راح يكون داخل القاعدة serial, nick : نسوي 2 كولمن واحد نخليه للسريال وواحد لـ نك اللاعب وش دخل السريال؟ عشان نحفظ البيانات على السريال عشان تكون لكل لاعب بياناته الخاصه ]] : بعدها نتحقق من القيم داخل الجدول, والتحقق راح يكون عن طريق السريال, بمعنى نبحث عن قيمه داخل الجدول حق قاعدة البيانات بواسطة السريال local _ = executeSQLQuery( "SELECT * FROM `PlayersNick` WHERE serial =?", getPlayerSerial ( player ) -- player : طبعا غير معرفه, انت تعرفها على حسب استخدامك , اذا استخدمتها داخل حدث اذا دخل اللاعب بيكون سورس -- واذا استخدمها داخل حدث اذا اشتغل السكربت لازم تسوي لوب لكل اللاعبين, واذا استخدمها داخل حدث اذا اللاعب غير نكه بيكون سورس : وبعدها تسوي تحقق بسيط زي كذا if ( type ( _ ) == 'table' and #_ == 0 or not _ ) then -- تحقق بسيط لو مالقينا قيمه داخل القاعدة للاعب اللي حددنا سرياله : بعدها تضيف اسم اللاعب داخل القاعدة executeSQLQuery ( "INSERT INTO `PlayersNick` ( serial, nick ) VALUES( ?, ? )", getPlayerSerial ( player ), getPlayerName ( player ) ) -- player : نفس الكلام اللي فوق مو لازم اعيده : واذا تبي تحدث اسم اللاعب تستخدم executeSQLQuery('UPDATE `PlayersNick` SET nick=? WHERE serial=?', getPlayerName ( player ), getPlayerSerial ( player ) ) -- player : نفس الكلام بعد . . player تقريباً عطيتك الكود كامل باقي عليك تضيف الحدث وتعرف
  3. ^ اذا كان كذا ما ينفع تستخدم الاكاونت داتا, لأنه بيحفظ على اسم الحساب, وبعض اللاعبين ما بيكونون مسجلين, بمعنى قاعدة البيانات اسهل من اي شي آخر سواء اكس ام ال او غيره. وللمعلوميه ماتقدر تجيب لاعبين هم اساساً مب متواجدين داخل السيرفر, اللي عليك تسوي نظام حفظ, اول ما يشتغل السكربت و اول ما يدخل اللاعب واول ما يغير النك, تسوي تحقق اذا نكه مب موجوده بالقاعدة تضيفه للقاعدة.
  4. I think you should marry :v .
  5. . حللت أهلا ومدري وش بعدها, يالله حيهمم, نورتنا, وإن شاء الله نشوف ابداعاتك وبالتوفيق لسيرفرك
  6. No, it means in arabic 'نذل', mean cad :v .
  7. It's not fair,i do not know anything about C++ :v .
  8. يعني افهم من كلامك انك تبي تحفظ اسماء اللاعبين اللي دخلوا السيرفر من قبل واللي موجودين حالياً؟
  9. .كـ نصيحه : لا تبدأ على طول تبرمج للعبه ,اغلبنا كان كذا وبدأ البرمجه للعبه على طول وهو مو فاهم اي شي وذا راح يخليك تعاني, واسأل مجرب ...الفكره هي انك تبدأ تتعلم اللغه, كيف تسوي وظيفه؟ كيف تسوي متغير؟ ووش هو المتغير؟ ووش انواع القيم؟ و ,outputChatBox اذا تعلمت كل ذا اللي عليك تجي هنا وتشوف مثلاً حصلت وظيفة ,تدخل الويكي وتشوف السينتاكس (السينتاكس هو تركيب الوظيفه, يعني كيف تستخدمها) وبعدها تطبق اللي تعلمته من اللغه : نشوف السينتاكس bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] ) ^ طبعا السينتاكس ذا لملف سيرفر, بعض الوظائف تجيك نفس السينتاكس للكلينت والسيرفر وبعضها تجي مختلفه. : طيب ناخذه حبه حبه ,الحين تطبق اللي تعلمته : قبل الوظيفه تلاحظ bool -- boolean هذي من انوع القيم وهي اختصار لـ --[[ false او true بما انك تعلمت اللغه, بتعرف ان معناها قيمه منطقيه يعني يا تكون ]] ,false واذا حدث اي خطأ راح تكون true طيب ليه حطوها قبل الوظيفه؟ ذي معناها ان الوظيفه لو تحققت بنجاح راح يكون ,Arguments طيب نروح للي بين الأقواس ويسمونها : ناخذ اول وحده string text -- string : دامك تعلمت انواع القيم بتعرف ان ذي معناها سلسله نصيه يعني اي شي داخل علامة التنصيص --[[ راح تكون سلسله نصيه, يعني لازم قبل مايحطون شي text طبعا هم حاطينها لك عشان تعرف ان قيمة .يحطون لك وش نوعه قبله , مثلاً يكون سلسله نصيه زي اللي فوق, او يكون عدد صحيح او عدد عشري الخ ]] ,لازم يكون سلسله نصيه, وما ينفع تحط قيمه منطقيه او عدد صحيح الخ text طيب كذا عرفنا ان ؟ وش معناه؟ وكيف استخدمه؟ text طيب الحين وش هو ,Optional Arguments دائماً وبعض الأحيان تحصل معاها Required Arguments ننزل تحت بالويكي راح تحصل Required Arguments : يعني الأشياء المطلوبه منك اللي لازم تكتبها او تحط لها قيمه اثناء استخدامك للوظيفه. Optional Arguments : يعني الأشياء الإختياريه اللي مو شرط تكتبها, اذا ماكتبتها راح تكون لها قيمه محدده إما تكون عدد او الخ. مثل ايش؟ يعني عطني مثال من السينتاكس اللي فوق؟ Optional Arguments و Required Arguments طيب Required Arguments : فقط text مثل Optional Arguments : اجباري text كل شي داخل القوسين اختياري ماعدا طيب كيف اعرف انه اختياري او اجباري؟ : لاحظ يجيك قبل الأشياء الإختياريه قوس زي كذا [, ,ويكون داخله الأشياء الإختياريه, لاحظ وين يقفل القوس, اذا قفل وكان بعده فيه ارقومنت راح يكون هذا الأرقومنت اجباري لأنه مو داخل القوسين ؟ وش معناه؟ وكيف استخدمه؟ text طيب نكمل الحين وش هو text: The text string that you wish to send to the chat window. If more than 128 characters it will not be showed in chat. هو سلسله نصيه تكتبها ويطلع اللي كتبته فـ الشات واذا كان عدد الحروف داخل السلسله النصيه text ذا كلام الويكي, طيب عرفنا ان .اكثر من 128 حرف ما راح يطلع الكلام بالشات ,الحين نجي نطبق الكلام اللي فهمناه text طيب كذا تمام عرفنا وش معنى outputChatBox ( 'sonnyblack25 ' ) -- كذا طلعنا كلام اللي داخل علامة التنصيص فـ الشات -- : ركز, علامة تنصيص يعني لو حطيت عدد او اي شي راح يطلع خطأ لازم تسوي كذا -- '100' -- '29929111' -- 'true' -- 'false' : طيب وباقي الأرقومنتات اللي هي ذي [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] ,ليه ما كتبتها؟ طيب مو قلنا انها اختياريه؟ لاحظ انها بين القوسين يعني اختياريه ,طيب ينفع اعدل اول ارقومنت اختياري واترك الباقي؟ ايه ينفع, بس ما ينفع تعدل الثاني وتتخطى الأول لازم تكتب الأول وبعده الثاني طيب وريني كيف تستخدم الأرقومنت الإختياري الأول؟ : طيب ناخذ الأرقومنت الإختياري الأول element visibleTo=getRootElement() --[[ element : هذا من وين جا؟ ما تعلمته فـ اللغه! طيب اذا ضغطت عليه راح يوديك صفحه للويكي ويقولك وش معناه .هو معناه عنصر, يعني ممكن يكون لاعب, وممكن يكون سياره, او اوبجكت الخ -- visibleTo = getRootElement() ,getRootElement يعني الأرقومنت لو ماكتبته راح تكون قيمته هي الوظيفه : تقدر تدخل ع الوظيفه وتشوف وش معناها, وتقدر تراجع هالصفحه حق شجرة العناصر [url=https://wiki.multitheftauto.com/wiki/Element_tree]https://wiki.multitheftauto.com/wiki/Element_tree[/url] ]] .هو عنصر, يعني ما تقدر تحط رقم او سلسله نصيه او اي شي غير العناصر visibleTo طيب عرفنا ان ,ونشوف وش هو Optional Arguments طيب وعرفنا بعد انه اختياري, يعني دايركت نروح للـ visibleTo: This specifies who the chat is visible to. Any players in this element will see the chat message. See visibility. ,طيب عرفنا ان معناه هو العناصر اللي تبي يظهر لهم الكلام اللي بالشات وطبيعي راح يكونون لاعبين مستحيل تحط كلام للسياره او شي ثاني : طيب نجي للتطبيق outputChatBox ( 'sonnyblack25', source ) --[[ source : وش ذا؟ ومن وين جبته؟ وهل هو معرف او لا؟ طبعاً غير معرف اذا استخدمت الكود كذا, السورس يكون معرف داخل الحدث, الحدث هو الشي اللي يصير, مثلا حدث عند دخول اللاعب للسيرفر راح يكون السورس هو اللاعب اللي دخل, ولو استخدمت الوظيفه راح يظهر الكلام للاعب اللي دخل فقط, لأنك حددت getRootElement() اذا تبيه يظهر للكل لازم تخليه ]] .اتمنى استفدت ووصلت الفكره, بالتوفيق
  10. No not c++, what about lua :v ?
  11. . عشان محد يبتلش .col بالتوفيق لك, وياليت تضيف المعلومه بالموضوع انه مايدعم ملفات
  12. . خلاص شوف آخر رد بالصفحه الأولى عطاك الكود بالاكاونت داتا
  13. I'm going to invent the bot soon.
  14. ما شاء الله, ابداعاتك ما توقف, فكره كويسه ومطلوبه وسعر مناسب جداً ؟ .COL بس لاهنت عندي سؤال, التشفير يدعم ملفات
  15. لوحة ممتازه, عجبني التصميم, واصل ونشوف ابداعاتك إن شاء الله انا ابرمج من 5 سنين وداخل فـ السنه السادسه, وماقد سويت اي سكربت ابداً مو شرط تكون تعرف تبرمج يعني لازم تسوي سكربتات.
  16. اللي انت قاعد تسويه غلط, سطر 47 كلينت, انت قاعد تزيد رقم على سلسلة نصيه, واساساً الرقم 0 يعني خطأ ع الفاضي. ...ثاني شي كذا النقاط ما راح تنحفظ لازم تحفظ النقاط بواسطه قاعدة البيانات او الاكاوانت داتا او ثالث شي, يضيف سطر جديد طبيعي لأنك انت مخليه يضيف سطر جديد, ارسل الرو او السطر مع التريقر من الكلينت وكمل ارسله مع التريقر من السيرفر وعدل السطر بدون ما تضيف اي سطر ثاني.
  17. انلحس مخي تقصد تبي تجيب اسماء(النك) اصحاب الحسابات اللي مسجله بالسيرفر؟ .TF8DNA اذا كان كذا قصدك, استخدم قاعدة البيانات اسهل مثل ما قالك الأخ : الفكره سهله حاول وبنساعدك , استخدم executeSQLQuery -- registry قاعدة بيانات السيرفر -- قاعدة بيانات خارجيه dbConnect dbExec dbQuery dbPoll مو شرط تستخدم قاعدة البيانات, عندك اكثر من طريقه للحفظ. الجداول ما راح تحفظ القيمه اذا طفيت المود وشغلته.
  18. ^ اضيف على كلامك, local variables موضوعة داخل جدول ماعدا المتغيرات المحليه LUA جميع المتغيرات في : داخل سلسله نصيه, مثال لكلامي ( Global variables ) لاحظ مثال الأخ تنطيل الأول, ذا يجيب لك كل المتغيرات العامه ft = { } -- ( Global variable ) متغير عام for n in pairs ( _G ) do -- لوب يجيب كل المتغيرات العامه if n == 'ft' then -- اللي سويناه داخل الجدول ft نتحقق لو المتغير العام outputChatBox ( n ) -- نطلع اسم المتغير العام بالشات break -- نوقف اللوب end -- نقفل الشرط end -- نقفل اللوب _G بمعنى أول ما سوينا المتغير العام على طول راح يكون داخل الجدول Local variable قبل المتغير ماراح يظهر باللوب لأنه صار local لو تجرب تحط مثال آخر : ft = { health = 'getElementHealth' } outputChatBox ( _G[ft.health] ( localPlayer ) )
  19. الحين فهمني, انت تبي تجيب اللاعبين, او تبي تجيب حسابات اللاعبين؟ كيف تبي تجيب لاعبين غير متواجدين بالسيرفر؟
  20. ذا اللي انت قلته : .getElementsByType ع العموم عشان تجيب كل اللاعبين استخدم
  21. عندك اشياء ناقصه , "onClientGUIClick" triggerServerEvent addEvent - addEventHandler -- عشان تستقبل التريقر بملف سيرفر table -- تسوي جدول عشان ما يسحب سياره لاعب ثاني ويعطيها للي ضغط الزر حديثاً isElement - destroyElement -- اذا كنت تبي اللاعب ما يكرر اكثر من سياره, تسوي تحقق وتحذفها createVehicle -- الطلب الثاني : "onClientGUIClick" triggerServerEvent addEvent - addEventHandler -- عشان تستقبل التريقر بملف سيرفر doesPedHaveJetPack givePedJetPack
  22. عدلت الكود حق الاسلحه بالنوت باد ونسيت انسخ التعديل حق الكيل بيد انسخه مره ثانيه .
  23. ماعندك مشكلة بالجرافيك كلها معوقه SA افضل من GTA3/VC لكن ع الأقل تنوع بين الألعاب, ولا تنسى انه يمديك تطبق افكار على آخ بس لو يستلمون جراند 5 بنفل ام امها SA ويكون فيه حماس, الصدق انا طفشت من
×
×
  • Create New...