Jump to content
Sign in to follow this  
Димон_Визняк

Убрать Анимацию над НПС

Recommended Posts

Добрый День\Вечер уважаемые форум-чаты

Как бы, вопрос до ужаса прост.

Какой файл отвечает за это произведенние искуства ? и как его убрать? 

2YHU4I6w8xk.jpg.5134b4b44c18dfa2ae46e093ec66ae6b.jpg

 

Буду Благодарен, как всегда + будет.

Share this post


Link to post
Share on other sites
14 минут назад, Solution сказал:

За деньги

НУ а если без рофла? Елементарное же даже можно, сменить НПС.

Я просто хочу поинтересоватся можно ли.

Т.к на КетраВарс(Не реклама) Были 2 разных патчка, с данными анимациями и без них.

 

Share this post


Link to post
Share on other sites
23 минуты назад, Димон_Визняк сказал:

НУ а если без рофла? Елементарное же даже можно, сменить НПС.

Я просто хочу поинтересоватся можно ли.

Т.к на КетраВарс(Не реклама) Были 2 разных патчка, с данными анимациями и без них.

 

Два варианта, декомпилишь скрипт и смотришь путь к лого, меняешь на свой либо удаляешь вообще или декомпилишь скрипт правишь как надо тебе, компилишь обратно

Share this post


Link to post
Share on other sites
14 минут назад, Solution сказал:

Два варианта, декомпилишь скрипт и смотришь путь к лого, меняешь на свой либо удаляешь вообще или декомпилишь скрипт правишь как надо тебе, компилишь обратно

Спасибо за подсказку, вопрос какой файл то отвечает за это ? 

 

Share this post


Link to post
Share on other sites
1 hour ago, Димон_Визняк said:

Спасибо за подсказку, вопрос какой файл то отвечает за это ? 

 

Там, скорее всего, у них стоит крипт на файлы. Сначала нужно снять крипт, а потом уже проделывать остальные манипуляции. 

Share this post


Link to post
Share on other sites
2 часа назад, •°•°•PsycHoO•°•°• сказал:

Там, скорее всего, у них стоит крипт на файлы. Сначала нужно снять крипт, а потом уже проделывать остальные манипуляции. 

А замена данных НПС на других, не решит проблему?

Я как бы хотел попробывать но увы.

При нажатии Шифт+клик, нету изменить (Вид НПС)

И так же в базе не наблюдаю не кастом НПС , ни базы НПС.
Вообще нету.
не подскажите ? 

295475981_2YHU4I6w8xk-.thumb.jpg.17650cdec0579ca14f6c71fd8610edac.jpg

Share this post


Link to post
Share on other sites
43 minutes ago, Димон_Визняк said:

А замена данных НПС на других, не решит проблему?

Я как бы хотел попробывать но увы.

При нажатии Шифт+клик, нету изменить (Вид НПС)

И так же в базе не наблюдаю не кастом НПС , ни базы НПС.
Вообще нету.
не подскажите ? 

295475981_2YHU4I6w8xk-.thumb.jpg.17650cdec0579ca14f6c71fd8610edac.jpg

Если нужно заменить этого NPC на другого ( вид ), то измените его Template ID на ID иного NPC. Если нужно убрать у него лого сверху, то, при наличии крипта, убрать крипт, потом убрать лого. Если в базе пусто по "npc", то, возможно, они находятся в одном из xml файлов.

Edited by •°•°•PsycHoO•°•°•

Share this post


Link to post
Share on other sites
18 минут назад, •°•°•PsycHoO•°•°• сказал:

Если нужно заменить этого NPC на другого ( вид ), то измените его Template ID на ID иного NPC. Если нужно убрать у него лого сверху, то, при наличии крипта, убрать крипт, потом убрать лого. Если в базе пусто по "npc", то, возможно, они находятся в одном из xml файлов.

Да  то измените его Template ID, это я знаю, проблема что нету NPC в базе.
И где изменить не знаю.
По ID искал, но при поиске его, выдает вообще другой НПС (Верхаус какой-то )
Вообщем 2 проблемы которые меня мозг выносят , и я не могу понять.
Это Как в этой сборке вообще работают эти Ивенты, это просто ужас.
В Конфиге нету что бы их включить или выключить, сам по себе + ко всему при регистрации даже при установке от 1 человека улета на ТВТ  Так же установлино что можно с 1 Компа улетать, в Реги 6 человек, Ивент начался, не кого не забрало, все нормально жизнь у Ивента прекрасна блин!!!!!! Что делать я хз, где меня только не насило даже в handler и ia залез, и смотрел, вообще не могу понять! Ужас.
 
и 2 проблема, изменить вид данным НПС что бы не было этих иконок над бошкой, а вот найти где изменить не могу!
Вот 2 проблемы которые тревожат меня, может Вы поможете,  а я вам так сказать накину ? (Если можно так в теме говорить) 

Share this post


Link to post
Share on other sites
3 minutes ago, Димон_Визняк said:

Да  то измените его Template ID, это я знаю, проблема что нету NPC в базе.
И где изменить не знаю.
По ID искал, но при поиске его, выдает вообще другой НПС (Верхаус какой-то )
Вообщем 2 проблемы которые меня мозг выносят , и я не могу понять.
Это Как в этой сборке вообще работают эти Ивенты, это просто ужас.
В Конфиге нету что бы их включить или выключить, сам по себе + ко всему при регистрации даже при установке от 1 человека улета на ТВТ  Так же установлино что можно с 1 Компа улетать, в Реги 6 человек, Ивент начался, не кого не забрало, все нормально жизнь у Ивента прекрасна блин!!!!!! Что делать я хз, где меня только не насило даже в handler и ia залез, и смотрел, вообще не могу понять! Ужас.
 
и 2 проблема, изменить вид данным НПС что бы не было этих иконок над бошкой, а вот найти где изменить не могу!
Вот 2 проблемы которые тревожат меня, может Вы поможете,  а я вам так сказать накину ? (Если можно так в теме говорить) 

Я уже написал сверху, что они могут быть описаны в одном из XML файлов. ( *.xml расширение ), может в папке data есть npc.xml или нечто подобное, там попробуйте найти ID.

Share this post


Link to post
Share on other sites
42 минуты назад, •°•°•PsycHoO•°•°• сказал:

Я уже написал сверху, что они могут быть описаны в одном из XML файлов. ( *.xml расширение ), может в папке data есть npc.xml или нечто подобное, там попробуйте найти ID.

Я Вас услышал, буду искать.

