Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 07-25-2006, 12:51 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default Making Bilge Farfathom rare again

This is a bit of a whopper, but it works. I have posted all the PL files here also, for download;
http://www.nahunta.org/~angelox/ Note: you can use these pls as - is, but will have to make the NPC's and replace the NPC id numbers.
Dagnor's Cauldron (PEQ version) still needs a lot of work done - for starters, all the rats, snakes, skeltons are roamers - so are a lot of the goblins. A lot of the mobs roam from the island in the center, to the borders of the lake. The four NPC's at the npc camp you pass as you head for for the zone of unrest, call themselves the "Fabulous Four" one of them will heal you on request (Nyrien Lyrdarniel), and another Sigan Ilbirkun will "escort" you out whan properly asked. All four of them hate rats, snakes, gobbies, etc., and will gang up on them and kill if they cross their camp. A lot of mobs path through the Fab Four camp and get killed, this serves as a "safe zone" for players and helps "throw" the tracker-class pc types.
At one time, Bilge Farfathom and his "Pearl Kedge Totem" were very sought out - in the days when 1k pp meant something, the Totem had a big price tag on it for around 20K. I had a few friends who went on a "get rich fast" quest and thought they were going to drop Bilge quick. Most never even saw him. You could sit there for days, and never see him - usually, when he did show up, it was because people were playing in the zone, and not someone camping him. I camped him like crazy too for days, never saw him - but once passing through, I got him and another time got him just during normal play, when the zone had a lot of players. I think to this day, no one has never really figured out the Bilge Farfathom spawn pattern - they have a good idea where he spawns, but don't know what mob triggers the Bilge spawn.
Anyways, I figure the trigger must be in the water somewhere, as no one ever plays in the water because there's nothing to do there. heres what I did: made a loop of four spawns in the water;
MobA is outside the loop in the gobbie camp by unrest zone he's the loop starter.
(all are Event_Death)
MobA spawns normal off the eqemu / database.
mobA dies and spawns MobB , then flags himself not to spawn anymore npc's in
the loop when he respawns;
Code:
#Bilge Farfathom spawn
#npc - #aqua_goblin_mariner - randomly spawns 1 of 4 Bilge triggers around the zone)
#zone - Dagnors Cauldron

sub EVENT_DEATH{
 my $a=70060; #npc - an_aqua_goblin_mariner starts the loop
 if ($mdied==1){ #mariner died once
  #quest::say("I already died once!");
 }else{
   #quest::say("Starting cycle");
   quest::spawn2($a,5,0,-296.37,-122.31,-349.32,122);
   $mdied=1; #mark mariner died once
 }
}
rest are in the water ad different locations,
MobB is killed and spawns MobC 90%, and 10% Bilge Farfathom.
MobC is killed and spawns MobD 90%, and 10% Bilge Farfathom.
MobD is killed and spawns MobE 90%, and 10% Bilge Farfathom.
MobE is killed and spawns MobB 90%, and 10% Bilge Farfathom; MobE will start
at the top again.

Code:
#Bilge Farfathom spawn
#npc - #a_caulderon_rat (trigger for #Bilge_Farfathom 70059)
#zone - Dagnors Cauldron

sub EVENT_DEATH{
 my $random_result = int(rand(100));
 my $a=70059; #Bilge
 my $b=70062; #npc - #an_undertow_skeleton
 if($random_result<90){
  quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
  #quest::say("spawn skele");
  }else{
    #quest::say("Spawning Bilge Farfathom");
    quest::spawn2($a,4,0,-1123.30,-1194.57,-98.32,122);
  };
 };
Code:
#Bilge Farfathom spawn
#npc - #an_undertow_skeleton (trigger for Bilge)
#zone - Dagnors Cauldron

sub EVENT_DEATH{
 my $random_result = int(rand(100));
 my $a=70059; #Bilge
 my $b=70060; #npc - an_aqua_goblin_mariner
 if($random_result<90){
  quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
  #quest::say("spawn mariner");
  }else{
    #quest::say("Spawning Bilge Farfathom");
    quest::spawn2($a,4,0,-1123.30,-1194.57,-98.32,122);
  };
 };
Code:
#Bilge Farfathom spawn
#npc - an_aqua_goblin_mariner (trigger for #Bilge_Farfathom 70059)
#zone - Dagnors Cauldron

sub EVENT_DEATH{
 my $random_result = int(rand(100));
 my $a=70059; #Bilge
 my $b=70061; #npc - #aqua_goblin_shaman
 if($random_result<90){
  quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
  #quest::say("spawn shaman");
  }else{
    #quest::say("Spawning Bilge Farfathom");
    quest::spawn2($a,4,0,-1123.30,-1194.57,-98.32,122);
  };
 };
