Jump to content

استفسار عن ـ، ProgressBar


Recommended Posts

السلام عليكم و رحمة الله و بركاته

كان عندي استفسار بسيط

يخص البروجرس بار

طبعا سهل جدآآ اسويها ولاكن ....ء

(ما اعرف كيف احط لها تحميل حسب الوقت الي انا ابيه )

وشكرآآ لكم

Link to comment

تقدر تسوي بالتايمر كل مره يزيد على حسب الوقت اللي انت حاطه,

او تقدر تسوي متغير وكل مره تزود قيمته على كيفك لين يضبط اللي تبيه

guiProgressBarSetProgress 
guiProgressBarGetProgress 
setTimer 

Link to comment

السلام عليكم ورحمه الله و بركاته

انا عملتها بالتايمر

وخليت الكود لما تلمس الماركر يجي و يمشي و كذا

المهم الكود مع الشرح

  
  
local x,y = guiGetScreenSize() 
local x = x - 355 
local y = y - -356 
        window = guiCreateWindow(x/2, y/2, 403, 82, "", false) -- صنع الوحه 
        guiSetVisible(window,false) -- اخفاء الوحه عند تشغيل المود 
        progressbar = guiCreateProgressBar(14, 31, 372, 36, false, window) -- صنع  البروجرس بار 
  
  
         
        ssss = createMarker(1301.70300,-725.58008,92.84501-1,"cylinder",2,255,255,255,255) -- صنع الماركر 
