Скрипты в Феникс сборках - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.
Описание темы:как подцепить?

Ответ
Опции темы
Непрочитано 23.08.2013, 18:26   #1
Пользователь

Автор темы (Топик Стартер) Скрипты в Феникс сборках

Сборка l2open (шаровая) Не работают команды, гм, .cfg и прочие. Почему то не грузит классы

Так же не грузит скрипты ai из датапака. Не совсем понимаю как в фениксо-подобных сборках подцепить скрипт. В l2j для этого есть script.cfg. А тут что?
TosyBosy вне форума Ответить с цитированием
Непрочитано 23.08.2013, 20:06   #2
Аватар для SoniPro
Супергерой

По умолчанию Re: Скрипты в Феникс сборках

Шара? Обращайтесь туда, где скачали.
SoniPro вне форума Ответить с цитированием
Непрочитано 23.08.2013, 20:23   #3
Пользователь

Автор темы (Топик Стартер) Re: Скрипты в Феникс сборках

Цитата:
Сообщение от SoniPro Посмотреть сообщение
Шара? Обращайтесь туда, где скачали.
Да шара, которую revolt team расширила. А скачал я её на этом форуме. 1853 рева
TosyBosy вне форума Ответить с цитированием
Непрочитано 23.08.2013, 20:27   #4
Аватар для Zubastic
ZG troll squad

По умолчанию Re: Скрипты в Феникс сборках

Похоже, что ява не та...
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 23.08.2013, 20:45   #5
Пользователь

Автор темы (Топик Стартер) Re: Скрипты в Феникс сборках

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Похоже, что ява не та...
Java 7-я стоит. Как скрипты подцепить? не пихать же их все в ядро...
TosyBosy вне форума Ответить с цитированием
Непрочитано 23.08.2013, 20:46   #6
Аватар для Dr_Lector
Герой

По умолчанию Re: Скрипты в Феникс сборках

Цитата:
Сообщение от TosyBosy Посмотреть сообщение
Java 7-я стоит
6 нужна
Dr_Lector вне форума Ответить с цитированием
Непрочитано 23.08.2013, 21:08   #7
Пользователь

Автор темы (Топик Стартер) Re: Скрипты в Феникс сборках

Цитата:
Сообщение от server-anons Посмотреть сообщение
6 нужна
не помогает
TosyBosy вне форума Ответить с цитированием
Непрочитано 23.08.2013, 22:20   #8
Аватар для Gaikotsu
Герой

По умолчанию Re: Скрипты в Феникс сборках

в фениксо/оверо подобных никаких scripts.cfg и т.п. создавать не требуется - сервер должен автоматом грузить любые скрипты из data/scripts и подкаталогов.
обычно если не грузит - проблема в неподходящей версии явы, других вариантов вроде нет.
Gaikotsu вне форума Ответить с цитированием
Непрочитано 24.08.2013, 00:07   #9
Изгнанные

По умолчанию Re: Скрипты в Феникс сборках

Обычно если ява не та то сразу пишет unsupported minor 6.0
Но однозназно думаю что в те времена 7-ой еще не пользовались
L2scripts-Guard вне форума Отправить сообщение для L2scripts-Guard с помощью Skype™ Ответить с цитированием
Непрочитано 25.08.2013, 15:08   #10
Пользователь

Автор темы (Топик Стартер) Re: Скрипты в Феникс сборках

Победил проблему с классами, компиляцией сборки другой версией java.

Теперь есть проблема с квестом на Фрею. Если кто шарит прошу помочь, ибо сам уже сутки голову ломаю.

2) Квест _10285_MeetingSirra - не работает момент когда Лакей Фреи должен портнуть к Зинии и Кегору на озеро.
Код:
package quests._10285_MeetingSirra;

