Jump to content

Recommended Posts

Posted

Hello folks ,

 

this share was made by darki69 so credits go to him .. it morphs NPCs to normal PCs/Players .. check below

 

the code

NSERT INTO npc_to_pc_polymorph VALUES
  (0, 31674, "Town Patrol", "Guard", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 4222, 7868, 7867, 0, 7869, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0);
  (0, 31673, "Town Patrol", "Archer", 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 7868, 7867, 0, 7869, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
  (30256, 0, "Royal Guard", "Captain", 133, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0, 8, 6617, 0, 6380, 6379, 0, 6381, 9204, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
  (0, 18342, "Evil Dwarf", "NULL", 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 5);
  (0, 35350, "NULL", "NULL", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 7);
  (0, 35351, "NULL", "NULL", 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 7);
  (0, 35343, "NULL", "NULL", 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 8);

 

Hmm.. What does this do?

LOL

 

Well the table looks like this

-- ---------------------------
-- Table structure for `characters`
-- ---------------------------
CREATE TABLE IF NOT EXISTS `npc_to_pc_polymorph` (
  `spawn` int(9) NOT NULL default '0',
  `template` int(9) NOT NULL default '0',
  `name` varchar(35) default NULL,
  `title` varchar(35) default NULL,
  `class_id` int(3) NOT NULL default '0',
  `female` int(1) NOT NULL default '0',
  `hair_style` int(1) NOT NULL default '0',
  `hair_color` int(1) NOT NULL default '0',
  `face` int(1) NOT NULL default '0',
  `name_color` int(7) NOT NULL default '0',
  `title_color` int(7) NOT NULL default '0',
  `noble` int(1) NOT NULL default '0',
  `hero` int(1) NOT NULL default '0',
  `pvp` int(1) NOT NULL default '0',
  `karma` int(7) NOT NULL default '0',
  `wpn_enchant` int(7) NOT NULL default '0',
  `right_hand` int(7) NOT NULL default '0',
  `left_hand` int(7) NOT NULL default '0',
  `gloves` int(7) NOT NULL default '0',
  `chest` int(7) NOT NULL default '0',
  `legs` int(7) NOT NULL default '0',
  `feet` int(7) NOT NULL default '0',
  `hair` int(7) NOT NULL default '0',
  `hair2` int(7) NOT NULL default '0',
  `pledge` int(2) NOT NULL default '0',
  `cw_level` int(3) NOT NULL default '0',
  `clan_id` int(9) NOT NULL default '0',
  `ally_id` int(9) NOT NULL default '0',
  `clan_crest` int(9) NOT NULL default '0',
  `ally_crest` int(9) NOT NULL default '0',
  `rnd_class` int(1) NOT NULL default '0',
  `rnd_appearance` int(1) NOT NULL default '0',
  `rnd_weapon` int(1) NOT NULL default '0',
  `rnd_armor` int(1) NOT NULL default '0',
  `max_rnd_enchant` int(7) NOT NULL default '0',
  KEY `spawn` (`spawn`),
  KEY `template` (`template`)
) DEFAULT CHARSET=utf8;

 

Still don't know?

OK no more clues:

 

For example:

lines in the first sql code:

 

  •      line 1: Morph all patrols from template 31674 into humans wearing appela holding random weapons
  •      line 2: Morph all patrols from template 31673 into humans wearing appela holding the npc bows
  •      line 3: Morph ONE specific spawn (random patrol guard I chose) into a hero kamael char wearing draconic and holding an Infinity dagger (PC sex is left undetermined - random)
  •      line 4: Change all gremlins into PC "Evil dwarves" with karma and holding random weapons/ wearing random clothes, with random appearance
  •      line 5-7: Morph all Goddard Siege NPCs into Random PC fighters.

 

Shot00032-1.jpg

http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00032-1.jpg

 

width=640 height=480http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00027-1.jpg[/img]

http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00027-1.jpg

 

width=640 height=480http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00017.jpg[/img]

http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00017.jpg

 

width=640 height=480http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00016.jpg[/img]

http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00016.jpg

 

width=640 height=480http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00012.jpg[/img]

http://i208.photobucket.com/albums/bb79/LightAvenger/Shot00012.jpg

 

 

Java code :

 

Guide to install:

1st Stage - Add these 3 New files:

 

    /gameserver/network/serverpackets/CustomNpcInfo.java

    /gameserver/model/actor/instance/L2CustomNpcInstance.java

    /gameserver/instancemanager/CustomNpcInstanceManager.java

 

Just place those files...

 

2nd step:

In L2NpcInstance add this

import:

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;
+    

 

in function onRandomAnimation() add this (coz PCs have more animations than regular 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));

 

Where it shows the admin the (SHIFT+TARGET) NPC data add this (not necessary, just helpful to see the spawn_id, instead of guessing it):

-            html1.append("<tr><td>Object ID</td><td>"+getObjectId()+"</td><td>NPC ID</td><td>"+getTemplate().getNpcId()+"</td></tr>");
+            html1.append("<tr><td>Object ID</td><td>"+getObjectId()+"</td></tr>");
+            html1.append("<tr><td>NPC ID</td><td>"+getTemplate().getNpcId()+"</td></tr>");
+            html1.append("<tr><td>Spawn ID</td><td>"+getSpawn().getId()+"</td></tr>");

 

in function setSpawn(L2Spawn spawn) add this to initialize the morph:

+        // Does this Npc morph into a PcInstance?
+        if (_spawn != null)
+        {
+            if (CustomNpcInstanceManager.getInstance().isThisL2CustomNpcInstance(_spawn.getId() , getNpcId()))
+            {
+            	new L2CustomNpcInstance(this);
+            }
+        }

 

and at the end of L2NpcInstance.java add these 2 functions:

+    public L2CustomNpcInstance getCustomNpcInstance()
+    {
+    	return _customNpcInstance;
+    }
+    
+    public void setCustomNpcInstance(L2CustomNpcInstance arg)
+    {
+    	_customNpcInstance = arg;
+    }

 

Now add into NpcInfo.java (serverpackets) this override for morphed npcs,

in the constructor NpcInfo(L2NpcInstance cha, L2Character attacker) add:

 

+		if (cha.getCustomNpcInstance() != null)
+		{
+			attacker.sendPacket(new CustomNpcInfo(cha));
+                      if (_activeChar == null)
+			return;
+		}

 

Hf , Credits are on the top of the share

 

Diff patch link :

http://rapidshare.com/files/163363248/Darki699.rar

Posted

pretty good share .

Good job for darki69 .

And thnx vent00za AKA Stergo for sharing with us .

Also i think that credits goes in the end of the topic , i tell that cuz in the past we had a warn to XxXExosoulerXxX cuz he wrote the credits in the begin of the topic and not in the end .

Anyway ty for sharing with us . 

Posted

if it goes first or if it goes at last its the same .... big deal  8)

 

