EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Summoning Corpses (https://www.eqemulator.org/forums/showthread.php?t=16577)

Cutter 10-23-2004 02:16 PM

Summoning Corpses
 
Ok heres my idea.. since summon corpse spells are believed to be broken.. is there a way..

to make an npc.. for a certain amount of x plat.. to summon a corpse to the npc location within the zone.. kinda like the graveyard stuff sony does.. i guess.. but you pay an npc to do the job for you..

Just curious..

Cisyouc 10-23-2004 04:03 PM

Oooh... Hmm, nifty. Ill rumage through the code and see if I can make a command for it.

Cisyouc 10-23-2004 04:27 PM

-edit-
See below.

sotonin 10-23-2004 07:06 PM

what about multiple corpses?

and fyi, on live you go to the graveyard zone, talk with the mob, he says would you like me to summon all of your corpses or just one?

all summons all of them naturally to his feet, if you zone out they are gone again.

keep in mind this function only deals with "expired" corpses on live, ones which have disappeared from their death location entirely and only exist in the db secretly.

Players aren't allowed to enter this zone "shadowrest" unless they have an expired corpse. If you do not completely loot this corpse after you've had it summoned, then you may leave and it will let you in again at a later date. (you can have a corpse indefinatly on eqlive now)

cofruben 10-23-2004 10:31 PM

try getting the corpse class,and then changing it's x,y and z to the mob location.Youwill need to make new functions i think.

Cisyouc 10-24-2004 02:19 AM

Quote:

Originally Posted by sotonin
what about multiple corpses?

You'll have to pay again, in the example.

Quote:

and fyi, on live you go to the graveyard zone, talk with the mob, he says would you like me to summon all of your corpses or just one?
You could probably run a few scorpses after you pay so it does more than one to a point.

Quote:

all summons all of them naturally to his feet, if you zone out they are gone again.
Right.

Quote:

keep in mind this function only deals with "expired" corpses on live, ones which have disappeared from their death location entirely and only exist in the db secretly.
Also true, but that wasnt what Cutter was asking for.

Quote:

Players aren't allowed to enter this zone "shadowrest" unless they have an expired corpse.
Actually, not true. It was for the first week it was up, but I have gone there and I have never had an expired corpse.

sotonin 10-24-2004 07:59 AM

Wierd, i guess they havent updated the quest npc (who lets u into shadowrest) She still says you cannot enter without an expired corpse.

Cisyouc 10-24-2004 03:46 PM

Hmm. Ive tried numerous ways of trying to summon the corpse but for some reason it either blantly doesnt work, or the mob crashes.

I'm not sure what to tell you. Ill look into the summon corpse spell info later.

Edgar1898 10-24-2004 04:33 PM

Re: Summoning Corpses
 
Quote:

Originally Posted by Cutter
Ok heres my idea.. since summon corpse spells are believed to be broken.. is there a way..

to make an npc.. for a certain amount of x plat.. to summon a corpse to the npc location within the zone.. kinda like the graveyard stuff sony does.. i guess.. but you pay an npc to do the job for you..

Just curious..

News to me, noone told me they were broken.... If you find any bugs please submit a bug post here:

http://sourceforge.net/tracker/?grou...mp;atid=586958

and I'll get them fixed.

Cisyouc 10-25-2004 10:06 AM

-edit- Revised the command to work without the spells_us.txt implementation.

Insert the following into the said locations:

-edit-
If its not already,
Parser.cpp
Code:

#include "PlayerCorpse.h"
Embparser.cpp
Code:

//Cisyouc: Function for summoning corpse
"sub scorpse{push(@cmd_queue,{func=>'scorpse',args=>join(',',@_)});}"

Parser.cpp
Code:

                                                        else if (!strcmp(strlwr(command,"scorpse")){/* Cisyouc: Summons corpse in current zone */

                                                        Corpse* corpse=entity_list.GetCorpseByOwner(mob->CastToClient());

                                                        if(corpse != NULL)
                                                        {
                                                                corpse->Summon(mob->CastToClient(),TRUE);
                mob->Message(15, "You feel your corpse being summoned to your side.");
                                                        }
                                                        else
                                                        {
                                                                mob->Message(13,"You do not appear to have any corpses in this zone.");
                                                                mob->Message(13,"If you feel this in error, petition as soon as possible.");
                                                        }
                                                }


Cisyouc 10-25-2004 10:12 AM

Also, to call it, use something like this:
Code:

#quest::scorpse demonstration
#perlQuest by Cisyouc
sub EVENT_SAY
{
  if($text=~/hail/i)
  {
  quest::say("Greetings, $name. Have you recently been [slain] and separated from your corpse?");
  }
  if($text=~/slain/i)
  {
  quest::say("How unfortunate. My studies in Paineel have taught me how to summon nearby corpses, and I would be happy to [summon] yours, if you would like.");
  }
  if($text=~/summon/i)
  {
  quest::scorpse();
  }
}

..or of course, move it to sub EVENT_ITEM to charge money =D

Cisyouc 10-26-2004 10:43 AM

Fixed syntax for parser.cpp, sorry about that.


All times are GMT -4. The time now is 04:26 PM.

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