import java.util.HashMap;
import javolution.util.FastMap;
import l2rt.common.ThreadPoolManager;
import l2rt.gameserver.cache.Msg;
import l2rt.extensions.scripts.ScriptFile;
import l2rt.gameserver.model.L2Player;
import l2rt.gameserver.model.Reflection;
import l2rt.gameserver.model.L2ObjectsStorage;
import l2rt.gameserver.model.instances.L2NpcInstance;
import l2rt.gameserver.model.L2Spawn;
import l2rt.gameserver.model.L2World;
import l2rt.gameserver.instancemanager.InstancedZoneManager;
import l2rt.gameserver.instancemanager.InstancedZoneManager.InstancedZone;
import l2rt.gameserver.serverpackets.SystemMessage;
import l2rt.gameserver.tables.ReflectionTable;
import l2rt.gameserver.model.quest.Quest;
import l2rt.extensions.scripts.Functions;
import l2rt.gameserver.model.quest.QuestState;
import l2rt.gameserver.tables.NpcTable;
import l2rt.gameserver.templates.L2NpcTemplate;
import l2rt.gameserver.serverpackets.ExStartScenePlayer;
import l2rt.gameserver.serverpackets.ExShowScreenMessage;
import l2rt.gameserver.serverpackets.ExShowScreenMessage.ScreenMessageAlign;
import l2rt.util.Location;
import quests._10284_AcquisitionOfDivineSword._10284_AcquisitionOfDivineSword;

/**
 * @author People
 */

public class _10285_MeetingSirra extends Quest implements ScriptFile
{

	private static FastMap<Integer, Long> _instances = new FastMap<Integer, Long>();
	private static FastMap<Integer, Long> _instances2 = new FastMap<Integer, Long>();
	private static final Location TELEPORT_POSITION = new Location(103000, -124360, -2784);
	// NPC
	private static final int Raforti = 32020;
	private static final int Jinia = 32760;
	private static final int Sirra = 32762;
	private static final int Kegor = 32761;
	private static final int Lakey = 32029;
	// MOB
	private static final int FreyaM = 18847;
	
	public _10285_MeetingSirra()
	{
		super(true);
		addStartNpc(Raforti);
		addTalkId(Jinia);
		addTalkId(Sirra);
		addTalkId(Kegor);
		addTalkId(Lakey);
	}

	@Override
	public String onEvent(String event, final QuestState st, L2NpcInstance npc)
	{
		final L2Player player = st.getPlayer();
		String htmltext = event;
		if(event.equalsIgnoreCase("repre_q10285_05.htm"))
		{
			st.setCond(1);
			st.setState(STARTED);
			st.playSound(SOUND_ACCEPT);
		}
		if(event.equalsIgnoreCase("inst"))
		{
			enterInstance(player);
			st.set("cond", "2");
			st.playSound(SOUND_ACCEPT);
			return null;
		}
		if(event.equalsIgnoreCase("jinia_npc_q10285_02.htm"))
		{
			st.set("cond", "3");
			st.playSound(SOUND_ACCEPT);
		}
		if(event.equalsIgnoreCase("kegor_npc_q10285_02.htm"))
		{
			st.set("cond", "4");
			st.playSound(SOUND_ACCEPT);
		}
		if(event.equalsIgnoreCase("jinia_npc_q10285_05.htm"))
		{
			long refId = player.getReflection().getId();
			addSpawnToInstance(Sirra, new Location(-23848, -8744, -5413, 55000), 0, refId);
			L2NpcInstance n1 = L2ObjectsStorage.getByNpcId(Sirra);
			Functions.npcSay(n1, "Вас послушать, получается, что Вы знаете обо всем на свете. Но я больше не могу слушать Ваши мудрствования.");
			st.set("cond", "5");
			st.playSound(SOUND_ACCEPT);
		}
		if(event.equalsIgnoreCase("sirr_npc_q10285_08.htm"))
		{
			L2NpcInstance n = L2ObjectsStorage.getByNpcId(32762);
			n.deleteMe();
			st.set("cond", "6");
			st.playSound(SOUND_ACCEPT);
			
		}
		if(event.equalsIgnoreCase("nazad"))
		{
			st.set("cond", "7");
			returnToAden(player);
			st.playSound(SOUND_ACCEPT);
			return null;
		}
		if(event.equalsIgnoreCase("goTP"))
		{
			st.getPlayer().teleToLocation(TELEPORT_POSITION);
			st.set("cond", "8");
			st.playSound(SOUND_ACCEPT);
			return null;
		}
		if(event.equalsIgnoreCase("gofreya1"))
		{
			enterInstance2(player);
			long refId = player.getReflection().getId();
			addSpawnToInstance(FreyaM, new Location(114700, -115012, -11230, 5000), 0, refId);
			ReflectionTable.getInstance().get(refId).openDoor(23140101);
			st.set("cond", "9");
			st.playSound(SOUND_ACCEPT);
			
			ThreadPoolManager.getInstance().scheduleGeneral(new Runnable(){
        			@Override
        			public void run()
        			{
						player.showQuestMovie(ExStartScenePlayer.SCENE_SC_BOSS_FREYA_FORCED_DEFEAT);
						st.set("cond", "10");
						returnToAden(player);
        			}
        		}, 120000);
			
			
			return null;
		}
		if(event.equalsIgnoreCase("exit"))
		{
			st.giveItems(57, 283425);
			st.addExpAndSp(939075, 83855);
			st.setState(COMPLETED);
			st.playSound(SOUND_FINISH);
			st.unset("cond");
			st.exitCurrentQuest(false);
			return null;
		}
		return htmltext;
	}

