Jump to content

--


Recommended Posts

hello why the hex color doesn't display the color

it display the code only

#ff0000 

example : " #ff0000 [player] has Killed

     local _getPlayerName = getPlayerName 
local getPlayerName = function ( element ) 
    return _getPlayerName( element ):gsub("#%x%x%x%x%x%x","") 
end 
  
addEventHandler("onPlayerWasted", getRootElement(), 
function() 
    sendClientMessage("#ff0000 [" .. getPlayerName( source ) .. " ] Has Killed", root,0,255,0,true) 
end 
) 

what is sendClientMessage ?

Link to comment

edit in topbar chat c.lua

  
------------------------------------------ 
--            TopBarChat                -- 
------------------------------------------ 
-- Developer: Braydon Davis             -- 
-- File: c.lua                          -- 
-- Copyright 2013 (C) Braydon Davis     -- 
-- All rights reserved.                 --   
------------------------------------------ 
-- Script Version: 1.4                  -- 
------------------------------------------ 
  
  
local maxMessages = 5;      -- The max messages that will show (on each bar) 
local DefaultTime = 8;      -- The max time each message will show if time isn't defined. 
  
------------------------------------------ 
-- For scripters only                   -- 
------------------------------------------ 
local sx_, sy_ = guiGetScreenSize ( ) 
local sx, sy = sx_/1280, sy_/720 -- you got xXMADEXx's resolution :3 plz no hak mi 
local DefaultPos = true; 
local messages_top = { } 
local messages_btm = { } 
  
function sendClientMessage ( msg, r, g, b, pos, time ) 
    -- Msg: String 
    -- R: Int (0-255) 
    -- G: Int (0-255) 
    -- B: Int (0-255) 
    -- Pos: Boolean 
    -- Time: Int 
    if ( not msg ) then return false end 
  
    if ( pos == nil ) then pos = DefaultPos end 
    local r, g, b = r or 255, g or 255, b or 255 
    local time = tonumber ( time ) or DefaultTime 
    local data = {  
        message = msg, 
        r = r, 
        g = g, 
        b = b, 
        alpha=0, 
        locked=true, 
        rTick = getTickCount ( ) + (time*1000) 
    } 
    --> Scripters note:  
        --> The remove and intro fades are handled in the render event 
    if ( pos == true or pos == "top" ) then 
        table.insert ( messages_top, data ) 
        return true 
    elseif ( pos == false or pos == "bottom" ) then 
        table.insert ( messages_btm, data ) 
        return true 
    end 
    return false 
end  
addEvent ( getResourceName ( getThisResource ( ) )..":sendClientMessage", true ) 
addEventHandler ( getResourceName ( getThisResource ( ) )..":sendClientMessage", root, sendClientMessage ) 
  
function dxDrawNotificationBar ( ) 
    local doRemove = { top = { }, bottom = { } }    -- This is used so it prevents the next message from flashing 
     
  
    -- Top Message Bar 
    for i, v in pairs ( messages_top ) do 
        local i = i - 1 
        if ( not v.locked ) then 
            v.alpha = v.alpha - 3 
            if ( v.alpha <= 20 ) then 
                table.insert ( doRemove.top, i+1 ) 
            end 
            messages_top[i+1].alpha = v.alpha 
        else 
            if ( v.alpha < 160 ) then 
                v.alpha = v.alpha + 1 
                messages_top[i+1].alpha = v.alpha 
            end 
            if ( v.rTick <= getTickCount ( ) ) then 
                v.locked = false 
                messages_top[i+1].locked=false 
            end 
        end 
        dxDrawRectangle ( (sx_/2-530/2), i*25, 530, 25, tocolor ( 0, 0, 0, v.alpha ) ) 
        dxDrawText ( tostring ( v.message ), 0, i*25, sx_, (i+1)*25, tocolor ( v.r, v.g, v.b, v.alpha*1.59375 ), sy*1, "default-bold", "center", "center", false, false, true, true) 
    end  
    if ( #messages_top > maxMessages and messages_top[1].locked ) then 
        messages_top[1].locked = false 
    end  
  
    -- Bottom Message Bar 
    for i, v in pairs ( messages_btm ) do 
        if ( not v.locked ) then 
            v.alpha = v.alpha - 3 
            if ( v.alpha <= 20 ) then 
                table.insert ( doRemove.bottom, i ) 
            end 
            messages_btm[i].alpha = v.alpha 
        else 
            if ( v.alpha < 160 ) then 
                v.alpha = v.alpha + 1 
                messages_btm[i].alpha = v.alpha 
            end 
            if ( v.rTick <= getTickCount ( ) ) then 
                v.locked = false 
                messages_btm[i].locked=false 
            end 
        end 
        dxDrawRectangle ( (sx_/2-530/2), sy_-(i*25), 530, 25, tocolor ( 0, 0, 0, v.alpha ) ) 
        dxDrawText ( tostring ( v.message ), 0, sy_-(i*25), sx_, sy_-((i-1)*25), tocolor ( v.r, v.g, v.b, v.alpha*1.59375 ), sy*1, "default-bold", "center", "center", false, false, true, true) 
    end  
    if ( #messages_btm > maxMessages and messages_btm[1].locked ) then 
        messages_btm[1].locked = false 
    end  
  
    -- handle message removes 
    if ( #doRemove.top > 0 )then 
        for i, v in pairs ( doRemove.top ) do 
            table.remove ( messages_top, v ) 
        end 
    end 
    if ( #doRemove.bottom > 0 ) then 
        for i, v in pairs ( doRemove.bottom ) do 
            table.remove ( messages_btm, v ) 
        end 
    end 
end 
addEventHandler ( "onClientRender", root, dxDrawNotificationBar ) 
  
  
------------------------------ 
-- For development          -- 
------------------------------ 
addCommandHandler ( 'rt', function ( ) 
    for i=1, 5 do  
        sendClientMessage ( "Testing - Index ".. tostring ( i ), 255, 255, 255, false ) 
        sendClientMessage ( "Testing - Index ".. tostring ( i ), 255, 255, 255, true ) 
    end 
end ) 
  

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