Jump to content

Bug race script.


mamo

Recommended Posts

g_Root = getRootElement() 
g_ResRoot = getResourceRootElement(getThisResource()) 
g_Me = getLocalPlayer() 
g_ArmedVehicleIDs = table.create({ 425, 447, 520, 430, 464, 432 }, true) 
g_WaterCraftIDs = table.create({ 539, 460, 417, 447, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 }, true) 
g_ModelForPickupType = { nitro = 2221, repair = 2222, vehiclechange = 2223 } 
g_HunterID = 425 
g_NextMap = "Random" 
g_Checkpoints = {} 
g_Pickups = {} 
g_VisiblePickups = {} 
g_Objects = {} 
function setNextMap ( mapname ) 
g_NextMap = mapname 
end 
addEvent ( "setNextMap", true ) 
addEventHandler ( "setNextMap", getRootElement(), setNextMap ) 
function math.round(number, decimals, method) 
    decimals = decimals or 0 
    local factor = 10 ^ decimals 
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor 
    else return tonumber(("%."..decimals.."f"):format(number)) end 
end 
  
function setNextNil ( dis ) 
g_NextMap = "Random" 
end 
addEvent ( "setNextNil", true ) 
addEventHandler ( "setNextNil", getRootElement(), setNextNil ) 
function hudSet () 
local screenWidth, screenHeight = guiGetScreenSize() 
dxDrawColorText ('##ff9900Next Map: #ECECEC' .. g_NextMap, 2, screenHeight - dxGetFontHeight(0.7, 'bankgothic')/2, 100, 100, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left') 
if (g_MapInfo) then 
dxDrawColorText ('##ff9900Map: #c0c0c0' .. g_MapInfo.name, 2, screenHeight - dxGetFontHeight(1.4, 'bankgothic')/2, 100, 100, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left') 
else 
dxDrawColorText ('##ff99000Map: #c0c0c0 Random.', 2+1, screenHeight - dxGetFontHeight(1.4, 'bankgothic')/2+1, 100+1, 100+1, tocolor ( 255, 255, 255, 255 ), 0.6, 'bankgothic', 0.4, 'left') 
end 
dxDrawColorText ('##ff9900Spectators: (#c0c0c0' .. #Spectators .. '#ff9900)', 2, screenHeight - dxGetFontHeight(2.1, 'bankgothic')/2+1, 100+1, 100+1, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left') 
end 
  
  

Link to comment
  
-----------------Spectators 
local player = getLocalPlayer() 
local root = getRootElement () 
local Spectators = {} 
setElementData ( player, "Spectator", "" ) 
local scrX, scrY = guiGetScreenSize() 
------------------ 
function start () 
    setTimer ( checkTarget, 1000, 0 ) 
end 
addEventHandler ( "onClientResourceStart", getResourceRootElement(), start ) 
------------------ 
function checkTarget ( ) 
local target = getCameraTarget () 
local car = getPedOccupiedVehicle ( player ) 
    if not ( car ) then 
        car = "noCar" 
    end 
    if ( target ) then 
        setElementData ( player, "Spectator", target ) 
    else 
        setElementData ( player, "Spectator", "" ) 
    end 
    Spectators = {} 
    for i,v in ipairs( getElementsByType ( "player" ) ) do 
        if ( v ~= player ) then 
            local vTarget = getElementData ( v, "Spectator" ) 
            if ( vTarget == car ) then 
                table.insert(Spectators,v) 
            end 
        end 
    end 
end 
------------------ 
  
function dxDrawColorText(str, ax, ay, bx, by, color, scale, font) 
  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)), 255) 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)), 255) 
    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) 
  end 
end 
  
function math.round(number, decimals, method) 
    decimals = decimals or 0 
    local factor = 10 ^ decimals 
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor 
    else return tonumber(("%."..decimals.."f"):format(number)) end 
