Изменение CtF

Kennedy

Путник
Пользователь
Сообщения
319
Розыгрыши
0
Репутация
89
Реакции
27
Баллы
0
Хроники
  1. Chaotic Throne: High Five
Исходники
Отсутствуют
Сборка
l2jdev
Сабж, возник вопрос. Как сделать так на ивенте CtF,
  1. При смерти персонажа с несущим флагом, флаг возвращался сразу на базу.
  2. Когда берешь флаг с одной зоны, чтобы палатка исчезала.
В ctf.java вроде всё есть, но на деле не работает.

 
1. При смерти персонажа с несущим флагом, флаг возвращался сразу на базу.
Java:
//тут изменим координаты респа флага после смерти игрока и отображаем палатку
// Синяя база 13561 - координаты blueFlagLoc
// Красная база 13560 - координаты redFlagLoc
    private static void dropFlag(Player player)
    {
        if (player != null && player.isTerritoryFlagEquipped())
        {
            ItemInstance flag = player.getActiveWeaponInstance();
            if (flag != null && flag.getCustomType1() == 77) // 77 это эвентовый
            // флаг
            {
                flag.setCustomFlags(0);
                player.getInventory().destroyItem(flag, 1);
                player.broadcastUserInfo(true);
                if (flag.getItemId() == 13560)
                {
                    redFlag.setXYZ(redFlagLoc.getX(), redFlagLoc.getY(), redFlagLoc.getZ());
                    redFlag.setReflection(_reflection);
                    redFlag.spawnMe();
                    redpalatka.spawnMe();

                } else
                {
                    if (flag.getItemId() == 13561)
                    {
                        blueFlag.setXYZ(blueFlagLoc.getX(), blueFlagLoc.getY(), blueFlagLoc.getZ());
                        blueFlag.setReflection(_reflection);
                        blueFlag.spawnMe();
                        bluepalatka.spawnMe();
                    }
                }
            }
        }
    }
2. Когда берешь флаг с одной зоны, чтобы палатка исчезала.
поправить метод
public void capture(String[] var)
Java:
        if (base == 1 && blueFlag.isVisible()) // Синяя база
        {
            blueFlag.decayMe();
            // тут убрать из видимости палатку
            bluepalatka.decayMe();
            addFlag(player, 13561);
        }

        if (base == 2 && redFlag.isVisible()) // Красная база
        {
            redFlag.decayMe();
            // тут убрать из видимости палатку
            redpalatka.decayMe();
            addFlag(player, 13560);
        }
думаю направление поняли куда копать
 
Последнее редактирование:
  • Мне нравится
Реакции: kick
Назад
Сверху Снизу