Reflex# Posted April 13, 2012 Share Posted April 13, 2012 I have standart hunter top times..but if player have color in his nick..i want that color show in toptimes..how to do this? Link to comment
drk Posted April 13, 2012 Share Posted April 13, 2012 Use my dx text library: dx = { } dx.__index = dx local visible = { } local id = 0 function dx:Create ( Text, X, Y, W, H, Color, Scale, Font, AlignX, AlignY, Clip, Wordbreak ) if ( type ( Text ) == "string" and type ( X ) == "number" and type ( Y ) == "number" and type ( W ) == "number" and type ( H ) == "number" and type ( Scale ) == "number" ) then local text = { eText = Text; eX = X; eY = Y; eW = W; eH = H; eColor = Color; eScale = Scale; eFont = Font; eClip = Clip; eWordbreak = WordBreak; ePostGUI = true } setmetatable ( text, { __index = dx } ) id = id + 1 table.insert ( visible, id, text ); return text end end function dx:Color ( ) return unpack ( self.eColor ) end function dxGetAlpha ( elem ) local r, g, b, a = elem:Color ( ) return a end function dx:SetColor ( r, g, b, a ) self.eColor = { r, g, b, a } end function dx:Text ( text ) self.eText = text end function dxSetTime ( elem, time ) elem:Text ( time ) end function dxSetText ( elem, text ) elem:Text ( text ) end function dx:GetPosition ( ) return self.eX, self.eY end function dx:Position ( x, y ) self.eX = x self.eY = y end addEventHandler ( 'onClientRender', root, function ( ) for _, self in ipairs ( visible ) do while not false do draw ( self.eText, self.eX, self.eY, self.eW, self.eH, tocolor ( unpack ( self.eColor ) ), self.eScale, self.eFont, self.eAlignX, self.eAlignY, tostring ( self.eClip ), tostring ( self.eWordbreak ), true, self.eColor [ 4 ] ) break end end end ) function draw(str, ax, ay, bx, by, color, scale, font, left, top, clip, wordbreak, postGUI,alpha) local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if cap == "" and col then color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), alpha ) end if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font ) ax = ax + w color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), alpha ) end last = e + 1 s, e, cap, col = str:find( pat, last ) end if last <= #str then cap = str:sub( last ) local w = dxGetTextWidth( cap, scale, font ) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font, left, top, clip, wordbreak, postGUI ) end end Example: myText = dx:Create ( "Test", 200, 100, 50, 50, { 255, 255, 255, 255 }, 1.0, 'bankgothic', 'center', 'center', false, false, true ) Just replace your top times labels with these things ( must edit ). Link to comment
Reflex# Posted April 13, 2012 Author Share Posted April 13, 2012 I must change client side? Link to comment
drk Posted April 13, 2012 Share Posted April 13, 2012 Better start learning to create your own, because DirectX Text don't have same positions of gui label. And yes, you must change GUI and GUI Labels functions used. Link to comment
TwiX! Posted April 13, 2012 Share Posted April 13, 2012 I must change client side? you can buy it Link to comment
drk Posted April 13, 2012 Share Posted April 13, 2012 I must change client side? you can buy it He can create his own too Advantages: He can put his own ideas on it; He don't need lost money. Desvantages: No desvantages. Link to comment
Reflex# Posted April 13, 2012 Author Share Posted April 13, 2012 It's hard but..i can try..i must EDIT:I dont have so much money,and i dont want to spend my money on games Link to comment
TwiX! Posted April 13, 2012 Share Posted April 13, 2012 you can find colored label code, and use it, guiSetText will not work, btw you can use destroyElement() , and make label again Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now