MTA Race LT-Script freeze Fehler

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    ich habe ein Problem mit meinem MTA Script.
    Ich habe das LT Race Script.


    Es geht darum:
    Wenn nur noch ein Spieler lebt und gewinnt wird er gefreezt und kann nicht weiter fahren.
    Er kann dann nur noch Enter drücken damit die nächste Runde beginnt...


    Brauche Hilfe.
    LG

  • Hier einmal die Destructionderby.lua


    Spoiler anzeigen
    DestructionDerby = setmetatable({}, RaceMode)
    DestructionDerby.__index = DestructionDerby

    Spoiler anzeigen
    DestructionDerby:register('Destruction derby')

    Spoiler anzeigen
    function DestructionDerby:isApplicable()
    return not RaceMode.checkpointsExist() and RaceMode.getMapOption('respawn') == 'none'
    end

    Spoiler anzeigen
    function DestructionDerby:getPlayerRank(player)
    return #getActivePlayers()
    end

    Spoiler anzeigen
    -- 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

    Spoiler anzeigen
    function DestructionDerby:onPlayerWasted(player)
    if isActivePlayer(player) then
    self:handleFinishActivePlayer(player)
    if getActivePlayerCount() <= 0 then
    RaceMode.endMap()
    else
    TimerManager.createTimerFor("map",player):setTimer(clientCall, 2000, 1, player, 'Spectate.start', 'auto')
    end
    end
    RaceMode.setPlayerIsFinished(player)
    showBlipsAttachedTo(player, false)
    end

    Spoiler anzeigen
    function DestructionDerby:onPlayerQuit(player)
    if isActivePlayer(player) then
    self:handleFinishActivePlayer(player)
    if getActivePlayerCount() <= 0 then
    RaceMode.endMap()
    end
    end
    end

    Spoiler anzeigen
    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)
    showMessage(getPlayerName(activePlayers[1]) .. ' winner!', 30, 144, 255)
    end
    end

    Spoiler anzeigen
    ------------------------------------------------------------
    -- activePlayerList stuff
    --

    Spoiler anzeigen
    function isActivePlayer( player )
    return table.find( g_CurrentRaceMode.activePlayerList, player )
    end

    Spoiler anzeigen
    function addActivePlayer( player )
    table.insertUnique( g_CurrentRaceMode.activePlayerList, player )
    end

    Spoiler anzeigen
    function removeActivePlayer( player )
    table.removevalue( g_CurrentRaceMode.activePlayerList, player )
    end

    Spoiler anzeigen
    function finishActivePlayer( player )
    table.removevalue( g_CurrentRaceMode.activePlayerList, player )
    table.insertUnique( g_CurrentRaceMode.finishedPlayerList, _getPlayerName(player) )
    end

    Spoiler anzeigen
    function getFinishedPlayerCount()
    return #g_CurrentRaceMode.finishedPlayerList
    end

    Spoiler anzeigen
    function getActivePlayerCount()
    return #g_CurrentRaceMode.activePlayerList
    end

    Spoiler anzeigen
    function getActivePlayers()
    return g_CurrentRaceMode.activePlayerList
    end