Jump to content

x[ غلق الزر ]x مساعــده.


SCi

Recommended Posts

ابي وقت ادخل بماركر مثلا اف واحد و ٢ و ٣ واضيف الازرار الي مابي اغلقها وقت اكون بماركر مشان مايغشو اللاعبين ،

ولما اخرج منه ترجعلي الازرار واعرف افتحهم عادي

Link to comment

ببساطة قم بعمل جدول وفيه الأزرار 

وإستخدم حدث

onClientKey

وتحتاج لـ

isElementWithinMarker

لـ تأكد من أن اللاعب فالماركر لو كان فالماركر قم بـ الفنكشن

cancelEvent.

فقط.

 

 

Edited by 6rB.
  • Like 1
Link to comment
3 hours ago, 6rB. said:

ببساطة قم بعمل جدول وفيه الأزرار 

وإستخدم حدث

onClientKey

وتحتاج لـ

isElementWithinMarker

لـ تأكد من أن اللاعب فالماركر لو كان فالماركر قم بـ الفنكشن

cancelEvent.

فقط.

 

 

كفو يغالي

Link to comment

localPlayer خلاص يغالي بعد تجارب كثيرة حطيت الـ 

مكان السورس أشتغل 

بس ايش الفرق بين سورس و لوكال 

السورس مصدر اللاعب الي سوه الشي او جلب شي يتعلق باللاعب

 

و اللوكال للاعب فقط يعني نفس الشي طب ليش ماشتغل المود بالسورس او انا معلوماتي عنهم غلط ولزم كل فنكشن يستعمل فيه شي مخصص؟

 

 

 

Edited by SCi
Link to comment
14 hours ago, SCi said:

localPlayer خلاص يغالي بعد تجارب كثيرة حطيت الـ 

مكان السورس أشتغل 

بس ايش الفرق بين سورس و لوكال 

السورس مصدر اللاعب الي سوه الشي او جلب شي يتعلق باللاعب

 

و اللوكال للاعب فقط يعني نفس الشي طب ليش ماشتغل المود بالسورس او انا معلوماتي عنهم غلط ولزم كل فنكشن يستعمل فيه شي مخصص؟

 

 

 

local تعريفه

المتغير المحلي موجود فقط ضمن النطاق المعلن عنه. النطاق هو "المستوى" الذي يكون المتغير مرئيًا للبرنامج النصي ، ويحتوي على القيمة التي تم تعيينها له

وlocalPlayer

 

تحصل هذه الوظيفة على عنصر المشغل الخاص بالعميل الذي يقوم بتشغيل النص الحالي.

يمكنك استخدام المتغير localPlayer المحدد مسبقًا بدلاً من كتابة getLocalPlayer ()

و local 

هوه شيأ المحلي

وlocalPlayer

يلي هوه الاعب المحلي

14 hours ago, SCi said:

 

 

و اللوكال للاعب فقط يعني نفس الشي طب ليش ماشتغل المود بالسورس او انا معلوماتي عنهم غلط ولزم كل فنكشن يستعمل فيه شي مخصص؟

 

 

 

نعم كل شيء له شي مخصص يشغله عرفت اخي الكريم وشو بيجي معاه لازم تقرأه بلويكي

Edited by Mr.Hugin
  • Like 1
Link to comment

localPlayer ببساطه ال

تخيل معي الكلينت هو شخص واحد بس الي هو انت تمام ؟

انما السيرفر هو جميع اللاعبين الي بالسيرفر

ف بالتالي ماماينفع تسوي لوب ل جميع اللاعبين و انت ب ملف كلينت لأنه مافيه الا شخص واحد الي هو اللوكال بلاير ( انت )

و دائما بيكون مُعرف في الكلينت لوكال بلاير الي هو انت

انما في السيرفر السورس هو الشخص الي بيطبق الحدث او بيجيله حدث معين

مثلا واحد كتب كود ممنوع ب اف 8 بيجي الكيك ل السورس الي هو كتب

و فيه طريقه ثانيه لو ابي اكتب بملف سيرفر نص يظهر لي انا فقط ماينفع اسوها سورس

