Jump to content

Custom Chat elhelyezése Rendertargetben


Recommended Posts

Az van, hogy csínálok egy rendertargetet:

function oocc()
	if getElementData(getLocalPlayer(), "sooc") then
		dxSetRenderTarget(ooc, true)
		dxSetBlendMode("blend")
		dxDrawText(ooct, 1, 1, 1, 1, tocolor(255, 255, 255, 255), 1, 1, "default-bold", "left", valign, false, false, false, true, false)
		dxSetRenderTarget()

		dxDrawImage(20,200, szoochossz, szoocmagassag, ooc)
	end
end
addEventHandler("onClientRender", root, oocc)

Megmondom az igazat nem találgatok ki dolgokat. Egy OOC chathez kell.

Ha ebbe a "Chat" ablakba beírok csak "á" betűket, vagy nagyon sok ékezetes betűt, akkor a rendertarget resetelődik eltűnik belőle minden marad kb. 10 "á" betű és eltűnik minden más.

Hogyan lehetne ezt kiküszöbölni.

Saját vonaltörést kell alkalmaznom, mert a "Colorcoded" argumentum letiltja a "Clip"-et és a "Wordbreak"-et. Nem tudom ennek mennyi köze van hozzá, de azért leírtam.

Köszönöm, ha elolvastad és ha válaszolsz rá!

Link to comment
  • Moderators

Szia!

Elsőnek is, erre a célra ne használj renderTargetet, mert felesleges és nagyon sok erőforrást használ.

Szerintem az a legjobb, ha a sorokat egy táblázatba rakod, a megfelelő sorokat íratod ki egymás alá. (pl. az utolsó tíz sort)

Valahogy így:

-- CLIENT SIDE CODE
-- EZ EGY EGYSZERŰ PÉLDA, CSAK MAGADNAK TUDSZ SZÖVEGET KIíRNI VELE, MÁS NEM FOGJA LÁTNI
-- SZERVER OLDALRÓL KELL TRIGGERELNED, HOGY MIT SZERETNÉL KIíRATNI

local chat_lines = {}
local displayLinesCount = 10

function addLine(text)
	table.insert(chat_lines, text)
end

addEventHandler("onClientRender", root, function()
	local offset = 0
	for i, line_text in ipairs(chat_lines) do
		if i > #chat_lines-displayLinesCount then
			dxDrawText(line_text, 20, 500 + offset, 20, 500, tocolor(255,255,255,255), 1, "default", "left", "center")
			offset = offset + 30
		end
	end
end)

function chatOOC(cmd, ...)
	local text = table.concat({...}, " ")
	addLine(text)
end
addCommandHandler("ooc", chatOOC)

bindKey("b", "down", "chatbox", "ooc")

 

Sortörést pedig csak színkódok nélkül használhatsz, de ez OOC chatnél általában nem probléma.

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