Jump to content

x[ استفسار ]x وضيفة interpolateBetween


Recommended Posts

الوظيفتين سهله مب صعبه ركز معي :)

شوف المثال ذا وقول لي اذا مو فاهمه؟

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

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...