Jump to content

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


MrKAREEM

Recommended Posts

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

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

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

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

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

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

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

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

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

الحمدلله

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

 

  • Confused 1
Link to comment

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

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

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

moveObject

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

timer + setElementPosition

وتجيب ال rotation

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

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

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

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

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

...

Edited by #i,Oliver
Link to comment
  On 10/10/2018 at 12:07, #i,Oliver said:

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

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

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

 moveObject

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

 timer + setElementPosition

وتجيب ال rotation

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

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

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

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

...

Expand  

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

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

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

بس فيه مشكلة

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

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

Link to comment
  On 10/10/2018 at 12:20, #i,Oliver said:

عطني محاولتك

Expand  
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
  On 10/10/2018 at 13:10, Master_MTA said:
Expand  

طيب فيه حاجة

دي فنكشنات

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

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

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

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

processLineOfSight

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

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

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

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

Expand  

 

تفضل

 

-- كلينت --


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
  On 15/10/2018 at 15:36, #Ram said:

فهمتك ,دقيقة

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


moveObject

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


moveObject

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

Expand  

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

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

Link to comment
  On 15/10/2018 at 17:16, #Ram said:

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

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

Expand  

بس انا استخدمت 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...