end 
--------------------------- 
g_Root = getRootElement() 
g_ResRoot = getResourceRootElement(getThisResource()) 
g_Me = getLocalPlayer() 
g_ArmedVehicleIDs = table.create({ 425, 447, 520, 430, 464, 432 }, true) 
g_WaterCraftIDs = table.create({ 539, 460, 417, 447, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 }, true) 
g_ModelForPickupType = { nitro = 2221, repair = 2222, vehiclechange = 2223 } 
g_HunterID = 425 
g_NextMap = "Random" 
g_Checkpoints = {} 
g_Pickups = {} 
g_VisiblePickups = {} 
g_Objects = {} 
function setNextMap ( mapname ) 
g_NextMap = mapname 
end 
addEvent ( "setNextMap", true ) 
addEventHandler ( "setNextMap", getRootElement(), setNextMap ) 
function math.round(number, decimals, method) 
    decimals = decimals or 0 
    local factor = 10 ^ decimals 
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor 
    else return tonumber(("%."..decimals.."f"):format(number)) end 
end 
  
function setNextNil ( dis ) 
g_NextMap = "Random" 
end 
addEvent ( "setNextNil", true ) 
addEventHandler ( "setNextNil", getRootElement(), setNextNil ) 
function hudSet () 
local screenWidth, screenHeight = guiGetScreenSize() 
dxDrawColorText ('##ff9900Next Map: #ECECEC' .. g_NextMap, 2, screenHeight - dxGetFontHeight(0.7, 'bankgothic')/2, 100, 100, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left') 
if (g_MapInfo) then 
dxDrawColorText ('##ff9900Map: #c0c0c0' .. g_MapInfo.name, 2, screenHeight - dxGetFontHeight(1.4, 'bankgothic')/2, 100, 100, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left') 
else 
dxDrawColorText ('##ff99000Map: #c0c0c0 Random.', 2+1, screenHeight - dxGetFontHeight(1.4, 'bankgothic')/2+1, 100+1, 100+1, tocolor ( 255, 255, 255, 255 ), 0.6, 'bankgothic', 0.4, 'left') 
end 
dxDrawColorText ('##ff9900Spectators: (#c0c0c0' .. #Spectators .. '#ff9900)', 2, screenHeight - dxGetFontHeight(2.1, 'bankgothic')/2+1, 100+1, 100+1, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left') 
end 
addEventHandler ( "onClientRender", getRootElement(), hudSet ) 
addEventHandler('onClientResourceStart', g_ResRoot, 
  

Link to comment
-----------------Spectators 
local player = getLocalPlayer()
local root = getRootElement ()
local Spectators = {}
setElementData ( player, "Spectator", "" )
local scrX, scrY = guiGetScreenSize()
------------------
function start ()
    setTimer ( checkTarget, 1000, 0 )
end
addEventHandler ( "onClientResourceStart", getResourceRootElement(), start )
------------------
function checkTarget ( )
local target = getCameraTarget ()
local car = getPedOccupiedVehicle ( player )
    if not ( car ) then
        car = "noCar"
    end
    if ( target ) then
        setElementData ( player, "Spectator", target )
    else
        setElementData ( player, "Spectator", "" )
    end
    Spectators = {}
    for i,v in ipairs( getElementsByType ( "player" ) ) do
        if ( v ~= player ) then
            local vTarget = getElementData ( v, "Spectator" )
            if ( vTarget == car ) then
                table.insert(Spectators,v)
            end
        end
    end
end
------------------
 
function dxDrawColorText(str, ax, ay, bx, by, color, scale, font)
  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)), 255) 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)), 255)
    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)
  end
end
 
function math.round(number, decimals, method)
    decimals = decimals or 0
    local factor = 10 ^ decimals
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor
    else return tonumber(("%."..decimals.."f"):format(number)) end
end
---------------------------
g_Root = getRootElement()
g_ResRoot = getResourceRootElement(getThisResource())
g_Me = getLocalPlayer()
g_ArmedVehicleIDs = table.create({ 425, 447, 520, 430, 464, 432 }, true)
g_WaterCraftIDs = table.create({ 539, 460, 417, 447, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 }, true)
g_ModelForPickupType = { nitro = 2221, repair = 2222, vehiclechange = 2223 }
g_HunterID = 425
g_NextMap = "Random"
g_Checkpoints = {}
g_Pickups = {}
g_VisiblePickups = {}
g_Objects = {}
function setNextMap ( mapname )
g_NextMap = mapname
end
addEvent ( "setNextMap", true )
addEventHandler ( "setNextMap", getRootElement(), setNextMap )
function math.round(number, decimals, method)
    decimals = decimals or 0
    local factor = 10 ^ decimals
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor
    else return tonumber(("%."..decimals.."f"):format(number)) end
