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

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

Ответ
Опции темы
Непрочитано 06.06.2011, 20:01   #1
Аватар для Малявко
Пользователь

Автор темы (Топик Стартер) Парметры для АИ из спаунлиста...

Есть идея сделать параметры для аи мобов в спаунлисте(каг на оффе...)

Пример с npcpos(ПТС спаунлист...)

тык:
Свернуть ↑Развернуть ↓


где

тык:
Свернуть ↑Развернуть ↓


к примеру возьмём в яве сделать 10 мобов с одним и тем же идом которые при спауне идут каждый на свою координату...

В пример 1 точка...:
Свернуть ↑Развернуть ↓


Идея в том чтобы сделать подобное в яве, одна проблема как вывести параметры чтобы к примеру пишим в спаунлисте

пример:
Свернуть ↑Развернуть ↓


в аи чтобы было к примеру
аи:
Свернуть ↑Развернуть ↓


Помогите кто знает извеняюсь если многобукаф и ошибак
__________________
Малявко вне форума Отправить сообщение для Малявко с помощью ICQ Ответить с цитированием
Непрочитано 06.06.2011, 20:18   #2
Аватар для linliss
Герой

По умолчанию Re: Парметры для АИ из спаунлиста...

пишеш загрузку этих параметров с sql или тxt файла со спауном(у кого как...)
пишеш сколько нужно get ,set методов(для каждого параметра)
при спауне моба проверяеш и присваиваеш мобу все что тебе нужно...
но это для несложных операций...

ПС: это так свои мысли)))
ПС2: вообще в идеале надо весь движек аи удалить и нормальный написать
linliss вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 06.06.2011, 22:30   #3
Аватар для Gaikotsu
Герой

По умолчанию Re: Парметры для АИ из спаунлиста...

как вариант добавить в спавнлист колонку, с уникальным ид данного спавна
далее завести таблицу наподобие ai_params (в феникасх подобная есть для задавания каких либо специфических параметров в аи и привязывающяя эти параметры к ид мобов) и привязывать в ней к этим уникальным ид нужные параметры.
ну и естесно в самом ядре делаешь загрузку и хранение данных параметров, а в базовых аи мобов, ну или не в базовых а тем где тебе нужно - проверяешь, задан ли уникальный идентификатор спавну конкретного моба и есть ли для этого идентификатора какие нибудь параметры.
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 07.06.2011, 00:41   #4
Аватар для izen

По умолчанию Re: Парметры для АИ из спаунлиста...

clazz.getField("some_field").set(instance, val)

рефлексия уже не модно?
izen вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 07.06.2011, 02:17   #5
Аватар для Малявко
Пользователь

Автор темы (Топик Стартер) Re: Парметры для АИ из спаунлиста...

Если не ошибаюсь то вот нашёл вроде чтото подобное в L2P файл InstanceZone

тык:
Свернуть ↑Развернуть ↓


Что в instance.xml выглядив вроде так

тык:
Свернуть ↑Развернуть ↓

Только эффекта я не увидел...
если ошибаюсь подскажите тогда что делает данный код и как его использовать...

Обьясню что описывал

Файл TestClass к примеру лежит в папке scripts/ai

В этом классе у меня есть метод
Код:
	public static void debug_log(int id)
	{
    	if(id == 1)
    	    System.out.println("instances.xml event trigger test is Done");
	else
    	    System.out.println("instances.xml id2");
		
	}
Если я правельно понял то в поле class пишим имя класса в method пишим используемый метод и этого класса а параметры это установка парметров в классе в данном случае id.... но ничего не происходит...

обьясните если кто знает плз, буду признателен
__________________
Малявко вне форума Отправить сообщение для Малявко с помощью ICQ Ответить с цитированием
Непрочитано 07.06.2011, 03:10   #6
Аватар для bloodshed
Герой

По умолчанию Re: Парметры для АИ из спаунлиста...

Цитата:
Сообщение от Малявко Посмотреть сообщение
Если не ошибаюсь то вот нашёл вроде чтото подобное в L2P файл InstanceZone

тык:
Свернуть ↑Развернуть ↓


Что в instance.xml выглядив вроде так

тык:
Свернуть ↑Развернуть ↓

Только эффекта я не увидел...
если ошибаюсь подскажите тогда что делает данный код и как его использовать...

Обьясню что описывал

Файл TestClass к примеру лежит в папке scripts/ai

В этом классе у меня есть метод
Код:
	public static void debug_log(int id)
	{
    	if(id == 1)
    	    System.out.println("instances.xml event trigger test is Done");
	else
    	    System.out.println("instances.xml id2");
		
	}
Если я правельно понял то в поле class пишим имя класса в method пишим используемый метод и этого класса а параметры это установка парметров в классе в данном случае id.... но ничего не происходит...

обьясните если кто знает плз, буду признателен
Если хочешь делать как написал в этом примере, то использовать надо reflection, как сказал вышел izen.
Но так не выйдет мне кажется. Если хочешь это делать через таблицу спауна, то расширяй клаcc L2Spawn, в котором передавай параметры спауна, тому нпс которого спаунишь (можно как предложил Gaikotsu)

Добавлено через 12 минут
Ну и где нить в L2Spawn засунуть (лучше наверно метод intializeNpc), что-то типа этого:
Код:
if(mob.getAI() instanceof DefaultAI)
{
	DefaultAI ai = (DefaultAI) mob.getAI();
	ai.set("my_position", 22);
}
передачу параметров в intializeNpc сами додумаете)
__________________

Последний раз редактировалось bloodshed; 07.06.2011 в 03:23. Причина: Добавлено сообщение
bloodshed вне форума Отправить сообщение для bloodshed с помощью ICQ Отправить сообщение для bloodshed с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 07.06.2011, 04:47   #7
Аватар для Малявко
Пользователь

Автор темы (Топик Стартер) Re: Парметры для АИ из спаунлиста...

Цитата:
Сообщение от bloodshed Посмотреть сообщение
Если хочешь делать как написал в этом примере, то использовать надо reflection, как сказал вышел izen.
Но так не выйдет мне кажется. Если хочешь это делать через таблицу спауна, то расширяй клаcc L2Spawn, в котором передавай параметры спауна, тому нпс которого спаунишь (можно как предложил Gaikotsu)

Добавлено через 12 минут
Ну и где нить в L2Spawn засунуть (лучше наверно метод intializeNpc), что-то типа этого:
Код:
if(mob.getAI() instanceof DefaultAI)
{
	DefaultAI ai = (DefaultAI) mob.getAI();
	ai.set("my_position", 22);
}
передачу параметров в intializeNpc сами додумаете)
Ладно хорошо спасибо, немного уловил мысль как сделать А что насчёт вопроса что я задал в предыдущем посту ?? Что делает тот код и как его использовать ? На сколько я понял он так же там стаит для большей функциональности АИ, или нет ??
__________________
Малявко вне форума Отправить сообщение для Малявко с помощью ICQ Ответить с цитированием
Непрочитано 07.06.2011, 05:15   #8
Аватар для bloodshed
Герой

По умолчанию Re: Парметры для АИ из спаунлиста...

Про какой код вы говорите? напишите ещё раз.
__________________
bloodshed вне форума Отправить сообщение для bloodshed с помощью ICQ Отправить сообщение для bloodshed с помощью Skype™ Ответить с цитированием
Непрочитано 07.06.2011, 05:32   #9
Аватар для Малявко
Пользователь

Автор темы (Топик Стартер) Re: Парметры для АИ из спаунлиста...

Цитата:
Сообщение от bloodshed Посмотреть сообщение
Про какой код вы говорите? напишите ещё раз.
В файле InstanceZoneManager есть вот такой код

Код:
Свернуть ↑Развернуть ↓


Который в XML формате будет выглядеть примерно так...
так:
Свернуть ↑Развернуть ↓


Цитата:
Обьясню что описывал

Файл TestClass к примеру лежит в папке scripts/ai

В этом классе у меня есть метод
Код:
public static void debug_log(int id)
{
if(id == 1)
System.out.println("instances.xml event trigger test is Done");
else
System.out.println("instances.xml id2");

}
Если я правельно понял то в поле class пишим имя класса в method пишим используемый метод и этого класса а параметры это установка парметров в классе в данном случае id.... но ничего не происходит...

обьясните если кто знает плз, буду признателен
__________________
Малявко вне форума Отправить сообщение для Малявко с помощью ICQ Ответить с цитированием
Непрочитано 07.06.2011, 06:40   #10
Аватар для bloodshed
Герой

По умолчанию Re: Парметры для АИ из спаунлиста...

Код HTML:
<event trigger="startMove" class="scripts.ai.MoveNPC" method="moveToLocation" delay="20">
	<param value="координаты x"/>
	<param value="координаты y"/>
	<param value="координаты z"/>
</event>
Метод в AI:
Код:
public void moveToLocation(String[] param)
{
	тут делай обработку координат из param
}
scripts.ai.MoveNPC
путь к аи твоих нпс

потом когда нужно будет выполнишь у своего нпс:
Код:
npc.fireMethodInvoked("startMove", null);
Код не проверял, как то так должно быть.
__________________
bloodshed вне форума Отправить сообщение для bloodshed с помощью ICQ Отправить сообщение для bloodshed с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить Определенного Нпц Из Спаунлиста mego4el Lineage II 3 02.03.2011 15:04
Скрипт на удаление нпс из спаунлиста giko Lineage II 0 21.12.2008 17:16


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

Вверх