Jump to content

Delete NPC when a MOB dies


Tamira

Recommended Posts

 @Override
    public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
    {
        switch (npc.getNpcId())
        {
            case Pai:
                if (npc.getNpcId() == Filho)
                {
                    npc.deleteMe();
                }                
                break;                    
        }
        return super.onKill(npc, player, isPet);
    }

 

It should work like this... the "MOB Pai" dies and the "NPC Filho" is deleted.

Why cant i make the "NPC Filho" be deleted? how the npc.deleteMe(); works?
Any other function that i use for the "MOB Pai" works well. but looks like anything cant access "NPC Filho".

Remember "MOB Pai" is a monster.
"NPC Filho" is a Teleporter.

Another thing. the "NPC Filho" only spawns when the "MOB Pai" have its own spawn. that i did make works by my self. my problem is this npc.deleteMe(); 

 

Link to comment
Share on other sites

Okey, lets see it again with examples:

 

@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
{
	int Pai = 50;
	int Filho = 100;
	
	switch (npc.getNpcId()) // Get the id of the dead monster
	{
		case Pai: // We found it and the dead monster ID is 50
			if (npc.getNpcId() == Filho) // We comparing if the dead monster's ID is 100. IT is not ... It is 50...
			{
				npc.deleteMe(); // This should never run..
			}                
			break;                    
	}
	return super.onKill(npc, player, isPet);
}

 

its like:

 

int value = 50;

switch (value)
{
	case 50:
	if (value == 100)
		System.out.println("hi");
		break;
}

We wont get any print at our console...

Link to comment
Share on other sites

22 hours ago, melron said:

Okey, lets see it again with examples:

 


@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
{
	int Pai = 50;
	int Filho = 100;
	
	switch (npc.getNpcId()) // Get the id of the dead monster
	{
		case Pai: // We found it and the dead monster ID is 50
			if (npc.getNpcId() == Filho) // We comparing if the dead monster's ID is 100. IT is not ... It is 50...
			{
				npc.deleteMe(); // This should never run..
			}                
			break;                    
	}
	return super.onKill(npc, player, isPet);
}

 

its like:

 


int value = 50;

switch (value)
{
	case 50:
	if (value == 100)
		System.out.println("hi");
		break;
}

We wont get any print at our console...

 

Thx u very much 

But i cant find a way to make this works.. how can i make "MOB Pai" dies and something happens with "NPC Filho" ?? i tryed a lot of things and cant make it work
Help please!

Link to comment
Share on other sites

7 minutes ago, Tamira said:

 

Thx u very much 

But i cant find a way to make this works.. how can i make "MOB Pai" dies and something happens with "NPC Filho" ?? i tryed a lot of things and cant make it work
Help please!

You should save somewhere the npc Filho when it will be spawned and when the mob Pai dies, you have to get the instance of the other npc...

 

like:

switch (npc.getNpcId()) 
{
	case Pai:
		YourData.getFilho().deleteMe();
		break;
}

 

Edited by melron
Link to comment
Share on other sites

Are there no similar quests where you can look it up? I think there was a quest where you have to bring one SOE to a specific NPC. After you did that he disappeared. And respawned later on. Quest was somewhere between Dwarf start area and schuttgart

Link to comment
Share on other sites

You have to store the Npc reference on the Quest instance level, with a static Npc _npc when it spawns.

 

addSpawn normally return the created Npc, simply store the instance on the famous _npc variable for further usage. _npc has to be cleaned in same time you delete the instance, otherwise it's possible to refer to a non-existing instance.

 

There are few exemples in quests with such variables, I'm sure some quests in aCis got some "_pilgrim" Npc references saved for further usage. Q024/Q025 FoD quest serie also got a chamberlain ghost which walk to a point and is deleted once he did his track.

 

PS : you also have to check if such _npc reference is already filled to avoid to duplicate Npc AND to lose references (meaning a _npc.deleteMe() wouldn't work anymore). A null check is enough.

 

If the solution of a unique static instance isn't ok for you, you have to track all references for every single Player ; you also have to delete the reference once Player logout otherwise it fills the Map for nothing.

Edited by Tryskell
Link to comment
Share on other sites

56 minutes ago, Rootware said:

The idiotic question. Why you tries to delete killed NPC? You have a problems with decaying killed NPCs?

 

He wants to kill one Minster and another NPC should disappear. Like the Deletion of Raid Fighters. If Raidboss dies, Spawns go *pooof*.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hood-services https://campsite.bio/utchihaamkt  
    • Server Rates: » Xp 500x. » Sp 500x. » Aden 500x. » Drop 1x. » PartyXp 2x. » PartySp 2x. » Starting character level -61. Enchant rates: » Safe enchant +4. » Blessed and simple scrolls max enchant (+16). » Crystal scrolls max enchant (+20). » Simple enchant scrolls chance – 65%. » Blessed enchant scrolls chance – 100%. » Crystal enchant scrolls chance – 50% Augmentations: » Mid life stone skill chance – 5%. » High life stone skill chance – 10%. » Top life stone skill chance – 20%. » Augments 1+1 Unique features: » Main town – Giran » Automatic-Manual Potions. » Working 2 castle sieges. (Giran-Aden) » SPS cancel lasts 10 seconds and than buffs come back. » Stackable scrolls, lifestones, book of giants. » Unique pvp zone » More then 11 active raid bosses. » Wedding system. » Unique farming areas. » Npc skill enchanter. » Full npc buffer with auto buff. » Max count of buffs – 55. » Max subclasses – 4. » Free and no quest class change. » Free and no quest sub class. » Raid boss drop nobless item. » No weight limit. » Unique protection anti-hwy armor for archers/daggers etc. » Ingame password change. » Top pvp/pk/online ranks NPC. » Unique monsters & NPC. » Interlude retail skills. » Server up-time [24/7] [99]%. » Perfect class balance (all class can kill all class depending on players skill and setup knowledge,gear,augmentations). » Announcements on double kills triple kills etc. » Announcements on Grand Boss death , with the name of the killer as well as clan name of the player. » Information Npc in game with all servers infromations. Custom server gear : 1). Titanium Armor Lv.1 2). Epic Armor Lv.2 3). Epic Weapons-Kamikaze-Black S grade (Same Stats) 4). Demonic-Angelic Wings-Baium Hair-Custom Accessories (SameStats) 5). Custom Fighter/Mage tattoo Lv1-Lv2-Lv3 6). Shirt (STR,CON,INT +1) 7). Custom Shields Server Commands: .tvtjoin .tvtleave – Join or leave tvt event. .ctfjoin .ctfleave – Join or leave ctf event. .dmjoin .dmleave – Join of leave dm event. .online – current online players count. .repair – repairs stuck character in world. .menu – opens online menu panel. .exit – PVP zone exit in case you are bullied. .changepassword - Opens online menu then u can change ur password in game. .farm - Enable/disable autofarm Event system: » TVT event » CTF event » DM event » Tournament Event » Party Zone » Unique event shop. Olympiad game: » Retail olympiad game. » Competition period [1] week. » Olympiad start time [18:00] end [00:00] GMT+2. » New Heroes every Sunday.
    • Tomorrow grand opening lests go 🙂 
    • New season of Warfire X150 has been postponed to September 28th.
  • Topics

×
×
  • Create New...