end
 
function setNextNil ( dis )
g_NextMap = "Random"
end
addEvent ( "setNextNil", true )
addEventHandler ( "setNextNil", getRootElement(), setNextNil )
function hudSet ()
local screenWidth, screenHeight = guiGetScreenSize()
dxDrawColorText ('##ff9900Next Map: #ECECEC' .. g_NextMap, 2, screenHeight - dxGetFontHeight(0.7, 'bankgothic')/2, 100, 100, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left')
if (g_MapInfo) then
dxDrawColorText ('##ff9900Map: #c0c0c0' .. g_MapInfo.name, 2, screenHeight - dxGetFontHeight(1.4, 'bankgothic')/2, 100, 100, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left')
else
dxDrawColorText ('##ff99000Map: #c0c0c0 Random.', 2+1, screenHeight - dxGetFontHeight(1.4, 'bankgothic')/2+1, 100+1, 100+1, tocolor ( 255, 255, 255, 255 ), 0.6, 'bankgothic', 0.4, 'left')
end
dxDrawColorText ('##ff9900Spectators: (#c0c0c0' .. #Spectators .. '#ff9900)', 2, screenHeight - dxGetFontHeight(2.1, 'bankgothic')/2+1, 100+1, 100+1, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left')
end
addEventHandler ( "onClientRender", getRootElement(), hudSet )
addEventHandler('onClientResourceStart', g_ResRoot,
    function()
        g_Players = getElementsByType('player')
 
        fadeCamera(false,0.0)
        -- create GUI
        local screenWidth, screenHeight = guiGetScreenSize()
        g_dxGUI = {
            ranknum = dxText:create('1', screenWidth - 230, screenHeight - 95, false, 'bankgothic', 2, 'right'), --orig 3
            ranksuffix = dxText:create('#ff9900', screenWidth - 135, screenHeight - 86, false, 'bankgothic', 1), --orig 0.8
            checkpoint = dxText:create('0/0', screenWidth - 40, screenHeight - 30, false, 'bankgothic', 0.7, 'right'), --orig 1.3
            --mapdisplay = dxText:create('Map: none', 2, screenHeight - dxGetFontHeight( 0.8, 'bankgothic')/2, false, 'bankgothic', 0.7, 'left')
        }
        g_dxGUI.ranknum:color(255, 153, 0, 255)
        g_dxGUI.ranksuffix:color(236, 236, 236, 255)
        g_dxGUI.checkpoint:color(255, 153, 0, 255)
        --g_dxGUI.mapdisplay:color(255, 128, 0, 255)
        --g_dxGUI.mapdisplayName:color(255,255,255,255)
        --g_dxGUI.nextdisplay:color(255, 128, 0, 255)
        --g_dxGUI.nextdisplayName:color(255, 255, 255, 255)
        g_dxGUI.ranknum:type('stroke', 1.3, 0, 0, 0, 255)
        g_dxGUI.ranksuffix:type('stroke', 1.3, 0, 0, 0, 255)
        g_dxGUI.checkpoint:type('stroke', 1.3, 0, 0, 0, 255)
        g_GUI = {
            timeleftbg = guiCreateStaticImage(screenWidth/2-65, 0, 165, 50, 'img/timeleft.png', false, nil),
            timeleft = guiCreateLabel(screenWidth/2-70, 21, 100, 30, '', false),
            timepassed = guiCreateLabel(screenWidth/2+38, 21, 100, 30, '', false),
            healthbar = FancyProgress.create(250, 1000, 'img/progress_health_bg.png', -75, 100, 170, 30, 'img/progress_health.png', 55, 8, 108, 16),
            speedbar = FancyProgress.create(0, 1.5, 'img/progress_speed_bg.png', -60, 120, 123, 30, 'img/progress_speed.png', 8, 8, 108, 15),
        }
        guiSetFont(g_GUI.timeleft, 'default-bold-small')
        guiSetFont(g_GUI.timepassed, 'default-bold-small')
        guiLabelSetHorizontalAlign(g_GUI.timeleft, 'center')
        g_GUI.speedbar:setProgress(0)
       
        hideGUIComponents('timeleftbg', 'timeleft', 'healthbar', 'speedbar', 'ranknum', 'ranksuffix', 'checkpoint', 'timepassed')
        RankingBoard.precreateLabels(10)
       
        -- set update handlers
        g_PickupStartTick = getTickCount()
        addEventHandler('onClientRender', g_Root, updateBars)
        g_WaterCheckTimer = setTimer(checkWater, 1000, 0)
       
        -- load pickup models and textures
        for name,id in pairs(g_ModelForPickupType) do
            engineImportTXD(engineLoadTXD('model/' .. name .. '.txd'), id)
            engineReplaceModel(engineLoadDFF('model/' .. name .. '.dff', id), id)
            -- Double draw distance for pickups
            engineSetModelLODDistance( id, 60 )
        end
 
        if isVersion101Compatible() then
            -- Dont clip vehicles (1.0.1 function)
            setCameraClip ( true, false )
        end
 
        -- Init presentation screens
        TravelScreen.init()
        TitleScreen.init()
 
        -- Show title screen now
        TitleScreen.show()
 
        setPedCanBeKnockedOffBike(g_Me, false)
    end
)
 
 
-------------------------------------------------------
-- Title screen - Shown when player first joins the game
-------------------------------------------------------
TitleScreen = {}
TitleScreen.startTime = 0
 
function TitleScreen.init()
    local screenWidth, screenHeight = guiGetScreenSize()
    local adjustY = math.clamp( -30, -15 + (-30- -15) * (screenHeight - 480)/(900 - 480), -15 );
    g_GUI['titleImage'] = guiCreateStaticImage(screenWidth/2-256, screenHeight/2-256+adjustY, 512, 512, 'img/title.png', false)
    g_dxGUI['titleText1'] = dxText:create('', 50, screenHeight-100, false, 'bankgothic', 0.6, 'center' )
    g_dxGUI['titleText2'] = dxText:create('', 100, screenHeight-117, false, 'bankgothic', 0.6, 'center' )
    g_dxGUI['titleText1']:text( '                      Scprit:\n' )
 
 
 
    g_dxGUI['titleText2']:text( '' ..
                                '\n                                                                         Thyphonbilisim.net\n'
                                )
    hideGUIComponents('titleImage','titleText1','titleText2')
end
 
function TitleScreen.show()
    showGUIComponents('titleImage','titleText1','titleText2')
    guiMoveToBack(g_GUI['titleImage'])
    TitleScreen.startTime = getTickCount()
    TitleScreen.bringForward = 0
    addEventHandler('onClientRender', g_Root, TitleScreen.update)
end
 
function TitleScreen.update()
    local secondsLeft = TitleScreen.getTicksRemaining() / 1000
    local alpha = math.min(1,math.max( secondsLeft ,0))
    guiSetAlpha(g_GUI['titleImage'], alpha)
    g_dxGUI['titleText1']:color(255,153,0,255*alpha)
    g_dxGUI['titleText2']:color(236,236,236,255*alpha)
    if alpha == 0 then
        hideGUIComponents('titleImage','titleText1','titleText2')
        removeEventHandler('onClientRender', g_Root, TitleScreen.update)
    end
end
 
function TitleScreen.getTicksRemaining()
    return math.max( 0, TitleScreen.startTime - TitleScreen.bringForward + 10000 - getTickCount() )
end
 
-- Start the fadeout as soon as possible
function TitleScreen.bringForwardFadeout(maxSkip)
    local ticksLeft = TitleScreen.getTicksRemaining()
    local bringForward = ticksLeft - 1000
    outputDebug( 'MISC', 'bringForward ' .. bringForward )
    if bringForward > 0 then
        TitleScreen.bringForward = math.min(TitleScreen.bringForward + bringForward,maxSkip)
        outputDebug( 'MISC', 'TitleScreen.bringForward ' .. TitleScreen.bringForward )
    end
end
-------------------------------------------------------
 
 
-------------------------------------------------------
-- Travel screen - Message for client feedback when loading maps
-------------------------------------------------------
TravelScreen = {}
TravelScreen.startTime = 0
 
function TravelScreen.init()
    local screenWidth, screenHeight = guiGetScreenSize()
    g_GUI['travelImage']   = guiCreateStaticImage(screenWidth/2-256, screenHeight/2-20, 512, 256, 'img/travelling.png', false, nil)
    g_dxGUI['travelText1'] = dxText:create('#ff9900MAP:#ffffff', screenWidth/2, screenHeight/2-130, false, 'bankgothic', 0.60, 'center' )
    g_dxGUI['travelText2'] = dxText:create('', screenWidth/2, screenHeight/2-100, false, 'bankgothic', 0.70, 'center' )
    g_dxGUI['travelText3'] = dxText:create('', screenWidth/2, screenHeight/2-40, false, 'bankgothic', 0.70, 'center' )
    g_dxGUI['travelText1']:color(255, 153, 0)
    g_dxGUI['travelText3']:color(255, 153, 0)
    hideGUIComponents('travelImage', 'travelText1', 'travelText2')
end
 
function TravelScreen.show( mapName, authorName )
    TravelScreen.startTime = getTickCount()
    g_dxGUI['travelText2']:text(" "..mapName)
    g_dxGUI
Link to comment
-----------------Spectators 
local player = getLocalPlayer()
local root = getRootElement ()
local Spectators = {}
setElementData ( player, "Spectator", "" )
local scrX, scrY = guiGetScreenSize()
------------------
function start ()
    setTimer ( checkTarget, 1000, 0 )
end
addEventHandler ( "onClientResourceStart", getResourceRootElement(), start )
------------------
function checkTarget ( )
local target = getCameraTarget ()
local car = getPedOccupiedVehicle ( player )
    if not ( car ) then
        car = "noCar"
    end
    if ( target ) then
        setElementData ( player, "Spectator", target )
    else
        setElementData ( player, "Spectator", "" )
    end
    Spectators = {}
    for i,v in ipairs( getElementsByType ( "player" ) ) do
        if ( v ~= player ) then
            local vTarget = getElementData ( v, "Spectator" )
            if ( vTarget == car ) then
                table.insert(Spectators,v)
            end
        end
    end
end
------------------
 
function dxDrawColorText(str, ax, ay, bx, by, color, scale, font)
  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)), 255) 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)), 255)
    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)
  end
