Приветствую уважаемые знатоки !
Решил я сделать логику ,аля как у помощника новичков , что бы например можно было спросить у него " а где этот стражник " , и он тебе стрелку над головой дает.
Нашел класс NewbieGuideInstance , сделал по примеру следующее :
Однако никакой стрелки над головой не происходит :с
В ХТМ диалоге прописано :
Как я понял , InfoStone_start_q257 - тут просто екшен,который сервер считывает , и прокидывает по всем возможным местам , пока где то иф не отработает. И ни один вывод в консоль не отработал,как будто сервер не видит файл. Файл естевственно лежит в нужном пакете.
Подскажите пожаулуйста ,что я упускаю ? Спасибо заранее!
Решил я сделать логику ,аля как у помощника новичков , что бы например можно было спросить у него " а где этот стражник " , и он тебе стрелку над головой дает.
Нашел класс 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: