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

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

Ответ
Опции темы
Непрочитано 03.04.2013, 17:01   #1
Аватар для DakChe
Пользователь

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

Всем привет, в учебных целях хочу реализовать итем при юзе которого ставиться нпс, сделал хендлер для моего итема, нпс создаётся всё крутяк, но хочу сделать чтобы при релоге чара который его ставил этот нпс удалялся
Сборка люцера шара
Вот кусок кода хедлера самого итема, который ставит нпс
						L2NpcTemplate template;
						template = NpcTable.getInstance().getTemplate(50050);
						L2NpcInstance testNPC = new L2NpcInstance(IdFactory.getInstance().getNextId(),template);
						testNPC.spawnMe(_activeChar.getX(),_activeChar.getY(),_activeChar.getZ());
Code: Java
Как вобще можно реализовать чтобы при релоге игрока которые поставит этот нпс , то он удалялся. Нужно ли лесть в ядро в обработку когда чар релог\дисконект? и какое название файла примерно, и как вобще можно связать в данном случае нпс и игрока которые его заспавнил.
DakChe вне форума Ответить с цитированием
Непрочитано 03.04.2013, 17:29   #2
Аватар для Zubastic
ZG troll squad

По умолчанию Re: npc и player

Нужно "привязать" NPC к персонажу и при дисконнекте отзывать NPC. Не забываем про то, что можно попробовать вызвать несколько NPC.
Zubastic вне форума Ответить с цитированием
Непрочитано 03.04.2013, 17:43   #3
Аватар для DakChe
Пользователь

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

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Нужно "привязать" NPC к персонажу и при дисконнекте отзывать NPC. Не забываем про то, что можно попробовать вызвать несколько NPC.
А вот как это примерно можно реализовать
Если например в хендлере после спавна делать запись в базу с ИДигрока и обектИД(нпс)
и при релоге проверять если чарИд есть в базе то удалять обектИД который соответствует этому ЧарИД, ну и запись саму в базе тоже удалять
Как думаете, или это совсем колхоз будет?
DakChe вне форума Ответить с цитированием
Непрочитано 03.04.2013, 17:47   #4
Аватар для Zubastic
ZG troll squad

По умолчанию Re: npc и player

Цитата:
Сообщение от DakChe Посмотреть сообщение
А вот как это примерно можно реализовать
Если например в хендлере после спавна делать запись в базу с ИДигрока и обектИД(нпс)
и при релоге проверять если чарИд есть в базе то удалять обектИД который соответствует этому ЧарИД, ну и запись саму в базе тоже удалять
Как думаете, или это совсем колхоз будет?
Вариантов реализации много. Делайте так, как умеете. Можно через списки и listener какой-нибудь.
Zubastic вне форума Ответить с цитированием
Непрочитано 03.04.2013, 19:14   #5
Аватар для DakChe
Пользователь

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

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Вариантов реализации много. Делайте так, как умеете. Можно через списки и listener какой-нибудь.
Понятно, а как получить getObjectId только что созданого нпс
вот так не работает

						L2NpcTemplate template;
						template = NpcTable.getInstance().getTemplate(50050);
						L2NpcInstance testNPC = new L2NpcInstance(IdFactory.getInstance().getNextId(),template);
						testNPC.setTitle(_activeChar.getName());
						//testNPC.getStatus().setCurrentHpMp(testNPC.getMaxHp(), testNPC.getMaxMp());
						testNPC.spawnMe(_activeChar.getX(),_activeChar.getY(),_activeChar.getZ());
						obID = testNPC.getObjectId();
 
Code: Java
DakChe вне форума Ответить с цитированием
Непрочитано 03.04.2013, 23:08   #6
Аватар для Zubastic
ZG troll squad

По умолчанию Re: npc и player

Посмотрите как елки создаются.
Zubastic вне форума Ответить с цитированием
Непрочитано 03.04.2013, 23:22   #7
Аватар для DakChe
Пользователь

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

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Посмотрите как елки создаются.
Да я глядел, особо ничего не нашёл
вот кусок кода, если это он, ёлки кстати при релоге не исчезают, или вы имеете ввиду они как то привязываются к игроку?

		switch (sitem.getType())
		{
		case 0: // static summons (like christmas tree)
			try
			{
				L2Spawn spawn = new L2Spawn(npcTemplate);
 
				spawn.setId(IdFactory.getInstance().getNextId());
				spawn.setLocx(activeChar.getX());
				spawn.setLocy(activeChar.getY());
				spawn.setLocz(activeChar.getZ());
				L2World.getInstance().storeObject(spawn.spawnOne(true));
				activeChar.destroyItem("Summon", item.getObjectId(), 1, null, false);
				activeChar.sendMessage("Created " + npcTemplate.getName() + " at x: " + spawn.getLocx() + " y: " + spawn.getLocy() + " z: " + spawn.getLocz());
			}
			catch (Exception e)
			{
				activeChar.sendPacket(SystemMessageId.TARGET_CANT_FOUND);
			}
 
			break;
Code: Java
DakChe вне форума Ответить с цитированием
Непрочитано 03.04.2013, 23:29   #8
Аватар для Zubastic
ZG troll squad

По умолчанию Re: npc и player

На оффе привязываются, у Вас нет...
Zubastic вне форума Ответить с цитированием
Непрочитано 06.04.2013, 22:49   #9
Аватар для DakChe
Пользователь

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

Цитата:
Сообщение от Zubastic Посмотреть сообщение
На оффе привязываются, у Вас нет...
А вы не в курсе ли в шаре есть исходы где это реализовано и можно глянуть хоть примерно?в какой сборке

И всё же как можно получить getObjectId() нпс который мы только что создали
DakChe вне форума Ответить с цитированием
Непрочитано 06.04.2013, 22:58   #10
Аватар для linliss
Герой

По умолчанию Re: npc и player

spawn.getLastSpawn().getObjectId()
linliss вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Rename.java ALANEX Lineage II 2 11.03.2013 22:01
Твт при старте отменяется bybs Работа со скриптами 14 15.12.2012 09:16
[Сервер]Решение проблем,ошибок kiberk World of WarCraft 398 20.11.2011 14:02
евенты с опенов Megapolis Lineage II 14 29.04.2011 22:25
Срикпт Ctf эвента niko42 Работа со скриптами 2 14.12.2010 03:00


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

Вверх