Jump to content

Help me pls


#Whit3^

Recommended Posts

Can Someone help me with this?

Client:

  
  
local scaleCurve = { {0, 0.8}, {0.8, 1.2}, {99, 99} } 
  
local firstCar 
local secondCar 
local thirdCar 
  
local firstName 
local secondName 
local thirdName 
  
local camStart = nil 
local camX = 0 
local camY = 0 
local camZ = 0 
local tocamX = 0 
local tocamY = 0 
local tocamZ = 0 
  
function createPodium(podiumThird, podiumSecond, podiumFirst) 
  
    local carFirst = podiumFirst[1][2] 
    local carSecond = podiumSecond[1][2] 
    local carThird = podiumThird[1][2] 
  
    firstName = podiumFirst[1][1] 
    secondName = podiumSecond[1][1] 
    thirdName = podiumThird[1][1] 
  
    camX = 1271 
    camY = -845 
    camZ = 91 
  
    tocamX = 1291 
    tocamY = -841 
    tocamZ = 91 
  
    fadeCamera(true,2) 
    setCameraMatrix(camX, camY, camZ, 1281.5999755859, -830, 82.900001525879) 
    setTime(0, 0) 
  
    firstCar = createVehicle ( carFirst, 1281.5999755859, -830, 82.900001525879, 0, 0, 180 ) 
    secondCar = createVehicle ( carSecond, 1275.1999511719, -828.59997558594, 82.900001525879, 0, 0, 180 ) 
    thirdCar = createVehicle ( carThird, 1288.1999511719, -828.59997558594, 82.900001525879, 0, 0, 180 ) 
    setVehicleColor( firstCar, 255, 255, 0 ) 
    setVehicleColor( secondCar, 0, 255, 0 ) 
    setVehicleColor( thirdCar, 255, 0, 0 ) 
  
    camStart = getTickCount() 
  
    addEventHandler ( "onClientRender", root, dxCreatePodium ) 
    addEventHandler ( "onClientRender", root, cameraMovement ) 
  
    setTimer ( 
        function ( ) 
        destroyPodium() 
        end 
        ,4000,1) 
    setTimer ( 
        function ( ) 
        destroyDraws() 
        end 
        ,4500,1) 
end 
addEvent( "onWins", true ) 
addEventHandler( "onWins", getRootElement(), createPodium ) 
  
function cameraMovement() 
    local now = getTickCount() 
    local endTime = camStart + 5000 
    local elapsedTime = now - camStart 
    local duration = endTime - camStart 
    local progress = elapsedTime / duration 
    local x, y, z = interpolateBetween ( camX, camY, camZ, tocamX, tocamY, tocamZ, progress, "OutBack") 
  
    setCameraMatrix(x, y, z, 1281.5999755859, -830, 82.900001525879) 
end 
  
function dxCreatePodium () 
----------------WINNER 
        local x,y,z = getElementPosition(firstCar) 
        z = z + 2 
        local distance = getDistanceBetweenPoints3D( x, y, z, 1271, -845, 91) 
        local sx, sy = getScreenFromWorldPosition(x,y,z) 
        if sx then 
            local scale = 1/(0.3 * (distance / 120)) 
            local w = dxGetTextWidth(firstName, 0.5 * 2 * 0.3, "default-bold") 
            dxDrawText( firstName, sx - w, sy - scale, sx - w, sy, tocolor(255,255,255,255), 2, "default-bold", "left", "bottom", false, false, false, true ) 
        end 
----------------SECOND 
        local x,y,z = getElementPosition(secondCar) 
        z = z + 2 
        local distance = getDistanceBetweenPoints3D( x, y, z, 1271, -845, 91) 
        local sx, sy = getScreenFromWorldPosition(x,y,z) 
        if sx then 
            local scale = 1/(0.3 * (distance / 120)) 
            local w = dxGetTextWidth(secondName, 0.5 * 2 * 0.3, "default-bold") 
            dxDrawText( secondName, sx - w, sy - scale, sx - w, sy, tocolor(255,255,255,255), 2, "default-bold", "left", "bottom", false, false, false, true ) 
        end 
