Mr.Mostafa Posted August 31, 2018 Share Posted August 31, 2018 سلام عليكم عندي مشكلة بتآيمر آلحين آبي آسوي تآيمر في سيرفر سآيد وآنقله علي آلشآشة في كلنت سآيد .. ولمآ آلتآيمر يخلص يرسل رسآلة بآلشآت -- # Server -- يسوي تآيمر ويرسله للكنت function convertMilliseconds ( timeMs ) local minutes = math.floor( timeMs / 60000 ) local timeMs = timeMs - minutes * 60000; local seconds = math.floor( timeMs / 1000 ) return string.format( '%02d:%02d', minutes, seconds ); end timer = setTimer( function () end, 10000, 1 ) setTimer( function() local timerMission = convertMilliseconds( getTimerDetails(timer) ) if isTimer(timer) then triggerClientEvent( root, "timeStart2", root, timerMission ) end end, 1000, 0 ) -- # Client -- يحط آلتآيمر بدي آكس تكست addEvent("timeStart2", true) addEventHandler("timeStart2", root, function( timerMission ) theTimer = "".. timerMission .."" end ) -- # Server -- آتحقق آنه خلص .. بعدين يرسل ترآيقر setTimer( function() if isTimer(timer) then return end triggerClientEvent( root, "timeEnd2", root ) timer = setTimer( function () end, 10000, 1 ) end, 1000, 0 ) -- # Client -- تحقق من كلنت آنه يجيب آلكلمة آلي بآلدي آكس آلتآني ويرسل ترآيقر ,, عشآن يرسل آلرسآلة addEvent("timeEnd2", true) addEventHandler("timeEnd2", root, function( ) local Mission = theMission triggerServerEvent("outputText",localPlayer,Mission) end ) -- # Server addEvent ( "outputText", true ) addEventHandler ( "outputText", root, function (Mission) if Mission == "Dderby" then outputChatBox("derby mission",root,255,0,0) end if Mission == "Derby" then outputChatBox("derby mission",root,255,0,0) end end ) آلمشكلة آنه , يكرر رسآلة derby mission مدري ليه Link to comment
Abdul KariM Posted August 31, 2018 Share Posted August 31, 2018 انت مسوي خبصه ومكثر تايمرات Link to comment
Mr.Mostafa Posted August 31, 2018 Author Share Posted August 31, 2018 10 minutes ago, Abdul KariM said: انت مسوي خبصه ومكثر تايمرات طيب وين آلآخطآء عشآن آعرف آصلحهآ + هو تآيمر وآحد بس Link to comment
فاّرس Posted August 31, 2018 Share Posted August 31, 2018 1 - تقدر تنقص عدد التايمرات بشكل كبير, كذا يعتبر هدر للمال العام, والطريقه كالآتي : سطر 10 وسطر 32 نفس التايمر بالضبط, تقدر تسوي وظيفه وتخلي التايمر بداخلها وتستدعي الوظيفه فقط. - - سطر 12 وسطر 29 تقدر تختصرها بشوية متغيرات بدل كل هالتايمرات. بخصوص مشكلتك هي بسبب أنه التايمرات أنت مخليها لانهائيه من خلال وضع قيمتها صفر عندك خيارين : 1- تحط عدد مرات تكرار محدده . 2- تستخدم وظيفتين التحقق من التايمر + قتل التايمر ( isTimer, killTimer ) . 3- عندك تايمرات بنفس المسمى وهذا يمكن يسبب لك مشاكل . 1 Link to comment
Mr.Mostafa Posted August 31, 2018 Author Share Posted August 31, 2018 2 hours ago, Sha67 said: 1 - تقدر تنقص عدد التايمرات بشكل كبير, كذا يعتبر هدر للمال العام, والطريقه كالآتي : سطر 10 وسطر 32 نفس التايمر بالضبط, تقدر تسوي وظيفه وتخلي التايمر بداخلها وتستدعي الوظيفه فقط. - - سطر 12 وسطر 29 تقدر تختصرها بشوية متغيرات بدل كل هالتايمرات. بخصوص مشكلتك هي بسبب أنه التايمرات أنت مخليها لانهائيه من خلال وضع قيمتها صفر عندك خيارين : 1- تحط عدد مرات تكرار محدده . 2- تستخدم وظيفتين التحقق من التايمر + قتل التايمر ( isTimer, killTimer ) . 3- عندك تايمرات بنفس المسمى وهذا يمكن يسبب لك مشاكل . كفو مآ فهمت شي 2 hours ago, Sha67 said: 3- عندك تايمرات بنفس المسمى وهذا يمكن يسبب لك مشاكل . وين هآدي آلتآيمرآت , حدد 2 hours ago, Sha67 said: 1- تحط عدد مرات تكرار محدده . لو حطيت عدد مررآت تكرآر محدده , مآ بيشتغل لمآ يخلص . Link to comment
KillerX Posted September 1, 2018 Share Posted September 1, 2018 -- Client addEventHandler("onClientRender", root, function() dxDrawText(tostring(getElementData(resourceRoot,'Timer')), 153, 304, 308, 371, tocolor(255, 255, 255, 255), 2.00, "default", "left", "top", false, false, false, false, false) end ) -- Server timer = setTimer( function () end, 10000, 1 ) setTimer( function() if isTimer(timer) then local timerMission = math.floor(getTimerDetails(timer) / 1000) setElementData(resourceRoot,'Timer',timerMission) else setElementData(resourceRoot,'Timer','Timer End') end end, 50, 0 ) 1 Link to comment
Mr.Mostafa Posted September 1, 2018 Author Share Posted September 1, 2018 33 minutes ago, KillerX said: -- Client addEventHandler("onClientRender", root, function() dxDrawText(tostring(getElementData(resourceRoot,'Timer')), 153, 304, 308, 371, tocolor(255, 255, 255, 255), 2.00, "default", "left", "top", false, false, false, false, false) end ) -- Server timer = setTimer( function () end, 10000, 1 ) setTimer( function() if isTimer(timer) then local timerMission = math.floor(getTimerDetails(timer) / 1000) setElementData(resourceRoot,'Timer',timerMission) else setElementData(resourceRoot,'Timer','Timer End') end end, 50, 0 ) دقيقة بجرب ^,^ طيب ولو آبي آسوي آن لمآ آلتآيمر يخلص يبدآ تآني بيكون كدآ ؟ timer = setTimer( function () end, 10000, 1 ) setTimer( function() if isTimer(timer) then local timerMission = math.floor(getTimerDetails(timer) / 1000) setElementData(resourceRoot,'Timer',timerMission) else setElementData(resourceRoot,'Timer','Timer End') timer = setTimer( function () end, 10000, 1 ) end end, 50, 0 ) Link to comment
KillerX Posted September 1, 2018 Share Posted September 1, 2018 بيكون كذا تفضل timer = setTimer( function () end, 10000, 0) setTimer( function() if isTimer(timer) then local timerMission = math.floor(getTimerDetails(timer) / 1000) setElementData(resourceRoot,'Timer',timerMission) else setElementData(resourceRoot,'Timer','Timer End') end end, 50, 0 ) Link to comment
Mr.Mostafa Posted September 1, 2018 Author Share Posted September 1, 2018 3 hours ago, KillerX said: بيكون كذا تفضل timer = setTimer( function () end, 10000, 0) setTimer( function() if isTimer(timer) then local timerMission = math.floor(getTimerDetails(timer) / 1000) setElementData(resourceRoot,'Timer',timerMission) else setElementData(resourceRoot,'Timer','Timer End') end end, 50, 0 ) كدآ مآ بينفع لآنه مآ بيلحق يسوي آلآشيآء آلي آلمفروض يسويهآ لو آلتآيمر خلص , وش آلخطآ بطريقتي ؟ 4 hours ago, Mr.Mostafa said: timer = setTimer( function () end, 10000, 1 ) setTimer( function() if isTimer(timer) then local timerMission = math.floor(getTimerDetails(timer) / 1000) setElementData(resourceRoot,'Timer',timerMission) else setElementData(resourceRoot,'Timer','Timer End') timer = setTimer( function () end, 10000, 1 ) end end, 50, 0 ) Link to comment
Ram, Posted September 1, 2018 Share Posted September 1, 2018 لو تبيه تايمر واحد وللجميع ولمهمة الديربي إستخدم المتغيرات مثلاً إستخدم متغير وكل ثانية نقصه 1 وسوي ترايقر لجميع اللاعبين تحديث التايمر .. أو بدون ترايقر , تقدر تسوي تايمر بالسيرفر سايد يبدا المهمة ومن اول م يبدا يسوي ترايقر لجميع اللاعبين ويسوي لهم متغير بكلنت لكل لاعب ويحدث التايمر هناك افضل من لوب كل ثانية .. أتمنى اكون افدتك. Link to comment
Master_MTA Posted September 1, 2018 Share Posted September 1, 2018 function convertMilliseconds ( timeMs ) local minutes = math.floor( timeMs / 60000 ) local timeMs = timeMs - minutes * 60000; local seconds = math.floor( timeMs / 1000 ) return string.format( '%02d:%02d', minutes, seconds ); end timer = setTimer( function () end, 10000, 1 ) iamtimer=setTimer( function() if isTimer(timer) then local timerMission = convertMilliseconds( getTimerDetails(timer) ) setElementData(resourceRoot,'time',timerMission) else removeElementData(resourceRoot,'time') outputChatBox('timer done!',root) killTimer(iamtimer) end end, 1000, 0 ) --------------client side addEventHandler('onClientRender',root,function() if getElementData(resourceRoot,'time') then dxDrawText(tostring(getElementData(resourceRoot,'time') ),255,100) end end) اتوقع وصلتك الفكره بالتوفيق Link to comment
Mr.Mostafa Posted September 1, 2018 Author Share Posted September 1, 2018 1 hour ago, Master_MTA said: اتوقع وصلتك الفكره بالتوفيق مسوي كدآ , لكن آلمشكلة لمآ آلتآيمر يخلص آبيه يشتغل مرة تآنية Link to comment
فاّرس Posted September 4, 2018 Share Posted September 4, 2018 التايمر أنت مخليه لا نهائي أساساً كيف بيخلص -_-؟ resetTimer المهم استخدم 1 Link to comment
Mr.Mostafa Posted September 4, 2018 Author Share Posted September 4, 2018 2 hours ago, Sha67 said: التايمر أنت مخليه لا نهائي أساساً كيف بيخلص -_-؟ وين آلي مخليه لآ نهآئي ؟ /: Link to comment
فاّرس Posted September 4, 2018 Share Posted September 4, 2018 (edited) كل الإثنين لا نهائية لأنك حاط القيمة صفر, إذا استخدمت الكود حق اللي أعطاك فوق ^^ Edited September 4, 2018 by Sha67 Link to comment
Mr.Mostafa Posted September 4, 2018 Author Share Posted September 4, 2018 2 minutes ago, Sha67 said: كل الإثنين لا نهائية لأنك حاط القيمة صفر, إذا استخدمت الكود حق اللي أعطاك فوق ^^ آلكود حقي لآ نهآئي , مسويه 1 On 31/08/2018 at 04:35, Mr.Mostafa said: 10000, 1 ) ــ وعلي آلعموم آلمشكلة آنحلت آلحمدآلله , تسلم :) 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