Code:
#Bilge Farfathom spawn
#npc - #aqua_goblin_shaman (trigger for #Bilge_Farfathom 70059)
#zone - Dagnors Cauldron

sub EVENT_DEATH{
 my $random_result = int(rand(100));
 my $a=70059; #Bilge
 my $b=70063; #npc - #a_cauldron_rat
 if($random_result<90){
  quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
  #quest::say("spawn rat");
  }else{
    #quest::say("Spawning Bilge Farfathom");
    quest::spawn2($a,4,0,-1123.30,-1194.57,-98.32,122);
  };
 };
If Bilge Farfathom happens to spawn, The loop will go on hold tell he dies -
when he dies, he restarts the loop with a 25% chance to any one of the four
above to spawn;

Code:
#Bilge Farfathom spawn
#npc - #Bilge_Farfathom - randomly spawns 1 of 4 Bilge triggers around the zone)
#zone - Dagnors Cauldron
#Angelox

sub EVENT_DEATH{
 my $random_result = int(rand(100));
 my $a=70060; #npc - an_aqua_goblin_mariner
 my $b=70062; #npc - #an_undertow_skeleton
 my $c=70061; #npc - #aqua_goblin_shaman
 my $d=70063; #npc - #a_cauldron_rat
 if($random_result<25){
   #quest::say("Spawning mariner trigger1");
   quest::spawn2($a,5,0,-296.37,-122.31,-349.32,122);
  }elsif(($random_result>=25) && ($random_result<50)){
     #quest::say("Spawning skeleton trigger2");
     quest::spawn2($b,6,0,-974.5,436.4,-343.8,29);
  }elsif(($random_result>=50) && ($random_result<75)){
     #quest::say("Spawning shaman trigger3");
     quest::spawn2($c,7,0,-848.3,-184.8,216.3,37.3);
  }else{
    #quest::say("Spawning rat trigger4");
    quest::spawn2($d,8,0,612.6,625.2,209.0,175.6);
  };
};
Also, you need to make the "Fab Four" group work, so they kill roamers and help keep the cycle covered, If you do, I could use the PLs you make too.
You'll notice that all these spawns eventually end up at the NPC camp, and should get killed.

Last edited by Angelox; 07-25-2006 at 09:05 PM.. Reason: added info
Reply With Quote
  #2  
Old 07-25-2006, 01:00 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Here's a problem I have; I would like to use variables across npc's. Another words - if npcid 1 raises a flag,a different npcid 2 can change or lower it.
I spent two days on just this problem, and none of the quest::* helped either. I don't think it can be done, if anyone does happen to know a way, please post.
Reply With Quote
  #3  
Old 07-26-2006, 04:27 AM
bobbydole
Fire Beetle
 
Join Date: Jul 2006
Posts: 26
Default

I've never used it but can you use
Code:
==========
Setglobal:
==========
[old quest format]
setglobal([varname],[value],[options],[duration]);

[perl format]
quest::setglobal([varname],[value],[options],[duration]); (perl format)

The setglobal command allows you to create or modify an existing global variable for the mob you are using the command on.

==========
targlobal:
==========
[old quest format]
targlobal([varname],[value],[duration],[npcid],[charid],[zoneid]);

[perl format]
quest::targlobal([varname],[value],[duration],[npcid],[charid],[zoneid]);

This is a way to "stick" a global variable to a mob. A quick and easy way to give information to a mob or communicate.

==========
delglobal:
==========
[old quest format]
delglobal([varname]);

[perl format]
quest::delglobal([varname]);

This command is used to delete global variables when they are no longer needed. You can only delete global variables that belong to the mob the variable is for.
read more about it here:
http://www.projecteq.net/phpBB2/viewtopic.php?t=149
Reply With Quote
  #4  
Old 07-26-2006, 05:54 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by bobbydole
I've never used it but can you use

read more about it here:
http://www.projecteq.net/phpBB2/viewtopic.php?t=149
Thanks for your help, I've already tried all this with negative results ;

quest::setglobal is npc specific - If I try make two variables of the same name with different npc's, the database will add the two enties separatly and for the individual npc ids who made them.

quest::targlobal might have been intended to change another NPC's variable value, but all it does is crash the zone. If I use it on the same NPC that made the variable, it will work ok.

quest::delglobal seems to work ok, but useless to me, since the latter two can not apply

I have more success with "global quests" switched off and the regular Perl variables.

It appears these commands are more intented for the many quests in EQ, that require dealing with one npc at a time.

It would be helpful to be able to set a "global" variable that could be use by any npc in the game.
Reply With Quote
  #5  
