EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Corpse summoners in Guild Lobby (https://www.eqemulator.org/forums/showthread.php?t=32555)

Huppy 11-28-2010 12:37 PM

Corpse summoners in Guild Lobby
 
Is this summoning quest supposed to be working for the corpse summoners
in the Guild Lobby ? I was testing it out (died to leave a corpse), but it
doesn't seem to acknowledge that I have a corpse.
(Gives me the "The voice booms angrily in your mind, Be gone from this place.
You waste my time!" message.)

sub EVENT_SAY {
my $charid = 0;
my $corpse = 0;
my $charid = $client->CharacterID();
my $x = $npc->GetX();
my $y = $npc->GetY();
my $z = $npc->GetZ();
my $corpse = quest::getplayerburriedcorpsecount($charid);

if($text=~/hail/i) {
$client->Message(4, "The spectral figure stares into your soul with cold eyes, its voice entering your mind. We keep all that has been lost. In times past, nothing be returned once it was mine. Time have changed. The bodies, your [bodies], that were lost to you can now be returned.");
}
if($text=~/bodies/i && $corpse == 0) {
$client->Message(13, "The voice booms angrily in your mind, Be gone from this place. You waste my time!");
}
if($text=~/bodies/i && $corpse > 0) {
quest::summonburriedplayercorpse($charid, $x, $y, $z, 0);
}
}

cylynex2 11-28-2010 05:54 PM

It works after the bodies have been dead for like 24 hours or something, not sure why. But if you die today, go tomorrow and it will summon your corpse.

Huppy 11-28-2010 06:18 PM

That script must be dealing with expired corpses or something.
I'll have to poke around and see if I can fix it somehow.

steve 11-28-2010 10:11 PM

Quote:

Originally Posted by Huppy (Post 194585)
That script must be dealing with expired corpses or something.
I'll have to poke around and see if I can fix it somehow.

Yes:
my $corpse = quest::getplayerburriedcorpsecount($charid);
...
quest::summonburriedplayercorpse($charid, $x, $y, $z, 0);

It's summoning ones that get sent to Shadowrest.

Huppy 11-29-2010 08:47 AM

Actually, I noticed that is the same script the summoner uses in Shadowrest,
so it makes sense. I figured I might as well change the rule value timer for the
corpse decay to 7 days (like live). But I like the "old school" way of having to
do a corpse run anyway. Its more fun. :)

cannon 04-14-2011 10:00 AM

Guild Lobby Corpse Summoners
 
I realize this is an old post but I spent time trying to find a work around for the guild summoners and thought someone might be able to use it. If anyone else actually has them working properly please fill me in. Thanks.

I used the veteran aa spell Expedient Recovery with the selfcast. I understand this gives 100 pct exp but when your in the guild lobby and can summon all of your corpse and usually get a 96% rez anyway, it's not that much of a difference. I might spend the time the time to actually accept the soulstones by checking the players level and turn in item, but this is extra work i don't feel like doing right now. I just couldn't find any other way to get them to summon all corpses without giving experience back.

Jaekob 04-14-2011 01:00 PM

There is a quest command to bury corpses to avoid the decay timer/server reboot or whatever is set to send them to shadowrest. This is an example from qinimi, Besana_the_Gravedigger
Code:

sub EVENT_SAY {
$charid = 0;
$corpse = 0;
$charid = $client->CharacterID();
$x = $npc->GetX();
$y = $npc->GetY();
$z = $npc->GetZ();

 if ($text=~/hail/i) {
    quest::say("I am ... [wish to live again] and I will dig up the body for them.");
    quest::buryplayercorpse($charid);
    $corpse = quest::getplayerburriedcorpsecount($charid);
  }
if($text=~/wish to live again/i && $corpse == 0) {
    quest::say("You have no corpse in this zone");
    }
if($text=~/wish to live again/i && $corpse > 0) {   
    quest::say("And so you shall my friend. And so you shall.");
    quest::summonburriedplayercorpse($charid, $x, $y, $z, 0);
    $corpse = 0;
    $charid = 0;
  }
}


sehall 05-13-2011 05:49 PM

Jaekob was correct
 
I got the corpse summoners in the guild lobby by doing what Jaekob suggested. In the perl scripts A_Priest_of_Luclin and A_Priestess_of_Luclin, place this command: quest::buryplayercorpse($charid);
before this command: $corpse = quest::getplayerburriedcorpsecount($charid);

It burys the player corpse so that it can be summoned.

provocating 11-25-2011 03:02 PM

It really does work beautifully. I made a small modification to let the player know a corpse was found.

Code:

sub EVENT_SAY {
  my $charid = 0;
  my $corpse = 0;
  my $charid = $client->CharacterID();
  my $x = $npc->GetX();
  my $y = $npc->GetY();
  my $z = $npc->GetZ();
 
  quest::buryplayercorpse($charid);
  my $corpse = quest::getplayerburriedcorpsecount($charid);

  if($text=~/hail/i) {
  $client->Message(4, "The spectral figure stares into your soul with cold eyes, its voice entering your mind. We keep all that has been lost. In times past, nothing be returned once it was mine. Time have changed. The bodies, your [bodies], that were lost to you can now be returned.");
  }
  if($text=~/bodies/i && $corpse == 0) {
    $client->Message(13, "The voice booms angrily in your mind, Be gone from this place. You waste my time!");
  }
  if($text=~/bodies/i && $corpse > 0) {
    quest::summonburriedplayercorpse($charid, $x, $y, $z, 0);
        $client->Message(13, "I have returned your body to this world, please be more careful in Norrath.");
  }
}


chrsschb 03-22-2012 07:26 PM

Bumping this old thread because I'm having an issue with this script where the players are getting duplicate corpses. The summoned corpse (1) and the original corpse (2). This is obviously an extremely exploitable bug.

provocating 03-22-2012 08:24 PM

Yep, best bet is to not use it. Very exploitable.

chrsschb 03-22-2012 08:36 PM

Quote:

Originally Posted by provocating (Post 208345)
Yep, best bet is to not use it. Very exploitable.

So guessing I'm not the only one?

provocating 03-22-2012 09:16 PM

Definitely not the only one.

cavedude 04-03-2012 06:44 PM

I've completed the functionality of quest::buryplayercorpse locally, and so it won't allow for duplicate corpses after my next commit. I don't know when that will be, I am testing several other changes on PEQ atm, and want to get them all committed at the same time. But everything's looking good, so hopefully soon.

provocating 04-03-2012 07:50 PM

You rock man, you rock.


All times are GMT -4. The time now is 09:34 PM.

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