اسوها كذا

function Tr7eb ( player )

outputChatBox ( "السلام عليكم",player,250,250,250 ) -- لو ابي اخليها للكل اسوها روت

end

addCommandHandler ( "text", Tr7eb )

أتمنى تكون فهمت الشرح و السلام عليكم ...

 

  • Like 1
Link to comment
2 hours ago, ,3ZF said:

localPlayer ببساطه ال

تخيل معي الكلينت هو شخص واحد بس الي هو انت تمام ؟

انما السيرفر هو جميع اللاعبين الي بالسيرفر

ف بالتالي ماماينفع تسوي لوب ل جميع اللاعبين و انت ب ملف كلينت لأنه مافيه الا شخص واحد الي هو اللوكال بلاير ( انت )

و دائما بيكون مُعرف في الكلينت لوكال بلاير الي هو انت

انما في السيرفر السورس هو الشخص الي بيطبق الحدث او بيجيله حدث معين

مثلا واحد كتب كود ممنوع ب اف 8 بيجي الكيك ل السورس الي هو كتب

و فيه طريقه ثانيه لو ابي اكتب بملف سيرفر نص يظهر لي انا فقط ماينفع اسوها سورس

اسوها كذا

function Tr7eb ( player )

outputChatBox ( "السلام عليكم",player,250,250,250 ) -- لو ابي اخليها للكل اسوها روت

end

addCommandHandler ( "text", Tr7eb )

أتمنى تكون فهمت الشرح و السلام عليكم ...

 

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

5 hours ago, Mr.Hugin said:

local تعريفه

المتغير المحلي موجود فقط ضمن النطاق المعلن عنه. النطاق هو "المستوى" الذي يكون المتغير مرئيًا للبرنامج النصي ، ويحتوي على القيمة التي تم تعيينها له

وlocalPlayer

 

تحصل هذه الوظيفة على عنصر المشغل الخاص بالعميل الذي يقوم بتشغيل النص الحالي.

يمكنك استخدام المتغير localPlayer المحدد مسبقًا بدلاً من كتابة getLocalPlayer ()

و local 

هوه شيأ المحلي

وlocalPlayer

يلي هوه الاعب المحلي

نعم كل شيء له شي مخصص يشغله عرفت اخي الكريم وشو بيجي معاه لازم تقرأه بلويكي

كفو يالغالي علي المجهود فهمتك

 

 

 

طب عندي اخر سؤال ياخي 

@,3ZF لو الروت بحدث الكلينت هيك وقت افتح اللوحة مثلا او يدخل اللاعب يوصل رسالة للكل ؟

Edited by SCi
  • Like 1
Link to comment
17 hours ago, SCi said:

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

كفو يالغالي علي المجهود فهمتك

 

 

 

طب عندي اخر سؤال ياخي 

@,3ZF لو الروت بحدث الكلينت هيك وقت افتح اللوحة مثلا او يدخل اللاعب يوصل رسالة للكل ؟

العفو اخي

17 hours ago, SCi said:

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

كفو يالغالي علي المجهود فهمتك

 

 

 

طب عندي اخر سؤال ياخي 

@,3ZF لو الروت بحدث الكلينت هيك وقت افتح اللوحة مثلا او يدخل اللاعب يوصل رسالة للكل ؟

 هي لها جدول يلي هي root

هاذا رابط مفصل يشرح لك root هوه جدول 

https://wiki.multitheftauto.com/wiki/Element_tree#Tree_elements

هاذا في جدول root شوفه وتعرف وش فايده منه وروت يجي لها عدت اشيأ منها

Player

و

resource Root

و

element 

هي تندرج تحت روت

  • Like 1
Link to comment
18 hours ago, SCi said:

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

كفو يالغالي علي المجهود فهمتك

 

 

 

طب عندي اخر سؤال ياخي 

@,3ZF لو الروت بحدث الكلينت هيك وقت افتح اللوحة مثلا او يدخل اللاعب يوصل رسالة للكل ؟

اذا تبي شي يحدث لجميع اللاعبين الشغل كله بيكون من السيرفر مو من كلينت ابدا

