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

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Описание темы:revolt team

Ответ
Опции темы
Непрочитано 27.08.2013, 14:54   #1
Пользователь

Автор темы (Топик Стартер) Freya Manager

Всем доброго дня! О великие Гуру l2 помогите. Пилю Инстанс фреи. Выдернул скрипт из аналогичной сборки в котором на этапе спавна Глакиеса
Код:
if (spawnTime > 0 && world.Glaciers < 7) {
			if (!world._setStop) {
				int spawn[] = TerritoryTable.getInstance().getRandomPoint(99911999);
				final L2NpcInstance mob = spawn(Glacier, spawn[0], spawn[1], -11200, 0, world);
				if (world.controler == null) {
					world.controler = spawn(Controler, 114707, -114797, -11199, 0, world);
					world.controler.setIsInvul(true);
					world.controler.setParalyzed(true);
				}
ругается ГС следующими словами TerritoryTable.getRandomPoint: territory 99911999 not found.
я тут же не долго думая прыгаю в TerritoryTable нахожу функцию getRandomPoint
Код:
public int[] getRandomPoint(int terr)
	{
		L2Territory t = _locations.get(terr);
		if(t == null)
		{
			_log.warning("TerritoryTable.getRandomPoint: territory " + terr + " not found.");
			return new int[3];
		}
		return t.getRandomPoint();
Я не программист сразу скажу, но предполагаю что идёт расчёт координат спавна Глакиеса относительно зоны вокруг него. Лезу дальше в L2Territory
Код:
public int[] getRandomPoint()
	{
		int i;
		int[] p = new int[3];

		mainloop: for(i = 0; i < 100; i++)
		{
			p[0] = Rnd.get(_x_min, _x_max);
			p[1] = Rnd.get(_y_min, _y_max);
			p[2] = _z_min + (_z_max - _z_min) / 2;

			/** Для отлова проблемных территорий, вызывающих сильную нагрузку
			if(i == 40)
				_log.warning("Heavy territory: " + this + ", need manual correction"); Клиентам это не нужно*/

			if(poly.contains(p[0], p[1]))
			{
				// Не спаунить в зоны, запрещенные для спауна
				if(ZoneManager.getInstance().checkIfInZone(ZoneType.no_spawn, p[0], p[1]))
					continue;

				// Не спаунить в колонны, стены и прочее.
				int tempz = GeoEngine.getHeight(p[0], p[1], p[2], 0);
				if(_z_min != _z_max)
				{
					if(tempz < _z_min || tempz > _z_max || _z_min > _z_max)
						continue;
				}
				else if(tempz < _z_min - 200 || tempz > _z_min + 200)
					continue;

				p[2] = tempz;

				int geoX = p[0] - L2World.MAP_MIN_X >> 4;
				int geoY = p[1] - L2World.MAP_MIN_Y >> 4;

				// Если местность подозрительная - пропускаем
				for(int x = geoX - 1; x <= geoX + 1; x++)
					for(int y = geoY - 1; y <= geoY + 1; y++)
						if(GeoEngine.NgetNSWE(x, y, p[2], 0) != GeoEngine.NSWE_ALL)
							continue mainloop;

				return p;
			}
		}
		//_log.warning("Can't make point for " + this); Клиентам это не нужно.
		return p;
	}
И вот теперь вопрос. Чего ему не хватает? Сам то Глакиес спавнится, но ошибка меня нервирует, я параноик
TosyBosy вне форума Ответить с цитированием
Непрочитано 27.08.2013, 15:00   #2
Аватар для KID
Пользователь

По умолчанию Re: Freya Manager

Цитата:
Сообщение от TosyBosy Посмотреть сообщение
И вот теперь вопрос. Чего ему не хватает? Сам то Глакиес спавнится, но ошибка меня нервирует, я параноик
Цитата:
Сообщение от TosyBosy Посмотреть сообщение
TerritoryTable.getRandomPoint: territory 99911999 not found.
я надеюсь не дойдет до того, что вам ссылку на гугл переводчик надо будет скинуть
KID вне форума Отправить сообщение для KID с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 27.08.2013, 15:07   #3
Пользователь

Автор темы (Топик Стартер) Re: Freya Manager

Цитата:
Сообщение от KID Посмотреть сообщение
я надеюсь не дойдет до того, что вам ссылку на гугл переводчик надо будет скинуть
В сборке в из которой я дёрнул скрипт я искал в xml файлах в датапаке территорию с таким id и не нашёл, если это вообще id, не понимаю что это за число...

О госпадя я нашёл её!!!

Последний раз редактировалось TosyBosy; 27.08.2013 в 15:31.
TosyBosy вне форума Ответить с цитированием
Непрочитано 27.08.2013, 16:54   #4
Аватар для Karamelka
Пользователь

По умолчанию Re: Freya Manager

Цитата:
Сообщение от TosyBosy Посмотреть сообщение
В сборке в из которой я дёрнул скрипт я искал в xml файлах в датапаке территорию с таким id и не нашёл, если это вообще id, не понимаю что это за число...

О госпадя я нашёл её!!!
Где нашли? пригодится кому-нибудь!
Karamelka вне форума Ответить с цитированием
Непрочитано 27.08.2013, 17:03   #5
Пользователь

Автор темы (Топик Стартер) Re: Freya Manager

В базе, таблица location.
Сейчас борюсь с новой бедой. Дальше, после убийства Глакиеса по скрипту должна респаться Фрея без седла.
Код:
public void run() {
					world.finish = false;
					world.status = 5;
					world._setStop = false;
					startAll(world);
					spawnKnights(world);
					spawnGlaciers(world);
					//batleFailTask(world);
					world.Npc_Freya = spawn(world.FreyaStand, 114720, -117068, -11078, 16384, world);
					screenMessage(world.reflection, 1801088, ScreenMessageAlign.TOP_CENTER, true);
где
Код:
world.FreyaStand = hardMode ? 29180 : 29179; // 29180 - Экстрим фрея, без кресла..
.
Но она не появляется, причём если жать nexttarget то можно поймать странное окно

По базе вроде всё впродяке

С гео тоже всё впорядке, так как по скрипту первая стадия фреи респается точно по тем же координатам и её прекрасно видно. Я вот косо смотрю на поле displayID но не буду же я ему присваивать ID этого же самого моба...


Решение так и не нашёл. есть у кого идеи?

Последний раз редактировалось TosyBosy; 27.08.2013 в 20:32. Причина: ищу решение
TosyBosy вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 28.08.2013, 08:58   #6
Новичок

По умолчанию Re: Freya Manager

АП темку, любые идеи....
TopikAP вне форума Ответить с цитированием
Непрочитано 28.08.2013, 11:25   #7
Пользователь

Автор темы (Топик Стартер) Re: Freya Manager

Две функции.
1 стадия Фреи: Фрея на кресле
Код:
public void run() {
					world.finish = false;
					world.Npc_Freya = spawn(world.FreyaOnThrone, 114720, -117068, -11078, 16384, world);
					world.Npc_Freya.setRunning();
					startAll(world);
					screenMessage(world.reflection, 1801086, ScreenMessageAlign.TOP_CENTER, true);
					spawnKnights(world);
					spawnGlaciers(world);
работает
3я стадия: Фрея без кресла
Код:
public void run() {
					world.finish = false;
					world.status = 5;
					world._setStop = false;
					startAll(world);
					spawnKnights(world);
					spawnGlaciers(world);
					//batleFailTask(world);
					world.Npc_Freya = spawn(world.FreyaStand, 114720, -117068, -11078, 16384, world);
					screenMessage(world.reflection, 1801088, ScreenMessageAlign.TOP_CENTER, true);
не работает. Почему? Не понимаю. Фреи просто нет.
TosyBosy вне форума Ответить с цитированием
Непрочитано 30.08.2013, 11:44   #8
Аватар для DiagoD

По умолчанию Re: Freya Manager

Если вы переносите на другую сборку то значит где-то, что-то упустили...где и что именно я не знаю(
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Непрочитано 30.08.2013, 11:54   #9
Аватар для n3k0nation
Antihero

По умолчанию Re: Freya Manager

Цитата:
Сообщение от TosyBosy Посмотреть сообщение
Две функции.
1 стадия Фреи: Фрея на кресле
Код:
public void run() {
					world.finish = false;
					world.Npc_Freya = spawn(world.FreyaOnThrone, 114720, -117068, -11078, 16384, world);
					world.Npc_Freya.setRunning();
					startAll(world);
					screenMessage(world.reflection, 1801086, ScreenMessageAlign.TOP_CENTER, true);
					spawnKnights(world);
					spawnGlaciers(world);
работает
3я стадия: Фрея без кресла
Код:
public void run() {
					world.finish = false;
					world.status = 5;
					world._setStop = false;
					startAll(world);
					spawnKnights(world);
					spawnGlaciers(world);
					//batleFailTask(world);
					world.Npc_Freya = spawn(world.FreyaStand, 114720, -117068, -11078, 16384, world);
					screenMessage(world.reflection, 1801088, ScreenMessageAlign.TOP_CENTER, true);
не работает. Почему? Не понимаю. Фреи просто нет.
Возможно
Код:
					world.Npc_Freya.setRunning();
Нэ?
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Непрочитано 30.08.2013, 12:52   #10
Аватар для DiagoD

По умолчанию Re: Freya Manager

Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
Возможно
Код:
					world.Npc_Freya.setRunning();
Нэ?
Не то)
Там в АИ включается бег и задается движение)
Он просто упустил, что-то когда переносил.
Фрея там полностью рабочая.
__________________
open-team.ru - Freya, HighFive...
DiagoD вне форума Отправить сообщение для DiagoD с помощью ICQ Отправить сообщение для DiagoD с помощью Skype™ Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] Сборки High Five Part 5, Freya DiagoD Рынок / Marketplace 63 17.12.2018 11:06
Подскажите Пожалуйста Jarvis Aion 19 08.01.2013 01:41
Продам сервер Lineage Freya x20 MrTony Рынок / Marketplace 8 23.12.2010 14:20
Freya зборки Croaton Lineage II 3 15.12.2010 09:43
[Гайд]Редактируем текстовые файлы клиента MMd Клиент 0 27.01.2010 13:59


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

Вверх