Jump to content

مساعدة في تحريك اوبجيكت كرة


MrKAREEM

Recommended Posts

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

شباب كان عندي استفسار في شئ

انا عملت ابجيكت كرة قدم

وخليت ان السيارة لما تصدمها تتحرك مثل كاربول

عملت كل حاجة بس بقي عندي مشكلة مش لاقي الايفنت او حلها في الويكي

ان لما الابجيكت ينصدم باوبجيكت اخر ميعديش منه ويطيح لتحت الارض

فأحل المشكلة دي ازاي

انا عملت توبيك في القسم الاجنبي وملقتش افادة

ودا فيديو صورته للتوضيح

الحمدلله

ارجو المساعدة :)

 

  • Confused 1
Link to comment

سوي ماركر مخفي حوالين الاوبجيكت

وخلي اي واحد يلمسه واتحقق انه بسيارة

وخلي الكورة تتحرك عن طريق

moveObject

+ سوي الماركر يتحرك مع الاوبجيكت عن طريق

timer + setElementPosition

وتجيب ال rotation

حق اللاعب يوم يصدم الكورة

بحيث لو اجا من اليمين تتحرك بمثل اتجاه الشخص

او من اليسار وإلخ

او يمديك تسويها بمتغير

ولو تبي تتحقق انها علي الارض سوي ب getGroundPosition

...

Edited by #i,Oliver
Link to comment
7 minutes ago, #i,Oliver said:

سوي ماركر مخفي حوالين الاوبجيكت

 وخلي اي واحد يلمسه واتحقق انه بسيارة

 وخلي الكورة تتحرك عن طريق

 moveObject

+ سوي الماركر يتحرك مع الاوبجيكت عن طريق

 timer + setElementPosition

وتجيب ال rotation

حق اللاعب يوم يصدم الكورة

 بحيث لو اجا من اليمين تتحرك بمثل اتجاه الشخص

 او من اليسار وإلخ

او يمديك تسويها بمتغير

...

انت مفهمتنيش كويس

اللي في الفيديو دا انا

عملت الكورة وعملت كل حاجة

بس فيه مشكلة

ان الاوبجيكت بينزل تحت الارض بعد ما بتتشاط في الهواء

فايه الحل ليها ؟؟

Link to comment
Just now, MrKAREEM said:

انت مفهمتنيش كويس

اللي في الفيديو دا انا

عملت الكورة وعملت كل حاجة

بس فيه مشكلة

ان الاوبجيكت بينزل تحت الارض بعد ما بتتشاط في الهواء

فايه الحل ليها ؟؟

راجع تعليقي

عدلته اقين

Link to comment
Just now, #i,Oliver said:

راجع تعليقي

عدلته اقين

مفيش ايفنت عند وقوع الابجيكت عشان

اطبق عليها getGroundPosition

عشان سويتها بريندر قبل

بقت كل ما اجي اشوطها تتجمد ضض ؟؟

Link to comment
3 minutes ago, #i,Oliver said:

عطني محاولتك

addEventHandler("onClientRender", root,
function( )
if isElement(Ball[localPlayer]) then
local x, y, z = getElementPosition ( Ball[localPlayer] )
local x2,y2,z2 = getElementPosition(localPlayer)
if getGroundPosition ( x, y, z ) == getGroundPosition ( x, y, z - 500 ) then
setElementPosition(Ball[localPlayer], x,y,z2)
else
end
end
end
)

??

Link to comment
31 minutes ago, Master_MTA said:

طيب فيه حاجة

دي فنكشنات

بس انا عاوز اعرف امتي انادي علي الفنكشن

معتقدش اني استخدم ريندر

لان مفيش ايفينت

ياريت لو مثال لان تعبت من الصبح بدور عليها واستخدمت 

processLineOfSight

ومعرفتش امتي انادي

ولما استخدمت ريندر فشلت وجابت لاق ولما اجي اشوط الكورة متتحركش من مكانها :| 

Link to comment
On 11/10/2018 at 16:54, Simple. said:

طيب ورنا الكود الي لما تشوت الكوره

 

تفضل

 

-- كلينت --


addEvent("onCarballPosUpdate", true)
addEvent("onClientVehicleCollision", true)

