Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Форум для новичков[JAVA]/[question] НПЦ с темплайт ИД чаров!
Search

[question] НПЦ с темплайт ИД чаров!

6 replies70 viewsCurrently viewing: 1
E
evgenii

User

Участник

Posts: 32

На форуме с: 10/01/2008

Репутация: +3

Рейтинг: 0

· 08/08/2009, 07:50 AM

Сборка: L2J Server
Вопрос: Можно ли зделать гуарда НПЦ или монстра точной копией игрока??



Мои соображения по этому поводу: например взять ИД чара и впихнуть его в Темп ИД НПЦ )))

0
[
[GM]AssAssIn

User

Бывалый

Posts: 156

На форуме с: 08/08/2009

Репутация: +288

Рейтинг: 0

· 08/08/2009, 08:02 AM

Нельзя, но есть такие НПЦ, которые похожи на игрока (те,кто дают профу,у кого учить скиллы).

0
Ден
Ден

User

Участник

Posts: 78

На форуме с: 05/23/2008

Репутация: +11

Рейтинг: 0

· 08/08/2009, 08:18 AM

На форуме сервергейм.ру есть в подфоруме мануалы,мануал под названием "Делаем NPC обычными игроками! Из NPCs в PCs".

0
[
[GM]AssAssIn

User

Бывалый

Posts: 156

На форуме с: 08/08/2009

Репутация: +288

Рейтинг: 0

· 08/08/2009, 08:26 AM

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

0
L
lin

User

Новичок

Posts: 17

На форуме с: 08/01/2009

Рейтинг: 0

· 08/08/2009, 10:13 AM

тоже задумывался над этим но руки не доходили...)

0
MasterKamael
MasterKamael

User

Бывалый

Posts: 118

На форуме с: 09/05/2007

Репутация: +239

Рейтинг: 0

· 08/08/2009, 10:27 AM

Вот мануал:

Качаем данный архив- _http://rapidshare.com/files/163363248/Darki699.rar

Для начала вводим SQL "npc_to_pc_polymorph" и остальные в базу.

Что он сделает?

К примеру:

строка 1: Изменит всех "patrols" с внешним видом под ID template=31674 в людей (humans) одетых в аппела и держащих рендомное оружие.
строка 2: Изменит всех "patrols" из template 31673 в людей (humans) одетых в Аппела и держачих в руках луки.(Лук стандартный от обычных NPC)
строка 3: Превратит одного заспауненого (рендомного гуарда) в чара рассы kamael, чар будет одет в draconic, а в руке у него будет "Infinity dagger" Пол чара - random)
строка 4: Изменит всех гремленов в PC "Evil dwarves" с кармой и рендомным оружием, вещами и разным внешним видом!
строка 5-7: Превратит всех Goddard Siege NPCs в рендомных игроков файтеров.



Вот сами исходники:

Java code :

Мануал по инсталяции:

Первым делом скопируйте куда то эти три файла:
/gameserver/network/serverpackets/CustomNpcInfo.java
/gameserver/model/actor/instance/L2CustomNpcInstance.java
/gameserver/instancemanager/CustomNpcInstanceManager.java

В L2NpcInstance добавте это:

Код
import net.sf.l2j.gameserver.instancemanager.CustomNpcInstanceManager;

Код
variable
+    /** The Polymorph object that manage this L2NpcInstance's morph to a PcInstance... I wrote this line too =P Darki699 */
+    private L2CustomNpcInstance _customNpcInstance;
+

В функцию onRandomAnimation() нужно вставить код чтоб PCs имели больше детальную анимацию чем NPCs
Код
-        // Send a packet SocialAction to all L2PcInstance in the _KnownPlayers of the L2NpcInstance
-        SocialAction sa = new SocialAction(getObjectId(), Rnd.get(2, 3));
+        int min = (_customNpcInstance != null) ? 1  : 2;
+        int max = (_customNpcInstance != null) ? 13 : 3;
+    // Send a packet SocialAction to all L2PcInstance in the _KnownPlayers of the L2NpcInstance
+        SocialAction sa = new SocialAction(getObjectId(), Rnd.get(min, max));

В функцию setSpawn(L2Spawn spawn) добавляем данный код:
Код
+        // Does this Npc morph into a PcInstance?
+        if (_spawn != null)
+        {
+            if (CustomNpcInstanceManager.getInstance().isThisL2CustomNpcInstance(_spawn.getId() , getNpcId()))
+            {
+            new L2CustomNpcInstance(this);
+            }
+        }

Ну и в конце L2NpcInstance.java добавте две строчки:
Код
+    public L2CustomNpcInstance getCustomNpcInstance()
+    {
+    return _customNpcInstance;
+    }
+    
+    public void setCustomNpcInstance(L2CustomNpcInstance arg)
+    {
+    _customNpcInstance = arg;
+    }

Теперь в NpcInfo.java (serverpackets) это поверх измененных NPCs, в коде NpcInfo(L2NpcInstance cha, L2Character attacker) добавте:
Код
+ if (cha.getCustomNpcInstance() != null)
+ {
+ attacker.sendPacket(new CustomNpcInfo(cha));
+                      if (_activeChar == null)
+ return;
+ }

Всё готово.

информация взята с _http://worldonline.com.ua/news/2009-02-04-264

Личные замечания:
первую часть можно использовать как шаблон и переделать только то, на что дал возможность автор архива
по поводу второй части:
без исходников сборки и соображаловки вы здесь ничего не поймёте и не сделаете =)


P.S. Как обычно юзал яндекс

— 27

0
Topic is closed for replies