Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Перевод [fun] citizens v1.1.5 - люди-npc для bukkit [1.1.0]

Нужно ли переводить сам плагин?

  • Да.

    602 голосов 91,4%
  • Нет.

    20 голосов 3,0%
  • Мне всё равно.

    37 голосов 5,6%
Статус
Закрыто для дальнейших ответов.
Я кстати пробовал коллект использовать, вроде работает. Щас подумываю создать квест на рыбалку, но надо поинтересней продумать его
 
Pro100Semyon, переведи, если можно, версию Citizens1.1.5. И кто подскажет, можно ли как нить без пермишна дать доступ к команде /quest status простым юзерам?
 
Делись секретом, я целый день парился-ничерта не вышло.
Опробовал по всякому, в принципе вышло, но немного извернуться пришлось - разбить 1 квест на 2, по одной цели на каждый. Дело в том что как я не пытался манипулировать конфигурациями
optional: # Выполнять это под-задание не обязательно
finishhere: # После выполнения этого под-задания можно завершить квест, если все другие Необходимые цели выполнены (полагаю те цели, что настроены как optional: true, считаются не обязательными, а те у которых optional: false, обязательны к выполнению).

Я пробовал настроить так, что коллект обязателен, и только потом можно отдать рыбу, но все было бестолку, словно плагин не видит этих строк в конфиге совсем или не распознает. Получалось так, что сдать квест можно было просто отдав рыбу, если она уже была в инвентаре, а хотелось бы заставить ловить или хотя бы выбросить-поднять если ловить влом, а рыба уже есть.

Пришлось сделать 2 квеста, воторой (на отдавание рыбы) требует пройденный первый квест (взять рыбу, в идеале - поймать при ловле).
В первом квесте я убрал одну строку текста, что бы сообщение "Задание выполнено успешно" появилось только 1 раз, после прохождение второго квеста, в котором я оставил только эту строку текста, а 2 другие убрал. repeats должен быть одинаковым в обоих квестах иначе, может получиться так, что первая часть задания пройдена а вторая уже не может быть выполнена, во всяком случае если желательно ограничить repeats, то лучше ограничивать только в первом квесте.
В награду за первый квест дается второй, а за второй дается приз, только таким образом я смог настроить очередность выполнения заданий.
Думаю/надеюсь траблы не из-за меня, к стати использовал 1.1-R1-SNAPSHOT и Ситизенс v1.1.4.
В нижеследующем тексте сделал переходы строки, что бы не пришлось тянуть горизонтальный ползунок, для удобства.
Код:
Fishermen1:
    texts:
        description: <y>Эй, ты случайно не рыбак?
                                        У меня заканчивается рыба
                                        на прилавке, а мой напарник
                                        обещался поймать еще рыбы,
                                        но кажется он снова
                                        отправился на речку
                                        с приятелем и пузырем.
        acceptance: <y>Ты мне рыбу, а я дам удочку.
    repeats: -1    # Повторять можно неограниченное
                                количество раз
    objectives:
        '0':
            '0':
                type: collect    # Заполучить рыбу, во время
                                              ловли или просто
                                              выбросить-поднять,
                                              если уже есть в инвентаре
                materialid: 349
                amount: 3
                message: <g>Принеси мне улов.
    rewards:
        '0':
            type: quest
            quest: "Fishermen2"  # После прохождения
                                                        этого квеста игрок сразу
                                                        получает второй
Fishermen2:
    texts:
        completion: <g>Задание выполнено успешно.
                                    # Сообщение, которое появляется,
                                        если 2-й квест завершен
                                        (и 1-й значит тоже)
    repeats: -1    #Повторять можно неограниченное
                              количество раз,  желательно
                              не менять данное значение
    objectives:
        '0':
            '0':
                type: delivery    # Отдать рыбу нпс с id 3
                materialid: 349
                amount: 3
                npcdestination: 3
                message: <g>Спасибо, друг, ты меня выручил,
                                          возьми это, думаю тебе нужнее.
    rewards:
        '0':
            type: item
            id: 346    # После прохождения этого квеста
                                  игрок получает удочку
            amount: 1
