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

Квест _510_AClansReputation

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

Привет. Что нужно изменить в квесте, что бы давало не 30, а 1000 репутации за коготь?

private static final int CLAN_POINTS_REWARD = 1000  - не помогает.

Я - ноль в джава, перечитывание тем с мануалами о создании и редактировании квестов не помогло.
Господа говорят, что эта (тык) моя тема относится к ядру, поэтому помощь приветствуется.

СБОРКА (тык)

Спойлер

package quests;

import l2ft.gameserver.model.pledge.Clan;
import l2ft.gameserver.model.Player;
import l2ft.gameserver.model.instances.NpcInstance;
import l2ft.gameserver.model.quest.Quest;
import l2ft.gameserver.model.quest.QuestState;
import l2ft.gameserver.network.l2.s2c.SystemMessage;
import l2ft.gameserver.scripts.ScriptFile;

public class _510_AClansReputation extends Quest implements ScriptFile
{
    private static final int VALDIS = 31331;
    private static final int CLAW = 8767;
    private static final int CLAN_POINTS_REWARD = 1000;

    @Override
    public void onLoad()
    {
    }

    @Override
    public void onReload()
    {
    }

    @Override
    public void onShutdown()
    {
    }

    public _510_AClansReputation()
    {
        super(PARTY_ALL);

        addStartNpc(VALDIS);

        for(int npc = 22215; npc <= 22217; npc++)
            addKillId(npc);
    }

    @Override
    public String onEvent(String event, QuestState st, NpcInstance npc)
    {
        int cond = st.getCond();
        String htmltext = event;
        if(event.equals("31331-3.htm"))
        {
            if(cond == 0)
            {
                st.setCond(1);
                st.setState(STARTED);
            }
        }
        else if(event.equals("31331-6.htm"))
        {
            st.playSound(SOUND_FINISH);
            st.exitCurrentQuest(true);
        }
        return htmltext;
    }

    @Override
    public String onTalk(NpcInstance npc, QuestState st)
    {
        String htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>

 

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


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

Судя по названию должно работать, Вы бы не могли выложить сам скрипт отдельно, чтобы не качать всю сборку? ) Возможно там напрямую указана цифра и заданная переменная в награде не используется. 

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


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

Судя по названию должно работать, Вы бы не могли выложить сам скрипт отдельно, чтобы не качать всю сборку? ) Возможно там напрямую указана цифра и заданная переменная в награде не используется. 

 

_510_AClansReputation.java

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


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

Вот это, конечно, какая-то странная история:

					if(count > 10)
						pointsCount += count % 10 * 118;

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

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


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

           st.takeItems(CLAW, -1);  забрали всё     

   int pointsCount = CLAN_POINTS_REWARD * (int) count;   1000 * на количество итемов которые забрали
                    if(count > 10)   если итемов больше чем 10 то расчет по формуле ниже
                        pointsCount += count % 10 * 118;

 

 

тогда вернее будет вырезать

                    if(count > 10)
                        pointsCount += count % 10 * 118;

 

и будет за каждый итем CLAW давать по 1к репы

 

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


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

           st.takeItems(CLAW, -1);  забрали всё     

   int pointsCount = CLAN_POINTS_REWARD * (int) count;   1000 * на количество итемов которые забрали
                    if(count > 10)   если итемов больше чем 10 то расчет по формуле ниже
                        pointsCount += count % 10 * 118;

 

 

тогда вернее будет вырезать

                    if(count > 10)
                        pointsCount += count % 10 * 118;

 

и будет за каждый итем CLAW давать по 1к репы

 

Ну не совсем по формуле ниже. :D
Если итемов строго больше 10-ти, тогда к текущему количеству идет кривой и нелогичный бонус в виде остатка от целочисленного деления умноженного на 118 (т.е. бонус при сдаче 19 итемов будет намного больше чем при сдаче соткни, логично).

Но это бонус к текущему количеству, а не замена текущей формулы. Но насчет вырезать эти строки нафиг - полностью согласен. ))

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

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


Ссылка на сообщение
Поделиться на другие сайты
В 14.04.2021 в 23:17, Phoenix сказал:

тогда вернее будет вырезать

                    if(count > 10)
                        pointsCount += count % 10 * 118;

и будет за каждый итем CLAW давать по 1к репы

 

В 15.04.2021 в 02:22, Rolo сказал:

Ну не совсем по формуле ниже. :D
Но насчет вырезать эти строки нафиг - полностью согласен. ))

Увы, что-то по-прежнему не так

CRP.png

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


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

Такое впечатление, что квест читается совсем не из скрипта выше, либо он не компилится после правок. Учитывая приведенный выше код, значению в 30 клан поинтов просто неоткуда взяться, потому ошибка где-то не там.

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


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

можно голову не ломать. взять ид итема квеста за рахну пок лан репутации. вставить куда нужно в дроп или продажу. поменять его с квеста на обычный итем для передачи. брать квест и менять за 1шт по 1000 репы :) 

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


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

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

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

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

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

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

Войти

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

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

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

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

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