А вот по поводу ТВТ, мб вы уже сталкивались с таким то проблемами?

Предложение на регистрацию есть, регистрация принимается, аннонс о тайминге забераение идет, то что регистрация прошла показывает.

А как время заканчивается, просто аннонс *Event Started* И все

Персонажей не заберает.

Спойлер

# ================================================= 
# Settings Event item TvT (Team VS Team)          #
# =================================================
# Reward for every murder in the format itemId,count;itemId,count
TvT_Rewards = 6673,300
# Multiplied by lvl char?
TvT_rate = false
# Time to start
TvT_time = 10
# The time at which to run the Event.
TvT_StartTime = 00:00,02:00,04:00,06:00,10:00,12:00,14:00,16:00,18:00,20:00,22:00
# Provide Event by category? (Division by level)
TvT_Categories = true
# Minimum number of participants for each team
TvT_MinPlayerInTeam = 1
# The maximum number of participants for each team
TvT_MaxPlayerInTeam = 100
# Permission to teleport Event with summon?
TvT_AllowSummons = true
# Do not remove buffs with teleportation?
TvT_AllowBuffs = true
# Allow registration of 2 or more windows?
TvT_AllowMultiReg = true
# Check for windows by IP or HWid?
TvT_CheckWindowMethod = HWid
# Buffalo participants indicated buffs?
TvT_BuffPlayers = true
# List buff for Fighter
TvT_FighterBuffs = 192,1
# List buff for Wizards
TvT_MageBuffs = 1397,3; 1182,3; 1189,3; 1191,3; 1392,3; 1393,3; 1352,1; 1353,1; 1354,1; 1259,4; 1035,4; 1078,6; 1461,1; 1303,2; 830,1; 1383,3; 1062,2; 4703,13; 1085,3; 1501,1; 1500,1; 1499,1; 1504,1; 1413,1; 1323,1; 363,1; 308,1; 530,1; 349,1; 268,1; 267,1; 304,1; 264,1; 365,1; 273,1; 276,1;
# Length opening event in minutes
TvT_EventRunningTime = 15
# Close the door on time and open the Event item at the end
TvT_OpenCloseDoors = 24190001,24190002,24190003,24190004
# Disable skills during Event
TvT_DisallowedSkills = 1410;1016;1254;701;740;2014;2049;2062;2079;2321;2393;2596;22104;3160;3236;2079;21054;21095;21102;21221;5541;5545;5662;23005;23009;23014;23030;23062;2166;2289;2402;2403;22119;22220;90001;2002;2031;2032;2017;2038;1508;2592;2863;2864;26024;26025;22178;2863;2864;2003;26030;

Спойлер

 

package events.TvT;

import l2f.commons.threading.RunnableImpl;
import l2f.gameserver.listener.actor.OnDeathListener;
import l2f.gameserver.listener.actor.player.OnPlayerExitListener;
import l2f.gameserver.listener.actor.player.OnTeleportListener;
import l2f.gameserver.listener.zone.OnZoneEnterLeaveListener;
import l2f.gameserver.model.Creature;
import l2f.gameserver.model.Player;
import l2f.gameserver.model.Zone;
import l2f.gameserver.model.entity.Reflection;
import l2f.gameserver.scripts.Functions;
import l2f.gameserver.scripts.ScriptFile;

