papam77 Posted July 13, 2013 Share Posted July 13, 2013 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 getMapDM() then if getActivePlayerCount() <= 0 then triggerClientEvent ( "showWinMessage", getRootElement()) RaceMode.endMap() -- triggerEvent ( "activatePodium", getRootElement()) else TimerManager.createTimerFor("map",player):setTimer(clientCall, 2000, 1, player, 'Spectate.start', 'auto') end local activePlayers = getActivePlayers() if getActivePlayerCount() == 1 then if getElementModel(getPedOccupiedVehicle(activePlayers[1])) == 425 then setElementHealth(activePlayers[1],0) end end else if getActivePlayerCount() <= 1 then -- triggerClientEvent ( "showWinMessage", getRootElement()) RaceMode.endMap() else TimerManager.createTimerFor("map",player):setTimer(clientCall, 2000, 1, player, 'Spectate.start', 'auto') end end end RaceMode.setPlayerIsFinished(player) showBlipsAttachedTo(player, false) end function DestructionDerby:onPlayerQuit(player) if isActivePlayer(player) then self:handleFinishActivePlayer(player) if getMapDM() then if getActivePlayerCount() <= 0 then RaceMode.endMap() end else if getActivePlayerCount() <= 1 then RaceMode.endMap() end 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], "Winner") callClientFunction(getRootElement(),"setPlayerNameOnWinMessege", activePlayers[1]) triggerEvent("onPlayerDestructionDerbyWin", 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 function getMapDM() local getMapName = g_MapInfo.name if string.find(getMapName, "[DM]", 1, true) then return true else return false end end http://eag-gaming.eu/uploads/failwin.png It is writing Crany's name and he was here before 30 minutes. Why it doesn't write my name? I won this map... Don't talk about Hunter reached in the background i must move it down. Link to comment
Castillo Posted July 13, 2013 Share Posted July 13, 2013 I don't understand what do you mean. Link to comment
iMr.3a[Z]eF Posted July 13, 2013 Share Posted July 13, 2013 He mean, in the picture the winner has left before 30 mins So, he won the map the winner became the player who quit the server before 30 mins Link to comment
papam77 Posted July 13, 2013 Author Share Posted July 13, 2013 I mean that winner is already out from the server and this script has writen his name as the winner. But i won this map. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now