Jump to content
Sign in to follow this  
isysyura

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

Recommended Posts

Вопрос разделим на 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! 

Share this post


Link to post
Share on other sites
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();
    }
}

 

Edited by JunkyFunky
  • Upvote 1

Share this post


Link to post
Share on other sites
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]   

Share this post


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

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

именно

  • Like 1

Share this post


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

именно

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

Share this post


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

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

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

Share this post


Link to post
Share on other sites

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

Проверим! :)

Share this post


Link to post
Share on other sites

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

Edited by La2Hero

Share this post


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

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

Проверим! :)

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

  • Like 1

Share this post


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

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

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

  • Upvote 1

Share this post


Link to post
Share on other sites

//del

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

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

Edited by isysyura

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...