Sign in to follow this  
(SAUG)Tando

[Help]Notifications System

Recommended Posts

Hello,

I need help in Server .lua

Logo:

Quote

rlcC5ai.png

Client:

sx,sy = guiGetScreenSize ()
addEvent ("onNotificationWindowHide",false)
addEvent ("onNotificationWindowShow",false)
box = false

function showBox(value, str)
	if str and type(str) == "table" and #(str) > 0 then
		box = true
		if value == "info" then 
			showTipBox (table.concat(str," "),"img/info.png")
			outputConsole ("[INFO]" .. table.concat(str," "))
		--[[elseif value == "error" then 
			showTipBox (str,"img/error.png")
			outputConsole ("[ERROR]" .. str)
		elseif value == "warning" then 
			showTipBox (str,"img/warning.png")
			outputConsole ("[WARNING]" .. str)]]--
		end
	end
end
addEvent("CreateBox", true)
addEventHandler("CreateBox", getRootElement(), showBox)

addEventHandler ("onNotificationWindowHide",getRootElement(),
	function ()
		box = false
	end
)
	
tipBox = {}
tipBox.path = ""
tipBox.show = false
tipBox.state = nil
tipBox.string = nil
tipBox.starTick = nil
tipBox.currentY = nil
tipBox.time = 800
tipBox.next = nil
tipBox.nextPath = ""
tipBox.timer = nil
tipBox.startY = sy+256
tipBox.stopY = sy-150

function showTipBox (str,path)
	if str then
		if path == nil then
			path = "img/info.png"
		end
		if fileExists (path) then
			if tipBox.show == true then
				tipBox.next = str
				tipBox.nextPath = path
			else
				tipBox.path = path
				tipBox.show = true
				tipBox.state = "starting"
				tipBox.string = str
				tipBox.startTick = getTickCount()
				triggerEvent ("onNotificationWindowShow",getRootElement())
			end
		end
	end
end
addEvent("CreateTipBox", true)
addEventHandler("CreateTipBox", getRootElement(), showTipBox)

addEventHandler ("onClientRender", getRootElement(),
	function ()
		if tipBox.show == true and tipBox.string then
			local width = dxGetTextWidth (tipBox.string, 1, "default-bold")
			if width then
				if tipBox.state == "starting" then
					local progress = ((getTickCount() - tipBox.startTick) / tipBox.time)*0.5
					local intY = interpolateBetween (
						tipBox.startY,0,0,
						tipBox.stopY,0,0,
						progress,"OutElastic"
					)
					if intY then
						tipBox.currentY = intY
					else
						tipBox.currentY = 100
					end
					if progress > 1 then
						tipBox.state = "showing"
						tipBox.timer = setTimer (
							function ()
								tipBox.startTick = getTickCount()
								tipBox.state = "hiding"
							end
						,string.len(tipBox.string)*45+800,1)
					end
				elseif tipBox.state == "showing" then
					tipBox.currentY = tipBox.stopY
				elseif tipBox.state == "hiding" then
					local progress = (getTickCount() - tipBox.startTick) / (tipBox.time)
					local intY = interpolateBetween (
						tipBox.stopY,0,0,
						tipBox.startY,0,0,
						progress,"Linear"
					)
					if intY then
						tipBox.currentY = intY
					else
						tipBox.currentY = 100
					end
					if progress > 1 then
						triggerEvent ("onNotificationWindowHide",getRootElement())
						if tipBox.next then
							if isTimer(tipBox.timer) then
								killTimer(tipBox.timer)
							end
							tipBox.show = true
							tipBox.state = "starting"
							tipBox.string = tipBox.next
							tipBox.startTick = getTickCount()
							tipBox.next = nil
							tipBox.path = tipBox.nextPath
							return
						else
							tipBox.show = false
							tipBox.state = nil
							tipBox.string = nil
							return
						end
					end
				else
					return
				end
				local width = 400
				local x,y = sx - width - 5, tipBox.currentY
				local textX,textY = x+100,tipBox.currentY+34.375
				local textWidth,textHeight = 273.59375,82.8125
				dxDrawImage(x,y,width,200,tipBox.path,0,0,0,tocolor(255,255,255),true)
				dxDrawText(tipBox.string,textX,textY,textX+textWidth,textY+textHeight,tocolor(255,255,255),1,"default-bold","center","center",false,true,true)
			end
		end
	end
)