И у меня все заработало, но опять таки вернусь к проблеме коллекта, он не нужен, если смысл квеста передать что-то нпс, то достаточно передать это сразу, если оно имеется, а процесс взятия в инвентарь ни чем не оправдан.
Хотя таким образом можно засчитать получение опыта, иными способами вроде нельзя, и все равно пока не знаю зачем коллект потребуется.

В общем пока что подумываю создать квест покруче, что бы аж ваще огонь :3
Но полагаю что все возможности этого плагина я опробовал я мягко говоря они не велики. Например коллективные квесты невозможно, по моему, и ограничение квеста по времени тоже не возможно, что бы на выполнение квеста давалось некоторое время. В общем если есть идеи для более эпичного квеста, выкладывайте))
 
В том то и дело, что эта часть:
Код:
objectives:
        '0':
            '0':
                type: collect    # Заполучить рыбу, во время ловли или просто
                                              выбросить-поднять, если уже есть в инвентаре
                materialid: 349
                amount: 3
                message: <g>Принеси мне улов.

Тупо не срабатывает. Один раз только, из 10 заданных листов бумаги собрался 1. Как-я так и не понял. И выкидывал-подбирал, и с нуля делал, и другой чувак мне скидывал, и по всякому изгалялся, а засчитался один лист.
 
Как ты узнал какое количество подобранных предметов засчиталось?
message: <g>Принеси мне улов. - это сообщение звучит когда все 10 предметов собраны, если сообщение не приходит, то хз в чем дело, может баг буккита нового или/и нужна версия плагина 114 как у меня.

Ты не знаешь как при выборе квеста отнимать кое какие вещи у игрока, типа взымание платы за выполнение квеста.
Надо как то настроить награду, что бы она прниходила сразу после выполнения этого
Код:
        '0':
            '0':
                type: delivery
                materialid: 336
                amount: 64
                npcdestination: 1
                message: <g>Задание выполнено.
Суть в том что Квест дает один нпс, а отнести стак кирпичей надо другому, у которого id 1. Но после выполнения приходится идти к квестодателю, что бы получить приз.
 
Команда /quest status -узнать сколько ,чего там осталось. Вот забрать вещи/деньги теоретически должно так:
Код:
rewards:
        '0':
            type: item
            id: 1
            amount: 12
            take: true    #  забрать предмет
        '1':
            type: item
            id: 288
            amount: 2
            take: false  #  отдать

завтра проверю, отпишу. На 113 точно чет не получалось, но там я пробовал с collect, мож из-за этого. Сейчас качнул 115 и разницы пока не заметил. Те же глюки. А, ну к квестодателю и я всегда бегаю. Тож пытаюсь победить.
 
ну к квестодателю и я всегда бегаю. Тож пытаюсь победить.
Есть идея, но завтра попробую, а то поздно уже.

Напоследок еще спрошу:
Предположим мне нужно что бы квест "А" игрок мог выполнить 5 раз,
После этих 5-ти раз, квест должен считаться завершенным.
Что бы другой квест "Б", который требует пройденный "А", можно было принять.
Необходимо, что бы игрок мог пройти квест Б только после 5-ти похождений квеста А, НЕ раньше.
Такое получится?
 
Разобрался с collect. На 1.1.5 работает. Но вот какая хрень, ставишь, например: "Принеси мне 5 камней и будет тебе счастье" Делаешь один, кидаешь-подбираешь и несёшь его сдавать. Принимает и даёт награду. Если идентификатор предмета дробный, например: 31:1 то даже не забирает. В общем, действительно, ну его до лучших времён.

Дробные ID лучше не ставить, иначе сразу можно забирать награду. Grifhell, проверь у себя.
 
Предположим мне нужно что бы квест "А" игрок мог выполнить 5 раз,
После этих 5-ти раз, квест должен считаться завершенным.
Что бы другой квест "Б", который требует пройденный "А", можно было принять.
Необходимо, что бы игрок мог пройти квест Б только после 5-ти похождений квеста А, НЕ раньше.
Такое получится?
Займёмся извращением :) . Ставим одно и то же задание 5 раз, но присваиваем разные номера 01,02,... в каждое вписываем параметр requirements (кроме первого) и понеслась...
Код:
1 Сбор вещей:
    texts:
        description: <g>(Задание) <y>Мне нужно покормить лошадей, не мог бы ты принести мне 50 кустов?<g>.
        completion: <g>Ваша награда 100 $.
        acceptance: <g>Задание <y>получено<g>.
    repeats: 1                             
    objectives:
        '0':
            '0':
                type: delivery
                npcdestination: 4
                materialid: 31
                amount: 50
                message: <g>Ты принёс кусты! <y>Благодарю! Возьми эту скромную награду <g>.
    rewards:
        '0':
            type: money
            money: 100
            take: false
