saitama Posted July 28, 2016 Share Posted July 28, 2016 السلام عليكم ورحمة الله وبركاته ابغى شرح لـ وضيفة interpolateBetween ولو فرضا مسوي شادرز على صورة كيف اخليها تتحرك من فوق لـ تحت Link to comment
Mostafa MohammeD Posted July 28, 2016 Share Posted July 28, 2016 https://forum.multitheftauto.com/viewtopic.php?f=160&t=96840 Link to comment
فاّرس Posted July 28, 2016 Share Posted July 28, 2016 الوظيفتين سهله مب صعبه ركز معي شوف المثال ذا وقول لي اذا مو فاهمه؟ tic = getTickCount () -- الوقت اللي اشتغل فيه نظامك على السيرفر, طبعاً بيجيب رقم ثابت مايتحدث addCommandHandler ( 'tics', function() newtic = getTickCount() -- هنا نجيب الوقت الجديد مع التحديث local seconds = math.floor ( ( newtic - tic ) / 1000 ) --[[ - math.floor عشان نقرب الرقم لأقرب عدد عشري - newtic - tic ننقص الوقت الاول من الثاني كذا بيطلع لنا الوقت بالمليسيكوند - ( newtic - tic ) / 1000 نقسم الوقت اللي نقصناه على الف عشان نجيب الثواني ]] local minutes = math.floor ( ( newtic - tic ) / 60000 ) -- : طريقة التحويل من مليسيكوند الى ثانيه او دقيقه او ساعه نقسم على -- to sec : / 1000 -- to min : / 60000 -- to hour : / 3600000 local hour = math.floor ( ( newtic - tic ) / 3600000 ) outputChatBox ( seconds .. ' Second(s) > '.. minutes .. ' minuet(s) > '.. hour .. ' Hour(s).' ) end) interpolateBetween وذا مثال ثاني عن الوظيفه ذي تقدر تسوي منها تأثيرات على اي شي تبيه ماركر, كلام, نافذه واشياء كثير... ^ 3D+2D يعني اللي نفهمه اننا نقدر نستخدمها شوف هالمثال, window = guiCreateWindow ( 300, 260, 240, 290, 'Test', false ) guiSetVisible ( window, false ) start = getTickCount () -- نجيب الوقت اللي اشتغل فيه نظامك داخل السيرفر end_ = getTickCount () + 3500 -- نسوي وقت انتهاء من خلال تزويد مليسيكوند على وقت البدأ draw = function ( ) elapsedTime = getTickCount () - start -- ننقص الوقت الحالي من وقت التشغيل عشان نجيب الوقت اللي انقضى بينهم duration = end_ - start -- نجيب المدة مابين البدء والإنتهاء progress = elapsedTime / duration -- نقسمهم على بعض outputChatBox ( progress ) -- راح تلاحظ الرقم يبدأ من صفر ويزيد لين يوصل 1 local width, height = interpolateBetween ( 0, 0, 0, 240, 290, 0, progress, "InQuad" ) -- ^ x,y,z اول ثلاث ارقومنتات هي حق البداية, يعني بداية التأثير -- اذا كنت ما تحتاجه وتحطه صفر z تقدر تستغني عن الاحداثي -- ^ x,y,z الارقومنت الرابع والخامس والسادس هي حق النهاية, يعني نهاية التأثير -- ^ الارقومنت السابع هو حق حركة التأثير ويكون عدد عشري مابين صفر وواحد -- ^ الارقومنت الثامن هو حق طريقة التأثير او الطريقه اللي تشوف فيها التأثير وتلقى انواع التأثيرات بصفحة الويكي -- [url=https://wiki.multitheftauto.com/wiki/Easing]https://wiki.multitheftauto.com/wiki/Easing[/url] --[[ سؤال : ليه حطيت اول ثلاث ارقومنتات صفر؟ عشان انا ابيها تبدأ من صفر وتنتهي عند القيمه اللي انا حطيتها وهي الارقومنت الرابع والخامس والسادس سؤال: ليه الارقومنت الثالث والسادس ما احتاجهم؟ عشان انا مسوي التأثير على لوحة, واللوحه ثنائية الأبعاد سؤال: متى احتاج الارقومنت الثالث والسادس؟ .تحتاجهم اذا تبي تسوي تأثير لشيء ثلاثي الأبعاد مثل اوبجكت ماركر الخ سؤال: ليه استخدمنا العمليات الحسابيه فوق؟ عشان نخلي حركة التأثير تبدأ من اصغر قيمة لأعلى قيمه, اصغر قيمه صفر, أعلى قيمه واحد ]] guiSetVisible ( window, true ) guiSetSize(window, width, height, false) end bindKey ( 'n', 'down', function ( ) if guiGetVisible ( window ) == false then addEventHandler ( 'onClientRender', root, draw ) setTimer ( function() removeEventHandler ( 'onClientRender', root, draw ) end,3000,1 ) -- التايمر تقديري يمكن ما انتهى التأثير زود او نقص التايمر end end) . ذا شرح مختصر, مو متأكد من احداثيات النافذه اللعبه مب عندي حطيتها من راسي,اذا مافهمت شي تفضل اسأل 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