Diff patch added

Posted

OMFG If you start changing their names they starting to look just like real players and thats funny and strange never seen it before thanks for sharing it, i find it awesome.

  • 2 weeks later...
  • 1 month later...
Guest
This topic is now closed to further replies.



  • Posts

    • if you are sending him clients i have no words mate that means you know him.
    • Looking to hire a skilled L2J developer or team to build a custom private server for solo play with advanced server-side AI bots. This is NOT for public launch — just a self-hosted project where I can simulate a full L2 experience alone or with a few friends. 🔹 What I Need A private L2J server ( High Five preferred, newer versions can work as well) with bots that: Farm 24/7 on their own (solo or in bot parties) Can be invited into party and follow basic orders (attack, follow, res, heal, etc.) Are able to join Olympiad, fight with proper logic (per class), and rank up Can coordinate for Raid Bosses (check spawn, move, assist, heal, DPS, etc.) Act like real players: town routines, rebuffing, restocking, even chatting if possible Have different roles: tanks, healers, nukers, archers, etc. Can interact through simple in-game commands or NPC interface 🔹 Your Job Set up the server and geodata Integrate a scalable bot system (written in Java or scriptable) Write clean, modular AI behavior (farming, PvP, party play, raid logic, etc.) Allow me to control/assign bots easily (in-game or config) Bonus: basic UI or GM panel for bot config 🔹 Payment Serious budget for serious work PayPal, crypto, or preferred method Project-based or hourly, negotiable Milestone-based OK 🔹 Contact Send me: Your experience with L2J or similar projects Any bot/AI systems you've built before Estimated timeframe Pricing expectations
    • Yeah, it’s wild how much gambling has changed. When I was growing up, even scratch-off tickets felt like a big thing, but now with so many casino apps and betting sites, it’s just everywhere. I know a few people who got caught up in online slots during lockdown and really struggled to stop, just because it was always on their phone.   I stick to in-game stuff like skin trading for games like CS2 or Dota, which to me feels less risky, especially if you know the value of the items. If you’re curious how these trades work or want to see some guides, just visit website—there’s a lot of info about trading without real gambling involved.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock