Jump to content

Notifications System


Recommended Posts

Posted

I have an almost finished notifications system, how can I check for the end of the rectangle? so when the text reaches the end it starts a new line, how would I do this?

if (finda) then 
        local height = (finda*14)+30 
        dxDrawRectangle(screenW * 0.8336, screenH * 0.0221 + yOffset, screenW * 0.1586, height, tocolor(0, 0, 0, v.alpha * 0.6)) 
        dxDrawRectangle(screenW * 0.8289, screenH * 0.0221 + yOffset, screenW * 0.0047, height, tocolor(28, 96, 118, v.alpha * 0.6)) 
        dxDrawText(v.text, screenW * 0.8391, screenH * 0.0299 + yOffset, screenW * 0.9844, screenH * 0.0885, tocolor(255, 255, 255, v.alpha), 1.00, "default", "left", "top", false, false, false, false, false) 
        yOffset = yOffset + (v.heightMultiplier or 1) * (height + margin) 

Posted

set the dxDrawText wordBreak value to true ?

wordBreak: if set to true, the text will wrap to a new line whenever it reaches the right side of the bounding box. If false, the text will always be completely on one line.

Posted

No, wordBreak won't do stuff

if it's inside a dxDrawRectangle and you using a table, then you can make a count = 0 then start count = count + 1 for every loop it passes. Then you can do if (k == 5 [like 5 elements (or five texts) fill a rectangle]) then you can create a scrollBar. I don't think there is a function to check a bottom like say)

Posted

Okay forget that, how would I do it so there is a dx scrollbar and text, without a memo, and I can scroll down the text, I saw it on some servers and was wondering how to do it.

Posted

scrollpane is a GUI ...

You can use dxDrawRectangle (2x) and onClientClick so you can click on it.

Can show you an example in some minutes.

local screenX, screenY = guiGetScreenSize() 
local sx, sy = screenX/1920, screenY/1080 
local scrollplayers = 0 
local maxplayerswithoutscroll = 15 
  
dxDrawRectangle ( screenX*0.4, screenY*0.35, screenX*0.02, screenY*0.01, tocolor ( 160, 160, 160, 184 ), true )      -- Scroll rectangle to click (up) 
dxDrawRectangle ( screenX*0.4, screenY*0.64, screenX*0.02, screenY*0.01, tocolor ( 160, 160, 160, 184 ), true )      -- Scroll rectangle to click (down) 
dxDrawRectangle ( screenX*0.4, screenY*0.36, screenX*0.02, screenY*0.28, tocolor ( 50, 50, 50, 184 ), true )        -- Scroll background 
dxDrawLine ( screenX*0.41, screenY*0.37, screenX*0.41, screenY*0.63, tocolor ( 0, 0, 0, 184 ), 1*sx, true )     -- Scroll line for optics  
local amount = #playersinlobby[playerlobby] - maxplayerswithoutscroll    -- amount not showing 
if amount > 0 then   -- if you can scroll 
    dxDrawRectangle ( screenX*0.401, screenY*0.361+scrollplayers*screenY*0.2798/(amount+1), screenX*0.018, screenY*0.2798/(amount+1), tocolor ( 10, 10, 10, 184 ), true ) 
else    -- if you cant scroll 
    dxDrawRectangle ( screenX*0.401, screenY*0.361, screenX*0.018, screenY*0.2798, tocolor ( 10, 10, 10, 184 ), true ) 
end 
  
  
  
addEventHandler ( "onClientClick", root, function ( ) 
    if x >= screenX*0.4 and x <= screenX*0.42 and y >= screenY*0.35 and y <= screenY*0.65 then 
            if y < screenY*0.36 then 
            scrollplayers = scrollplayers > 0 and scrollplayers - 1 or 0 
        elseif y > screenY*0.64 then 
            scrollplayers = scrollplayers+maxplayerswithoutscroll < #playersinlobby[playerlobby] and scrollplayers + 1 or scrollplayers 
        else 
            local amount = #playersinlobby[playerlobby] 
            if amount > maxplayerswithoutscroll then 
                scrollplayers = roundNumber ( ( y - screenY*0.36 ) / ( screenY*0.28 )  * ( #playersinlobby[playerlobby]-maxplayerswithoutscroll ) ) 
            else 
                scrollplayers = 0 
            end 
        end 
    end 
end ) 
  
  
  
  
for i=1+scrollplayers, maxplayerswithoutscroll+scrollplayers do 
    --- 
end  

You can see it better here:

http://hastebin.com/ijopayeyay.lua

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