واذا تبي تربط شي استخدم تريقر من كلينت ل سيرفر على سبيل المثال

-- Client

button = guiCreateButton ( x,y,z,f "send" ,false,window )

addEventHandler ( "onClientGUIClick",root,function ( )

if source == button then

local me = getPlayerName(localPlayer)

triggerServerEvent ( "sendMsgAll",localPlayer,me)

end

end )

-- Server

addEvent ( "sendMsgAll",true )

addEventHandler( "sendMsgAll",root,function ( me )

local x = getPlayerName(source)

outputChatBox(""..me.." or "..x.." : السلام عليكم جميعاً",root,250,250,250,true)

end )

و ممكن برضو تجيب اسم الي ضغط الزر من خلال السيرفر الي هو x

أو من الكلينت بس ترسل اسم الي ضغط بتريقر و بيظهر بالسيرفر

 

  • Like 1
Link to comment
  • Scripting Moderators

الأخ يلي فوق ممكن توضيحه كان ناقص شوي لكن خذها معلومة عامة
،الكلاينت(جهاز الاعب) ما يقدر يسوي أي تأثير لأي لاعب غير نفسه، الاعبين الآخرين موجودين في جانب الكلاينت
..لكن الاشياء يلي تقدر تسويها محدودة مثل جلب معلومات عنهم مثل الاسم، البنق، المكان إلخ
.هل اقدر اسوي عليهم بعض الفنكشنات مثل تغيير السكن؟ أي طيب انت قلت الكلاينت يشغل وظائف لنفسه فقط؟ صحيح، تقدر تغير السكن حقهم لكن يلي راح يشوف التغيير فقط أنت الباقين راح يشوفونه مثل ما هو

بالنسبة للسورس(المصدر) لازم تشوف كل حدث لأن كل حدث يختلف المصدر حقه على سبيل المثال
onClientMarkerHit
إذا تحسب المصدر حقه هنا الاعب أقولك خطأ لازم تشوف الويكي راح تلقى إن المصدر حقه هو كائن الماركر يلي دخله الكائن وليس الاعب نفسه
fM4y7fg.png
حتى بعض الأحداث ماعندهم مصدر اساسًا

18 hours ago, SCi said:

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

يختلف على حسب الحدث، على سبيل المثال حدث دخول الماركر زي ما قلنا المصدر حقه هو الماركر يلي دخله الاعب، نعرف فنكشن الايفنت له ارقمنت ثاني لكن وش يفرق؟

addEventHandler("onClientMarkerHit",root,myFunction) -- راح يشتغل الحدث لجميع الماركرات
addEventHandler("onClientMarkerHit",resourceRoot,myFunction) -- راح يشتغل الحدث لجميع الماركرات التي تم إنشاءها من قبل نفس السكربت
addEventHandler("onClientMarkerHit",myMarker,myFunction) -- راح يشتغل الحدث للماركر المعين فقط

لاحظ كيف الفرق؟ كلها في الارقمنت الثاني حق المصدر، هذي توضحها شجرة الكائنات

Tre.png
لأن الاعب لا يتم إنشاءه من قبل سكربت، لو استخدمتها ما راح يشتغل الايفنت ،resourceRoot تحته كل شيء، ولاحظ إن الاعب مو ضمن root تقريبًا الصورة توضح كل شي
(حدث إذا مات لاعب) onClientPlayerWasted وتقدر تستعمل الروت حتى في الكلاينت لبعض الأحداث على سبيل المثال
طبعًا مو كل الأحداث يلي تخص الاعب أحيان تشتغل، تحتاج تشيك السورس والوصف حق الوظيفة على سبيل المثال الحدث يلي فوق مذكور إن يمديك تستخدمه
ZzCqe4s.png
وزي ما ذكرنا ما راح تقدر تسوي أي تأثير يشوفه الآخرين في جانب الكلاينت، راح يشتغل لك الحدث، لكن أي شي تسويه الاعبين الآخرين ما راح يشوفونه لأنه جانب الكلاينت جهازك فقط

Edited by xLive
خطأ مطبعي
  • Like 3
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...