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

Проблема с рб Квест Attack Sailren

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

Привет всем. 

Проблема такая хочу сходить на рб Sailren он на дино. 

все квесты выполнены прихожу к Shilen's Stone Statue говорю с ним меня тп к рб все нормально но вот спам идет только один моб и дальше тишина.

 

время проходит и тп из логова рб (((

 

кто может помочь ?

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


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

Смотри скрипт рб, а вообще - лучше указывать сборку

It.su сборка

package ru.catssoftware.gameserver.model.quest.pack.ai;

import ru.catssoftware.gameserver.datatables.SpawnTable;
import ru.catssoftware.gameserver.instancemanager.grandbosses.SailrenManager;
import ru.catssoftware.gameserver.model.L2Spawn;
import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.model.quest.Quest;
import ru.catssoftware.gameserver.model.quest.QuestState;
import ru.catssoftware.gameserver.model.zone.L2BossZone;
import ru.catssoftware.gameserver.model.zone.L2Zone;

public class Sailren extends Quest
{
	//NPC
	private int STATUE        = 32109;
	public static int VELOCIRAPTOR  = 22218;
	public static int PTEROSAUR     = 22199;
	public static int TYRANNOSAURUS = 22217;
	public static int SAILREN       = 29065;
	public static String QUEST = "sailren";  

	//ITEM
	private int GAZKH = 8784;
	
	public Sailren()
	{
		super(-1, QUEST, "ai");
		for (L2Spawn s : SpawnTable.getInstance().findAllNpc(TYRANNOSAURUS)) {
			SpawnTable.getInstance().deleteSpawn(s,true);
		}
		
		addStartNpc(STATUE);
		addTalkId(STATUE);
		addKillId(VELOCIRAPTOR);
		addKillId(PTEROSAUR);
		addKillId(TYRANNOSAURUS);
		addKillId(SAILREN);
		
	}
	public String onKill (L2NpcInstance npc, L2PcInstance player, boolean isPet)
	{
		L2BossZone zone = (L2BossZone)npc.getZone("Boss");
		if(zone==null || zone.getBoss()!=L2Zone.Boss.SAILREN) 
			return null;
	    int npcId = npc.getNpcId();
	    if (npcId == VELOCIRAPTOR)
	      SailrenManager.getInstance().setSailrenSpawnTask(PTEROSAUR);
	    else if (npcId == PTEROSAUR)
	      SailrenManager.getInstance().setSailrenSpawnTask(TYRANNOSAURUS);
	    else if (npcId == TYRANNOSAURUS)
	      SailrenManager.getInstance().setSailrenSpawnTask(SAILREN);
	    else if (npcId == SAILREN)
	      SailrenManager.getInstance().setCubeSpawn();
	    return null;
	}
	public String onTalk(L2NpcInstance npc,L2PcInstance player)
	{
		QuestState st = player.getQuestState("sailren");
	    if (st==null)
	    	return "<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>";
	    int npcId = npc.getNpcId();
	    if (npcId == STATUE)
	    {
	      if (st.getQuestItemsCount(GAZKH)!=0)
	      {
	        int ENTRY_SATAT = SailrenManager.getInstance().canIntoSailrenLair(player);
	        if (ENTRY_SATAT == 1 || ENTRY_SATAT == 2)
	        {
	          st.exitQuest(true);
	          return "<html><body>Shilen's Stone Statue:<br>Another adventurers have already fought against the sailren. Do not obstruct them.</body></html>";
	        }
	        else if (ENTRY_SATAT == 3)
	        {
	          st.exitQuest(true);
	          return "<html><body>Shilen's Stone Statue:<br>The sailren is very powerful now. It is not possible to enter the inside.</body></html>";
	        }
	        else if (ENTRY_SATAT == 4)
	        {
	          st.exitQuest(true);
	          return "<html><body>Shilen's Stone Statue:<br>You seal the sailren alone? You should not do so! Bring the companion.</body></html>";
	        }
	        else if (ENTRY_SATAT == 0)
	        {
	          st.takeItems(GAZKH,1);
	          SailrenManager.getInstance().entryToSailrenLair(player);
	          return "<html><body>Shilen's Stone Statue:<br>Please seal the sailren by your ability.</body></html>";
	        }
	      }
	      else
	      {
	        st.exitQuest(true);
	        return "<html><body>Shilen's Stone Statue:<br><font color=\"LEVEL\">Gazkh</font> is necessary for seal the sailren.</body></html>";
	      }
	    }
	    return null;
	}	
}

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

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


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

Смотри в методах:

setSailrenSpawnTask(int)
setCubeSpawn()

Т.к. это единственные функции, отвечающие за спавн (если судить по названиюю).

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


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

Смотри в методах:

setSailrenSpawnTask(int)
setCubeSpawn()

Т.к. это единственные функции, отвечающие за спавн (если судить по названиюю).

ну и как мне исправить ? что б спам был по очереди.  VELOCIRAPTOR, PTEROSAUR, TYRANNOSAURUS, SAILREN.

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


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

ну и как мне исправить ? что б спам был по очереди.  VELOCIRAPTOR, PTEROSAUR, TYRANNOSAURUS, SAILREN.

Проверку ставить на наличии моба. 

Вот часть кода, где тебе править надо:

	public String onKill (L2NpcInstance npc, L2PcInstance player, boolean isPet)
	{
		L2BossZone zone = (L2BossZone)npc.getZone("Boss");
		if(zone==null || zone.getBoss()!=L2Zone.Boss.SAILREN) 
			return null;
	    int npcId = npc.getNpcId();
	    if (npcId == VELOCIRAPTOR)
	      SailrenManager.getInstance().setSailrenSpawnTask(PTEROSAUR);
	    else if (npcId == PTEROSAUR)
	      SailrenManager.getInstance().setSailrenSpawnTask(TYRANNOSAURUS);
	    else if (npcId == TYRANNOSAURUS)
	      SailrenManager.getInstance().setSailrenSpawnTask(SAILREN);
	    else if (npcId == SAILREN)
	      SailrenManager.getInstance().setCubeSpawn();
	    return null;
	}
Изменено пользователем zGosu

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


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

 

Проверку ставить на наличии моба. 

Вот часть кода, где тебе править надо:

	public String onKill (L2NpcInstance npc, L2PcInstance player, boolean isPet)
	{
		L2BossZone zone = (L2BossZone)npc.getZone("Boss");
		if(zone==null || zone.getBoss()!=L2Zone.Boss.SAILREN) 
			return null;
	    int npcId = npc.getNpcId();
	    if (npcId == VELOCIRAPTOR)
	      SailrenManager.getInstance().setSailrenSpawnTask(PTEROSAUR);
	    else if (npcId == PTEROSAUR)
	      SailrenManager.getInstance().setSailrenSpawnTask(TYRANNOSAURUS);
	    else if (npcId == TYRANNOSAURUS)
	      SailrenManager.getInstance().setSailrenSpawnTask(SAILREN);
	    else if (npcId == SAILREN)
	      SailrenManager.getInstance().setCubeSpawn();
	    return null;
	}

И что тут не правильно ?

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


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

И что тут не правильно ?

 

Смотри в методах:

setSailrenSpawnTask(int)
setCubeSpawn()

Т.к. это единственные функции, отвечающие за спавн (если судить по названиюю).

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


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

я не понял тебе

Тебе нужно править эту часть кода:

	    if (npcId == VELOCIRAPTOR)
	      SailrenManager.getInstance().setSailrenSpawnTask(PTEROSAUR);
	    else if (npcId == PTEROSAUR)
	      SailrenManager.getInstance().setSailrenSpawnTask(TYRANNOSAURUS);
	    else if (npcId == TYRANNOSAURUS)
	      SailrenManager.getInstance().setSailrenSpawnTask(SAILREN);
	    else if (npcId == SAILREN)
	      SailrenManager.getInstance().setCubeSpawn();

Включая методы:

setSailrenSpawnTask(int)
setCubeSpawn()

В этих местах у тебя ошибка. Думаю разберешься. 

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


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

Тебе нужно править эту часть кода:

	    if (npcId == VELOCIRAPTOR)
	      SailrenManager.getInstance().setSailrenSpawnTask(PTEROSAUR);
	    else if (npcId == PTEROSAUR)
	      SailrenManager.getInstance().setSailrenSpawnTask(TYRANNOSAURUS);
	    else if (npcId == TYRANNOSAURUS)
	      SailrenManager.getInstance().setSailrenSpawnTask(SAILREN);
	    else if (npcId == SAILREN)
	      SailrenManager.getInstance().setCubeSpawn();

Включая методы:

setSailrenSpawnTask(int)
setCubeSpawn()

В этих местах у тебя ошибка. Думаю разберешься. 

я плохо знаю яву. только учусь помоги мне если тебе не тяжело. 

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


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

Для начала убедиться в наличии зоны с типом "Boss" c привязкой к L2Zone.Boss.Sailren, если зона есть - проверить координаты на валидность. На крайняк - поставить выводы в лог для поиска "нерабочих моментов" скрипта aka System.out.println("It's work!");

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


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

Для начала убедиться в наличии зоны с типом "Boss" c привязкой к L2Zone.Boss.Sailren, если зона есть - проверить координаты на валидность. На крайняк - поставить выводы в лог для поиска "нерабочих моментов" скрипта aka System.out.println("It's work!");

ошибок нет. просто спамит 1го моба id 22218 и дальше все. проходит время и тп из логова (

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


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

ошибок нет. просто спамит 1го моба id 22218 и дальше все. проходит время и тп из логова (

я и не говорил про ошибки

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


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

я и не говорил про ошибки

если знаешь как исправить помоги.

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


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

SailrenManager Нужен сам менжер.

где его найти ?

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


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

Вот мой файл. адаптируй под себя.

и как мне его сделать если там класса не хватает ?

у меня сборка it.su 

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


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

и как мне его сделать если там класса не хватает ?

у меня сборка it.su 

Ну адаптировать под свою сборку. Либо взять ее из сборки it.su выше версией. Так же можно вырезать кв сборок, на котором основана эта сборка (ловели, пв, асисы и т.п.). Ну или заказать квест (написать новый, поправить твой или адаптировать мой кв под твой (т.к. мой точно пашет, тестировали на х50)), т.к. судя по теме, мало кто пользуется Вашей сборкой. 

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


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

Ну адаптировать под свою сборку. Либо взять ее из сборки it.su выше версией. Так же можно вырезать кв сборок, на котором основана эта сборка (ловели, пв, асисы и т.п.). Ну или заказать квест (написать новый, поправить твой или адаптировать мой кв под твой (т.к. мой точно пашет, тестировали на х50)), т.к. судя по теме, мало кто пользуется Вашей сборкой. 

а что у вас за сборка ? и у ловели тоже не работает.

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

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


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

а что у вас за сборка ? и у ловели тоже не работает.

лыжа (L2JServer)

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


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

лыжа (L2JServer)

да ладно )

 

блин как мне сделать?  (

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

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


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

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

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

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

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

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

Войти

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

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

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

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

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