public class TvT extends Functions implements ScriptFile, OnDeathListener,
        OnTeleportListener, OnPlayerExitListener {

    /*private static final Logger _log = LoggerFactory.getLogger(TvT.class);
    
    private static ScheduledFuture<?> _startTask;
    
    private static final int[] doors = new int[] { 24190001, 24190002, 24190003, 24190004 };

    private static List<Long> players_list1 = new CopyOnWriteArrayList<Long>();
    private static List<Long> players_list2 = new CopyOnWriteArrayList<Long>();
    private static List<Long> live_list1 = new CopyOnWriteArrayList<Long>();
    private static List<Long> live_list2 = new CopyOnWriteArrayList<Long>();
    
    private static int[][] mage_buffs = new int[Config.EVENT_TvTMageBuffs.length][2];
    private static int[][] fighter_buffs = new int[Config.EVENT_TvTFighterBuffs.length][2];
    private static long _startedTime = 0;
    
    private static int[][] rewards = new int[Config.EVENT_TvTRewards.length][2];
    
    private static Map<Long, Location> playerRestoreCoord = new LinkedHashMap<Long, Location>();
    
    private static Map<Long, String> boxes = new LinkedHashMap<Long, String>();
    
    private static boolean _isRegistrationActive = false;
    private static int _status = 0;
    private static int _time_to_start;
    private static int _category;
    private static int _minLevel;
    private static int _maxLevel;
    private static int _autoContinue = 0;
    private static boolean _active = false;
    private static Skill buff;
    
    private static Reflection reflection = ReflectionManager.TVT_EVENT;
    
    private static ScheduledFuture<?> _endTask;

    private static Zone _zone;
    private static Zone _zone1;
    private static Zone _zone2;
    private static Zone _zone3;
    private static Zone _zone4;
    private static Zone _zone5;
    //new 
    private static Zone _zone6;
    private static Zone _zone7;
    private static Zone _zone8;
    private static Zone _zone9;
    private static Zone _zone10;
    private static Zone _myZone = null;
    private static Territory territory = null;
    private static Map<Integer, Integer> _pScore = new HashMap<Integer, Integer>();
    private static Map<Integer, Integer> _pScoreStatic = new HashMap<Integer, Integer>();
    private static Map<String, ZoneTemplate> _zones = new HashMap<String, ZoneTemplate>();
    private static IntObjectMap<DoorTemplate> _doors = new HashIntObjectMap<DoorTemplate>();
    private static ZoneListener _zoneListener = new ZoneListener();

    
    private static int bluePoints = 0;
    private static int redPoints = 0;*/
    
    @Override
    public void onLoad()
    {
        /*CharListenerList.addGlobal(this);

        _zones.put("[hellbound_quarry_tvt]", ReflectionUtils.getZone("[hellbound_quarry_tvt]").getTemplate());
        _zones.put("[baylor_tvt]", ReflectionUtils.getZone("[baylor_tvt]").getTemplate());
        _zones.put("[hellbound_quarry_tvt]", ReflectionUtils.getZone("[hellbound_quarry_tvt]").getTemplate());
        _zones.put("[beleth_tvt]", ReflectionUtils.getZone("[beleth_tvt]").getTemplate());
        _zones.put("[hellbound_quarry_tvt]", ReflectionUtils.getZone("[hellbound_quarry_tvt]").getTemplate());
        _zones.put("[cleft_tvt]", ReflectionUtils.getZone("[cleft_tvt]").getTemplate());
        //new 
        _zones.put("[baium_lair_tvt]", ReflectionUtils.getZone("[baium_lair_tvt]").getTemplate());
        _zones.put("[parnas_tvt]", ReflectionUtils.getZone("[parnas_tvt]").getTemplate());
        _zones.put("[tully_tvt]", ReflectionUtils.getZone("[tully_tvt]").getTemplate());
        //new
        _zones.put("[destruction_tvt]", ReflectionUtils.getZone("[destruction_tvt]").getTemplate());
        _zones.put("[cleft_tvt]", ReflectionUtils.getZone("[cleft_tvt]").getTemplate());        
        for (final int doorId : doors)
            _doors.put(doorId, ReflectionUtils.getDoor(doorId).getTemplate());

        int geoIndex = GeoEngine.NextGeoIndex(24, 19, reflection.getId());
        reflection.setGeoIndex(geoIndex);
        reflection.init(_doors, _zones);
        
        _zone = reflection.getZone("[hellbound_quarry_tvt]");
        _zone1 = reflection.getZone("[baylor_tvt]");
        _zone2 = reflection.getZone("[hellbound_quarry_tvt]");
        _zone3 = reflection.getZone("[beleth_tvt]");
        _zone4 = reflection.getZone("[hellbound_quarry_tvt]");
        _zone5 = reflection.getZone("[cleft_tvt]");
        //new
        _zone6 = reflection.getZone("[baium_lair_tvt]");
        _zone7 = reflection.getZone("[parnas_tvt]");
        _zone8 = reflection.getZone("[tully_tvt]");
        //new
        _zone9 = reflection.getZone("[destruction_tvt]");
        _zone10 = reflection.getZone("[cleft_tvt]");
        _active = ServerVariables.getString("TvT", "off").equalsIgnoreCase("on");
        if (isActive())
            scheduleEventStart();
        
        _zone.addListener(_zoneListener);
        _zone1.addListener(_zoneListener);
        _zone2.addListener(_zoneListener);
        _zone3.addListener(_zoneListener);
        _zone4.addListener(_zoneListener);
        _zone5.addListener(_zoneListener);
        _zone6.addListener(_zoneListener);
        _zone7.addListener(_zoneListener);
        _zone8.addListener(_zoneListener);
        _zone9.addListener(_zoneListener);
        _zone10.addListener(_zoneListener);
        
        int i = 0;
        
        if (Config.EVENT_TvTBuffPlayers && Config.EVENT_TvTMageBuffs.length != 0)
            for (String skill : Config.EVENT_TvTMageBuffs) {
                String[] splitSkill = skill.split(",");
                mage_buffs[0] = Integer.parseInt(splitSkill[0]);
                mage_buffs[1] = Integer.parseInt(splitSkill[1]);
                i++;
            }
        
        
        i = 0;
        
        if (Config.EVENT_TvTBuffPlayers && Config.EVENT_TvTMageBuffs.length != 0)
            for (String skill : Config.EVENT_TvTFighterBuffs) {
                String[] splitSkill = skill.split(",");
                fighter_buffs[0] = Integer.parseInt(splitSkill[0]);
                fighter_buffs[1] = Integer.parseInt(splitSkill[1]);
                i++;
            }
        
        i = 0;
        if (Config.EVENT_TvTRewards.length != 0)
            for (String reward : Config.EVENT_TvTRewards) {
                String[] splitReward = reward.split(",");
                rewards[0] = Integer.parseInt(splitReward[0]);
                rewards[1] = Integer.parseInt(splitReward[1]);
                i++;
            }
        
        _log.info("Loaded Event: TvT");*/
    }

    @Override
    public void onReload() {
        /*if(_startTask != null) {
            _startTask.cancel(false);
            _startTask = null;
        }*/
    }

    @Override
    public void onShutdown() {
        //onReload();
    }
    
    public void activateEvent()
    {
        /*Player player = getSelf();
        if (!player.getPlayerAccess().IsEventGm)
            return;

        if (!isActive())
        {
            if (_startTask == null)
                scheduleEventStart();
            ServerVariables.set("TvT", "on");
            _log.info("Event 'TvT' activated.");
            Announcements.getInstance().announceByCustomMessage("scripts.events.TvT.AnnounceEventStarted", null);
        }
        else
            player.sendMessage("Event 'TvT' already active.");

        _active = true;

        show("admin/events/events.htm", player);*/
    }

    public void deactivateEvent()
    {
        /*Player player = getSelf();
        if (!player.getPlayerAccess().IsEventGm)
            return;

        if (isActive()) {
            if (_startTask != null) {
                _startTask.cancel(false);
                _startTask = null;
            }
            ServerVariables.unset("TvT");
            _log.info("Event 'TvT' deactivated.");
            Announcements.getInstance().announceByCustomMessage("scripts.events.TvT.AnnounceEventStoped", null);
        }
        else
            player.sendMessage("Event 'TvT' not active.");

        _active = false;

        show("admin/events/events.htm", player);*/
    }

    public static boolean isRunned() {
        //return _isRegistrationActive || _status > 0;
        return false;
    }

    public static int getMinLevelForCategory(int category) {
        /*switch(category) {
            case 1:
                return 20;
            case 2:
                return 30;
            case 3:
                return 40;
            case 4:
                return 52;
            case 5:
                return 62;
            case 6:
                return 76;
        }*/
        return 0;
    }

    public static int getMaxLevelForCategory(int category)
    {
        /*switch(category)
        {
            case 1:
                return 29;
            case 2:
                return 39;
            case 3:
                return 51;
            case 4:
                return 61;
            case 5:
                return 75;
            case 6:
                return 85;
        }*/
        return 0;
    }

    public static int getCategory(int level) {
        /*if(level >= 20 && level <= 29)
            return 1;
        else if (level >= 30 && level <= 39)
            return 2;
        else if (level >= 40 && level <= 51)
            return 3;
        else if (level >= 52 && level <= 61)
            return 4;
        else if (level >= 62 && level <= 75)
            return 5;
        else if (level >= 76)
            return 6;*/
        return 0;
    }

    public void start(String[] var)
    {
        /*Player player = getSelf();
        if (var.length != 2)
        {
            show(new CustomMessage("common.Error", player), player);
            return;
        }
        
        Integer category;
        Integer autoContinue;
        try
        {
            category = Integer.valueOf(var[0]);
            autoContinue = Integer.valueOf(var[1]);
        }
        catch (Exception e)
        {
            show(new CustomMessage("common.Error", player), player);
            return;
        }

        _category = category;
        _autoContinue = autoContinue;

        if (_category == -1)
        {
            _minLevel = 75;
            _maxLevel = 85;
        }
        else
        {
            _minLevel = getMinLevelForCategory(_category);
            _maxLevel = getMaxLevelForCategory(_category);
        }

        if (_endTask != null)
        {
            show(new CustomMessage("common.TryLater", player), player);
            return;
        }

        _status = 0;
        _isRegistrationActive = true;
        _time_to_start = Config.EVENT_TvTTime;

        players_list1 = new CopyOnWriteArrayList<Long>();
        players_list2 = new CopyOnWriteArrayList<Long>();
        live_list1 = new CopyOnWriteArrayList<Long>();
        live_list2 = new CopyOnWriteArrayList<Long>();
        
        playerRestoreCoord = new LinkedHashMap<Long, Location>();


        String[] param = {
                String.valueOf(_time_to_start),
                String.valueOf(_minLevel),
                String.valueOf(_maxLevel)
        };
        sayToAll("scripts.events.TvT.AnnouncePreStart", param);

        executeTask("events.TvT.TvT", "question", new Object[0], 10000);
        executeTask("events.TvT.TvT", "announce", new Object[0], 60000);*/
    }

    public static void sayToAll(String address, String[] replacements) {
        /*Announcements.getInstance().announceByCustomMessage(address, replacements, ChatType.CRITICAL_ANNOUNCE);*/
    }

    public static void question()
    {
        /*for(Player player : GameObjectsStorage.getAllPlayersForIterate())
            if (player != null && !player.isDead() && player.getLevel() >= _minLevel && player.getLevel() <= _maxLevel && player.getReflection().isDefault() && !player.isInOlympiadMode() && !player.isInObserverMode())
                player.scriptRequest(new CustomMessage("scripts.events.TvT.AskPlayer", player).toString(), "events.TvT.TvT:addPlayer", new Object[0]);*/
    }

    public static void announce() {
        /*if(_time_to_start > 1) {
            _time_to_start--;
            String[] param = {
                    String.valueOf(_time_to_start),
                    String.valueOf(_minLevel),
                    String.valueOf(_maxLevel)
            };
            sayToAll("scripts.events.TvT.AnnouncePreStart", param);
            executeTask("events.TvT.TvT", "announce", new Object[0], 60000);
        }
        else
        {
            if (players_list1.isEmpty() || players_list2.isEmpty() || players_list1.size() < Config.EVENT_TvTMinPlayerInTeam || players_list2.size() < Config.EVENT_TvTMinPlayerInTeam)
            {
                sayToAll("scripts.events.TvT.AnnounceEventCancelled", null);
                _isRegistrationActive = false;
                _status = 0;
                boxes.clear();
                executeTask("events.TvT.TvT", "autoContinue", new Object[0], 10000);
                return;
            } 
            else 
            {
                _status = 1;
                _isRegistrationActive = false;
                sayToAll("scripts.events.TvT.AnnounceEventStarting", null);
                executeTask("events.TvT.TvT", "prepare", new Object[0], 5000);
            }
        }*/
    }

    public void addPlayer()
    {
        /*Player player = getSelf();
        if (player == null || !checkPlayer(player, true) || !checkDualBox(player))
            return;

        int team = 0, size1 = players_list1.size(), size2 = players_list2.size();
        
        if (size1 == Config.EVENT_TvTMaxPlayerInTeam && size2 == Config.EVENT_TvTMaxPlayerInTeam) {
            show(new CustomMessage("scripts.events.TvT.CancelledCount", player), player);
            _isRegistrationActive = false;
            return;
        }
        
        if (!Config.EVENT_TvTAllowMultiReg) 
        {
        //    if ("IP".equalsIgnoreCase(Config.EVENT_TvTCheckWindowMethod))
        //        boxes.put(player.getStoredId(), player.getIP());
            if ("HWid".equalsIgnoreCase(Config.EVENT_TvTCheckWindowMethod))
                boxes.put(player.getStoredId(), player.getNetConnection().getHWID());
        }

        if (size1 > size2)
            team = 2;
        else if (size1 < size2)
            team = 1;
        else
            team = Rnd.get(1, 2);

        if (team == 1)
        {
            players_list1.add(player.getStoredId());
            live_list1.add(player.getStoredId());
            show(new CustomMessage("scripts.events.TvT.Registered", player), player);
        }
        else if (team == 2)
        {
            players_list2.add(player.getStoredId());
            live_list2.add(player.getStoredId());
            show(new CustomMessage("scripts.events.TvT.Registered", player), player);
        }
        else
            _log.info("WTF??? Command id 0 in TvT...");*/
    }

    public static boolean checkPlayer(Player player, boolean first) {
        
        /*if(first && (!_isRegistrationActive || player.isDead())) {
            show(new CustomMessage("scripts.events.Late", player), player);
            return false;
        }

        if (first && (players_list1.contains(player.getStoredId()) || players_list2.contains(player.getStoredId()))) {
            show(new CustomMessage("scripts.events.TvT.Cancelled", player), player);
            if (players_list1.contains(player.getStoredId()))
                players_list1.remove(player.getStoredId());
            if (players_list2.contains(player.getStoredId()))
                players_list2.remove(player.getStoredId());
            if (live_list1.contains(player.getStoredId()))
                live_list1.remove(player.getStoredId());
            if (live_list2.contains(player.getStoredId()))
                live_list2.remove(player.getStoredId());
            if (boxes.containsKey(player.getStoredId()))
                boxes.remove(player.getStoredId());
            return false;
        }

        if (player.getLevel() < _minLevel || player.getLevel() > _maxLevel) {
            show(new CustomMessage("scripts.events.TvT.CancelledLevel", player), player);
            return false;
        }

        if (player.isMounted()) {
            show(new CustomMessage("scripts.events.TvT.Cancelled", player), player);
            return false;
        }
        
        if (player.isCursedWeaponEquipped()) {
            show(new CustomMessage("scripts.events.CtF.Cancelled", player), player);
            return false;
        }

        if (player.isInDuel()) {
            show(new CustomMessage("scripts.events.TvT.CancelledDuel", player), player);
            return false;
        }

        if (player.getTeam() != TeamType.NONE) {
            show(new CustomMessage("scripts.events.TvT.CancelledOtherEvent", player), player);
            return false;
        }

        if (player.getOlympiadGame() != null || first && Olympiad.isRegistered(player)) {
            show(new CustomMessage("scripts.events.TvT.CancelledOlympiad", player), player);
            return false;
        }

        if (player.isInParty() && player.getParty().isInDimensionalRift()) {
            show(new CustomMessage("scripts.events.TvT.CancelledOtherEvent", player), player);
            return false;
        }
        
        if (player.isInObserverMode()) {
            show(new CustomMessage("scripts.event.TvT.CancelledObserver", player), player);
            return false;
        }

        if (player.isTeleporting())
        {
            show(new CustomMessage("scripts.events.TvT.CancelledTeleport", player), player);
            return false;
        }
        return true;*/
        return false;
    }

    public static void prepare()
    {
        /*for(DoorInstance door : reflection.getDoors())
            door.openMe();
        
        for (Zone z : reflection.getZones())
            z.setType(ZoneType.peace_zone);
        
        cleanPlayers();
        clearArena();
        executeTask("events.TvT.TvT", "ressurectPlayers", new Object[0], 1000);
        executeTask("events.TvT.TvT", "healPlayers", new Object[0], 2000);
        executeTask("events.TvT.TvT", "teleportPlayersToColiseum", new Object[0], 3000);
        executeTask("events.TvT.TvT", "paralyzePlayers", new Object[0], 4000);
        executeTask("events.TvT.TvT", "buffPlayers", new Object[0], 5000);
        executeTask("events.TvT.TvT", "go", new Object[0], 60000);

        sayToAll("scripts.events.TvT.AnnounceFinalCountdown", null);*/
    }

    public static void go()
    {
        /*_status = 2;
        upParalyzePlayers();
        checkLive();
        clearArena();
        sayToAll("scripts.events.TvT.AnnounceFight", null);
        for (Zone z : reflection.getZones())
            z.setType(ZoneType.battle_zone);
        _endTask = executeTask("events.TvT.TvT", "endBattle", new Object[0], 360000); //test
        _startedTime = System.currentTimeMillis() + 360000;
        
        final ExCubeGameChangePoints initialPoints = new ExCubeGameChangePoints(360, bluePoints, redPoints);
        ExCubeGameExtendedChangePoints clientSetUp;    
        
        for (Player player : getPlayers(players_list1))
        {
            clientSetUp = new ExCubeGameExtendedChangePoints(360, bluePoints, redPoints, true, player, 0);
            player.sendPacket(clientSetUp);    
            player.sendPacket(initialPoints);
            player.sendPacket(new ExCubeGameAddPlayer(player, true));
            player.broadcastCharInfo();    
        }
        
        for (Player player : getPlayers(players_list2)) 
        {
            clientSetUp = new ExCubeGameExtendedChangePoints(360, bluePoints, redPoints, false, player, 0);
            player.sendPacket(clientSetUp);    
            player.sendPacket(initialPoints);
            player.sendPacket(new ExCubeGameAddPlayer(player, false));
            player.broadcastCharInfo();                
        }*/
    }

    public static void endBattle()
    {
        /*_status = 0;
        removeAura();
        for (Zone z : reflection.getZones())
            z.setType(ZoneType.peace_zone);
        boxes.clear();
        
        if (bluePoints > redPoints)
        {
            sayToAll("scripts.events.TvT.AnnounceFinishedBlueWins", null);
            giveItemsToWinner(false, true, 1);
        }
        else if (bluePoints < redPoints)
        {
            sayToAll("scripts.events.TvT.AnnounceFinishedRedWins", null);
            giveItemsToWinner(true, false, 1);
        }
        else if (bluePoints == redPoints)
        {
            sayToAll("scripts.events.TvT.AnnounceFinishedDraw", null);
            giveItemsToWinner(true, true, 0.5);
        }

        sayToAll("scripts.events.TvT.AnnounceEnd", null);
        executeTask("events.TvT.TvT", "end", new Object[0], 30000);
        _isRegistrationActive = false;
        if (_endTask != null)
        {
            _endTask.cancel(false);
            _endTask = null;
        }
        boolean _isRedWinner = bluePoints < redPoints ? true : false;
        final ExCubeGameEnd end = new ExCubeGameEnd(_isRedWinner);

        for (Player player : getPlayers(players_list1))
        {
            player.sendPacket(end);
            player.broadcastCharInfo();    
        }
        
        for (Player player : getPlayers(players_list2)) 
        {
            player.sendPacket(end);
            player.broadcastCharInfo();                
        }
        bluePoints = 0;
        redPoints = 0;
        _startedTime = 0;
        _myZone = null;
        territory = null;*/    
    }

    public static void end()
    {
        /*executeTask("events.TvT.TvT", "ressurectPlayers", new Object[0], 1000);
        executeTask("events.TvT.TvT", "healPlayers", new Object[0], 2000);
        executeTask("events.TvT.TvT", "teleportPlayers", new Object[0], 3000);
        executeTask("events.TvT.TvT", "autoContinue", new Object[0], 10000);*/
    }

    public void autoContinue()
    {
        /*live_list1.clear();
        live_list2.clear();
        players_list1.clear();
        players_list2.clear();

        if (_autoContinue > 0)
        {
            if (_autoContinue >= 6)
            {
                _autoContinue = 0;
                return;
            }
            start(new String[]{
                    "" + (_autoContinue + 1),
                    "" + (_autoContinue + 1)
            });
        } else
            scheduleEventStart();*/
    }

    public static void giveItemsToWinner(boolean team1, boolean team2, double rate)
    {
        /*if(team1)
            for (Player player : getPlayers(players_list1))
                for (int i = 0; i < rewards.length; i++)    
                    addItem(player, rewards[0], Math.round((Config.EVENT_TvTrate ? player.getLevel() : 1) * rewards[1] * rate));
        if (team2)
            for (Player player : getPlayers(players_list2))
                for (int i = 0; i < rewards.length; i++)
                    addItem(player, rewards[0], Math.round((Config.EVENT_TvTrate ? player.getLevel() : 1) * rewards[1] * rate));*/
    }

    public static void teleportPlayersToColiseum() 
    {
        /*switch(Rnd.get(1,11))
        {
            case 1:
                _myZone = _zone;
                break;
            case 2:
                _myZone = _zone1;
                break;
            case 3:
                _myZone = _zone2;
                break;
            case 4:
                _myZone = _zone3;
                break;
            case 5:
                _myZone = _zone4;
                break;
            case 6:
                _myZone = _zone5;
                break;    
            case 7:
                _myZone = _zone6;
                break;    
            case 8:
                _myZone = _zone7;
                break;    
            case 9:
                _myZone = _zone8;
                break;    
            case 10:
                _myZone = _zone9;
                break;    
            case 11:
                _myZone = _zone10;
                break;                    
            default:
                _myZone = _zone;
        }
        territory = _myZone.getTerritory();    
        
        for (Player player : getPlayers(players_list1))
        {
            unRide(player);
            
            if (!Config.EVENT_TvTAllowSummons)
                unSummonPet(player, true);
            
            DuelEvent duel = player.getEvent(DuelEvent.class);
            if (duel != null)
                duel.abortDuel(player);
            
            playerRestoreCoord.put(player.getStoredId(), new Location(player.getX(), player.getY(), player.getZ()));

            player.teleToLocation(Territory.getRandomLoc(territory), reflection);
            player.setIsInTvT(true);
            
            
            if (!Config.EVENT_TvTAllowBuffs) 
            {
                player.getEffectList().stopAllEffects();
                if (player.getPet() != null)
                    player.getPet().getEffectList().stopAllEffects();
            }
        }
        
        for (Player player : getPlayers(players_list2)) {
            unRide(player);
            
            if (!Config.EVENT_TvTAllowSummons)
                unSummonPet(player, true);
            
            playerRestoreCoord.put(player.getStoredId(), new Location(player.getX(), player.getY(), player.getZ()));
            
            player.teleToLocation(Territory.getRandomLoc(territory), reflection);
            player.setIsInTvT(true);
            
            if (!Config.EVENT_TvTAllowBuffs) {
                player.getEffectList().stopAllEffects();
                if (player.getPet() != null)
                    player.getPet().getEffectList().stopAllEffects();
            }            
        }*/
    }

    public static void teleportPlayers()
    {
        /*for(Player player : getPlayers(players_list1)) {
            if (player == null || !playerRestoreCoord.containsKey(player.getStoredId()))
                continue;
            player.teleToLocation(playerRestoreCoord.get(player.getStoredId()), ReflectionManager.DEFAULT);
        }

        for (Player player : getPlayers(players_list2)) {
            if (player == null || !playerRestoreCoord.containsKey(player.getStoredId()))
                continue;
            player.teleToLocation(playerRestoreCoord.get(player.getStoredId()), ReflectionManager.DEFAULT);
        }
        
        playerRestoreCoord.clear();*/
    }

    public static void paralyzePlayers()
    {
        /*for(Player player : getPlayers(players_list1)) {
            if (player == null)
                continue;
            
            if (!player.isRooted()) {
                player.getEffectList().stopEffect(Skill.SKILL_MYSTIC_IMMUNITY);
                player.startRooted();
                player.startAbnormalEffect(AbnormalEffect.ROOT);
            }
            
            if (player.getPet() != null && !player.getPet().isRooted()) {
                player.getPet().startRooted();
                player.getPet().startAbnormalEffect(AbnormalEffect.ROOT);
            }
        }
        for (Player player : getPlayers(players_list2)) {
            
            if (!player.isRooted()) {
                player.getEffectList().stopEffect(Skill.SKILL_MYSTIC_IMMUNITY);
                player.startRooted();
                player.startAbnormalEffect(AbnormalEffect.ROOT);
            }
            
            if (player.getPet() != null && !player.getPet().isRooted()) {
                player.getPet().startRooted();
                player.getPet().startAbnormalEffect(AbnormalEffect.ROOT);
            }
        }*/
    }
    
    public static void upParalyzePlayers()
    {
        /*for(Player player : getPlayers(players_list1)) {
            if (player.isRooted()) {
                player.stopRooted();
                player.stopAbnormalEffect(AbnormalEffect.ROOT);
            }
            
            if (player.getPet() != null && player.getPet().isRooted()) {
                player.getPet().stopRooted();
                player.getPet().stopAbnormalEffect(AbnormalEffect.ROOT);
            }

        }
        for (Player player : getPlayers(players_list2)) {
            if (player.isRooted()) {
                player.stopRooted();
                player.stopAbnormalEffect(AbnormalEffect.ROOT);
            }
            if (player.getPet() != null && player.getPet().isRooted()) {
                player.getPet().stopRooted();
                player.getPet().stopAbnormalEffect(AbnormalEffect.ROOT);
            }
        }*/
    }
    
    public static void ressurectPlayers()
    {
        /*for(Player player : getPlayers(players_list1))
            if (player.isDead())
            {
                player.restoreExp();
                player.setCurrentCp(player.getMaxCp());
                player.setCurrentHp(player.getMaxHp(), true);
                player.setCurrentMp(player.getMaxMp());
                player.broadcastPacket(new Revive(player));
            }
        for (Player player : getPlayers(players_list2))
            if (player.isDead())
            {
                player.restoreExp();
                player.setCurrentCp(player.getMaxCp());
                player.setCurrentHp(player.getMaxHp(), true);
                player.setCurrentMp(player.getMaxMp());
                player.broadcastPacket(new Revive(player));
            }*/
    }

    public static void healPlayers()
    {
        /*for(Player player : getPlayers(players_list1))
        {
            player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
            player.setCurrentCp(player.getMaxCp());
        }
        for (Player player : getPlayers(players_list2))
        {
            player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());
            player.setCurrentCp(player.getMaxCp());
        }*/
    }

    public static void cleanPlayers()
    {
        /*for(Player player : getPlayers(players_list1))
            if (!checkPlayer(player, false))
                removePlayer(player);
        for (Player player : getPlayers(players_list2))
            if (!checkPlayer(player, false))
                removePlayer(player);*/
    }

    public static void checkLive()
    {
        /*List<Long> new_live_list1 = new CopyOnWriteArrayList<Long>();
        List<Long> new_live_list2 = new CopyOnWriteArrayList<Long>();

        for (Long storeId : live_list1)
        {
            Player player = GameObjectsStorage.getAsPlayer(storeId);
            if (player != null)
                new_live_list1.add(storeId);
        }

        for (Long storeId : live_list2)
        {
            Player player = GameObjectsStorage.getAsPlayer(storeId);
            if (player != null)
                new_live_list2.add(storeId);
        }

        live_list1 = new_live_list1;
        live_list2 = new_live_list2;

        for (Player player : getPlayers(live_list1))
            if (!player.isDead() && !player.isLogoutStarted())
                player.setTeam(TeamType.RED);
            else
                loosePlayer(player);

        for (Player player : getPlayers(live_list2))
            if (!player.isDead() && !player.isLogoutStarted())
                player.setTeam(TeamType.BLUE);
            else
                loosePlayer(player);

        if (live_list1.size() < 1 || live_list2.size() < 1)
            endBattle();*/
    }

    public static void removeAura() {
        /*for(Player player : getPlayers(live_list1)) {
            player.setTeam(TeamType.NONE);
            if (player.getPet() != null)
                player.getPet().setTeam(TeamType.NONE);
            player.setIsInTvT(false);
        }
        for (Player player : getPlayers(live_list2)) {
            player.setTeam(TeamType.NONE);
            if (player.getPet() != null)
                player.getPet().setTeam(TeamType.NONE);
            player.setIsInTvT(false);
        }*/
    }

    public static void clearArena()
    {
        /*if(_myZone == null)
            return;
        for (GameObject obj : _myZone.getObjects())
            if (obj != null)
            {
                Player player = obj.getPlayer();
                if (player != null && !live_list1.contains(player.getStoredId()) && !live_list2.contains(player.getStoredId()))
                    player.teleToLocation(147451, 46728, -3410, ReflectionManager.DEFAULT);
            }*/
    }

    @Override
    public void onDeath(Creature self, Creature killer) {
        /*if(_status > 1 && self.isPlayer() && self.getTeam() != TeamType.NONE && (live_list1.contains(self.getStoredId()) || live_list2.contains(self.getStoredId()))) 
        {
            //loosePlayer((Player) self);
            //checkLive();
            increasePoints(killer);
            resurrectAtBase(self);
            checkKillsAndAnnounce(killer.getPlayer());
            _pScore.remove(self.getPlayer().getObjectId());
            //self.getPlayer().setIsInTvT(false);
        }*/
        
    }
    
    public static void resurrectAtBase(Creature self)
    {
        /*Player player = self.getPlayer();
        if (player == null)
            return;
        if (player.getTeam() == TeamType.NONE)
            return;
        player.broadcastPacket(new Revive(player));
        player.setCurrentHp(player.getMaxHp(), true);    
        player.setCurrentMp(player.getMaxMp());
        player.setCurrentCp(player.getMaxCp());        
        player.teleToLocation(Territory.getRandomLoc(territory), reflection);
        buffPlayer(player);*/    
    }

    public static void buffPlayer(Player player) 
    {
        /*if(player.isMageClass())
            mageBuff(player);
        else
            fighterBuff(player);*/
    }
    
    @Override
    public void onTeleport(Player player, int x, int y, int z, Reflection reflection)
    {
        /*if(_myZone == null)
            return;
        if (_myZone.checkIfInZone(x, y, z, reflection))
            return;

        if (_status > 1 && player != null && player.getTeam() != TeamType.NONE && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId())))
        {
            removePlayer(player);
            checkLive
            */
    }

    @Override
    public void onPlayerExit(Player player) {
        /*if(player.getTeam() == TeamType.NONE)
            return;

        if (_status == 0 && _isRegistrationActive && player.getTeam() != TeamType.NONE && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId()))) {
            removePlayer(player);
            return;
        }

        if (_status == 1 && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId()))) {
            player.teleToLocation(playerRestoreCoord.get(player.getStoredId()), ReflectionManager.DEFAULT);
            removePlayer(player);
            return;
        }

        if (_status > 1 && player != null && player.getTeam() != TeamType.NONE
                && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId()))) {
            removePlayer(player);
            checkLive();
        }*/
    }

    @SuppressWarnings("unused")
    private static class ZoneListener implements OnZoneEnterLeaveListener
    {
        @Override
        public void onZoneEnter(Zone zone, Creature cha)
        {
            /*if(cha == null)
                return;
            Player player = cha.getPlayer();
            if (_status > 0 && player != null && !live_list1.contains(player.getStoredId()) && !live_list2.contains(player.getStoredId()))
                player.teleToLocation(147451, 46728, -3410, ReflectionManager.DEFAULT); */
        }

        @Override
        public void onZoneLeave(Zone zone, Creature cha)
        {
            /*if(cha == null)
                return;
            Player player = cha.getPlayer();
            if (_status > 1 && player != null && player.getTeam() != TeamType.NONE && (live_list1.contains(player.getStoredId()) || live_list2.contains(player.getStoredId())))
            {
                double angle = PositionUtils.convertHeadingToDegree(cha.getHeading()); // СѓРіРѕР» РІ градусах
                double radian = Math.toRadians(angle - 90); // СѓРіРѕР» РІ радианах
                int x = (int) (cha.getX() + 250 * Math.sin(radian));
                int y = (int) (cha.getY() - 250 * Math.cos(radian));
                int z = cha.getZ();
                player.teleToLocation(x, y, z, reflection);
            }*/
        }
    }

    public static void buffPlayers() {

        /*for(Player player : getPlayers(players_list1)) {
            if (player.isMageClass())
                mageBuff(player);
            else
                fighterBuff(player);
        }
        
        for (Player player : getPlayers(players_list2)) {
            if (player.isMageClass())
                mageBuff(player);
            else
                fighterBuff(player);
        }*/
    }
    
    public void scheduleEventStart() {
        /*try {
            Calendar currentTime = Calendar.getInstance();
            Calendar nextStartTime = null;
            Calendar testStartTime = null;

            for (String timeOfDay : Config.EVENT_TvTStartTime) {
                testStartTime = Calendar.getInstance();
                testStartTime.setLenient(true);

                String[] splitTimeOfDay = timeOfDay.split(":");
                
                testStartTime.set(Calendar.HOUR_OF_DAY, Integer.parseInt(splitTimeOfDay[0]));
                testStartTime.set(Calendar.MINUTE, Integer.parseInt(splitTimeOfDay[1]));
                
                if (testStartTime.getTimeInMillis() < currentTime.getTimeInMillis())
                    testStartTime.add(Calendar.DAY_OF_MONTH, 1);

                if (nextStartTime == null || testStartTime.getTimeInMillis() < nextStartTime.getTimeInMillis())
                    nextStartTime = testStartTime;
                
                if (_startTask != null) {
                    _startTask.cancel(false);
                    _startTask = null;
                }
                _startTask = ThreadPoolManager.getInstance().schedule(new StartTask(), nextStartTime.getTimeInMillis() - System.currentTimeMillis());
            
            }

            currentTime = null;
            nextStartTime = null;
            testStartTime = null;
            
        } catch (Exception e) {
            _log.warn("TvT: Error figuring out a start time. Check TvTEventInterval in config file.");
        }*/
    }
    
    public static void mageBuff(Player player) {
        /*for(int i = 0; i < mage_buffs.length; i++) 
        {
            buff = SkillTable.getInstance().getInfo(mage_buffs[0], mage_buffs[1]);
            if (buff == null)
                continue;
            buff.getEffects(player, player, false, false);
        }
        player.setCurrentHp(player.getMaxHp(), true);    
        player.setCurrentMp(player.getMaxMp());
        player.setCurrentCp(player.getMaxCp());*/    
    }
    
    public static void fighterBuff(Player player) {
        /*for(int i = 0; i < fighter_buffs.length; i++) 
        {
            buff = SkillTable.getInstance().getInfo(fighter_buffs[0], fighter_buffs[1]);
            if (buff == null)
                continue;
            buff.getEffects(player, player, false, false);
        }
        player.setCurrentHp(player.getMaxHp(), true);    
        player.setCurrentMp(player.getMaxMp());
        player.setCurrentCp(player.getMaxCp());    */        
    }
    
    public class StartTask extends RunnableImpl {
        
        @Override
        public void runImpl()
        {
            /*if(!_active)
                return;

            if (isPvPEventStarted()) {
                _log.info("TvT not started: another event is already running");
                return;
            }

            for (Residence c : ResidenceHolder.getInstance().getResidenceList(Castle.class))
                if (c.getSiegeEvent() != null && c.getSiegeEvent().isInProgress()) {
                    _log.debug("TvT not started: CastleSiege in progress");
                    return;
                }

            if (Config.EVENT_TvTCategories)
                start(new String[]{ "1", "1"});
            else
                start(new String[] {"-1", "-1"});*/
        }
    }
}

 

 