2 Сбор вещей:
    texts:
        description: <g>(Задание) <y>Мне нужно покормить лошадей, не мог бы ты принести мне 50 кустов?<g>.
        completion: <g>Ваша награда 100 $.
        acceptance: <g>Задание <y>получено<g>.
    requirements:
        '0':
            type: quest
            quest: '1 Сбор вещей'       # не взяв первый квест, не будет второго
    repeats: 1
    objectives:
        '0':
            '0':
                type: delivery
                npcdestination: 4
                materialid: 31
                amount: 50
                message: <g>Ты принёс кусты! <y>Благодарю! Возьми эту скромную награду <g>.
    rewards:
        '0':
            type: money
            money: 100
            take: false
3 Обмани гаишника:
    texts:
        description: <g>(Задание) <y>На перекрёстке, недалеко от вокзала, стоит гаишник. Как то раз он меня сильно обидел. Подкинь ему 40 гнилого мяса.Я буду благодарен.<g>.
        completion: <g>Ваша награда 1 золотая лопата.
        acceptance: <g>Задание <y>получено<g>.
    requirements:
        '0':
            type: quest
            quest: '2 Сбор вещей'         #    нет второго не будет третьего.
    repeats: 1
    objectives:
        '0':
            '0':
                type: delivery
                npcdestination: 7
                materialid: 367
                amount: 40
                message: <g>Отлично! <y>Пусть побегает! Вот твоя награда<g>.
    rewards:
        '0':
            type: item
            id: 284
            amount: 1
            take: false

Как то так вот. (проверено)
 
В самом начале измени на:
21 страница комментариев
Более 500 проголосовавших
почти Более 30К просмотров
Спасибо, вы мне льстите
Да, кстати а можно в "важных" закрепить?)
 
Напишу любой квест. Стучаться в личку.
 
А че токо в личку?)
Вот такими порывами и нету на сайте подробных гайдов и примеров.
 
тоже могу, это легко
Настрою полностью плагин под Ваш сервер. Раздам нужные права и корректировки для корректной работы. Установлю систему телепортов, помощи т.д. плагином Ситизен. Да, им возможно многое.
 
Фактически на одном нпс может быть несколько квестов, но как игроку их выбирать?
 
щас поиграюсь с этой штукой:
Код:
    objectives:
        '0':
            '0':
                type:
            '1':
                type:
            '2':
                type:
        '1':
            '0':
                type:
Надо замутить, что бы игрок мог пройти квест одним из нескольких путей. То есть что бы цель квеста была такой: Дать или палку, или гриб, или пшеницу. Как только он даст что то из них, то сразу получит определенный результат, благодаря этому:
Код:
'0':
    type: move distance
    amount: 6
    optional: False
    message: "You received a bow and some arrows! Sweet!"
    rewards:
        '0':
            type: item
            id: 261
            amount: 1
        '1':
            type: item
            id: 262
            amount: 64
Думаю получится сделать простую логическую цепь, где игрок сможет выбирать что-то.

PS
ну к квестодателю и я всегда бегаю. Тож пытаюсь победить.
Бился, бился и все равно не вышло, даже если наградой за квест будет начало другого квеста ("Б" например), которым владеет другой нпс (Вася), то если этот квест Б, требует отнести васе то-то, то естественно можно решить, что вася и вознаградит. Но таки не получилось, видимо тот, у кого берешь квест, и тот, чья награда - это получение другого квеста, награду будет выдавать только он. Так что караваны так пожалуй и останутся, что за платой придется возвращаться((
Хотя я на старой версии это все делаю, надо не поленится, переехать, мб тогда все заработает...
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх