Jump to content

عندي مشكلة بالكود كلام يضلع فوق شخصيتان


momar5600

Recommended Posts

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

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

function leaveRegister ()
local x,y = guiGetPosition(GUIEditor.window[1],false)
guiSetPosition(GUIEditor.window[1],x-3,y-3,false)
if ( x >= 0 and y >= 0 ) then
removeEventHandler("onClientRender",root,leaveRegister)
fadeCamera(true)
showCursor(false)
guiSetInputEnabled(false)
guiSetVisible(GUIEditor.window[1],false)
setCameraMatrix(2016.259765625,982.78271484375,12.015399932861,2016.2641601563,983.76629638672,11.835141181946)
xMyPed1 = createPed(45,2016.2739257813,986.02960205078,10.8203125,269.74395751953)
xMyPed2 = createPed(45,2016.2739257813 + 1,986.02960205078,10.8203125,89.74405670166)
exports["chatbubbles"]:addText ( xMyPed1,"ماهو افضل سيرفر",1 )
setTimer(function ()
exports["chatbubbles"]:addText ( xMyPed2,"سيرفر عشاق الوناسة اكيد",3 )
end,500,1)
setTimer(function ()
fadeCamera(false)
end,1000,1)
setTimer(function ()
show ()
fadeCamera(true)
destroyElement(xMyPed1)
destroyElement(xMyPed2)
end,3000,1)
end
end

مع علم انا مركب مود 

chatbubbles

Edited by momar5600
Link to comment

كيف 

مود شات

local textsToDraw = {}

local hideown
local showtime
local characteraddition
local maxbubbles

local showthebubbles = true

function income(message,messagetype)
	if source ~= getLocalPlayer() or not hideown then
		if messagetype == 2 then
			if getPlayerTeam(source) == getPlayerTeam(getLocalPlayer()) then
				addText(source,message,messagetype)
			end
		else
			addText(source,message,messagetype)
		end
	end
end

