Jump to content

[meta.xml] I got a problem with gamemode


Kaos

Recommended Posts

Hello,i'm close enough to finish my DM Race server,but i got a problem with my gamemode,so,the gm got a healthbar in right corner down,and there i got a speedometer,and the radar got a healthbar around him too,so i do not really need that healthbar,and i decided to get rid of it,and i opened the meta.xml file delete it from there and from the img folder where the image was,and i start my server,and gamemode does not start,and i was wtf i did wrong? Can you help me?

Here is the image with Healthbar(i guess you need to open image in new tab to view it full)

2v0l3f7.png

Here is with meta.xml(this is what i delete from meta.xml)

    "img/progress_health_bg.png"/> 
    "img/progress_health.png"/> 
    "img/progress_speed_bg.png"/> 
    "img/progress_speed.png"/> 

Link to comment
Post the client side script.

Here it is. race_client.lua

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_Checkpoints = {}
g_Pickups = {}
g_VisiblePickups = {}
g_Objects = {}
 
sX,sY = guiGetScreenSize()
 
raceInterface = {
    font = false,
    fontScale = 0,
    mapname = "",
    nextmap = false,
    fps = 0,
    spectators = 0,
    alpha = 0,
    tick = 0,
    state = false,
    positionX = sX,
    colors = {0,176,255},
    timeleft = "0:00:00",
    timepassed = "0:00:00",
    mapInfo = {
        tick = 0,
        state = true,
        positionX = sX,
        timer = false,
    }
}
 
 
function findFontToHeight(font,sizeY)
    local fontScale = 0
    local fontSize
    repeat
        fontScale = fontScale+0.1
        fontSize = dxGetFontHeight(fontScale,font)
    until fontSize >= sizeY
    return fontScale
end
 
function getRaceSettings()
    return raceInterface.font,raceInterface.fontScale,raceInterface.colors
end
 
 
function renderRaceInterface()
    if getElementData(localPlayer,"loginState") then return end
    local tick = getTickCount() - raceInterface.tick
    local progress = math.min(tick/1000,1)
    if raceInterface.state then
        raceInterface.positionX,raceInterface.alpha = interpolateBetween(raceInterface.positionX,raceInterface.alpha,0,sX*0.85,255,0,progress,"Linear")
    else
        raceInterface.positionX,raceInterface.alpha = interpolateBetween(raceInterface.positionX,raceInterface.alpha,0,sX,0,0,progress,"Linear")
    end
    setElementData(root,"raceAlpha",raceInterface.alpha,false)
    if raceInterface.state or (progress < 1) then
        local alpha = raceInterface.alpha/255
        dxDrawRectangle(raceInterface.positionX,0,sX*0.15,sY*0.08,tocolor(0,0,0,150*alpha))
        dxDrawRectangle(raceInterface.positionX,0,sX*0.15,sY*0.037,tocolor(0,0,0,50*alpha))
        dxDrawRectangle(raceInterface.positionX,0,sX*0.15,sY*0.035,tocolor(0,0,0,200*alpha))
        local red,green,blue = unpack(raceInterface.colors)
        dxDrawText("Time left",raceInterface.positionX,0,raceInterface.positionX+sX*0.075,sY*0.035,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.1,raceInterface.font,"center","Center",true,false,false)
        dxDrawText("Time passed",raceInterface.positionX+sX*0.075,0,raceInterface.positionX+sX*0.15,sY*0.035,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.1,raceInterface.font,"center","Center",true,false,false)
       
        dxDrawText(raceInterface.timeleft,raceInterface.positionX,sY*0.035,raceInterface.positionX+sX*0.075,sY*0.08,tocolor(255,255,255,255*alpha),raceInterface.fontScale*0.125,raceInterface.font,"center","Center",true,false,false)
        dxDrawText(raceInterface.timepassed,raceInterface.positionX+sX*0.075,sY*0.035,raceInterface.positionX+sX*0.15,sY*0.08,tocolor(255,255,255,255*alpha),raceInterface.fontScale*0.125,raceInterface.font,"center","Center",true,false,false)
       
        -- Map design
        dxDrawText("Map: "..raceInterface.mapname,sX*0.006,sY*0.97,sX,sY*0.99+sX*0.001,tocolor(0,0,0,255*alpha),raceInterface.fontScale*0.12,raceInterface.font,"left","Center",true,false,false,true)
        dxDrawText("Map: #ffffff"..raceInterface.mapname,sX*0.005,sY*0.97,sX,sY*0.99,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.12,raceInterface.font,"left","Center",true,false,false,true)
        if raceInterface.nextmap then
            dxDrawText("Nextmap: "..raceInterface.nextmap,sX*0.006,sY*0.951,sX,sY*0.97+sX*0.001,tocolor(0,0,0,255*alpha),raceInterface.fontScale*0.12,raceInterface.font,"left","Center",true,false,false,true)
            dxDrawText("Nextmap: #ffffff"..raceInterface.nextmap,sX*0.005,sY*0.95,sX,sY*0.97,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.12,raceInterface.font,"left","Center",true,false,false,true)
        end
       
        -- Health bar
        local healthPercente = 0
        if g_Vehicle then
            healthPercente = math.max((getElementHealth(g_Vehicle)-250),0)/750
        end
        dxDrawRectangle(raceInterface.positionX,sY*0.93,sX*0.15,sY*0.04,tocolor(0,0,0,100*alpha))
        dxDrawRectangle(raceInterface.positionX,sY*0.93,sY*0.04,sY*0.04,tocolor(0,0,0,200*alpha))
        dxDrawImage(raceInterface.positionX+sY*0.005,sY*0.935,sY*0.03,sY*0.03,"img/heart.png",0,0,0,tocolor(255,255,255,255*alpha))
        dxDrawRectangle(raceInterface.positionX+sY*0.05,sY*0.94,(sX*0.15-sY*0.06),sY*0.02,tocolor(0,0,0,50*alpha))
        dxDrawRectangle(raceInterface.positionX+sY*0.05,sY*0.94,(sX*0.15-sY*0.06)*healthPercente,sY*0.02,tocolor(50,200,0,255*alpha))
    end
