Что дописать?

Я думаю тебе нужно отдельно оформить тему в руководствах (гайд) и конкретно описать необходимые строчки скрипта
Создам. Чуть позже. Сейчас еще поучусь.
 
addQuestItem(new int[] { 9882, 9502 });

Нужно удалить 9502( ид награды) а то, выдает и забирает после сдачи квест все)
Получилось пати дроп сделать.
За основу взят был нубл квест.


кому нужно, держите

Java:
package quests;

import java.util.List;
import l2.gameserver.Config;
import l2.gameserver.model.GameObject;
import l2.gameserver.model.Player;
import l2.gameserver.model.instances.NpcInstance;
import l2.gameserver.model.quest.Quest;
import l2.gameserver.model.quest.QuestState;
import l2.gameserver.scripts.ScriptFile;

public class _892_armor extends Quest implements ScriptFile {
    private static final int bcs = 31740;

    private static final int bch = 30721;

    private static final int bdh = 31741;

    private static final int bdi = 21541;

    private static final int bdj = 21544;

    private static final int bdk = 25325;

    private static final int bdl = 7591;

    private static final int bdm = 7592;

    private static final int bdn = 7593;

    private static final int bdo = 7594;

    private static final int bdg = 7678;

    private static final int bdp = 7679;

    public _892_armor() {
        super(1);
        addStartNpc(45051);
        addTalkId(45051);
        addKillId(40084);
        addQuestItem(new int[] { 9882, 9502 });
    }

    public void onLoad() {}

    public void onReload() {}

    public void onShutdown() {}

    public String onEvent(String paramString, QuestState paramQuestState, NpcInstance paramNpcInstance) {
        String str = paramString;
        if (paramString.equalsIgnoreCase("armor01.htm")) {
            paramQuestState.setCond(1);
            paramQuestState.setState(2);
            paramQuestState.playSound("ItemSound.quest_accept");
            str = "armor03.htm";
        }
        return str;
    }

    public String onTalk(NpcInstance paramNpcInstance, QuestState paramQuestState) {
        String str = "noquest";
        int i = paramNpcInstance.getNpcId();
        int j = paramQuestState.getCond();
        if (i == 45051)
            if (j == 0) {
                if (paramQuestState.getPlayer().getLevel() >= 3) {
                    str = "armor02.htm";
                } else {
                    paramQuestState.exitCurrentQuest(true);
                    return "armor03.htm";
                }
            } else if (j == 1) {
                str = "armor04.htm";
            } else if (j == 2) {
                paramQuestState.takeItems(9882, -1L);
                paramQuestState.giveItems(9502, 1L);
                str = "armor05.htm";
                paramQuestState.playSound("ItemSound.quest_finish");
                paramQuestState.exitCurrentQuest(true);
            }
        return str;
    }
    public String onKill(NpcInstance paramNpcInstance, QuestState paramQuestState) {
        int i = paramQuestState.getCond();
        int j = paramNpcInstance.getNpcId();
        int s = 20;
        if (j == 40084 && i == 1) {
            Player player = paramQuestState.getPlayer();
            List<Player> list = paramQuestState.getPartyMembers(2, Config.ALT_PARTY_DISTRIBUTION_RANGE, (GameObject)player);
            for (Player player1 : list) {
                QuestState questState = player1.getQuestState(this);
                questState.setCond(2);
                questState.giveItems(9882, 1L);
                questState.playSound("ItemSound.quest_middle");
                player.sendMessage("Ваша группа сделал последний удар!Поздравляем! ");

            }
        }
        return null;
    }
}
 
Back
Top