PDA

View Full Version : Summoning Corpses


Cutter
10-23-2004, 02:16 PM
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
what about multiple corpses?You'll have to pay again, in the example.

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.

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

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.

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
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/?group_id=88515&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
#include "PlayerCorpse.h"
Embparser.cpp
//Cisyouc: Function for summoning corpse
"sub scorpse{push(@cmd_queue,{func=>'scorpse',args=>join(',',@_)});}"
Parser.cpp
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:
#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.