end
 
function updateLoginInterface()
    raceInterface.tick = getTickCount()
    raceInterface.alpha = 0
end
addEvent("onLoginPanelStopRenderInterface",true)
addEventHandler("onLoginPanelStopRenderInterface",getRootElement(),updateLoginInterface)
 
function setRaceInterfaceState(state)
    raceInterface.state = state
    raceInterface.tick = getTickCount()
end
 
 
function updateNextmapLabel(theLabel)
    if theLabel then
        raceInterface.nextmap = theLabel or "?"
    end
end
addEvent("onServerWantUpdateNextmapLabel",true)
addEventHandler("onServerWantUpdateNextmapLabel",getRootElement(),updateNextmapLabel)
 
function renderMapinfoInterface()
    if getElementData(localPlayer,"loginState") then return end
    local tick = getTickCount() - raceInterface.mapInfo.tick
    local progress = math.min(tick/500,1)
    if raceInterface.mapInfo.state then
        raceInterface.mapInfo.positionX = interpolateBetween(raceInterface.mapInfo.positionX,0,0,sX*0.75,0,0,progress,"Linear")
    else
        raceInterface.mapInfo.positionX = interpolateBetween(raceInterface.mapInfo.positionX,0,0,sX,0,0,progress,"Linear")
        if progress == 1 then return end
    end
    local posX = raceInterface.mapInfo.positionX
    if g_MapInfo then
        local alpha = raceInterface.alpha/255
        local red,green,blue = unpack(raceInterface.colors)
        local posY = sY*0.7
        dxDrawRectangle(posX,posY,sX*0.25,sY*0.16,tocolor(0,0,0,100*alpha))
        dxDrawRectangle(posX,posY,sX*0.027,sY*0.16,tocolor(0,0,0,150*alpha))
        dxDrawRectangle(posX,posY,sX*0.025,sY*0.16,tocolor(0,0,0,200*alpha))
        dxDrawImage(posX+sX*0.0025,sY*0.7,sX*0.02,sY*0.17,"img/mapinfo.png",0,0,0,tocolor(red,green,blue,255*alpha))
        local mapname = g_MapInfo.name or "Undefinied"
        local author = g_MapInfo.author or "No author"
        local lastTime = g_MapInfo.lastTimePlayedText or "Never played yet!"
        local playedCount = g_MapInfo.playedCount or 0
        local hunters = g_MapInfo.huntersReached or 0
        local toptimes = g_MapInfo.toptimesReached or 0
        local posX = posX+sX*0.035
        dxDrawText(mapname,posX,posY,posX+sX*0.2,posY+sY*0.03,tocolor(255,255,255,255*alpha),raceInterface.fontScale*0.08,raceInterface.font,"left","Center",false,false,false)
        local posY = posY+sY*0.03
        dxDrawText("Author #ffffff- "..author,posX,posY,posX+sX*0.25,posY+sY*0.025,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.1,raceInterface.font,"left","Center",true,false,false,true)
        local posY = posY+sY*0.025
        dxDrawText("Last time played #ffffff- "..lastTime,posX,posY,posX+sX*0.25,posY+sY*0.025,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.1,raceInterface.font,"left","Center",true,false,false,true)
        local posY = posY+sY*0.025
        dxDrawText("Played count #ffffff- "..playedCount,posX,posY,posX+sX*0.25,posY+sY*0.025,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.1,raceInterface.font,"left","Center",true,false,false,true)
        local posY = posY+sY*0.025
        dxDrawText("Hunters #ffffff- "..hunters,posX,posY,posX+sX*0.25,posY+sY*0.025,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.1,raceInterface.font,"left","Center",true,false,false,true)
        local posY = posY+sY*0.025
        dxDrawText("Toptimes #ffffff- "..toptimes,posX,posY,posX+sX*0.25,posY+sY*0.025,tocolor(red,green,blue,255*alpha),raceInterface.fontScale*0.1,raceInterface.font,"left","Center",true,false,false,true)
    end
