Jump to content

edusz93

Members
  • Posts

    13
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by edusz93

  1. On 8/12/2019 at 10:25 AM, edusz93 said:

    Estou tentando e tendo dificuldades em fazer com que o TVT fique com horário fixo. 


    Exemplo na "events.properties":
    # Times TvT will occur (24h format).
    TvTEventInterval = 00:00,02:00,04:00,06:00,08:00,10:00,13:34,14:00,16:00,18:00,20:00,22:00

     

    2.jpg?1565823032

     

    3.jpg?1565823007

     

    Consegui!

    • Thanks 1
  2. On 8/6/2019 at 9:30 PM, Williams said:

    a lot to redo so I did this makeover.

     

    I removed

    
    for (Player blue : _blueTeam)
    		{
    			if (blue == null)
    				continue;
    			
    			// Give rewards
    			if (_state != EventState.INITIAL && (_blueTeamKills > _redTeamKills || _blueTeamKills == _redTeamKills && Config.REWARD_DIE))
    			{
    				for (IntIntHolder reward : Config.TVT_REWARDS)
    				{
    					if (reward == null)
    						continue;
    					
    					blue.addItem("TvTReward", reward.getId(), reward.getValue(), null, true);
    				}
    				if (blue.isDead())
    					blue.doRevive();
    				
    				removePlayer(blue);
    				blue.teleportTo(blue.getOriginalCoordinates(), 0);
    			}
    		}
    		
    		for (Player red : _redTeam)
    		{
    			if (red == null)
    				continue;
    			
    			// Give rewards
    			if (_state != EventState.INITIAL && (_blueTeamKills < _redTeamKills || _blueTeamKills == _redTeamKills && Config.REWARD_DIE))
    			{
    				for (IntIntHolder reward : Config.TVT_REWARDS)
    				{
    					if (reward == null)
    						continue;
    					
    					red.addItem("TvTReward", reward.getId(), reward.getValue(), null, true);
    				}
    				if (red.isDead())
    					red.doRevive();
    				
    				removePlayer(red);
    				red.teleportTo(red.getOriginalCoordinates(), 0);
    			}
    		}
    		
    		// Event ended in a tie and no rewards will be given
    		if (_blueTeamKills == _redTeamKills && !Config.REWARD_DIE)
    			World.announceToOnlinePlayers("TvT Event: Event ended in a Tie. No rewards will be given!", true);
    		
    		_blueTeam.clear();
    		_redTeam.clear();
    		_redTeamKills = 0;
    		_blueTeamKills = 0;

    I did like this:

     

    
    // Check the winning team.
    		TeamType teamWinner = TeamType.NONE;
    		
    		if (_state != EventState.INITIAL)
    		{
    			// Tied teams
    			if (_blueTeamKills == _redTeamKills && !Config.REWARD_DIE)
    				World.announceToOnlinePlayers("TvT Event: Event ended in a Tie. No rewards will be given!", true);
    			else if (_blueTeamKills > _redTeamKills)
    				teamWinner = TeamType.BLUE;
    			else
    				teamWinner = TeamType.RED;
    			
    			if (teamWinner == TeamType.NONE)
    				World.announceToOnlinePlayers("TvT Event: The event ends in a draw!");
    			else
    			{
    				for (Player player : World.getInstance().getPlayers())
    				{
    					if (player == null)
    						continue;
    					
    					// Prizes are awarded to the winning team.
    					if (player.getTeam() == teamWinner)
    					{
    						for (IntIntHolder reward : Config.TVT_REWARDS)
    							player.addItem("TvTReward", reward.getId(), reward.getValue(), null, true);
    						
    						if (player.isDead())
    							player.doRevive();
    						
    						removePlayer(player);
    						player.teleToLocation(player.getOriginalCoordinates());
    					}
    				}
    			}
    		}
    		
    		_blueTeam.clear();
    		_redTeam.clear();
    		_blueTeamKills = 0;
    		_redTeamKills = 0;

     

    I will remove _redTeamKills, _blueTeamKills and move to Player.java etc...

     

    about threadpool execution i don't know how i will do i will do more research on.

     

    Tem um pequeno erro nesse código que faz com que somente o time ganhador seja teleportado de volta e removido do evento. 

     

    Correção:

    // Check the winning team.
    		TeamType teamWinner = TeamType.NONE;
    		
    		if (_state != EventState.INITIAL)
    		{
    			// Tied teams
    			if (_blueTeamKills == _redTeamKills && !Config.REWARD_DIE)
    				World.announceToOnlinePlayers("TvT Event: Event ended in a Tie. No rewards will be given!", true);
    			else if (_blueTeamKills > _redTeamKills)
    				teamWinner = TeamType.BLUE;
    			else
    				teamWinner = TeamType.RED;
    			
    			if (teamWinner == TeamType.NONE)
    				World.announceToOnlinePlayers("TvT Event: The event ends in a draw!");
    			else
    			{
    				for (Player player : World.getInstance().getPlayers())
    				{
    					if (player == null)
    						continue;
    					
    					// Prizes are awarded to the winning team.
    					if (player.getTeam() == teamWinner)
    					{
    						for (IntIntHolder reward : Config.TVT_REWARDS)
    							player.addItem("TvTReward", reward.getId(), reward.getValue(), null, true);
    					}
    				}
    			}
    			
    			for (Player player : World.getInstance().getPlayers())
    			{
    				if (player.isDead())
    					player.doRevive();
    				
    				removePlayer(player);
    				player.teleToLocation(player.getOriginalCoordinates());
    			}
    		}
    	
    	_blueTeam.clear();
    	_redTeam.clear();
    	_blueTeamKills = 0;
    	_redTeamKills = 0;
    	}

     

×
×
  • Create New...