Показать сообщение отдельно
Непрочитано 06.02.2011, 09:41   #13
Аватар для Ro_0TT
Супергерой

По умолчанию Re: [core]Модификации Java серверов

Цитата:
Сообщение от weTr1k Посмотреть сообщение
Shutdown.java
На фениксах
Мб по нубски, но зато красивее чем было...!

Код HTML:
public void abort(L2Player activeChar)
	{
		_log.warning("GM: " + activeChar.getName() + "(" + activeChar.getObjectId() + ") issued shutdown ABORT. " + _modeText[shutdownMode] + " has been stopped!");
		if(this.shutdownMode == 1)
		{
		  announce("Выключение сервера прервано!", 10000, ScreenMessageAlign.TOP_CENTER);
		}
		if(this.shutdownMode == 2)
		{
		  	announce("Перезагрузка сервера прервана!", 10000, ScreenMessageAlign.TOP_CENTER);
		}
		if(_counterInstance != null)
		{
			_counterInstance._abort();
		}
	}
Код HTML:
private void countdown()
	{
	   if (this.shutdownMode == 1)
	 {
		while(secondsShut > 0)
			try
			{
				switch(secondsShut)
				{
					
					case 120:
						announce("Внимание!!!Сервер будет выключен через 2 минуты!Покиньте игру!", 10000, ScreenMessageAlign.BOTTOM_RIGHT);
						break;
					case 60:
						System.out.println(l2p.gameserver.model.L2ObjectsStorage.getStats());
						System.out.println();
						System.out.println(l2p.gameserver.geodata.PathFindBuffers.getStats());
						System.out.println();
						if(Config.PROTECT_ENABLE && Config.PROTECT_COMPRESSION > 0)
						{
							System.out.println(SelectorThread.getStats());
							System.out.println();
						}

						announce("Внимание!!!Сервер будет выключен через 1 минуту!Покиньте игру!", 10000, ScreenMessageAlign.TOP_CENTER);
						if(!Config.DONTLOADSPAWN)
							try
							{
								L2World.deleteVisibleNpcSpawns();
							}
							catch(Throwable t)
							{
								System.out.println("Error while unspawn Npcs!");
								t.printStackTrace();
							}
						break;
					case 30:
						announce("Внимание!!!Сервер будет выключен через 30 секунд!Покиньте игру!", 10000, ScreenMessageAlign.TOP_CENTER);
						break;
					case 15:
                        announce("Сервер будет выключен через 15 секунд!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 10:
                        announce("Сервер будет выключен через 10 секунд!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 5:
                        announce("Сервер будет выключен через 5 секунд!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 4:
                        announce("Сервер будет выключен через 4 секунды!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 3:
                        announce("Сервер будет выключен через 3 секунды!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 2:
                        announce("Сервер будет выключен через 2 секунды!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 1:
                        announce("Сервер будет выключен через 1 секунду!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
                }

                    this.secondsShut -= 1;
                    int delay = 1000;
                    Thread.sleep(delay);
                    if (this.shutdownMode == 3)
                        {
                          return;
                        }
      }
      catch (Exception e)
      {
         e.printStackTrace();
      }
     }
	  	   if (this.shutdownMode == 2)
	 {
		while(secondsShut > 0)
			try
			{
				switch(secondsShut)
				{
					
					case 120:
						announce("Внимание!!!Перезагрузка сервера начнется через 2 минуты!Покиньте игру!", 10000, ScreenMessageAlign.BOTTOM_RIGHT);
						break;
					case 60:
						System.out.println(l2p.gameserver.model.L2ObjectsStorage.getStats());
						System.out.println();
						System.out.println(l2p.gameserver.geodata.PathFindBuffers.getStats());
						System.out.println();
						if(Config.PROTECT_ENABLE && Config.PROTECT_COMPRESSION > 0)
						{
							System.out.println(SelectorThread.getStats());
							System.out.println();
						}

						announce("Внимание!!!Перезагрузка сервера начнется через 1 минуту!Покиньте игру!", 10000, ScreenMessageAlign.TOP_CENTER);
						if(!Config.DONTLOADSPAWN)
							try
							{
								L2World.deleteVisibleNpcSpawns();
							}
							catch(Throwable t)
							{
								System.out.println("Error while unspawn Npcs!");
								t.printStackTrace();
							}
						break;
					case 30:
						announce("Внимание!!!Перезагрузка сервера начнется через 30 секунд!Покиньте игру!", 10000, ScreenMessageAlign.TOP_CENTER);
						break;
					case 15:
                        announce("Сервер будет перезагружен через 15 секунд!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 10:
                        announce("Сервер будет перезагружен через 10 секунд!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 5:
                        announce("Сервер будет перезагружен через 5 секунд!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 4:
                        announce("Сервер будет перезагружен через 4 секунды!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 3:
                        announce("Сервер будет перезагружен через 3 секунды!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 2:
                        announce("Сервер будет перезагружен через 2 секунды!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
					case 1:
                        announce("Сервер будет перезагружен через 1 секунду!", 10000, ExShowScreenMessage.ScreenMessageAlign.TOP_CENTER);
                        break;
                }

                    this.secondsShut -= 1;
                    int delay = 1000;
                    Thread.sleep(delay);
                    if (this.shutdownMode == 3)
                        {
                          return;
                        }
      }
      catch (Exception e)
      {
         e.printStackTrace();
      }
     }
    }
Вот тебе что-то вроде наброска, доработай чтобы были правильные окончания (секунд/минут, минута/секунда) и т.п. Будет и правильно и вкусно, да и полезно для тебя.

Код:
if (secondsShut / 60 > 0) text = "Сервер будет выключен через " + (int) (secondsShut / 60) + " минут.";
else if (secondsShut > 0) text = "Сервер будет выключен через " + secondsShut + " секунд.";
else text = "Сервер отключен.";

announce(text, 10000, ScreenMessageAlign.TOP_CENTER);
__________________
Ищу работу: Java-разработчик Skype: ro_0tt
Ro_0TT вне форума Отправить сообщение для Ro_0TT с помощью ICQ Отправить сообщение для Ro_0TT с помощью Skype™ Ответить с цитированием
Сказали спасибо: