Jump to content

TopTimes en color


Arsilex

Recommended Posts

Hola amigos me preguntava si alguen me puede decir como añadir el color del name de un player en el toptimes

  
--
-- toptimes_client.lua
--
 
CToptimes = {}
CToptimes.__index = CToptimes
CToptimes.instances = {}
g_Settings = {}
 
---------------------------------------------------------------------------
-- Client
-- Handle events from Race
--
-- This is the 'interface' from Race
--
---------------------------------------------------------------------------
 
addEventHandler('onClientResourceStart', g_ResRoot,
    function()
        triggerServerEvent('onLoadedAtClient_tt', g_Me)
    end
)
 
addEvent('onClientMapStarting', true)
addEventHandler('onClientMapStarting', getRootElement(),
    function(mapinfo)
        outputDebug( 'TOPTIMES', 'onClientMapStarting' )
        if g_CToptimes then
            g_CToptimes:onMapStarting(mapinfo)
        end
    end
)
 
addEvent('onClientMapStopping', true)
addEventHandler('onClientMapStopping', getRootElement(),
    function()
        outputDebug( 'TOPTIMES', 'onClientMapStopping' )
        if g_CToptimes then
            g_CToptimes:onMapStopping()
        end
    end
)
 
addEvent('onClientPlayerFinish', true)
addEventHandler('onClientPlayerFinish', getRootElement(),
    function()
        outputDebug( 'TOPTIMES', 'onClientPlayerFinish' )
        if g_CToptimes then
            g_CToptimes:doAutoShow()
        end
    end
)
 
addEvent('onClientSetMapName', true)
addEventHandler('onClientSetMapName', getRootElement(),
    function(manName)
        if g_CToptimes then
            g_CToptimes:setWindowTitle(manName)
        end
    end
)
 
 
function updateSettings(settings, playeradmin)
    outputDebug( 'TOPTIMES', 'updateSettings' )
    if g_CToptimes then
        if settings and settings.gui_x and settings.gui_y then
            g_CToptimes:setWindowPosition( settings.gui_x, settings.gui_y )
            g_CToptimes.startshow = settings.startshow
        end
        -- If admin changed this setting manually, then show the table to him
        if playeradmin == getLocalPlayer() then
            g_CToptimes:doToggleToptimes(true)
        end
    end
end
 
 
---------------------------------------------------------------------------
--
-- CToptimes:create()
--
--
--
---------------------------------------------------------------------------
function CToptimes:create()
    outputDebug ( 'TOPTIMES', 'CToptimes:create' )
    local id = #CToptimes.instances + 1
    CToptimes.instances[id] = setmetatable(
        {
            id = id,
            bManualShow     = false,        -- via key press
            bAutoShow       = false,        -- when player finished
            bGettingUpdates = false,        -- server should send us updates to the toptimes
            listStatus      = 'Empty',      -- 'Empty', 'Loading' or 'Full'
            gui             = {},           -- all gui items
            lastSeconds     = 0,
            targetFade      = 0,
            currentFade     = 0,
            autoOffTimer    = Timer:create(),
 
            hasTimes        = false        
        },
        self
    )
 
    CToptimes.instances[id]:postCreate()
    return CToptimes.instances[id]
end
 
 
---------------------------------------------------------------------------
--
-- CToptimes:destroy()
--
--
--
---------------------------------------------------------------------------
function CToptimes:destroy()
    self:setHotKey(nil)
    self:closeWindow()
    self.autoOffTimer:destroy()
    CToptimes.instances[self.id] = nil
    self.id = 0
end
 
 
---------------------------------------------------------------------------
--
-- CToptimes:postCreate()
--
--
--
---------------------------------------------------------------------------
function CToptimes:postCreate()
    self:openWindow()
    self:setWindowPosition( 0.7, 0.02 )
    self:setHotKey('F5')
