CeKiT Posted March 8, 2013 Share Posted March 8, 2013 Hola a todos. Quiero hacer que si la cantidad de usuarios vivos es 1 y ese jugador toma el hunter llame a la funcion RaceMode.endMap(). Eso se me hizo sencillo ya que hice que al agarrar el pickup del hunter termine el mapa. ¿Pero los otros jugadores? Quiero que si llegan mas de 1 jugador al hunter, y se matan quedara 1 solo en hunter y 0 jugadores corriendo el mapa. De por terminado el mapa. Pero no lo eh logrado. Alguna ayudita, alguien que lo haya echo y pueda guiarme 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() < 1 then RaceMode.endMap() return end if getActivePlayerCount() == 1 and getElementModel(player) == 425 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 function DestructionDerby:onPlayerQuit(player) if isActivePlayer(player) then self:handleFinishActivePlayer(player) if getActivePlayerCount() < 1 then RaceMode.endMap() return end if getActivePlayerCount() <= 1 and getElementModel(player) == 425 then RaceMode.endMap() end end end addEvent("onPlayerPickUpRacePickup",true) addEventHandler("onPlayerPickUpRacePickup",getRootElement(),someoneReachedHunter) 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 showMessage(getPlayerName(activePlayers[1]) .. ' es el ganador!', 153, 255, 0) end if #activePlayers == 0 then self.rankingBoard:add(activePlayers[1], timePassed) end end Link to comment
Renkon Posted March 8, 2013 Share Posted March 8, 2013 Es que en el getElementModel estas poniendo el player que murio no el que queda.... Tenes que conseguirel player con getActivePlayers() creo que es, y de esa tabla el unico valor, el primero conseguir el getElementModel(getPedOccupiedVehicle(playerese))... se ve que borraste lo que puse yo y estas haciendo algo medio raro Link to comment
CeKiT Posted March 10, 2013 Author Share Posted March 10, 2013 Es que en el getElementModel estas poniendo el player que murio no el que queda.... Tenes que conseguirel player con getActivePlayers() creo que es, y de esa tabla el unico valor, el primero conseguir el getElementModel(getPedOccupiedVehicle(playerese))... se ve que borraste lo que puse yo y estas haciendo algo medio raro Este me lo hizo un amigo. Después hablamos Link to comment
Recommended Posts