function addText(source,message,messagetype)
	local notfirst = false
	for i,v in ipairs(textsToDraw) do
		if v[1] == source then
			v[4] = v[4] + 1
			notfirst = true
		end
	end
	local infotable = {source,message,messagetype,0}
	table.insert(textsToDraw,infotable)
	if not notfirst then
		setTimer(removeText,showtime + (#message * characteraddition),1,infotable)
	end
end

function removeText(infotable)
	for i,v in ipairs(textsToDraw) do
		if v[1] == infotable[1] and v[2] == infotable[2] then
			for i2,v2 in ipairs(textsToDraw) do
				if v2[1] == v[1] and v[4] - v2[4] == 1 then
					setTimer(removeText,showtime + (#v2[2] * characteraddition),1,v2)
				end
			end
			table.remove(textsToDraw,i)
			break
		end
	end
end

function getTextsToRemove()
	for i,v in ipairs(textsToDraw) do
		if v[1] == source then
			removeText(v)
		end
	end
end

function handleDisplay()
	if showthebubbles then
		for i,v in ipairs(textsToDraw) do
			if isElement(v[1]) then
				if getElementHealth(v[1]) > 0 then
					local camPosXl, camPosYl, camPosZl = getPedBonePosition (v[1], 6)
					local camPosXr, camPosYr, camPosZr = getPedBonePosition (v[1], 7)
					local x,y,z = (camPosXl + camPosXr) / 2, (camPosYl + camPosYr) / 2, (camPosZl + camPosZr) / 2
					--local posx,posy = getScreenFromWorldPosition(x,y,z+0.25)
					local cx,cy,cz = getCameraMatrix()
					local px,py,pz = getElementPosition(v[1])
					local distance = getDistanceBetweenPoints3D(cx,cy,cz,px,py,pz)
					local posx,posy = getScreenFromWorldPosition(x,y,z+0.020*distance+0.10)
					local elementtoignore1 = getPedOccupiedVehicle(getLocalPlayer()) or getLocalPlayer()
					local elementtoignore2 = getPedOccupiedVehicle(v[1]) or v[1]
					if posx and distance <= 45 and ( isLineOfSightClear(cx,cy,cz,px,py,pz,true,true,false,true,false,true,true,elementtoignore1) or isLineOfSightClear(cx,cy,cz,px,py,pz,true,true,false,true,false,true,true,elementtoignore2) ) and ( not maxbubbles or  v[4] < maxbubbles ) then -- change this when multiple ignored elements can be specified
						local width = dxGetTextWidth(v[2],1,"default")
						
						dxDrawRectangle(posx - (3 + (0.5 * width)),posy - (2 + (v[4] * 20)),width + 5,19,tocolor(0,0,0,255))
						dxDrawRectangle(posx - (6 + (0.5 * width)),posy - (2 + (v[4] * 20)),width + 11,19,tocolor(0,0,0,40))
						dxDrawRectangle(posx - (8 + (0.5 * width)),posy - (1 + (v[4] * 20)),width + 15,17,tocolor(0,0,0,255))
						dxDrawRectangle(posx - (10 + (0.5 * width)),posy - (1 + (v[4] * 20)),width + 19,17,tocolor(0,0,0,40))
						dxDrawRectangle(posx - (10 + (0.5 * width)),posy - (v[4] * 20) + 1,width + 19,13,tocolor(0,0,0,255))
						dxDrawRectangle(posx - (12 + (0.5 * width)),posy - (v[4] * 20) + 1,width + 23,13,tocolor(0,0,0,40))
						dxDrawRectangle(posx - (12 + (0.5 * width)),posy - (v[4] * 20) + 4,width + 23,7,tocolor(0,0,0,255))
						
						local r,g,b = 255,255,255
						if v[3] == 2 then
							r,g,b = getTeamColor(getPlayerTeam(v[1]))
						end
						
						dxDrawText(v[2],posx - (0.5 * width),posy - (v[4] * 20),posx - (0.5 * width),posy - (v[4] * 20),tocolor(r,g,b,255),1,"default","left","top",false,false,false)
					end
				end
			end
		end
	end
end

function getServerSettings()
    triggerServerEvent("onAskForBubbleSettings",getLocalPlayer())
end

function saveSettings(settings)
	showtime = settings[1]
	characteraddition = settings[2]
	maxbubbles = settings[3]
	hideown = settings[4]
	addEvent("onChatbubblesMessageIncome",true)
	addEventHandler("onChatbubblesMessageIncome",getRootElement(),income)
end

function toggleBubblesOnOff()
	showthebubbles = not showthebubbles
	outputChatBox("Toggled chatbubbles " ..( not showthebubbles and "#FF0000off#FFFFFF." or "#00FF00on#FFFFFF." ),255,255,255,true)
end

addEventHandler("onClientPlayerQuit",getRootElement(),getTextsToRemove)
addEventHandler("onClientRender",getRootElement(),handleDisplay)
addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),getServerSettings)
addEvent("onBubbleSettingsReturn",true)
addEventHandler("onBubbleSettingsReturn",getRootElement(),saveSettings)
addCommandHandler("chatbubbles",toggleBubblesOnOff)

سيرفر

local showtime = tonumber(get("chatbubbles.DefaultTime"))
local characteraddition = tonumber(get("chatbubbles.PerCharacterAddition"))
local maxbubbles = get("chatbubbles.MaxBubbles")
if maxbubbles == "false" then maxbubbles = false else maxbubbles = tonumber(maxbubbles) end
local hideown = get("chatbubbles.HideOwn")
if hideown == "true" then hideown = true else hideown = false end

function sendMessageToClient(message,messagetype)
	if not wasEventCancelled() then
		if messagetype == 0 or messagetype == 2 then
			triggerClientEvent("onChatbubblesMessageIncome",source,message,messagetype)
		end
	end
end

function returnSettings()
	local settings =
	{
	showtime,
	characteraddition,
	maxbubbles,
	hideown
	}
	triggerClientEvent(source,"onBubbleSettingsReturn",getRootElement(),settings)
end

addEventHandler("onPlayerChat",getRootElement(),sendMessageToClient)
addEvent("onAskForBubbleSettings",true)
addEventHandler("onAskForBubbleSettings",getRootElement(),returnSettings)

 

Link to comment
<meta>

	<info author="eXo|dragon" description="Adds chatbubbles above the player's heads!" type="script" version="1.0.6" />

	<script src="chatbubbles_server.lua" type="server"/>
	<script src="chatbubbles_client.lua" type="client"/>

	<settings>

        <setting
		name="*DefaultTime"
		value="7500"
		accept="number"
		desc="The default time every bubble will be visible."
        />

        <setting
		name="*PerCharacterAddition"
		value="100"
		accept="number"
		desc="The time every character in a message adds to the total time visible."
        />

        <setting
		name="*MaxBubbles"
		value="3"
		accept="number/false"
		desc="The max number of bubbles stacked above one's head. To disable enter 'false'."
        />

        <setting
		name="*HideOwn"
		value="true"
		accept="true/false"
		desc="Decides whether players are able to see their own bubbles or not."
        />

    </settings>
	
</meta>

 

الووو رد لو سمحتم اه هو خطا  ؟

 

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