end
 
function toggleMapInfo()
    if isTimer(raceInterface.mapInfo.timer) then
        killTimer(raceInterface.mapInfo.timer)
    end
    if raceInterface.mapInfo.state then
        closeInfo()
    else
        openInfo()
    end
end
bindKey("f6","up",toggleMapInfo)
 
function closeInfo()
    raceInterface.mapInfo.state = false
    raceInterface.mapInfo.tick = getTickCount()
end
 
function openInfo()
    raceInterface.mapInfo.state = true
    raceInterface.mapInfo.tick = getTickCount()
end
 
function openInfoByManager()
    openInfo()
    if isTimer(raceInterface.mapInfo.timer) then
        killTimer(raceInterface.mapInfo.timer)
    end
    raceInterface.mapInfo.timer = setTimer(closeInfo,7000,1)
end
 
local messageData = {
    tick = 0,
    title = false,
    detail = false,
}
 
function showCenterMessage(messageTitle,messageDetails)
    messageData.tick = getTickCount()
    messageData.title = messageTitle or false
    messageData.detail = messageDetails or false
    setRaceInterfaceState(false)
    removeEventHandler("onClientRender",getRootElement(),renderMessageDesign)
    addEventHandler("onClientRender",getRootElement(),renderMessageDesign)
end
addEvent("onServerWantShowCenterMessage",true)
addEventHandler("onServerWantShowCenterMessage",getRootElement(),showCenterMessage)
 
function renderMessageDesign()
    if messageData.detail then
        if getElementData(localPlayer,"loginState") then return end
        local tick = getTickCount() - messageData.tick
        local progress = math.min(tick/500,1)
        local alpha = 255*progress
        if messageData.title then
            dxDrawText(string.gsub(messageData.title,"#%x%x%x%x%x%x",""),sX*0.0015,sX*0.0015-sY*0.075,sX,sY,tocolor(0,0,0,alpha),raceInterface.fontScale*0.12*progress,raceInterface.font,"center","center",false,false,false,true)
            dxDrawText(messageData.title,0,-sY*0.075,sX,sY,tocolor(255,255,255,alpha),raceInterface.fontScale*0.12*progress,raceInterface.font,"center","center",false,false,false,true)
        end
        dxDrawText(string.gsub(messageData.detail,"#%x%x%x%x%x%x",""),sX*0.002,sX*0.002,sX,sY,tocolor(0,0,0,alpha),raceInterface.fontScale*0.25*progress,raceInterface.font,"center","center",false,false,false,true)
        dxDrawText(messageData.detail,0,0,sX,sY,tocolor(255,255,255,alpha),raceInterface.fontScale*0.25*progress,raceInterface.font,"center","center",false,false,false,true)
    end
end
 
function destroyCenterMessage()
    messageData = {
        tick = 0,
        title = false,
        detail = false,
    }
    removeEventHandler("onClientRender",getRootElement(),renderMessageDesign)
end
 
 
addEventHandler('onClientResourceStart', g_ResRoot,
    function()
        raceInterface.font = dxCreateFont('common/race_font.ttf',sY/35,true) or "default-bold"
        raceInterface.fontScale = findFontToHeight(raceInterface.font,sY*0.2)
        setElementData(root,"raceAlpha",0,false)
       
        g_Players = getElementsByType('player')
       
        fadeCamera(false,0.0)
        -- create GUI
        local screenWidth, screenHeight = guiGetScreenSize()
        g_dxGUI = {
            ranknum = dxText:create('1', screenWidth - 60, screenHeight - 95, false, 'bankgothic', 2, 'right'),
            ranksuffix = dxText:create('st', screenWidth - 40, screenHeight - 86, false, 'bankgothic', 1),
            checkpoint = dxText:create('0/0', screenWidth - 15, screenHeight - 54, false, 'bankgothic', 0.8, 'right'),
            timepassed = dxText:create('0:00:00', screenWidth - 10, screenHeight - 25, false, 'bankgothic', 0.7, 'right'),
            mapdisplay = dxText:create('Map: none', 2, screenHeight - dxGetFontHeight(0.7, 'bankgothic')/2, false, 'bankgothic', 0.7, 'left')
        }
        g_dxGUI.ranknum:type('stroke', 2, 0, 0, 0, 255)
        g_dxGUI.ranksuffix:
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...