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 10-23-2004, 02:16 PM
Cutter
Sarnak
 
Join Date: Sep 2004
Posts: 85
Default 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..
Reply With Quote
  #2  
Old 10-23-2004, 04:03 PM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

Oooh... Hmm, nifty. Ill rumage through the code and see if I can make a command for it.
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
  #3  
Old 10-23-2004, 04:27 PM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

-edit-
See below.
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
  #4  
Old 10-23-2004, 07:06 PM
sotonin
Demi-God
 
Join Date: May 2004
Posts: 1,177
Default

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)
Reply With Quote
  #5  
Old 10-23-2004, 10:31 PM
cofruben
Old-EQEmu Developer
 
Join Date: Oct 2002
Location: Spain
Posts: 323
Default

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.
Reply With Quote
  #6  
Old 10-24-2004, 02:19 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

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.
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
  #7  
Old 10-24-2004, 07:59 AM
sotonin
Demi-God
 
Join Date: May 2004
Posts: 1,177
Default

Wierd, i guess they havent updated the quest npc (who lets u into shadowrest) She still says you cannot enter without an expired corpse.
Reply With Quote
  #8  
Old 10-24-2004, 03:46 PM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

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.
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
  #9  
Old 10-24-2004, 04:33 PM
Edgar1898
Senior Member
Former EQEmu Developer
Current EQ2Emu Lead Developer
 
Join Date: Dec 2002
Posts: 1,065
Default 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.
__________________
Lethal Encounter
Reply With Quote
  #10  
Old 10-25-2004, 10:06 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

-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.");
							 }
						 }
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
  #11  
Old 10-25-2004, 10:12 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

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
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
  #12  
Old 10-26-2004, 10:43 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

Fixed syntax for parser.cpp, sorry about that.
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
Reply


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 06:30 AM.


 

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