Спойлер

 

package events;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;

import l2f.gameserver.scripts.Functions;
import l2f.gameserver.scripts.ScriptFile;
import l2f.gameserver.utils.Util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class EventsConfig extends Functions implements ScriptFile
{
    private static final Logger _log = LoggerFactory.getLogger(EventsConfig.class);

    private static final String dir = "./config/events";
    private static ConcurrentHashMap<String, String> properties;

    @Override
    public void onLoad()
    {
        properties = new ConcurrentHashMap<String, String>();
        LoadConfig();
        _log.info("Loaded Service: EventsConfig");
    }

    @Override
    public void onReload()
    {
        onLoad();
    }

    @Override
    public void onShutdown()
    {}

    public static void LoadConfig()
    {
        File files = new File(dir);
        if (!files.exists())
            _log.warn("WARNING! " + dir + " not exists! Config not loaded!");
        else
            parseFiles(files.listFiles());
    }

    private static void parseFiles(File[] files) 
    {
        for (File f : files) 
        {
            if (f.isHidden())
                continue;
            if (f.isDirectory() && !f.getName().contains("defaults"))
                parseFiles(f.listFiles());
            else if (f.getName().endsWith(".ini"))
            {
                try 
                {
                    InputStream is = new FileInputStream(f);
                    Properties p = new Properties();
                    p.load(is);
                    loadProperties(p);
                } 
                catch (FileNotFoundException e)
                {
                    e.printStackTrace();
                } 
                catch (IOException e) 
                {
                    e.printStackTrace();
                }
            }
        }
    }

    private static void loadProperties(Properties p)
    {
        for (String name : p.stringPropertyNames())
        {
            if (properties.get(name) != null)
            {
                properties.replace(name, p.getProperty(name).trim());
                _log.info("Duplicate properties name \"" + name + "\" replaced with new value.");
            }
            else if (p.getProperty(name) == null)
                _log.info("Null property for key " + name);
            else
                properties.put(name, p.getProperty(name).trim());
        }
        p.clear();
    }

    public static String get(String name)
    {
        if(properties.get(name) == null)
            _log.warn("ConfigSystem: Null value for key: " + name);
        return properties.get(name);
    }

    public static float getFloat(String name) 
    {
        return getFloat(name, Float.MAX_VALUE);
    }

    public static boolean getBoolean(String name)
    {
        return getBoolean(name, false);
    }

    public static int getInt(String name)
    {
        return getInt(name, Integer.MAX_VALUE);
    }

    public static int[] getIntArray(String name)
    {
        return getIntArray(name, new int[0]);
    }

    public static int getIntHex(String name)
    {
        return getIntHex(name, Integer.decode("0xFFFFFF"));
    }

    public static byte getByte(String name)
    {
        return getByte(name, Byte.MAX_VALUE);
    }

    public static long getLong(String name)
    {
        return getLong(name, Long.MAX_VALUE);
    }

    public static double getDouble(String name)
    {
        return getDouble(name, Double.MAX_VALUE);
    }

    public static String get(String name, String def)
    {
        return get(name) == null ? def : get(name);
    }

    public static float getFloat(String name, float def) 
    {
        return Float.parseFloat(get(name, String.valueOf(def)));
    }

    public static boolean getBoolean(String name, boolean def)
    {
        return Boolean.parseBoolean(get(name, String.valueOf(def)));
    }

    public static int getInt(String name, int def)
    {
        return Integer.parseInt(get(name, String.valueOf(def)));
    }

    public static int[] getIntArray(String name, int[] def)
    {
        return get(name, null) == null ? def : Util.parseCommaSeparatedIntegerArray(get(name, null));
    }

    public static int getIntHex(String name, int def)
    {
        if(!get(name, String.valueOf(def)).trim().startsWith("0x"))
            return Integer.decode("0x"+get(name, String.valueOf(def)));
        else
            return Integer.decode(get(name, String.valueOf(def)));
    }

    public static byte getByte(String name, byte def)
    {
        return Byte.parseByte(get(name, String.valueOf(def)));
    }

    public static double getDouble(String name, double def)
    {
        return Double.parseDouble(get(name, String.valueOf(def)));
    }

    public static long getLong(String name, long def)
    {
        return Long.parseLong(get(name, String.valueOf(def)));
    }

    public static void set(String name, String param)
    {
        properties.replace(name, param);
    }

    public static void set(String name, Object obj)
    {
        set(name, String.valueOf(obj));
    }
}

 

 

Что самое интересное что даже не нашел кто их включить или выключить, только в игре через Админку *Выключить* *Включить, ну так же не бывает блин..*

Edited by Димон_Визняк

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...