06.02.2011, 09:41
|
#13
|
Супергерой
Регистрация: 09.11.2010
Адрес: Россия, г. Краснодар
Возраст: 31
Сообщений: 3,965
Отблагодарили 2,760 раз(а)
|
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);
|
|
|