First this system same as message but this with logo and will be under screen

Server.lua = Command <text> for show inside Logo under screen

Like Info for players ingame

NOTE: Sry for spam posts i just want be finish my verison OF SAUG:RPG 3.5

Share this post


Link to post

so you want the message be on image?

 

Share this post


Link to post
Just now, Dimos7 said:

so you want the message be on image?

 

yeaa not message

i need command in it like

t/tando <tex>

t/tando hello everybody

Share this post


Link to post

You want that message apear to every one? 

Share this post


Link to post
7 minutes ago, Dimos7 said:

You want that message apear to every one? 

yea !! like info

Share this post


Link to post

Make a function in server side make command handler and then triger the even createBox

Share this post


Link to post
On 6/11/2018 at 07:21, Dimos7 said:

Make a function in server side make command handler and then triger the even createBox

may u make it plz bcs i have some problems with making function

function showTextDisplay ( player, command )
   local serverDisplay = textCreateDisplay()                             -- create a text display
   textDisplayAddObserver ( serverDisplay, player )                      -- make it visible to a player
   local serverText = textCreateTextItem ( "Hello world!", 0.5, 0.5 )    -- create a text item for the display
   textDisplayAddText ( serverDisplay, serverText )                      -- add it to the display so it is displayed
end
addCommandHandler( "showText", showTextDisplay )

this i want inside logo + with acl group "staff" or "admin" anything

Share this post


Link to post
17 hours ago, (SAUG)Tando said:

may u make it plz bcs i have some problems with making function


function showTextDisplay ( player, command )
   local serverDisplay = textCreateDisplay()                             -- create a text display
   textDisplayAddObserver ( serverDisplay, player )                      -- make it visible to a player
   local serverText = textCreateTextItem ( "Hello world!", 0.5, 0.5 )    -- create a text item for the display
   textDisplayAddText ( serverDisplay, serverText )                      -- add it to the display so it is displayed
end
addCommandHandler( "showText", showTextDisplay )

this i want inside logo + with acl group "staff" or "admin" anything

OMG this false i need it by own text not show text

Share this post


Link to post
function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerEvent("createBox", message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you want

 

Share this post


Link to post
19 minutes ago, Dimos7 said:

function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerEvent("createBox", message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you want

 

not working i thing it's need addEventHandler("onNotificationWindowShow") right ?

Share this post


Link to post
function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerEvent("onNotificationWindowShow", root, message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you want

 

Share this post


Link to post
7 hours ago, Dimos7 said:

function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerEvent("onNotificationWindowShow", root, message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you want

 

not working

Share this post


Link to post
13 hours ago, (SAUG)Tando said:

not working

Any errors or warnings? 

Share this post


Link to post
function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerEvent("createBox", root, "info" , message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you wanτ

Try that 

Share this post


Link to post
On 7/14/2018 at 16:26, Dimos7 said:

function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerEvent("createBox", root, "info" , message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you wanτ

Try that 

nothing too

Share this post


Link to post

 

10 minutes ago, (SAUG)Tando said:

nothing too

Is that same resource with notification? 

Share this post


Link to post
function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerClientEvent("createBox", root, "info" , message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you wanτ

Try that

Share this post


Link to post
1 minute ago, Dimos7 said:

function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerClientEvent("createBox", root, "info" , message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you wanτ

Try that

nothing too

Share this post


Link to post
function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerClientEvent("CreateTipBox", root, message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you wanτ

Last i give up if that not work 

Edited by Dimos7

Share this post


Link to post
7 minutes ago, Dimos7 said:

function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
	    triggerClientEvent("CreateTipBox", root, message)
	else
       return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
	end
end
addCommandHandler("", createText) -- ""  put the command you wanτ

Last i give up if that not work 

same xD

Share this post


Link to post

function createText(thePlayer, command,...)
    local message = table.concat({...}, "")
    if message ~= "" then
   triggerClientEvent("CreateBox", root, message)
else
      return outputChatBox("Synat:/ "..command.." text", thePlayer, 255, 0, 0)
end
end
addCommandHandler("", createText) -- ""  put the command you wanτ

This will work. The event that is supposed to be triggered is CreateBox, not CreateTipBox, which is triggered itself by CreateBox.

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.