end
 
 
---------------------------------------------------------------------------
--
-- CToptimes:openWindow()
--
--
--
---------------------------------------------------------------------------
function CToptimes:openWindow ()
    if self.gui['container'] then
        return
    end
 
    self.size = {}
    self.size.x = 400-120
    self.size.y = 46 + 15 * 10
 
    local sizeX = self.size.x
    local sizeY = self.size.y
 
    -- windowbg is the root gui element.
    -- windowbg holds the backround image, to which the required alpha is applied
    self.gui['windowbg'] = guiCreateStaticImage(100, 100, sizeX, sizeY, 'img/timepassedbg.png', false, nil)
    guiSetAlpha(self.gui['windowbg'], 0.4)
    guiSetVisible( self.gui['windowbg'], false )
 
    -- windowbg as parent:
 
 
        self.gui['container'] = guiCreateStaticImage(0,0.1,1,1, 'img/blank.png', true, self.gui['windowbg'])
        guiSetProperty ( self.gui['container'], 'InheritsAlpha', 'false' )
 
        -- container as parent:
 
            self.gui['bar'] = guiCreateStaticImage(0, 0, sizeX, 18, 'img/timepassedbg.png', false, self.gui['container'])
            guiSetAlpha(self.gui['bar'], 0.4)
 
            self.gui['title0'] = guiCreateLabel(0, 0, sizeX, 30, '-tbb- Hunter Times', false, self.gui['windowbg'] )
            guiLabelSetHorizontalAlign ( self.gui['title0'], 'center' )
            guiSetFont(self.gui['title0'], 'default-bold-small')
            guiLabelSetColor ( self.gui['title0'],128,255,0)
 
            self.gui['title'] = guiCreateLabel(0, 1, sizeX, 30, '', false, self.gui['container'] )
            guiLabelSetHorizontalAlign ( self.gui['title'], 'center' )
            guiSetFont(self.gui['title'], 'default-bold-small')
            guiLabelSetColor ( self.gui['title'], 255, 255, 255, 255 )
 
 
            self.gui['header'] = guiCreateLabel(19, 21, sizeX-30, 15, 'Pos      Time                            Name', false, self.gui['container'] )
            guiSetFont(self.gui['header'], 'default-small')
            guiLabelSetColor ( self.gui['header'], 128,255,0 )
 
            self.gui['headerul'] = guiCreateLabel(0, 21, sizeX, 15, string.rep('_', 38), false, self.gui['container'] )
            guiLabelSetHorizontalAlign ( self.gui['headerul'], 'center' )
            guiLabelSetColor ( self.gui['headerul'], 128,255,0 )
 
            self.gui['paneLoading'] = guiCreateStaticImage(0,0,1,1, 'img/blank.png', true, self.gui['container'])
 
            -- paneLoading as parent:
 
                self.gui['busy'] = guiCreateLabel(sizeX/4, 38, sizeX/2, 15, 'Waiting ..', false, self.gui['paneLoading'] )
                self.gui['busy2'] = guiCreateLabel(sizeX/4, 53, sizeX/2, 15, 'until next map', false, self.gui['paneLoading'] )
                guiLabelSetHorizontalAlign ( self.gui['busy'], 'center' )
                guiLabelSetHorizontalAlign ( self.gui['busy2'], 'center' )
                guiSetFont(self.gui['busy'], 'default-bold-small')
                guiSetFont(self.gui['busy2'], 'default-bold-small')
 
            self.gui['paneTimes'] = guiCreateStaticImage(0,0,1,1, 'img/blank.png', true, self.gui['container'])
 
            -- paneTimes as parent:
 
                -- All the labels in the time list
                self.gui['listTimes'] = {}
                self:updateLabelCount(12)
 
end
 
 
---------------------------------------------------------------------------
--
-- CToptimes:closeWindow()
--
--
--
---------------------------------------------------------------------------
function CToptimes:closeWindow ()
    destroyElement( self.gui['windowbg'] )
    self.gui = {}
end
 
 
---------------------------------------------------------------------------
--
-- CToptimes:setWindowPosition()
--
--
--
---------------------------------------------------------------------------
function CToptimes:setWindowPosition ( gui_x, gui_y )
    if self.gui['windowbg'] then
        local screenWidth, screenHeight = guiGetScreenSize()
        local posX = screenWidth/2 + 63 + ( screenWidth * (gui_x - 0.56) )
        local posY = 14 + ( screenHeight * (gui_y - 0.02) )
 
        local posXCurve = { {0, 0}, {0.7, screenWidth/2 + 63}, {1, screenWidth - self.size.x} }
        local posYCurve = { {0, 0}, {0.02, 14}, {1, screenHeight - self.size.y} }
-- 1280  0-1000
--       0.0 = 1280/2 - 140 = 0
--       0.5 = 1280/2 - 140 = 500
--       0.7 = 1280/2 - 140 = 500       = 703
Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...