Resolved Instance(script.jar/npc/model) classic

damka

Heir
Customer
Приветствую уважаемые знатоки !

Решил я сделать логику ,аля как у помощника новичков , что бы например можно было спросить у него " а где этот стражник " , и он тебе стрелку над головой дает.

Нашел класс NewbieGuideInstance , сделал по примеру следующее :
Code:
package npc.model;

import l2.commons.threading.RunnableImpl;
import l2.gameserver.ThreadPoolManager;
import l2.gameserver.model.Player;
import l2.gameserver.model.instances.NpcInstance;
import l2.gameserver.network.l2.s2c.RadarControl;
import l2.gameserver.templates.npc.NpcTemplate;

public class StoneOfWisdomInstance extends NpcInstance {

    public StoneOfWisdomInstance(int i, NpcTemplate npcTemplate) {
        super(i, npcTemplate);
    }

    public void onBypassFeedback(Player player, String action) {
        System.out.println("im here 1");
        if (canBypassCheck(player, this)) {
            System.out.println("im here 2");
            if(player!=null){
                System.out.println("im here 3");
                switch (this.getNpcId()){
                    case 40100:
                        System.out.println("im here 5");
                        if(action.equals("InfoStone_start_q257")) {
                            System.out.println("im here 6");
                            ThreadPoolManager.getInstance().schedule(new StoneOfWisdomInstance.RadarTask(-82236, 241573, -3728, player), 200L);
                        }
                        break;
                }
            }
        }
    }
        private class RadarTask extends RunnableImpl {
        private final int HF;
        private final int HG;
        private final int HH;
        private final Player p;

        RadarTask(int var2, int var3, int var4, Player var5) {
            this.HF = var2;
            this.HG = var3;
            this.HH = var4;
            this.p = var5;
        }

        public void runImpl() throws Exception {
            this.p.sendPacket(new RadarControl(0, 1, this.HF, this.HG, this.HH));
        }
    }
}

Однако никакой стрелки над головой не происходит :с

В ХТМ диалоге прописано :
Code:
[bypass -h npc_%objectId%_InfoStone_start_q257|"Война с орками(4ур.)"]

Как я понял , InfoStone_start_q257 - тут просто екшен,который сервер считывает , и прокидывает по всем возможным местам , пока где то иф не отработает. И ни один вывод в консоль не отработал,как будто сервер не видит файл. Файл естевственно лежит в нужном пакете.

Подскажите пожаулуйста ,что я упускаю ? Спасибо заранее!
 
Last edited:
А проблема оказалась в том , что в хмл нужно было прописать "type" без суфикса Instance :D
Code:
    <set name="type" value="StoneOfWisdom"/>


Пойду дорабатывать клас,при необходимости подниму тему ,всем спасибо!
 
Back
Top