addEventHandler("onClientMarkerHit",root, -- امر لمس الماركر 
function () -- الفنكشن 
if source == ssss then -- تعريف الماركر 
setElementFrozen(localPlayer,true)  -- يعطيه فريز (عدم التحرك 
 setTimer(setElementFrozen,5000, 1,localPlayer,false) -- يسحب منه الفريز بعد 5 ثواني 
 showCursor(true) -- يظهر الماوس  
 guiSetVisible(window,true)  -- يظهر الوحه مع البروجرس بار 
 local gg = guiProgressBarGetProgress(progressbar) -- يجيب البروجرس بار هو كم ماشي يعني التحميل واقف وين 
 -- الكود التالي يزود على مكان وقوفه يعني لو هو 50 ولكود بيقول +20 يعني بيصير 70 
 setTimer( guiProgressBarSetProgress, 1000, 1,progressbar,gg+20 ) -- يزود 20% منه بعد ثانيه 
 setTimer( guiProgressBarSetProgress, 2000, 1,progressbar,gg+40 ) -- يزود 40% بعد ثانيتين 
 setTimer( guiProgressBarSetProgress, 3000, 1,progressbar,gg+60 ) -- يزود 60% بعد ثلاث ثواني 
 setTimer( guiProgressBarSetProgress, 4000, 1,progressbar,gg+80 ) -- يزود 80% بعد اربع ثواني 
 setTimer( guiProgressBarSetProgress, 5000, 1,progressbar,gg+100 ) -- يزود 100% بعد خمس ثواني 
  
end 
end 
) 
  
  

لو ما فهمت اتفضل قول :mrgreen::D

Link to comment

^ ليه مسوي 5 تايمرات ؟

تقدر تسويها ب تايمر واحد يكون مفتوح تكرار لا نهائي , مع التحقق اذا وصل البروقرس 100 يوقف التايمر.

وللمعلوميه , كودك ناقصه تحقق من اللاعب داخل حدث دخول الماركر .

Link to comment

^ ليه مسوي 5 تايمرات ؟

تقدر تسويها ب تايمر واحد يكون مفتوح تكرار لا نهائي , مع التحقق اذا وصل البروقرس 100 يوقف التايمر.

وللمعلوميه , كودك ناقصه تحقق من اللاعب داخل حدث دخول الماركر .

مسوي 5 او 10 نقس الشي !

+ ليش تعقده ؟ ترا ذي طريقه اسهل ذذ

+ وش الكود الي ناقص ؟

Link to comment

هذا مثال ب الرندر و التايمر :

-- Client Side # 
local progress = guiCreateProgressBar( 0.8, 0.8, 0.1, 0.1, true) 
  
render = function() 
    if guiProgressBarGetProgress(progress) >= 100 then removeEventHandler('onClientRender',root,render) end 
        guiProgressBarSetProgress(progress,guiProgressBarGetProgress(progress)+1) 
    end 
addEventHandler('onClientRender',root,render) 

-- Client Side # 
local progress = guiCreateProgressBar( 0.8, 0.8, 0.1, 0.1, true) 
  
t = setTimer ( function() 
    if guiProgressBarGetProgress( progress ) >= 100 then if isTimer ( t ) then killTimer ( t ) t = nil end 
        guiProgressBarSetProgress( progress, guiProgressBarGetProgress( progress ) + 1 ) 
end, 1000,0,true ) 

مسوي 5 او 10 نقس الشي !

+ ليش تعقده ؟ ترا ذي طريقه اسهل ذذ

+ وش الكود الي ناقص ؟

اعقده؟ بالعكس تختصره بدل ما تسوي 10 تايمرات تسوي تايمر واحد ويكفي .

اللي ناقصك تحقق من ان اللاعب هو اللي لمس الماركر :

if p == localPlayer then  
Link to comment

, كودك ناقصه تحقق من اللاعب داخل حدث دخول الماركر .

  
  
local x,y = guiGetScreenSize() 
local x = x - 355 
local y = y - -356 
        window = guiCreateWindow(x/2, y/2, 403, 82, "", false) -- صنع الوحه 
        guiSetVisible(window,false) -- اخفاء الوحه عند تشغيل المود 
        progressbar = guiCreateProgressBar(14, 31, 372, 36, false, window) -- صنع  البروجرس بار 
  
  
         
        ssss = createMarker(1301.70300,-725.58008,92.84501-1,"cylinder",2,255,255,255,255) -- صنع الماركر 
addEventHandler("onClientMarkerHit",root, -- امر لمس الماركر 
function (hitPlayer) -- الفنكشن 
if hitPlayer == localPlayer then-- تعريف دخول الماركر 
if source == ssss then -- تعريف الماركر 
  
setElementFrozen(localPlayer,true)  -- يعطيه فريز (عدم التحرك 
 setTimer(setElementFrozen,5000, 1,localPlayer,false) -- يسحب منه الفريز بعد 5 ثواني 
 showCursor(true) -- يظهر الماوس  
 guiSetVisible(window,true)  -- يظهر الوحه مع البروجرس بار 
 local gg = guiProgressBarGetProgress(progressbar) -- يجيب البروجرس بار هو كم ماشي يعني التحميل واقف وين 
 -- الكود التالي يزود على مكان وقوفه يعني لو هو 50 ولكود بيقول +20 يعني بيصير 70 
 setTimer( guiProgressBarSetProgress, 1000, 1,progressbar,gg+20 ) -- يزود 20% منه بعد ثانيه 
 setTimer( guiProgressBarSetProgress, 2000, 1,progressbar,gg+40 ) -- يزود 40% بعد ثانيتين 
 setTimer( guiProgressBarSetProgress, 3000, 1,progressbar,gg+60 ) -- يزود 60% بعد ثلاث ثواني 
 setTimer( guiProgressBarSetProgress, 4000, 1,progressbar,gg+80 ) -- يزود 80% بعد اربع ثواني 
 setTimer( guiProgressBarSetProgress, 5000, 1,progressbar,gg+100 ) -- يزود 100% بعد خمس ثواني 
  
end 
end 
) 
  
  

:mrgreen::D

Edited by Guest
Link to comment
السلام عليكم ورحمه الله و بركاته

انا عملتها بالتايمر

وخليت الكود لما تلمس الماركر يجي و يمشي و كذا

المهم الكود مع الشرح

  
  
local x,y = guiGetScreenSize() 
local x = x - 355 
local y = y - -356 
        window = guiCreateWindow(x/2, y/2, 403, 82, "", false) -- صنع الوحه 
        guiSetVisible(window,false) -- اخفاء الوحه عند تشغيل المود 
        progressbar = guiCreateProgressBar(14, 31, 372, 36, false, window) -- صنع  البروجرس بار 
  
  
         
        ssss = createMarker(1301.70300,-725.58008,92.84501-1,"cylinder",2,255,255,255,255) -- صنع الماركر 
addEventHandler("onClientMarkerHit",root, -- امر لمس الماركر 
function () -- الفنكشن 
if source == ssss then -- تعريف الماركر 
setElementFrozen(localPlayer,true)  -- يعطيه فريز (عدم التحرك 
 setTimer(setElementFrozen,5000, 1,localPlayer,false) -- يسحب منه الفريز بعد 5 ثواني 
 showCursor(true) -- يظهر الماوس  
 guiSetVisible(window,true)  -- يظهر الوحه مع البروجرس بار 
 local gg = guiProgressBarGetProgress(progressbar) -- يجيب البروجرس بار هو كم ماشي يعني التحميل واقف وين 
 -- الكود التالي يزود على مكان وقوفه يعني لو هو 50 ولكود بيقول +20 يعني بيصير 70 
 setTimer( guiProgressBarSetProgress, 1000, 1,progressbar,gg+20 ) -- يزود 20% منه بعد ثانيه 
 setTimer( guiProgressBarSetProgress, 2000, 1,progressbar,gg+40 ) -- يزود 40% بعد ثانيتين 
 setTimer( guiProgressBarSetProgress, 3000, 1,progressbar,gg+60 ) -- يزود 60% بعد ثلاث ثواني 
 setTimer( guiProgressBarSetProgress, 4000, 1,progressbar,gg+80 ) -- يزود 80% بعد اربع ثواني 
 setTimer( guiProgressBarSetProgress, 5000, 1,progressbar,gg+100 ) -- يزود 100% بعد خمس ثواني 
  
end 
end 
) 
  
  

لو ما فهمت اتفضل قول :mrgreen::D

اسهـــل و ابــــســـــط كود

شكرآآ لك :wink:

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