Jump to content

[مسـاعدة]


Doffy

Recommended Posts

ابي اول ما الواحد اول ما يدخل الماركر ينقله لمكان وينتظر ساعة واذا حاول قبل ما الساعة تكتمل يكتبله في الشات الوقت المتبقي علشان يقدر يروح مره ثانية 

Link to comment
8 minutes ago, Sha67 said:

اذا دخل الماركر ينقله لمكان :

"onPlayerMarkerHit"
setElementPosition

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

وتقدر تبحث عنها بالقسم فيه لها شروحات getTickCount وفيه طريقة سهله من خلال الوظيفة

بالتوفيق .

اوكي كيف اسوي التايمر حقه ؟

Link to comment

هذا مثال بسيط

بيجيبلك الـ 

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

الي اشوفه فوق خبيص , يعني تحط كود غلط وماتشوف اخطائه

debugscript 3 ع الاقل افتح الدي بوق وصحح اخطائك 

سوي تايمر وتيبل واذا الاعب دخل تحقق من التايمر اذا كان موجود سوي ريتورن

واذا موب موجود انقله للمكان وسوي له تايمر

table = {}
isTimer
setTimer

 

Link to comment

وضح اكثر ,,

الحين انت تبيه لما يدخخل الماركر يوديه مكان وينتظر ساعة ؟

واذا حاول يتحرك يرجعه ويقله الوقت المتبقي ؟


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 by iMr.WiFi..!
Link to comment

^ اعتقد مايبغى يسوي فريز, يبغاه يدخل الماركر وينقله مكان محدد واذا رجع يدخل الماركر يقول له باقي ساعه و

سويت لك الكود بطريقتي, ماجربت الكود, مع الشرح :

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 2
Link to comment
1 hour ago, Abdul KariM said:

الي اشوفه فوق خبيص , يعني تحط كود غلط وماتشوف اخطائه

debugscript 3 ع الاقل افتح الدي بوق وصحح اخطائك 

سوي تايمر وتيبل واذا الاعب دخل تحقق من التايمر اذا كان موجود سوي ريتورن

واذا موب موجود انقله للمكان وسوي له تايمر


table = {}
isTimer
setTimer

 

فتحفتها يخوي

Link to comment
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
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
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

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