Sign in to follow this  
The_Rich#

مششكــلة مع فنكشن dxDrawTextOnElement

Recommended Posts

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

شباب عندي مشكلة مع فنكشن dxDrawTextOnElement

-----------------------------------------------------------------------------------------------------------

أول شيء انا كنت اسوي كود والي هو لما يكتب بأف 8 كلمة معينة , يسوي الكاميرا في حارة سي جي ..

Ped وسويت بحارة سي جي

ped وقلت لما يكتب الكلمة المعينة بأف 8 , يقدر لما يضغط على زر معين يغير ال 

Ped ويكتب كلام فوق ال 

طيب , المشكلة هي اني لما اغير الشخصيات , الكلام يظهر لأقل من ثانية ويختفي ..

---------------------------------------------------------------------------------------------

الأكواد :-


function dxDrawTextOnElement(TheElement,text,height,distance,R,G,B,alpha,size,font,...)
	local x, y, z = getElementPosition(TheElement)
	local x2, y2, z2 = getCameraMatrix()
	local distance = distance or 20
	local height = height or 1

	if (isLineOfSightClear(x, y, z+2, x2, y2, z2, ...)) then
		local sx, sy = getScreenFromWorldPosition(x, y, z+height)
		if(sx) and (sy) then
			local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
			if(distanceBetweenPoints < distance) then
				dxDrawText(text, sx+2, sy+2, sx, sy, tocolor(R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center")
			end
		end
	end
end

Skin = createPed(0,2496.24316, -1669.80396, 13.33595)
setElementData(Skin,"Skin1",true)


function Skins()
if ( getElementData(Skin,"Skin1") == true ) then
setElementModel(Skin,1)
setElementData(Skin,"Skin1",false)
dxDrawTextOnElement(Skin,"Skin Number 1",1,20,0,0,255,255,1,"pricedown")
elseif ( getElementData(Skin,"Skin1" ) == false ) then
dxDrawTextOnElement(Skin,"Skin Number 46",1,20,0,0,255,255,1,"pricedown")
setElementModel(Skin,46)
setElementData(Skin,"Skin1",true)
end
end

addCommandHandler("Skin",
function ()
setCameraMatrix(2490.21753, -1669.17590, 18.60828,2496.24316, -1669.80396, 13.33595)
bindKey("Left","down", Skins)
bindKey("Right","down", Skins)
end)



وشكراً #

Share this post


Link to post

استخدم الوظيفة داخل

addEventHandler("onClientRender")

ايضا نصيحة اذا ناوي تحط شخصيات كثيرة استعمل جدول وحط فيه السكنات ورقمها احسن ما تسوي 66 تحقق

Share this post


Link to post
Posted (edited)

لسة مادخلت بمجال الجداول ي بروس , ماعندي خبرة فيها .. لوعندك شرح لها اتمنى ترسلي الموضوع .

انا ابغى الكلام يظهر لما يدوس على الزر مع الشخصية , 

ادري انه لازم تحط onClientRender..

بس كيف استخدمها بهذي الحالة ؟

@#BrosS

Edited by The_Rich#

Share this post


Link to post
function dxDrawTextOnElement(TheElement,text,height,distance,R,G,B,alpha,size,font,...)
	local x, y, z = getElementPosition(TheElement)
	local x2, y2, z2 = getCameraMatrix()
	local distance = distance or 20
	local height = height or 1

	if (isLineOfSightClear(x, y, z+2, x2, y2, z2, ...)) then
		local sx, sy = getScreenFromWorldPosition(x, y, z+height)
		if(sx) and (sy) then
			local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
			if(distanceBetweenPoints < distance) then
				dxDrawText(text, sx+2, sy+2, sx, sy, tocolor(R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center")
			end
		end
	end
end

Skin = createPed(0,2496.24316, -1669.80396, 13.33595)
setElementData(Skin,"Skin1",true)

text = ""

function drawText()
dxDrawTextOnElement(Skin,text,1,20,0,0,255,255,1,"pricedown")
end

function Skins()
if ( getElementData(Skin,"Skin1") == true ) then
setElementModel(Skin,1)
setElementData(Skin,"Skin1",false)
text = "Skin Number 1"
elseif ( getElementData(Skin,"Skin1" ) == false ) then
text = "Skin Number 46"
setElementModel(Skin,46)
setElementData(Skin,"Skin1",true)
end
end

addCommandHandler("Skin",
function ()
setCameraMatrix(2490.21753, -1669.17590, 18.60828,2496.24316, -1669.80396, 13.33595)
bindKey("Left","down", Skins)
bindKey("Right","down", Skins)
addEventHandler("onClientRender",root,drawText)
end)

اذا تبي تحذف الكلام

removeEventHandler("onClientRender",root,drawText)

text أو تفرغ المتغير

text = ""

شرح الجداول

 

Share this post


Link to post

ششكككراً ي بروس 

اظنها بداية موفقة لمشواري الفنّي xD

Share this post


Link to post

العفو , بالتوفيق لك

Share this post


Link to post

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.