Перейти к содержанию
Авторизация  
isysyura

Дополнение к lucera3

Рекомендуемые сообщения

Вопрос разделим на 2 пункта.

1. Сейчас мы имеем, к примеру:

[npc_%objectId%_Buy %npcId%| Items]

Выполняется загрузка магазина:

    <tradelist npc="35142" shop="35142" markup="10" >
        <item id="6316" name="Food for Wyvern" />
        <item id="7015" name="Shield of Castle Pledge" />
        <item id="6835" name="Circlet of Dion" />
    </tradelist>

Пользоваться магазином могут все участники клана, владельца замка.
Так же мы имеем:

[npc_%objectId%_Crown|Castle Lord's Crown]

Корону может взять только лидер клана, владелец замка. 

Вопрос: Как добавить итем в существующий магазин, но что бы его мог взять только владелец клана. Или как добавить другой магазин, только для владельца клана?

2. Предполагаю что подобное не реализовано. В таком случае готов купить скрипт под это все дело. 
Полное ТЗ по скрипту предоставлю исполнителю. 
Главное требование - опыт работы с lucera3! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, isysyura сказал:

Вопрос разделим на 2 пункта.

1. Сейчас мы имеем, к примеру:


[npc_%objectId%_Buy %npcId%| Items]

Выполняется загрузка магазина:


    <tradelist npc="35142" shop="35142" markup="10" >
        <item id="6316" name="Food for Wyvern" />
        <item id="7015" name="Shield of Castle Pledge" />
        <item id="6835" name="Circlet of Dion" />
    </tradelist>

Пользоваться магазином могут все участники клана, владельца замка.
Так же мы имеем:


[npc_%objectId%_Crown|Castle Lord's Crown]

Корону может взять только лидер клана, владелец замка. 

Вопрос: Как добавить итем в существующий магазин, но что бы его мог взять только владелец клана. Или как добавить другой магазин, только для владельца клана?

2. Предполагаю что подобное не реализовано. В таком случае готов купить скрипт под это все дело. 
Полное ТЗ по скрипту предоставлю исполнителю. 
Главное требование - опыт работы с lucera3! 

public class CustomMerchantInstance extends MerchantInstance {
    public CustomMerchantInstance(int objectId, NpcTemplate template) {
        super(objectId, template);
    }

    @Override
    public void onBypassFeedback(final Player player, final String command) {
        if (!canBypassCheck(player, this)) {
            return;
        }
        final StringTokenizer st = new StringTokenizer(command, " ");
        final String actualCommand = st.nextToken();
        if ("CustomBuy".equalsIgnoreCase(actualCommand)) {
            int val = 0;
            if (st.countTokens() > 0) {
                val = Integer.parseInt(st.nextToken());
            }
            if(checkPlayer(player)) {
                showShopWindow(player, val, true);
            } else {
                player.sendActionFailed();
            }
        } else {
            super.onBypassFeedback(player, command);
        }
    }

    private boolean checkPlayer(final Player player) {
        return player.isClanLeader();
    }
}

 

Изменено пользователем JunkyFunky
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, JunkyFunky сказал:


public class CustomMerchantInstance extends MerchantInstance {
    public CustomMerchantInstance(int objectId, NpcTemplate template) {
        super(objectId, template);
    }

    @Override
    public void onBypassFeedback(final Player player, final String command) {
        if (!NpcInstance.canBypassCheck(player, this)) {
            return;
        }
        final StringTokenizer st = new StringTokenizer(command, " ");
        final String actualCommand = st.nextToken();
        if ("CustomBuy".equalsIgnoreCase(actualCommand)) {
            int val = 0;
            if (st.countTokens() > 0) {
                val = Integer.parseInt(st.nextToken());
            }
            if(checkPlayer(player)) {
                showShopWindow(player, val, true);
            } else {
                player.sendActionFailed();
            }
        }
    }
    
    private boolean checkPlayer(final Player player) {
        if(player.isClanLeader()) {
            return true;
        }
        return false;
    }
}

 

И смогу использовать?:
[npc_%objectId%_CustomBuy %npcId% | Items]   

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, isysyura сказал:

И смогу использовать?:
[npc_%objectId%_CustomBuy %npcId% | Items]   

именно

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, JunkyFunky сказал:

именно

Спасибо, проверю.. 
Как я понимаю проверки, кому открывать магазин, здесь нет? То есть это владелец замка - нет. Владелец КХ - нет и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, isysyura сказал:

Спасибо, проверю.. 
Как я понимаю проверки, кому открывать магазин, здесь нет? То есть это владелец замка - нет. Владелец КХ - нет и т.д.

ну checkPlayer(Player player) проверяет в данный момент только кл игрок или нет. Если надо добавляй свои

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А, в принципе, и так должно работать. Лидер другого клана не сможет вести диалог с нпц замка, кх, владельцем которого не является. 

Проверим! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извиняюсь за офтоп, обьясните пожалуйста, почему люцера3 ? а сайт люцера2 и продают якобы люцеру2

Изменено пользователем La2Hero

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, isysyura сказал:

А, в принципе, и так должно работать. Лидер другого клана не сможет вести диалог с нпц замка, кх, владельцем которого не является. 

Проверим! :)

Ну у этого нпц поменяй тип ещё на CustomMerchant или какой там стоял, и лучше унаследуйся от того что стоял, а стоял там скорее всего ResidenceManager

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, La2Hero сказал:

Извиняюсь за офтоп, обьясните пожалуйста, почему люцера3 ? а сайт люцера2 и продают якобы люцеру2

Где-то видел объяснение. lucera2 писалась другим разработчиком (root), после он отошел от дела и под именем lucera2 начала выходить другая сборка, от deazer. Но это не lucera2, которая писалась root-ом.  По-этому lucera3. 

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

//del

Вообщем нужен совет, есть capsule_item, те же Reagent Pouch. С них дается 1 итем, если шанс меньше 100%. 
Так должно быть? Если это норма, то есть ли аналог capsule_item, но что бы при открытии капсулы давало не 1 итем?

В результате тестов, из 5-ти итемов в капсуле, с шансом 90% выпадал только 1. Все итемы выпадали только при 100%. 
 

Изменено пользователем isysyura

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...