local hit_ball = function(hitElement, force)
	if(isPedInVehicle(localPlayer)) then
		setVehicleDamageProof(getPedOccupiedVehicle(localPlayer), true)
	end
	if(hitElement) and (getElementDimension(hitElement) == getElementDimension(localPlayer)) then
		if(isBall(hitElement)) then
			local x, y, z = getElementPosition(hitElement)
			local throw = false
			local s = playSound3D("kick.mp3", x, y, z, false)
			setElementDimension(s, getElementDimension(hitElement))
			setSoundMaxDistance(s, 100)
			setSoundVolume(s, 0.5)
			x, y, z = getElementVelocity(hitElement)
			if(force > 500) then
				throw = true
			end
			if(force > 100) then
				force = 100
				
			end
			local nx, ny, nz = x*(force/30), y*(force/30), z+((force/300)*1.01)
			if(source == getPedOccupiedVehicle(localPlayer)) then
				x, y, z = getElementPosition(hitElement)
				triggerServerEvent("onCarballBallUpdate", localPlayer, hitElement, x, y, z, nx, ny, nz)
				
				if(throw == true) then
				end
			end
			setElementVelocity(hitElement, nx, ny, nz)
		end
	end
end
addEventHandler("onClientVehicleCollision", getRootElement(), hit_ball)

isBall = function(ball)
	return getElementData(ball, "ball")
end

local sync_ball = function(last_syncher, ball, x, y, z, x2, y2, z2)
	if(last_syncher ~= localPlayer) then
setElementPosition(ball, x, y, z)
setElementVelocity(ball, x2, y2, z2)
end
end
addEventHandler("onCarballPosUpdate", getRootElement(), sync_ball)

 

-- سيرفر --

Ball = {}

addCommandHandler('ball',
function(player)
if isElement(Ball[player]) then return outputChatBox('u have one', source) end
local x,y,z = getElementPosition(player)
Ball[player] = createObject(2912, x + 3, y, z)
outputChatBox('done', player)
setElementData(Ball[player], 'ball', true)
end)

addEvent('onCarballBallUpdate',true)
local carball_update = function(ball, x, y, z, x2, y2, z2)
triggerClientEvent("onCarballPosUpdate", getRootElement(), source, ball, x, y, z, x2, y2, z2)
end
addEventHandler("onCarballBallUpdate", getRootElement(), carball_update)

 

ارجو المساعدة بقالي اسبوع مش عارف احلها

الكورة بتتشاط عادي وتطير في الهواء

بعدين تنزل ع الارض وما تطلع تاني

ابيها تسوي بمب علي الارض

او لو خبطت فأي ابجيكت اخر ما تدخل جواه كانه شفاف

عاوزها تخبط فيه وتروح في مكان اخر مثل الواقع

Edited by MrKAREEM
Link to comment

فهمتك ,دقيقة

لما الكوره تنشاط وتطلع فوق , 
انت بتحركها بناءاً على
 

moveObject

عدد الـ 
milliseconds
الي حاططها ب فنكشن التحريك , سوي تايمر بعدد الميلي سكندز ..
وهذا التايمر لما يخلص , بيسوي مرة ثانية
 

moveObject

وبتزيد إحداثي الـ زد شوي , لكن بتخليه أقل من المرة الماضية بفنكشن التحريك يوم احد يلمسها ...
وتقدر تزيد إحداثي واي + إكس , بيكون أفضل 
وبس كذا تمام وبتضبط معاك

Edited by #Ram
Link to comment
24 minutes ago, #Ram said:

فهمتك ,دقيقة

لما الكوره تنشاط وتطلع فوق , 
انت بتحركها بناءاً على
 


moveObject

عدد الـ 
milliseconds
الي حاططها ب فنكشن التحريك , سوي تايمر بعدد الميلي سكندز ..
وهذا التايمر لما يخلص , بيسوي مرة ثانية
 


moveObject

وبتزيد إحداثي الـ زد شوي , لكن بتخليه أقل من المرة الماضية بفنكشن التحريك يوم احد يلمسها ...
وتقدر تزيد إحداثي واي + إكس , بيكون أفضل 
وبس كذا تمام وبتضبط معاك

اقرا طلبه تاني 

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

Link to comment
Just now, [T]|O|[P]George said:

اقرا طلبه تاني 

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

 وأنا قلت له كيف يخليها تطلع !!

يسوي تايمر ولين يخلص التايمر تكون نزلت ع الأرض ويحركها لفوق مرة ثانية !

Link to comment
16 hours ago, #Ram said:

 وأنا قلت له كيف يخليها تطلع !!

يسوي تايمر ولين يخلص التايمر تكون نزلت ع الأرض ويحركها لفوق مرة ثانية !

بس انا استخدمت setElementVeolicity

هل لها حل لان ناس نصحوني بيها اكثر وقالولي هتجيب الاحداثيات احسن من moveobject ??

 

+ مش عاوز الارض بس ياريت لو فيه طريقة لو خبطت باي شئ ثاني بالعالم يقوم يحركها لحتة تانية ؟

Edited by MrKAREEM
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...