----------------THIRD 
        local x,y,z = getElementPosition(thirdCar) 
        z = z + 2 
        local distance = getDistanceBetweenPoints3D( x, y, z, 1271, -845, 91) 
        local sx, sy = getScreenFromWorldPosition(x,y,z) 
        if sx then 
            local scale = 1/(0.3 * (distance / 120)) 
            local w = dxGetTextWidth(thirdName, 0.5 * 2 * 0.3, "default-bold") 
            dxDrawText( thirdName, sx - w, sy - scale, sx - w, sy, tocolor(255,255,255,255), 2, "default-bold", "left", "bottom", false, false, false, true ) 
        end 
end 
  
  
  
function destroyDraws() 
    removeEventHandler ( "onClientRender", root, dxCreatePodium ) 
    removeEventHandler ( "onClientRender", root, cameraMovement ) 
end 
function destroyPodium() 
    destroyElement(firstCar) 
    destroyElement(secondCar) 
    destroyElement(thirdCar) 
end 
  

Destruction Derby:

DestructionDerby = setmetatable({}, RaceMode) 
DestructionDerby.__index = DestructionDerby 
  
DestructionDerby:register('Destruction derby') 
  
function DestructionDerby:isApplicable() 
    return not RaceMode.checkpointsExist() and RaceMode.getMapOption('respawn') == 'none' 
end 
  
function DestructionDerby:getPlayerRank(player) 
    return #getActivePlayers() 
end 
  
-- Copy of old updateRank 
function DestructionDerby:updateRanks() 
    for i,player in ipairs(g_Players) do 
        if not isPlayerFinished(player) then 
            local rank = self:getPlayerRank(player) 
            if not rank or rank > 0 then 
                setElementData(player, 'race rank', rank) 
            end 
        end 
    end 
    -- Make text look good at the start 
    if not self.running then 
        for i,player in ipairs(g_Players) do 
            setElementData(player, 'race rank', '' ) 
            setElementData(player, 'checkpoint', '' ) 
        end 
    end 
end 
  
function DestructionDerby:onPlayerWasted(player) 
    if isActivePlayer(player) then 
        self:handleFinishActivePlayer(player) 
        if getActivePlayerCount() <= 0 then 
            RaceMode.endMap() 
                     
        else 
            TimerManager.createTimerFor("map",player):setTimer(clientCall, 3000, 1, player, 'Spectate.start', 'auto') 
        end 
    end 
    RaceMode.setPlayerIsFinished(player) 
    showBlipsAttachedTo(player, false) 
end 
  
function DestructionDerby:onPlayerQuit(player) 
    if isActivePlayer(player) then 
        self:handleFinishActivePlayer(player) 
        if getActivePlayerCount() <= 0 then 
            RaceMode.endMap() 
        end 
    end 
end 
  
function DestructionDerby:handleFinishActivePlayer(player) 
    -- Update ranking board for player being removed 
    if not self.rankingBoard then 
        self.rankingBoard = RankingBoard:create() 
        self.rankingBoard:setDirection( 'up', getActivePlayerCount() ) 
    end 
    local timePassed = self:getTimePassed() 
    self.rankingBoard:add(player, timePassed) 
    -- Do remove 
    finishActivePlayer(player) 
    -- Update ranking board if one player left 
    local activePlayers = getActivePlayers() 
    if #activePlayers == 1 then 
        self.rankingBoard:add(activePlayers[1], timePassed) 
                triggerClientEvent ( "onWins", getRootElement(), activePlayers[1]  ) 
  
    end 
end 
  
  
  
------------------------------------------------------------ 
-- activePlayerList stuff 
-- 
  
function isActivePlayer( player ) 
    return table.find( g_CurrentRaceMode.activePlayerList, player ) 
end 
  
function addActivePlayer( player ) 
    table.insertUnique( g_CurrentRaceMode.activePlayerList, player ) 
end 
  
function removeActivePlayer( player ) 
    table.removevalue( g_CurrentRaceMode.activePlayerList, player ) 
end 
  
function finishActivePlayer( player ) 
    table.removevalue( g_CurrentRaceMode.activePlayerList, player ) 
    table.insertUnique( g_CurrentRaceMode.finishedPlayerList, _getPlayerName(player) ) 
end 
  
function getFinishedPlayerCount() 
    return #g_CurrentRaceMode.finishedPlayerList 
end 
  
function getActivePlayerCount() 
    return #g_CurrentRaceMode.activePlayerList 
end 
  
function getActivePlayers() 
    return g_CurrentRaceMode.activePlayerList 
end 
  
  
  
  
  

Error:

race/modes/Client.lua :25: Attempt To Index Local 'podiumFirst' (a nil value)

How To FIx iT?

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