-
Posts
469 -
Joined
-
Days Won
22
Everything posted by xLive
-
بتتعلمهم في حال شفت شروحات لتصميم واجهات HTML,CSS لا ما يمدي فوتوشوب اصلًا، تحتاج تتعلم لغة البرمجة الجافا سكريبت وكيف تتعامل مع تصميم واجهات المواقع بحر وفيه اشياء كثير جدًا بالنسبة للدي اكس أي ممكن يكون معقد لأنه مجرد رسم جاهزة مثل النوافذ وغيرها CEGUI لكن هل سمعت عن مكاتب الدي اكس؟ سكربتات جاهزة تقدر تتصل فيها وتستعملها مثل الـ DGS @#BrosS على سبيل المثال ما ذكر لك الأخ وما اقول ذا الكلام لأني احد المطورين فيها لكن تقدر تجرب وتقارن الأداء بنفسك تحتاج تتقن لغة لوا عشان تقدر تستعملها، الباقي تقدر تكتشفه من صفحة يلي موجود رابطها فوق وفيه وظائف جاهزة للانميشن مثل يلي فوق فنكشن واحد فقط راح يحرك يلي تبغاه من نقطة أ إلى ب dgsMoveTo محدود لـ 30 فريم بالثانية حسب علمي MTA لأن المتصفح بـ CEF والانميشن بالدي اكس حتى سلس أكثر من
-
،وعليكم السلام الموضوع ينقل لقسم البرمجة (CEF) مافي أي شي خاص فيها ابدًا اللعبة تستعمل إيطار عمل الكروم عشان تسوي مثل كذا يعني يلي تحتاج تتعمله كيف تصنع واجهة موقع، وفيه شروحات كثير بالانترنت عن ذا الشيء، بعد ما تتعلم تصنع واجهة موقع وتجربها بالمتصفح، يبدأ الوقت تصنعها داخل اللعبة عبر فنكنشات المتصفح وبالنسبة للربط بيكون عبر الجافا سكريبت executeBrowserJavascript لو تبغا تسوي شيء من لوا لـ الجافا سكريبت تستخدم وظيفة mta.triggerEvent ولو تبي العكس من الجافا سكريبت لـ لوا ما عندك غير انك تشغل ايفنت عبر فيه شرح كامل هنا يخص الربط وفيه امثلة راح يفيدك كثير CEF? الجزء الأهم هنا، هل ضروري تستعمل الـ للأسف أداءه جدًا سيء للأجهزة الضعيفة وأحيانًا يسبب لهم كراشات CEF DX والتصميم يلي بالفديو تقدر تسويه بالكامل عبر الـ .لكن الخيار يرجع لك ويعتمد على قاعدة الاعبين عندك إذا اجهزتهم تتحمله أو لا
-
You can use warpPedIntoVehicle to change the seat:
-
،وعليكم السلام .تم نقل الموضوع للقسم الصحيح، استعمل هذا القسم للمواضيع باللغة العربية
-
@MoOoOdE.وعليكم السلام، يرجى ملاحظة إن السكربتات في حال لم يتم نشرها من صاحبها الأصلي تعتبر مسربة/مسروقة ولا يسمح بنشرها Message تقدر تتواصل مع صاحب الخادم عبر الرسائل الخاصة تضغط على حسابه الشخصي في المنتدى وبعدها تضغط زر
-
(Edit)الرجاء استخدام اللغة العربية في هذا القسم، يمكنك تعديل المنشور عبر زر التعديل @S7waj :بالنسبة لسؤالك .ليش تسوي الرز من الاساس؟ إذا مرت 30 ثانية اصنع الزر
-
Hello @Shaq062, You can enter the domain in the input box in the server browser as shown in the following image: After that, click Connect or press Enter. Anyway, I tried joining this server and it doesn't seem to be running or you have the wrong address.
-
.تم إغلاق الموضوع لعدم وجود إستجابة من صاحبه .يرجى إستخدام اللغة العربية في هذا القسم أو إستخدم القسم الخاص باللغة الإنجليزية @iNawaF
-
It's working fine for me: Please make sure you're using the latest version of DGS 3.515. You can find out which version you're using with /dgsver. you can then update it using /updatedgs or download it manually from here.
-
.تم نقل الموضوع للقسم الرئيسي، قسم البرمجة خاص لمساعدة المبرمجين في البرمجة، وليس لطلب سكربتات أو مبرمجين
-
.فنكشن خاص بمدة الدقيقة باللعبة، تخلي قيمته صفر والوقت ماراح يتغير setMinuteDuration .ما اعرف اذا الصراحة انت تطلب الفنكشنات/كيف تسوي الشيء ولا تبي اكواد جاهزة، لأن هدف القناة الاساسي نساعد المبرمجين بالبرمجة، مو نعطيهم اشياء جاهزة .وإذا كان قصدك الثاني انصحك تتعلم ببرمجة، لأن مع الوقت راح تضطر تتعلم أو أحد يسوي الأشياء لك بشكل كامل، لأن ما راح تقدر تبني كل شيء بنسخ ولصق .وفي الأخير براحتك طبعًا، لكن لا تستغرب في حال طلبت شي معين وما احد قرر يساعدك بالتوفيق ماكان موجود أفضل شي تستعمل التايمر وتشغله كل دقيقة setMinuteDuration ملاحظة بسيطة، حاول دائمًا تتجنب إستخدام الرندر بدون لازم لأنه يجلس يستهلك بالمعالج عالفاضي عالسبيل مثال هنا لو %0.1-0.3ممكن حدث الرندر يستهلك لحاله إذا ماكان يسوي شي ipb لأن جرب شيك على سكربت .عاد تخيل سكربتات كثيرة تستعمله بدون حاجة، كم راح توصل النسبة هذي؟ طبعا النتيجة أداء سيء ولاق
-
setPedStat .الأيدي الخاص بالحد الأقصى للصحة هو 26 والقيمة يلي تحطها هي بين 0-200. الوظيفة مثل ما هي مذكورة بالويكي يمكن إستخدامها في جانب السيرفر سايد فقط بالنسبة للاعبين .ولازم تستعمل هذي الوظيفة بعد القيم مود ما يرسبن الاعب عشان تاخذ التأثير، لأن ممكن القيم مود يلغي التغيير على أي حال، إذا ما خاب ظني قيم مود التكتيك له إعدادات خاصة فيه ومن ضمنها الصحة جرب غيرها من 100 لـ 200
-
trinf? كودك تمام كذا ومفروض الاعب يقدر يجاوب مرة واحدة ويمديك تحط سؤال آخر.. متأكد ما عندك اكود آخرى في جانب الخادم يعدل متغير نفس الشيء في جانب الكلاينت، هل فيه تحققات حاطها هناك؟
-
.اطرح كودك، لو سويته تمام مفروض يشتغل، لكن غالبًا فيه شي مسويه خطأ، الأفضل تطرحه عشان نكتشفه لك
-
تسوي صندوقين كتابة واحد للسؤال والثاني الإجابة، بعد ماترسل القيم للسيرفر عبر التريقر (اتوقع تعرف الشيء هذا صحيح؟) تخرج القيمة الأولى (السؤال) بالشات مثلًا بالنسبة للقيمة الثانية(الجواب) تخليها متغير عام مثل كذا function(question,answer) outputChatBox(question,........) theAnswer = answer -- theAnswer صار متغير عام وتقدر تستخدمه خارج الوظيفة هذي onPlayerChat حاليًا عشان تعرف إذا الاعب كتب شي في الشات عبر حدث راح يعطيك هذا الحدث الرسالة يلي رسلها الاعب قبل ما تتحقق إن الإجابة صحيحة تحقق إن المتغير حقك يلي فيه الإجابة موجود بتحقق صغير مثل كذا if myAnswer then الكود كله ما راح يشتغل عشان شخص واحد فقط يجاوب nil ليش نحتاج هذا التحقق؟ لأن لو كانت قيمة هذا المتغير nil = لا شيء، بمعنى إن المتغير مافيه قيمة بعدها نتحقق إن الرسالة يلي كتبها الاعب == المتغير يلي سويناه عشان يصير المتغير فارغ وما راح يشتغل مرة ثانية لأن عندنا تحقق مثل ماقلنا فوق nil وبعدها نعطيه فلوس ونغير قيمة المتغير حقنا لـ
-
https://riptutorial.com/lua/example/20315/lua-pattern-matching
-
getNearestElement راح يجيب لك الاعب القريب منك فقط .تحتاج تستعمل وظيفة تشغيل الحركة مرتين عشان تشغل له الحركة ولك
-
getNearestElement هذي وظيفة مفيدة، تعطيه الاعب يلي هو أنت، ونوع الكائن يلي يبحث عنه (لاعب)، والمسافة وراح يعطيك أقرب كائن لك .؟ وظيفة غير موجودة بشكل إفتراضي، شخص ما سواها ونشرها في صفحة الويكي، عشان تستعملها لازم تنسخ الكود حقها وتحطه عندك(Useful Function) وش معنى وظيفة مفيدة setPedAnimation .راح يشغل حركة
-
،وعليكم السلام ،إذا كان معاك فترة طويلة غالبًا أي، لكن متأكد المشكلة 100% من الهارد نفسه؟ تأكد إن مثلًا الأسلاك يلي توصله ما خربت .وحاول تجرب تشغله على جهاز ثاني عشان تتأكد أكثر، في حال اشتغل يعني عندك مشكلة بالبايوس. أو لو عندك وصلة تركبه بمنفذ اليو اس بي جرب SSD جرب توديه بعض المحلات بعض الأحيان فيه إمكانية يتصلح أو يقدر يرجع بعض الملفات أحيانًا، لكن لو ،HDD لو كان ما أعتقد (ممكن اكون خطأ لكن هذا يلي اعرفه من واقع تجربة)
-
يبغالك كل فترة عشان تخليه يلحقك ويطلق عليك بشكل صحيح تستعمل هذه الوظائف setPedAimTarget يخلي البيد يصوب على مكان معين getElementRotation تجيب إتجاه الاعب المطلوب setElementRotation تعدل إتجاه البيد setPedControlState تتحكم بالبيد من ناحية الطلق، تخليه يمشي أو يوقف Slothbot اشوف الأفضل انك تستعمل سكربت
-
.الخطأ هذا غالبًا يظهر في حال كانت ملفات السكربت مشفرة، والتشفير المستعمل يتطلب إصدار معين، في حال كان إصدار الخادم أقل من المطلوب sver إصدار الخادم المحلي غالبًا يكون آخر إصدار(لأنه يتحدث مع المشغل نفسه) إلا لو انت محمل ملفات خادم قديمة من الإنترنت. تقدر تتأكد من الإصدار؟ عبر كتابة أمر
-
إذا سويت تعريف لهم جميعهم تحتاج تشغل وظيفة إضافة الحدث كل مرة مثل كذا addEventHandler("onColShapeHit",var1,hill_Enter) addEventHandler("onColShapeHit",var2,hill_Enter) addEventHandler("onColShapeHit",var3,hill_Enter) resourceRoot أو مثل ما قال الأخ اوسكار تلصق الحدث بـ addEventHandler("onColShapeHit",resourceRoot,hill_Enter)
-
الأخ يلي فوق ممكن توضيحه كان ناقص شوي لكن خذها معلومة عامة ،الكلاينت(جهاز الاعب) ما يقدر يسوي أي تأثير لأي لاعب غير نفسه، الاعبين الآخرين موجودين في جانب الكلاينت ..لكن الاشياء يلي تقدر تسويها محدودة مثل جلب معلومات عنهم مثل الاسم، البنق، المكان إلخ .هل اقدر اسوي عليهم بعض الفنكشنات مثل تغيير السكن؟ أي طيب انت قلت الكلاينت يشغل وظائف لنفسه فقط؟ صحيح، تقدر تغير السكن حقهم لكن يلي راح يشوف التغيير فقط أنت الباقين راح يشوفونه مثل ما هو بالنسبة للسورس(المصدر) لازم تشوف كل حدث لأن كل حدث يختلف المصدر حقه على سبيل المثال onClientMarkerHit إذا تحسب المصدر حقه هنا الاعب أقولك خطأ لازم تشوف الويكي راح تلقى إن المصدر حقه هو كائن الماركر يلي دخله الكائن وليس الاعب نفسه حتى بعض الأحداث ماعندهم مصدر اساسًا يختلف على حسب الحدث، على سبيل المثال حدث دخول الماركر زي ما قلنا المصدر حقه هو الماركر يلي دخله الاعب، نعرف فنكشن الايفنت له ارقمنت ثاني لكن وش يفرق؟ addEventHandler("onClientMarkerHit",root,myFunction) -- راح يشتغل الحدث لجميع الماركرات addEventHandler("onClientMarkerHit",resourceRoot,myFunction) -- راح يشتغل الحدث لجميع الماركرات التي تم إنشاءها من قبل نفس السكربت addEventHandler("onClientMarkerHit",myMarker,myFunction) -- راح يشتغل الحدث للماركر المعين فقط لاحظ كيف الفرق؟ كلها في الارقمنت الثاني حق المصدر، هذي توضحها شجرة الكائنات لأن الاعب لا يتم إنشاءه من قبل سكربت، لو استخدمتها ما راح يشتغل الايفنت ،resourceRoot تحته كل شيء، ولاحظ إن الاعب مو ضمن root تقريبًا الصورة توضح كل شي (حدث إذا مات لاعب) onClientPlayerWasted وتقدر تستعمل الروت حتى في الكلاينت لبعض الأحداث على سبيل المثال طبعًا مو كل الأحداث يلي تخص الاعب أحيان تشتغل، تحتاج تشيك السورس والوصف حق الوظيفة على سبيل المثال الحدث يلي فوق مذكور إن يمديك تستخدمه وزي ما ذكرنا ما راح تقدر تسوي أي تأثير يشوفه الآخرين في جانب الكلاينت، راح يشتغل لك الحدث، لكن أي شي تسويه الاعبين الآخرين ما راح يشوفونه لأنه جانب الكلاينت جهازك فقط
-
:عشان اوضح حاجة ممكن انت فاهمها خطأ، local var1 = functionTest1(),functionTest2(),functionTest3() .انت كذا مو جالس تعرفهم جميع القيم هنا، راح تعرف متغير واحد فقط وهو الأول :طيب اوك وش الحل كيف أعرفهم جميعهم؟ عندك طريقتين :كل واحد منهم متغير خاص مثل كذا local var1,var2,var3 = functionTest1(),functionTest2(),functionTest3() :تصنع جدول فيه الاحداثيات وتسوي لوب له، عشان تصنع الكول شيب، وتضيف الايفنت لهم ذا مثال بسيط local myTable = { {1252.5432128906, 1211.8337402344, 5, 456.9}, {1256.3558349609, 1199.0007324219, 200.5, 3.5}, -- ونقول باقي الإحداثيات إنضافت } -- الحين معنا جدول بسيط نبي نطلع القيم هذي عشان نصنع الكول شيب for index,value in ipairs(myTable) do -- نسوي لوب(تكرار) للجدول عشان نصنع الكول شيب -- value حاليًا هي عبارة عن جدول إحداثيات بنفك القيم يلي داخلها local x, y, width, height = unpack(value) -- هذي احد فنكشنات الخاصة بالجداول عشان تفك القيم وتعرفها بالطريقة هذي local heliArea = createColRectangle(x, y, width, height) addEventHandler(...) -- طبعا تضيف الحدث هنا حق الدخول وبكذا الثلاث اسطر هذي راح تشتغل لكل قيمة بالجدول مثلًا الحين معنا صفين بالجدول يعني راح يشتغل مرتين end .عالعموم أي طريقة تسويها بكل الحالتين تحتاج تضيف جميع الكائنات للحدث عشان يشتغل لجميعهم