gokalpfirat Posted August 20, 2011 Share Posted August 20, 2011 modes/destructionderby.lua 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 if getPlayerTeam(activePlayers[1]) then local playersTeam = getPlayerTeam(activePlayers[1]) self.rankingBoard:add(activePlayers[1], timePassed) showMessage2(getTeamName(playersTeam).. ' win!', 0, 255, 0) showMessage(getPlayerName(activePlayers[1]) .. ' is the final survivor!', 0, 255, 0) else self.rankingBoard:add(activePlayers[1], timePassed) showMessage(getPlayerName(activePlayers[1]) .. ' is the final survivor!', 0, 255, 0) end end util_server.lua g_Messages = {} -- { player = { display = display, textitem = textitem, timer = timer } } function showMessage(text, r, g, b, player) local ypos = 0.25 if not player then player = g_Root ypos = 0.35 end if g_Messages[player] then TimerManager.destroyTimersFor("message",player) else g_Messages[player] = { display = textCreateDisplay(), textitem = textCreateTextItem('', 0.5, ypos, 'medium', 255, 0, 0, 255, 3.0, 'center', 'center', 128) } end local display = g_Messages[player].display local textitem = g_Messages[player].textitem textDisplayAddText(display, textitem) textItemSetText(textitem, text) textItemSetColor(textitem, r or 255, g or 0, b or 0, 255) if player == g_Root then for i,player in ipairs(getElementsByType('player')) do textDisplayAddObserver(display, player) end else textDisplayAddObserver(display, player) end TimerManager.createTimerFor("raceresource","message",player):setTimer(destroyMessage, 8000, 1, player) end function showMessage2(text, r, g, b, player) local ypos = 0.25 if not player then player = g_Root ypos = 0.35 end if g_Messages[player] then TimerManager.destroyTimersFor("message",player) else g_Messages[player] = { display = textCreateDisplay(), textitem = textCreateTextItem('', 0.5, ypos+1, 'medium', 255, 0, 0, 255, 3.0, 'center', 'center', 128) } end local display = g_Messages[player].display local textitem = g_Messages[player].textitem textDisplayAddText(display, textitem) textItemSetText(textitem, text) textItemSetColor(textitem, r or 255, g or 0, b or 0, 255) if player == g_Root then for i,player in ipairs(getElementsByType('player')) do textDisplayAddObserver(display, player) end else textDisplayAddObserver(display, player) end TimerManager.createTimerFor("raceresource","message",player):setTimer(destroyMessage, 8000, 1, player) end Where is the problem and please fix Link to comment
SDK Posted August 20, 2011 Share Posted August 20, 2011 Eh, maybe tell us what the problem is? And don't say "Don't work :(" Link to comment
gokalpfirat Posted August 21, 2011 Author Share Posted August 21, 2011 When player wins it must write that if player team wins Team Name wins! Player Name is final survivor. But dont work Link to comment
SDK Posted August 21, 2011 Share Posted August 21, 2011 textitem = textCreateTextItem('', 0.5, ypos+1, 'medium', 255, 0, 0, 255, 3.0, 'center', 'center', 128) If you checked the textCreateTextItem wiki you should notice that x and y need to be between 0 and 1. ypos + 1 is bigger then 1. Link to comment
gokalpfirat Posted August 21, 2011 Author Share Posted August 21, 2011 I cant try it because i get error and countdown not starts whem map opens. 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