Old 07-26-2006, 06:54 AM
ylosh
Sarnak
 
Join Date: Jan 2006
Posts: 39
Default

that's exactly what quest::setglobal() does with the different option sets.

Code:
           +--------+---------+---------+----------+
           |  value |  npcid  |  player |   zone   |
           +--------+---------+---------+----------+
           |   0    |  this   |   this  |   this   |
           |   1    |  all    |   this  |   this   |
           |   2    |  this   |   all   |   this   |
           |   3    |  all    |   all   |   this   |
           |   4    |  this   |   this  |   all    |
           |   5    |  all    |   this  |   all    | 
           |   6    |  this   |   all   |   all    |
           |   7    |  all    |   all   |   all    |
           +--------+---------+---------+----------+
Reply With Quote
  #6  
Old 07-26-2006, 07:37 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

I see now, haven't tried it in that way - I'll try again, thanks
Reply With Quote
  #7  
Old 10-15-2006, 01:18 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

I'm working on the .pl's for the "Fabulous Four" in this zone, I already have them chatting and doing a few things - I still have to figure out how to get Mr Sigan to kill roamers that pass through the camp. In fact, when EQ was young, all four of them would kill roamers. If anyone knows how to do this, please post.
If anyone wonders how I get info for these PLs, I still have an account with EQ, which I use for stuff like this. I also go to allakhazam and see what I can find there. I think this method is almost 100% accurate.
You can get the quests at my web page.
Reply With Quote
  #8  
Old 10-15-2006, 01:20 PM
mattmeck
Guest
 
Posts: n/a
Default

You can have him kill the mobs by using factions, just make them KOS to him.
Reply With Quote
  #9  
Old 10-16-2006, 11:14 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by mattmeck
You can have him kill the mobs by using factions, just make them KOS to him.
I've looked and set the factions to what I think would work, but still nothing. Is there any other special setting I need to make so he will see they are KOS?
Reply With Quote
  #10  
Old 10-17-2006, 12:19 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Not only his faction, but did you set how he reacts to opposing factions? Attack, Assist, Neutral?
Reply With Quote
  #11  
Old 10-17-2006, 12:47 AM
Aramid
Discordant
 
Join Date: May 2006
Posts: 356
Default

Quote:
Originally Posted by Angelox
I've looked and set the factions to what I think would work, but still nothing. Is there any other special setting I need to make so he will see they are KOS?
Did you set the 'NPC Aggro' flag?
__________________
Random Segments of Code....
Reply With Quote
  #12  
Old 10-17-2006, 12:52 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by John Adams
Not only his faction, but did you set how he reacts to opposing factions? Attack, Assist, Neutral?
Thanks, I see now where my mistake is ; But If I make the changes, would this apply to all the NPC's using that faction? or should I just make a new faction for NPC's that will attack other NPC's?
Reply With Quote
  #13  
Old 10-17-2006, 12:54 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by Aramid
Did you set the 'NPC Aggro' flag?
Thanks for your help-
If you mean npc_aggro, yes
Reply With Quote
  #14  
Old 10-17-2006, 12:57 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

The data you are changing is in a tabled called npc_faction_entries.

Columns: npc_faction_id | faction_id | value | npc_value
Data: 4 | 106 | -30 | -1

That last bit, npc_value, is the NPCs aggro flad Aramid mentioned. It does look like it might effect all NPCs in that faction, but you can make a custom version of that faction for your NPC/Group that's tied to the base (faction_id). I think. It's early. And I have a 40 mi drive ahead of me. I'll check back later.
Reply With Quote
  #15  
Old 10-17-2006, 01:21 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by John Adams
The data you are changing is in a tabled called npc_faction_entries.

Columns: npc_faction_id | faction_id | value | npc_value
Data: 4 | 106 | -30 | -1

That last bit, npc_value, is the NPCs aggro flad Aramid mentioned. It does look like it might effect all NPCs in that faction, but you can make a custom version of that faction for your NPC/Group that's tied to the base (faction_id). I think. It's early. And I have a 40 mi drive ahead of me. I'll check back later.
In this case, here in Cauldron, there's a "double" reason for these npc's to kill roamers; one is, it's a place for players to hang out for protection; I'm not finished with Cauldron yet, but the true Dagnor's Cauldron has 90% of the mobs roaming, and can be real dangerous to a new player - the Fab4 camp can be a real safe-haven, if you're playing "straight".
And there's also the issue with Bilge Farfathom spawn: his placeholder eventually ends up in the Fab4 camp and gets killed (so does Bilge, if he spawns and no one takes him). This effect increases the Bilge mystery, as he will appear out of nowhere and no one need really be camping him.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 08:27 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3