EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Custom (https://www.eqemulator.org/forums/forumdisplay.php?f=671)
-   -   Custom NPC spawn (https://www.eqemulator.org/forums/showthread.php?t=43881)

Keerok 06-02-2023 09:23 AM

Custom NPC spawn
 
Hi, i am pretty new to making custom scripts, just wondering how to do the following if possible

I would like a npc to shout in zone if another rare pop npc spawns rather the the actual rare shouting if it spawned
NPC A = watch npc
NPC B = rare spawn

I have the watcher set to invis/untargetable etc and the rare npc set to a low chance to spawn, just trying to figure a way to make the watcher shout if it spawns

Or if there is a better way to do it -)

Thanks for any info

nilbog 06-02-2023 09:52 AM

I am not sure what scripting language you are using, or if signals are still appropriate, but...

One easy way would be to have the rare npc signal the watcher npc when it spawns. Watcher npc shouts when it receives signal.

Keerok 06-02-2023 10:30 AM

Thank you for the quick responce, I looked into the signals and got it working.
Thank you again -)

Asylum 07-23-2023 03:41 PM

Yes, it's been a while since I was on here but I'm back and thought I'd start by trying to help answer some questions for those writing scripts. I know I'm not even close to the knowledge of some on here, but in the process of relearning this to start up my old EMU server, I'll try to answer some of your coding questions.

This one seems quite easy to accomplish, as nilbog suggested, just have the named NPC signal to a monitoring (watch) npc that it has spawned. I have attached the code you'll need. I prefer Perl so translate to lua as you wish.

As I mentioned, it's been a time since posting on here, and I may or may not have remembered the proper syntax for attaching code. Apologies.

Code:


#Watch npc, your NPC A (1000) change ID from 1000 to match your NPC A watch npc
#Add the following code to your NPC A Perl file.

sub EVENT_SIGNAL {
        if ($signal == 1) {
                quest::shout("Some named NPC has spawned!");
        }
}

#Named mob, your NPC B (1001) change ID from 1001 to match your NPC B named mob
#Add the following code to your NPC B Perl file.

sub EVENT_SPAWN {
        quest::signalwith(1000, 1); #let NPC A know I spawned, change ID from 1000 to match your NPC A
}



All times are GMT -4. The time now is 05:56 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.