end
 
function math.round(number, decimals, method)
    decimals = decimals or 0
    local factor = 10 ^ decimals
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor
    else return tonumber(("%."..decimals.."f"):format(number)) end
end
---------------------------
g_Root = getRootElement()
g_ResRoot = getResourceRootElement(getThisResource())
g_Me = getLocalPlayer()
g_ArmedVehicleIDs = table.create({ 425, 447, 520, 430, 464, 432 }, true)
g_WaterCraftIDs = table.create({ 539, 460, 417, 447, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 }, true)
g_ModelForPickupType = { nitro = 2221, repair = 2222, vehiclechange = 2223 }
g_HunterID = 425
g_NextMap = "Random"
g_Checkpoints = {}
g_Pickups = {}
g_VisiblePickups = {}
g_Objects = {}
function setNextMap ( mapname )
g_NextMap = mapname
end
addEvent ( "setNextMap", true )
addEventHandler ( "setNextMap", getRootElement(), setNextMap )
function math.round(number, decimals, method)
    decimals = decimals or 0
    local factor = 10 ^ decimals
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor
    else return tonumber(("%."..decimals.."f"):format(number)) end
end
 
function setNextNil ( dis )
g_NextMap = "Random"
end
addEvent ( "setNextNil", true )
addEventHandler ( "setNextNil", getRootElement(), setNextNil )
function hudSet ()
local screenWidth, screenHeight = guiGetScreenSize()
dxDrawColorText ('##ff9900Next Map: #ECECEC' .. g_NextMap, 2, screenHeight - dxGetFontHeight(0.7, 'bankgothic')/2, 100, 100, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left')
if (g_MapInfo) then
dxDrawColorText ('##ff9900Map: #c0c0c0' .. g_MapInfo.name, 2, screenHeight - dxGetFontHeight(1.4, 'bankgothic')/2, 100, 100, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left')
else
dxDrawColorText ('##ff99000Map: #c0c0c0 Random.', 2+1, screenHeight - dxGetFontHeight(1.4, 'bankgothic')/2+1, 100+1, 100+1, tocolor ( 255, 255, 255, 255 ), 0.6, 'bankgothic', 0.4, 'left')
end
dxDrawColorText ('##ff9900Spectators: (#c0c0c0' .. #Spectators .. '#ff9900)', 2, screenHeight - dxGetFontHeight(2.1, 'bankgothic')/2+1, 100+1, 100+1, tocolor ( 255, 255, 255, 255 ), 0.4, 'bankgothic', 0.4, 'left')
end
addEventHandler ( "onClientRender", getRootElement(), hudSet )
addEventHandler('onClientResourceStart', g_ResRoot,
    function()
        g_Players = getElementsByType('player')
 
        fadeCamera(false,0.0)
        -- create GUI
        local screenWidth, screenHeight = guiGetScreenSize()
        g_dxGUI = {
            ranknum = dxText:create('1', screenWidth - 230, screenHeight - 95, false, 'bankgothic', 2, 'right'), --orig 3
            ranksuffix = dxText:create('#ff9900', screenWidth - 135, screenHeight - 86, false, 'bankgothic', 1), --orig 0.8
            checkpoint = dxText:create('0/0', screenWidth - 40, screenHeight - 30, false, 'bankgothic', 0.7, 'right'), --orig 1.3
            --mapdisplay = dxText:create('Map: none', 2, screenHeight - dxGetFontHeight( 0.8, 'bankgothic')/2, false, 'bankgothic', 0.7, 'left')
        }
        g_dxGUI.ranknum:color(255, 153, 0, 255)
        g_dxGUI.ranksuffix:color(236, 236, 236, 255)
        g_dxGUI.checkpoint:color(255, 153, 0, 255)
        --g_dxGUI.mapdisplay:color(255, 128, 0, 255)
        --g_dxGUI.mapdisplayName:color(255,255,255,255)
        --g_dxGUI.nextdisplay:color(255, 128, 0, 255)
        --g_dxGUI.nextdisplayName:color(255, 255, 255, 255)
        g_dxGUI.ranknum:type('stroke', 1.3, 0, 0, 0, 255)
        g_dxGUI.ranksuffix:type('stroke', 1.3, 0, 0, 0, 255)
        g_dxGUI.checkpoint:type('stroke', 1.3, 0, 0, 0, 255)
        g_GUI = {
            timeleftbg = guiCreateStaticImage(screenWidth/2-65, 0, 165, 50, 'img/timeleft.png', false, nil),
            timeleft = guiCreateLabel(screenWidth/2-70, 21, 100, 30, '', false),
            timepassed = guiCreateLabel(screenWidth/2+38, 21, 100, 30, '', false),
            healthbar = FancyProgress.create(250, 1000, 'img/progress_health_bg.png', -75, 100, 170, 30, 'img/progress_health.png', 55, 8, 108, 16),
            speedbar = FancyProgress.create(0, 1.5, 'img/progress_speed_bg.png', -60, 120, 123, 30, 'img/progress_speed.png', 8, 8, 108, 15),
        }
        guiSetFont(g_GUI.timeleft, 'default-bold-small')
        guiSetFont(g_GUI.timepassed, 'default-bold-small')
        guiLabelSetHorizontalAlign(g_GUI.timeleft, 'center')
        g_GUI.speedbar:setProgress(0)
       
        hideGUIComponents('timeleftbg', 'timeleft', 'healthbar', 'speedbar', 'ranknum', 'ranksuffix', 'checkpoint', 'timepassed')
        RankingBoard.precreateLabels(10)
       
        -- set update handlers
        g_PickupStartTick = getTickCount()
        addEventHandler('onClientRender', g_Root, updateBars)
        g_WaterCheckTimer = setTimer(checkWater, 1000, 0)
       
        -- load pickup models and textures
        for name,id in pairs(g_ModelForPickupType) do
            engineImportTXD(engineLoadTXD('model/' .. name .. '.txd'), id)
            engineReplaceModel(engineLoadDFF('model/' .. name .. '.dff', id), id)
            -- Double draw distance for pickups
            engineSetModelLODDistance( id, 60 )
        end
 
        if isVersion101Compatible() then
            -- Dont clip vehicles (1.0.1 function)
            setCameraClip ( true, false )
        end
 
        -- Init presentation screens
        TravelScreen.init()
        TitleScreen.init()
 
        -- Show title screen now
        TitleScreen.show()
 
        setPedCanBeKnockedOffBike(g_Me, false)
    end
)
 
 
-------------------------------------------------------
-- Title screen - Shown when player first joins the game
-------------------------------------------------------
TitleScreen = {}
TitleScreen.startTime = 0
 
function TitleScreen.init()
    local screenWidth, screenHeight = guiGetScreenSize()
    local adjustY = math.clamp( -30, -15 + (-30- -15) * (screenHeight - 480)/(900 - 480), -15 );
    g_GUI['titleImage'] = guiCreateStaticImage(screenWidth/2-256, screenHeight/2-256+adjustY, 512, 512, 'img/title.png', false)
    g_dxGUI['titleText1'] = dxText:create('', 50, screenHeight-100, false, 'bankgothic', 0.6, 'center' )
    g_dxGUI['titleText2'] = dxText:create('', 100, screenHeight-117, false, 'bankgothic', 0.6, 'center' )
    g_dxGUI['titleText1']:text( '                      Scprit:\n' )
 
 
 
    g_dxGUI['titleText2']:text( '' ..
                                '\n                                                                         Thyphonbilisim.net\n'
                                )
    hideGUIComponents('titleImage','titleText1','titleText2')
end
 
function TitleScreen.show()
    showGUIComponents('titleImage','titleText1','titleText2')
    guiMoveToBack(g_GUI['titleImage'])
    TitleScreen.startTime = getTickCount()
    TitleScreen.bringForward = 0
    addEventHandler('onClientRender', g_Root, TitleScreen.update)
end
 
function TitleScreen.update()
    local secondsLeft = TitleScreen.getTicksRemaining() / 1000
    local alpha = math.min(1,math.max( secondsLeft ,0))
    guiSetAlpha(g_GUI['titleImage'], alpha)
    g_dxGUI['titleText1']:color(255,153,0,255*alpha)
    g_dxGUI['titleText2']:color(236,236,236,255*alpha)
    if alpha == 0 then
        hideGUIComponents('titleImage','titleText1','titleText2')
        removeEventHandler('onClientRender', g_Root, TitleScreen.update)
    end
end
 
function TitleScreen.getTicksRemaining()
    return math.max( 0, TitleScreen.startTime - TitleScreen.bringForward + 10000 - getTickCount() )
end
 
-- Start the fadeout as soon as possible
function TitleScreen.bringForwardFadeout(maxSkip)
    local ticksLeft = TitleScreen.getTicksRemaining()
    local bringForward = ticksLeft - 1000
    outputDebug( 'MISC', 'bringForward ' .. bringForward )
    if bringForward > 0 then
        TitleScreen.bringForward = math.min(TitleScreen.bringForward + bringForward,maxSkip)
        outputDebug( 'MISC', 'TitleScreen.bringForward ' .. TitleScreen.bringForward )
    end
end
-------------------------------------------------------
 
 
-------------------------------------------------------
-- Travel screen - Message for client feedback when loading maps
-------------------------------------------------------
TravelScreen = {}
TravelScreen.startTime = 0
 
function TravelScreen.init()
    local screenWidth, screenHeight = guiGetScreenSize()
    g_GUI['travelImage']   = guiCreateStaticImage(screenWidth/2-256, screenHeight/2-20, 512, 256, 'img/travelling.png', false, nil)
    g_dxGUI['travelText1'] = dxText:create('#ff9900MAP:#ffffff', screenWidth/2, screenHeight/2-130, false, 'bankgothic', 0.60, 'center' )
    g_dxGUI['travelText2'] = dxText:create('', screenWidth/2, screenHeight/2-100, false, 'bankgothic', 0.70, 'center' )
    g_dxGUI['travelText3'] = dxText:create('', screenWidth/2, screenHeight/2-40, false, 'bankgothic', 0.70, 'center' )
    g_dxGUI['travelText1']:color(255, 153, 0)
    g_dxGUI['travelText3']:color(255, 153, 0)
    hideGUIComponents('travelImage', 'travelText1', 'travelText2')
end
 
function TravelScreen.show( mapName, authorName )
    TravelScreen.startTime = getTickCount()
    g_dxGUI['travelText2']:text(" "..mapName)
    g_dxGUI
Link to comment

That ?

function setNextMap ( mapname ) 
g_NextMap = mapname 
end 
addEvent ( "setNextMap", true ) 
addEventHandler ( "setNextMap", getRootElement(), setNextMap ) 
function math.round(number, decimals, method) 
    decimals = decimals or 0 
    local factor = 10 ^ decimals 
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor 
    else return tonumber(("%."..decimals.."f"):format(number)) 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...