	@Override
	public String onTalk(L2NpcInstance npc, QuestState st)
	{
		int npcId = npc.getNpcId();
		int id = st.getState();
		int cond = st.getCond();
		
		if(npcId == Raforti)
		{
			if(id == CREATED)
			{
				QuestState qs = st.getPlayer().getQuestState(_10284_AcquisitionOfDivineSword.class);
				if(qs != null && qs.isCompleted() && st.getPlayer().getLevel() >= 82)
					return "repre_q10285_01.htm";
				else
					return "npc-lvl.htm";			
			}
			if(id == STARTED)
			{
				if(cond == 1)
				return "npc-01.htm";
				if(cond == 2)
				return "npc-zag.htm";
				if(cond == 10)
				return "npc-1.htm";
			}
			if(id == COMPLETED)
			{
				return "npc-fin.htm";
			}
		}
		if (npcId == Jinia)
		{
			if (cond == 2)
				return "jinia_npc_q10285_01.htm";
			if (cond == 4)
				return "jinia_npc_q10285_04.htm";
			if (cond == 6)
				return "jinia_npc_q10285_07.htm";
			if (cond == 8)
				return "npc-gofreya.htm";
		}
		if (npcId == Kegor)
		{
			if (cond == 3)
				return "kegor_npc_q10285_01.htm";
		}
		if (npcId == Sirra)
		{
			if (cond == 5)
				return "sirr_npc_q10285_01.htm";
		}
		if (npcId == Lakey)
		{
			if (cond == 7)
				return "lakey.htm";
		}

		return "noquest";
	}
	
	
	private void enterInstance(L2Player player)
	{
		int instancedZoneId = 703;
		InstancedZoneManager ilm = InstancedZoneManager.getInstance();
		FastMap<Integer, InstancedZone> ils = ilm.getById(instancedZoneId);
		if(ils == null)
		{
			player.sendPacket(Msg.SYSTEM_ERROR);
			return;
		}

		InstancedZone il = ils.get(0);

		assert il != null;

		if(player.isInParty())
		{
			player.sendPacket(Msg.A_PARTY_CANNOT_BE_FORMED_IN_THIS_AREA);
			return;
		}

		if(player.isCursedWeaponEquipped())
		{
			player.sendPacket(new SystemMessage(SystemMessage.C1S_QUEST_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addName(player));
			return;
		}

		Long old = _instances.get(player.getObjectId());
		if(old != null)
		{
			Reflection old_r = ReflectionTable.getInstance().get(old);
			if(old_r != null)
			{
				player.setReflection(old_r);
				player.teleToLocation(il.getTeleportCoords());
				player.setVar("backCoords", old_r.getReturnLoc().toXYZString());
				return;
			}
		}

		Reflection r = new Reflection(il.getName());
		r.setInstancedZoneId(instancedZoneId);
		for(InstancedZone i : ils.values())
		{
			if(r.getReturnLoc() == null)
				r.setReturnLoc(i.getReturnCoords());
			if(r.getTeleportLoc() == null)
				r.setTeleportLoc(i.getTeleportCoords());
			r.FillSpawns(i.getSpawnsInfo());
		}

		int timelimit = il.getTimelimit();

		player.setReflection(r);
		player.teleToLocation(il.getTeleportCoords());
		player.setVar("backCoords", r.getReturnLoc().toXYZString());
		player.sendPacket(new SystemMessage(SystemMessage.THIS_DUNGEON_WILL_EXPIRE_IN_S1_MINUTES).addNumber(timelimit));

		r.setNotCollapseWithoutPlayers(true);
		r.startCollapseTimer(timelimit * 60 * 1000L);

		_instances.put(player.getObjectId(), r.getId());
	}
	
	private void enterInstance2(L2Player player)
	{
		int instancedZoneId = 704;
		InstancedZoneManager ilm = InstancedZoneManager.getInstance();
		FastMap<Integer, InstancedZone> ils = ilm.getById(instancedZoneId);
		if(ils == null)
		{
			player.sendPacket(Msg.SYSTEM_ERROR);
			return;
		}

		InstancedZone il = ils.get(0);

		assert il != null;

		if(player.isInParty())
		{
			player.sendPacket(Msg.A_PARTY_CANNOT_BE_FORMED_IN_THIS_AREA);
			return;
		}

		if(player.isCursedWeaponEquipped())
		{
			player.sendPacket(new SystemMessage(SystemMessage.C1S_QUEST_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addName(player));
			return;
		}

		Long old = _instances.get(player.getObjectId());
		if(old != null)
		{
			Reflection old_r = ReflectionTable.getInstance().get(old);
			if(old_r != null)
			{
				player.setReflection(old_r);
				player.teleToLocation(il.getTeleportCoords());
				player.setVar("backCoords", old_r.getReturnLoc().toXYZString());
				return;
			}
		}

		Reflection r = new Reflection(il.getName());
		r.setInstancedZoneId(instancedZoneId);
		for(InstancedZone i : ils.values())
		{
			if(r.getReturnLoc() == null)
				r.setReturnLoc(i.getReturnCoords());
			if(r.getTeleportLoc() == null)
				r.setTeleportLoc(i.getTeleportCoords());
			r.FillSpawns(i.getSpawnsInfo());
			r.FillDoors(i.getDoors());
		}

		int timelimit = il.getTimelimit();

		player.setReflection(r);
		player.teleToLocation(il.getTeleportCoords());
		player.setVar("backCoords", r.getReturnLoc().toXYZString());
		player.sendPacket(new SystemMessage(SystemMessage.THIS_DUNGEON_WILL_EXPIRE_IN_S1_MINUTES).addNumber(timelimit));

		r.setNotCollapseWithoutPlayers(true);
		r.startCollapseTimer(timelimit * 60 * 1000L);

		_instances.put(player.getObjectId(), r.getId());
	}
	
	
	private void returnToAden(L2Player player)
	{
		Reflection r = player.getReflection();
		if(r.getReturnLoc() != null)
		    player.teleToLocation(r.getReturnLoc(), 0);
		else
		    player.setReflection(0);
		    player.unsetVar("backCoords");
	}
	
	public void onLoad()
	{
	   System.out.println("Loaded Quest: 10285: MeetingSirra");
	}

	public void onReload()
	{}

	public void onShutdown()
	{}

}
красным отметил на каком моменте затык. В базе cound = 7 то есть с состоянием квеста всё в порядке.
Сам NPC Лакей Фреи настоятельно подсовывает диалог из квеста _1004_IceFairySirra.

И ещё При загрузке ГС выдаёт информацию о том что скрипт загружен Loaded Quest: 1004: IceFairySirra, я не мог понять грузит ли сервер квест MeetingSirra и добавил в код строки
Код:
public void onLoad()
	{
	   System.out.println("Loaded Quest: 10285: MeetingSirra");
	}

	public void onReload()
	{}

	public void onShutdown()
	{}
но это не помогло ГС то ли не грузит скрипт, то ли не выводит об этом информацию...
TosyBosy вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Progress-DEV.com кидалово Andersen Курилка / Yak floor 64 12.07.2010 22:59
Ищу скрипты полезные для eL2Walker 1.79 drakola Ботоводство 1 27.04.2010 17:57
Новые скрипты, место нахождения. Astend Работа со скриптами 3 23.01.2010 21:46
Скрипты для создания своей [web]-статистики MMd Работа со скриптами 0 26.12.2009 14:49
Скрипты и патч msdos Сервер 2 21.02.2009 05:58


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 16:44. Часовой пояс GMT +3.

Вверх