Клан вар

Тема в разделе "Newbie questions / Вопросы новичков", создана пользователем DarkMen, 9 мар 2019.

  1. DarkMen

    DarkMen Активный участник

    Регистрация:
    15 апр 2018
    Сообщения:
    75
    Симпатии:
    11
    Подскажите где в ядре сменить количество человек в клане для объявления клан войны. Исходник ФТ.
     
  2. DeadPool

    DeadPool Пляшущий с бубном
    Постоялец

    Регистрация:
    10 ноя 2017
    Сообщения:
    144
    Симпатии:
    79
    Skype:
    poshlya4ok666
    gameserver/network/l2/c2s/RequestStartPledgeWar.java
     
    DarkMen нравится это.
  3. DarkMen

    DarkMen Активный участник

    Регистрация:
    15 апр 2018
    Сообщения:
    75
    Симпатии:
    11
    А что там именно надо сменить не подскажите?
     
  4. DeadPool

    DeadPool Пляшущий с бубном
    Постоялец

    Регистрация:
    10 ноя 2017
    Сообщения:
    144
    Симпатии:
    79
    Skype:
    poshlya4ok666
    копайте в сторону отправки системного сообщения при несоблюдении условий, смотрите в SystemMsg-e/ru.dat ищете нужное сообщение, смотрите его id, как нашли открываете gameserver/network/l2/components/SystemMsg.java ищете сообщение в классе по этому id, далее поиском по пакету найдете и условие при котором отправляется это сообщение, способ универсальный и подойдет для поиска всех подобных условий с отправкой системного сообщения :) есть способ еще проще, выкладываете пакет gameserver/network/l2/c2s/RequestStartPledgeWar.java сюда на форум, я помогу сделать как нужно + вывести в конфиг, чтобы необходимости лезть в ядро с этой проблемой не возникало)
     
    Deathcore нравится это.
  5. DarkMen

    DarkMen Активный участник

    Регистрация:
    15 апр 2018
    Сообщения:
    75
    Симпатии:
    11
  6. DarkMen

    DarkMen Активный участник

    Регистрация:
    15 апр 2018
    Сообщения:
    75
    Симпатии:
    11
    Вот RequestStartPledgeWar.java Заранее спасибо.
     
  7. DeadPool

    DeadPool Пляшущий с бубном
    Постоялец

    Регистрация:
    10 ноя 2017
    Сообщения:
    144
    Симпатии:
    79
    Skype:
    poshlya4ok666
    не могу скачать, блокирует, выложите в тег CODE содержимое пакета
     
  8. DarkMen

    DarkMen Активный участник

    Регистрация:
    15 апр 2018
    Сообщения:
    75
    Симпатии:
    11
    Код:
    package l2ft.gameserver.network.l2.c2s;
    
    import l2ft.gameserver.model.pledge.Clan;
    import l2ft.gameserver.model.Player;
    import l2ft.gameserver.network.l2.components.SystemMsg;
    import l2ft.gameserver.network.l2.s2c.ActionFail;
    import l2ft.gameserver.tables.ClanTable;
    
    public class RequestStartPledgeWar extends L2GameClientPacket
    {
        private String _pledgeName;
    
        @Override
        protected void readImpl()
        {
            _pledgeName = readS(32);
        }
    
        @Override
        protected void runImpl()
        {
            Player activeChar = getClient().getActiveChar();
            if(activeChar == null)
                return;
    
            Clan clan = activeChar.getClan();
            if(clan == null)
            {
                activeChar.sendActionFailed();
                return;
            }
    
            if(!((activeChar.getClanPrivileges() & Clan.CP_CL_CLAN_WAR) == Clan.CP_CL_CLAN_WAR))
            {
                activeChar.sendActionFailed();
                return;
            }
    
            if(clan.getWarsCount() >= 30)
            {
                activeChar.sendPacket(SystemMsg.A_DECLARATION_OF_WAR_AGAINST_MORE_THAN_30_CLANS_CANT_BE_MADE_AT_THE_SAME_TIME, ActionFail.STATIC);
                return;
            }
    
            if(clan.getLevel() < 3 || clan.getAllSize() < 15)
            {
                activeChar.sendPacket(SystemMsg.A_CLAN_WAR_CAN_ONLY_BE_DECLARED_IF_THE_CLAN_IS_LEVEL_3_OR_ABOVE_AND_THE_NUMBER_OF_CLAN_MEMBERS_IS_FIFTEEN_OR_GREATER, ActionFail.STATIC);
                return;
            }
    
            Clan targetClan = ClanTable.getInstance().getClanByName(_pledgeName);
            if(targetClan == null)
            {
                activeChar.sendPacket(SystemMsg.A_CLAN_WAR_CANNOT_BE_DECLARED_AGAINST_A_CLAN_THAT_DOES_NOT_EXIST, ActionFail.STATIC);
                return;
            }
    
            else if(clan.equals(targetClan))
            {
                activeChar.sendPacket(SystemMsg.FOOL_YOU_CANNOT_DECLARE_WAR_AGAINST_YOUR_OWN_CLAN, ActionFail.STATIC);
                return;
            }
    
            else if(clan.isAtWarWith(targetClan.getClanId()))
            {
                activeChar.sendPacket(SystemMsg.WAR_HAS_ALREADY_BEEN_DECLARED_AGAINST_THAT_CLAN_BUT_ILL_MAKE_NOTE_THAT_YOU_REALLY_DONT_LIKE_THEM, ActionFail.STATIC);
                return;
            }
    
            else if(clan.getAllyId() == targetClan.getAllyId() && clan.getAllyId() != 0)
            {
                activeChar.sendPacket(SystemMsg.A_DECLARATION_OF_CLAN_WAR_AGAINST_AN_ALLIED_CLAN_CANT_BE_MADE, ActionFail.STATIC);
                return;
            }
    
            else if(targetClan.getLevel() < 3 || targetClan.getAllSize() < 15)
            {
                activeChar.sendPacket(SystemMsg.A_CLAN_WAR_CAN_ONLY_BE_DECLARED_IF_THE_CLAN_IS_LEVEL_3_OR_ABOVE_AND_THE_NUMBER_OF_CLAN_MEMBERS_IS_FIFTEEN_OR_GREATER, ActionFail.STATIC);
                return;
            }
    
            ClanTable.getInstance().startClanWar(activeChar.getClan(), targetClan);
        }
    }
     
  9. DeadPool

    DeadPool Пляшущий с бубном
    Постоялец

    Регистрация:
    10 ноя 2017
    Сообщения:
    144
    Симпатии:
    79
    Skype:
    poshlya4ok666
    Код:
    if(clan.getLevel() < 3 || clan.getAllSize() < 15)
           {
               activeChar.sendPacket(SystemMsg.A_CLAN_WAR_CAN_ONLY_BE_DECLARED_IF_THE_CLAN_IS_LEVEL_3_OR_ABOVE_AND_THE_NUMBER_OF_CLAN_MEMBERS_IS_FIFTEEN_OR_GREATER, ActionFail.STATIC);
               return;
           }
    
    clan.getLevel() < 3 - 3 - минимальный уровень клана, clan.getAllSize() < 15 где 15 - минимальное количество клан мемберов
    Код:
    else if(targetClan.getLevel() < 3 || targetClan.getAllSize() < 15)
           {
               activeChar.sendPacket(SystemMsg.A_CLAN_WAR_CAN_ONLY_BE_DECLARED_IF_THE_CLAN_IS_LEVEL_3_OR_ABOVE_AND_THE_NUMBER_OF_CLAN_MEMBERS_IS_FIFTEEN_OR_GREATER, ActionFail.STATIC);
               return;
           }
    
    targetClan.getLevel() < 3 - 3 - минимальный уровень клана, targetClan.getAllSize() < 15 где 15 - минимальное количество клан мемберов
     
    Deathcore и DarkMen нравится это.
  10. DarkMen

    DarkMen Активный участник

    Регистрация:
    15 апр 2018
    Сообщения:
    75
    Симпатии:
    11
    Спасибо буду у компа гляну.
     

Партнеры