Doffy Posted February 3, 2017 Share Posted February 3, 2017 ابي اول ما الواحد اول ما يدخل الماركر ينقله لمكان وينتظر ساعة واذا حاول قبل ما الساعة تكتمل يكتبله في الشات الوقت المتبقي علشان يقدر يروح مره ثانية Link to comment
فاّرس Posted February 3, 2017 Share Posted February 3, 2017 اذا دخل الماركر ينقله لمكان : "onPlayerMarkerHit"setElementPosition بخصوص الوقت عندك اكثر من طريقه, فيه طريقة بالتايمر وتحط متغير وتنقصه و... وتقدر تبحث عنها بالقسم فيه لها شروحات getTickCount وفيه طريقة سهله من خلال الوظيفة بالتوفيق . 2 Link to comment
Doffy Posted February 3, 2017 Author Share Posted February 3, 2017 8 minutes ago, Sha67 said: اذا دخل الماركر ينقله لمكان : "onPlayerMarkerHit"setElementPosition بخصوص الوقت عندك اكثر من طريقه, فيه طريقة بالتايمر وتحط متغير وتنقصه و... وتقدر تبحث عنها بالقسم فيه لها شروحات getTickCount وفيه طريقة سهله من خلال الوظيفة بالتوفيق . اوكي كيف اسوي التايمر حقه ؟ Link to comment
Abu-Solo Posted February 3, 2017 Share Posted February 3, 2017 هذا مثال بسيط بيجيبلك الـ FPS كل ثانيه في الشات local frames = 0 local time = false function startFrames() time = getTickCount() addEventHandler("onClientRender",root,countFrames) end function countFrames() if getTickCount()-time>=1000 then -- اذا الوقت تعدي اخر تحقق outputChatBox(tostring(frames)) -- يطلعله الـ FPS time = getTickCount() -- وضع الوقت فـ getTickCount frames = 0 -- يرجع الفريمات end frames = frames+1 -- end Link to comment
Doffy Posted February 3, 2017 Author Share Posted February 3, 2017 34 minutes ago, Sha67 said: اذا دخل الماركر ينقله لمكان : "onPlayerMarkerHit"setElementPosition بخصوص الوقت عندك اكثر من طريقه, فيه طريقة بالتايمر وتحط متغير وتنقصه و... وتقدر تبحث عنها بالقسم فيه لها شروحات getTickCount وفيه طريقة سهله من خلال الوظيفة بالتوفيق . شوف انا حاولت هذي محاولتي marker = createMarker(222.11371,1928.10059,22.24219,'cylinder',1.3,0,0,255,255) addEventHandler('onMarkerHit',marker, setTimer(function(hitElement) setElementPosition (hitElement,3371.86279,-2351.26367,589.37225) end,60000,0,0) Link to comment
Abdul KariM Posted February 3, 2017 Share Posted February 3, 2017 الي اشوفه فوق خبيص , يعني تحط كود غلط وماتشوف اخطائه debugscript 3 ع الاقل افتح الدي بوق وصحح اخطائك سوي تايمر وتيبل واذا الاعب دخل تحقق من التايمر اذا كان موجود سوي ريتورن واذا موب موجود انقله للمكان وسوي له تايمر table = {} isTimer setTimer Link to comment
iMr.WiFi..! Posted February 3, 2017 Share Posted February 3, 2017 (edited) وضح اكثر ,, الحين انت تبيه لما يدخخل الماركر يوديه مكان وينتظر ساعة ؟ واذا حاول يتحرك يرجعه ويقله الوقت المتبقي ؟ marker = createMarker(222.11371,1928.10059,22.24219,'cylinder',1.3,0,0,255,255) addEventHandler('onMarkerHit',marker, function(hitElement) if getElementType( hitElement ) == "player" then setElementPosition (hitElement,3371.86279,-2351.26367,589.37225) setElementFrozen(hitElement,true) setTimer(setElementFrozen,1000*60*60*60,1,false) end end ) بنسبة للوقت المتبقي ماعرفت اسويه .. Edited February 3, 2017 by iMr.WiFi..! Link to comment
فاّرس Posted February 3, 2017 Share Posted February 3, 2017 ^ اعتقد مايبغى يسوي فريز, يبغاه يدخل الماركر وينقله مكان محدد واذا رجع يدخل الماركر يقول له باقي ساعه و سويت لك الكود بطريقتي, ماجربت الكود, مع الشرح : local marker = createMarker ( ... ) -- ماركر warpFunc = function () -- warpFunc نسوي وظيفة بإسم tcount = getTickCount () + 3600000 -- نحط المتغير للوظيفه ونزود ساعه بالميليسيكوند setElementPosition ( localPlayer, x,y,z ) -- ننقل اللاعب لمكان محدد end -- نقفل الوظيفه -- طبعا الوظيفة الحين مالها اي فايده الا اذا سويت لها استدعاء وبنسوي لها تحت addEventHandler ( 'onClientMarkerHit', marker, function ( p ) -- حدث اذا دخل اللاعب للماركر مع بارمتر يجلب لنا اللاعب نفسه if p == localPlayer then -- نتحقق ان اللي دخل الماركر هو نفسه اللوكل بلاير if not var then -- هنا نتحقق ان المتغير غير موجود وهو فعلا غير موجود warpFunc(); -- هنا نستدعي الوظيفه اللي فوق وراح تتنفذ الاكواد اللي بداخلها var = true; -- هنا نسوي المتغير ونحط له قيمة منطقية -- يعني هالشرط ماراح يتحقق مره ثانيه ليه؟ لأننا تحققنا ان المتغير غير موجود وبالنهاية سوينا متغير يعني خلاص صار موجود else -- عكس الشرط, بمعنى لو كان المتغير موجود if math.abs ( math.floor ( ( ( getTickCount() - tcount ) / 3600000 ) ) ) == 0 then -- نسوي تحقق ان الوقت وصل صفر يعني خلصت الساعه tcount = nil; -- هنا نخلي قيمة المتغير حق الوقت نيل, نيل يعني كأنك تحذف المتغير warpFunc(); -- نستدعي الوظيفة ^^ else -- اذا كان الوقت ماوصل صفر يعني ماخلصت الساعه outputChatBox ( 'دقيقة ( '.. math.abs ( math.floor ( ( getTickCount() - tcount ) / 60000 ) ) .. ' ) : تبقى' ) -- نطلع نص بالشات وفيه الوقت الباقي على الساعه end -- نقفل الشرط end -- نقفل الشرط end -- نقفل الشرط end) -- نقفل الوظيفه وقوس الحدث بدون الشرح : local marker = createMarker ( ... ) warpFunc = function () tcount = getTickCount () + 3600000 setElementPosition ( localPlayer, x,y,z ) end addEventHandler ( 'onClientMarkerHit', marker, function ( p ) if p == localPlayer then if not var then warpFunc(); var = true; else if math.abs ( math.floor ( ( ( getTickCount() - tcount ) / 3600000 ) ) ) == 0 then tcount = nil; warpFunc(); else outputChatBox ( 'دقيقة ( '.. math.abs ( math.floor ( ( getTickCount() - tcount ) / 60000 ) ) .. ' ) : تبقى' ) end end end end) * سطر 1 وسطر 5 اللي عليك تعدل الاحداثيات ووظيفة الماركر. 2 Link to comment
Abu-Solo Posted February 3, 2017 Share Posted February 3, 2017 (edited) #WrongComment Edited February 3, 2017 by Abu-Solo Link to comment
Doffy Posted February 3, 2017 Author Share Posted February 3, 2017 1 hour ago, Abdul KariM said: الي اشوفه فوق خبيص , يعني تحط كود غلط وماتشوف اخطائه debugscript 3 ع الاقل افتح الدي بوق وصحح اخطائك سوي تايمر وتيبل واذا الاعب دخل تحقق من التايمر اذا كان موجود سوي ريتورن واذا موب موجود انقله للمكان وسوي له تايمر table = {} isTimer setTimer فتحفتها يخوي Link to comment
Abu-Solo Posted February 3, 2017 Share Posted February 3, 2017 36 minutes ago, Sha67 said: ^ اعتقد مايبغى يسوي فريز, يبغاه يدخل الماركر وينقله مكان محدد واذا رجع يدخل الماركر يقول له باقي ساعه و سويت لك الكود بطريقتي, ماجربت الكود, مع الشرح : local marker = createMarker ( ... ) -- ماركر warpFunc = function () -- warpFunc نسوي وظيفة بإسم tcount = getTickCount () + 3600000 -- نحط المتغير للوظيفه ونزود ساعه بالميليسيكوند setElementPosition ( localPlayer, x,y,z ) -- ننقل اللاعب لمكان محدد end -- نقفل الوظيفه -- طبعا الوظيفة الحين مالها اي فايده الا اذا سويت لها استدعاء وبنسوي لها تحت addEventHandler ( 'onClientMarkerHit', marker, function ( p ) -- حدث اذا دخل اللاعب للماركر مع بارمتر يجلب لنا اللاعب نفسه if p == localPlayer then -- نتحقق ان اللي دخل الماركر هو نفسه اللوكل بلاير if not var then -- هنا نتحقق ان المتغير غير موجود وهو فعلا غير موجود warpFunc(); -- هنا نستدعي الوظيفه اللي فوق وراح تتنفذ الاكواد اللي بداخلها var = true; -- هنا نسوي المتغير ونحط له قيمة منطقية -- يعني هالشرط ماراح يتحقق مره ثانيه ليه؟ لأننا تحققنا ان المتغير غير موجود وبالنهاية سوينا متغير يعني خلاص صار موجود else -- عكس الشرط, بمعنى لو كان المتغير موجود if math.abs ( math.floor ( ( ( getTickCount() - tcount ) / 3600000 ) ) ) == 0 then -- نسوي تحقق ان الوقت وصل صفر يعني خلصت الساعه tcount = nil; -- هنا نخلي قيمة المتغير حق الوقت نيل, نيل يعني كأنك تحذف المتغير warpFunc(); -- نستدعي الوظيفة ^^ else -- اذا كان الوقت ماوصل صفر يعني ماخلصت الساعه outputChatBox ( 'دقيقة ( '.. math.abs ( math.floor ( ( getTickCount() - tcount ) / 60000 ) ) .. ' ) : تبقى' ) -- نطلع نص بالشات وفيه الوقت الباقي على الساعه end -- نقفل الشرط end -- نقفل الشرط end -- نقفل الشرط end) -- نقفل الوظيفه وقوس الحدث بدون الشرح : local marker = createMarker ( ... ) warpFunc = function () tcount = getTickCount () + 3600000 setElementPosition ( localPlayer, x,y,z ) end addEventHandler ( 'onClientMarkerHit', marker, function ( p ) if p == localPlayer then if not var then warpFunc(); var = true; else if math.abs ( math.floor ( ( ( getTickCount() - tcount ) / 3600000 ) ) ) == 0 then tcount = nil; warpFunc(); else outputChatBox ( 'دقيقة ( '.. math.abs ( math.floor ( ( getTickCount() - tcount ) / 60000 ) ) .. ' ) : تبقى' ) end end end end) * سطر 1 وسطر 5 اللي عليك تعدل الاحداثيات ووظيفة الماركر. والله بغيت اعطيك Like بس تجاوزت الحد الاقصي بالفعل , أفدتني وأفدته فـ نفس الوقت يعطيك العافية Link to comment
Doffy Posted February 3, 2017 Author Share Posted February 3, 2017 37 minutes ago, Sha67 said: ^ اعتقد مايبغى يسوي فريز, يبغاه يدخل الماركر وينقله مكان محدد واذا رجع يدخل الماركر يقول له باقي ساعه و سويت لك الكود بطريقتي, ماجربت الكود, مع الشرح : local marker = createMarker ( ... ) -- ماركر warpFunc = function () -- warpFunc نسوي وظيفة بإسم tcount = getTickCount () + 3600000 -- نحط المتغير للوظيفه ونزود ساعه بالميليسيكوند setElementPosition ( localPlayer, x,y,z ) -- ننقل اللاعب لمكان محدد end -- نقفل الوظيفه -- طبعا الوظيفة الحين مالها اي فايده الا اذا سويت لها استدعاء وبنسوي لها تحت addEventHandler ( 'onClientMarkerHit', marker, function ( p ) -- حدث اذا دخل اللاعب للماركر مع بارمتر يجلب لنا اللاعب نفسه if p == localPlayer then -- نتحقق ان اللي دخل الماركر هو نفسه اللوكل بلاير if not var then -- هنا نتحقق ان المتغير غير موجود وهو فعلا غير موجود warpFunc(); -- هنا نستدعي الوظيفه اللي فوق وراح تتنفذ الاكواد اللي بداخلها var = true; -- هنا نسوي المتغير ونحط له قيمة منطقية -- يعني هالشرط ماراح يتحقق مره ثانيه ليه؟ لأننا تحققنا ان المتغير غير موجود وبالنهاية سوينا متغير يعني خلاص صار موجود else -- عكس الشرط, بمعنى لو كان المتغير موجود if math.abs ( math.floor ( ( ( getTickCount() - tcount ) / 3600000 ) ) ) == 0 then -- نسوي تحقق ان الوقت وصل صفر يعني خلصت الساعه tcount = nil; -- هنا نخلي قيمة المتغير حق الوقت نيل, نيل يعني كأنك تحذف المتغير warpFunc(); -- نستدعي الوظيفة ^^ else -- اذا كان الوقت ماوصل صفر يعني ماخلصت الساعه outputChatBox ( 'دقيقة ( '.. math.abs ( math.floor ( ( getTickCount() - tcount ) / 60000 ) ) .. ' ) : تبقى' ) -- نطلع نص بالشات وفيه الوقت الباقي على الساعه end -- نقفل الشرط end -- نقفل الشرط end -- نقفل الشرط end) -- نقفل الوظيفه وقوس الحدث بدون الشرح : local marker = createMarker ( ... ) warpFunc = function () tcount = getTickCount () + 3600000 setElementPosition ( localPlayer, x,y,z ) end addEventHandler ( 'onClientMarkerHit', marker, function ( p ) if p == localPlayer then if not var then warpFunc(); var = true; else if math.abs ( math.floor ( ( ( getTickCount() - tcount ) / 3600000 ) ) ) == 0 then tcount = nil; warpFunc(); else outputChatBox ( 'دقيقة ( '.. math.abs ( math.floor ( ( getTickCount() - tcount ) / 60000 ) ) .. ' ) : تبقى' ) end end end end) * سطر 1 وسطر 5 اللي عليك تعدل الاحداثيات ووظيفة الماركر. طيب ولو ابيه فريز اول ما يروح المكان الي انتقله يكون فريز 1 دقيقة 2 minutes ago, KinG_Himoo12 said: طيب ولو ابيه فريز اول ما يروح المكان الي انتقله يكون فريز 1 دقيقة 2 minutes ago, KinG_Himoo12 said: طيب ولو ابيه فريز اول ما يروح المكان الي انتقله يكون فريز 1 دقيقة لان الموضوع انها مهمة وابي المهمة ما تشتغل غير لما يكون فيها علي الاقل 2 لاعبين Link to comment
Master_MTA Posted February 3, 2017 Share Posted February 3, 2017 اخوي اتفضل هذا الفنكشن يجيبلك بيانات التايمر ومنها المتبقي ما عليك الا ان تقوم بشوية عمليات حسابيه getTimerDetails Link to comment
Doffy Posted February 3, 2017 Author Share Posted February 3, 2017 59 minutes ago, Sha67 said: ^ اعتقد مايبغى يسوي فريز, يبغاه يدخل الماركر وينقله مكان محدد واذا رجع يدخل الماركر يقول له باقي ساعه و سويت لك الكود بطريقتي, ماجربت الكود, مع الشرح : local marker = createMarker ( ... ) -- ماركر warpFunc = function () -- warpFunc نسوي وظيفة بإسم tcount = getTickCount () + 3600000 -- نحط المتغير للوظيفه ونزود ساعه بالميليسيكوند setElementPosition ( localPlayer, x,y,z ) -- ننقل اللاعب لمكان محدد end -- نقفل الوظيفه -- طبعا الوظيفة الحين مالها اي فايده الا اذا سويت لها استدعاء وبنسوي لها تحت addEventHandler ( 'onClientMarkerHit', marker, function ( p ) -- حدث اذا دخل اللاعب للماركر مع بارمتر يجلب لنا اللاعب نفسه if p == localPlayer then -- نتحقق ان اللي دخل الماركر هو نفسه اللوكل بلاير if not var then -- هنا نتحقق ان المتغير غير موجود وهو فعلا غير موجود warpFunc(); -- هنا نستدعي الوظيفه اللي فوق وراح تتنفذ الاكواد اللي بداخلها var = true; -- هنا نسوي المتغير ونحط له قيمة منطقية -- يعني هالشرط ماراح يتحقق مره ثانيه ليه؟ لأننا تحققنا ان المتغير غير موجود وبالنهاية سوينا متغير يعني خلاص صار موجود else -- عكس الشرط, بمعنى لو كان المتغير موجود if math.abs ( math.floor ( ( ( getTickCount() - tcount ) / 3600000 ) ) ) == 0 then -- نسوي تحقق ان الوقت وصل صفر يعني خلصت الساعه tcount = nil; -- هنا نخلي قيمة المتغير حق الوقت نيل, نيل يعني كأنك تحذف المتغير warpFunc(); -- نستدعي الوظيفة ^^ else -- اذا كان الوقت ماوصل صفر يعني ماخلصت الساعه outputChatBox ( 'دقيقة ( '.. math.abs ( math.floor ( ( getTickCount() - tcount ) / 60000 ) ) .. ' ) : تبقى' ) -- نطلع نص بالشات وفيه الوقت الباقي على الساعه end -- نقفل الشرط end -- نقفل الشرط end -- نقفل الشرط end) -- نقفل الوظيفه وقوس الحدث بدون الشرح : local marker = createMarker ( ... ) warpFunc = function () tcount = getTickCount () + 3600000 setElementPosition ( localPlayer, x,y,z ) end addEventHandler ( 'onClientMarkerHit', marker, function ( p ) if p == localPlayer then if not var then warpFunc(); var = true; else if math.abs ( math.floor ( ( ( getTickCount() - tcount ) / 3600000 ) ) ) == 0 then tcount = nil; warpFunc(); else outputChatBox ( 'دقيقة ( '.. math.abs ( math.floor ( ( getTickCount() - tcount ) / 60000 ) ) .. ' ) : تبقى' ) end end end end) * سطر 1 وسطر 5 اللي عليك تعدل الاحداثيات ووظيفة الماركر. الاكواد موب شغاله يخوي 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