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 04-09-2005, 09:56 AM
KhaN's Avatar
KhaN
Dragon
 
Join Date: Mar 2004
Location: France, Bordeaux.
Posts: 677
Default Objects & Quests

Hola~

I was wondering something, and had no one on IRC to answer so, inc ... In DB, you can spawn objects like POK Books, crates ... but how those spawned objects interact with you, i mean, wen you click on POK book, its coded in client that he need to TP you, or its done via a quest ?

PS : "Yes, i stopped before POP and i have no clue how POP books and all those stuff works"
__________________

Reply With Quote
  #2  
Old 04-09-2005, 10:25 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

In the doors table of the database, you direct the door (model "POKTELE500") to teleport to the specified x y z and zoneid in that database entry.
__________________
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 04-09-2005, 10:59 AM
KhaN's Avatar
KhaN
Dragon
 
Join Date: Mar 2004
Location: France, Bordeaux.
Posts: 677
Default

POK book was an example, so if i got you, eqemu detect the "click action" and TP you to the selected zone, so it is possible to change this and make for example, eqemu detect the "click action" and launch a perl script, this way, you could either make TP, or allow players to select a range of action related to the object they clicked.
__________________

Reply With Quote
  #4  
Old 04-09-2005, 12:01 PM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

From 0.6.0-DR2 Doors.cpp:
Code:
    if (opentype == 58 && strncmp(dest_zone,"NONE",sizeof("NONE")) != 0 ){ // Teleport door!
        if ( strncmp(dest_zone,zone_name,sizeof(zone_name)) == 0){
            sender->GMMove(dest_x,dest_y,dest_z);
        }
        else {
           	sender->MovePC(dest_zone, dest_x, dest_y, dest_z);
        }
I assume you could add as many checks as you wanted. Of course, a perl script would take alot of implementing because many of its core elements rely on an npc entity, but if you wanted to, it probably could be done.
__________________
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
  #5  
Old 04-09-2005, 12:08 PM
RangerDown
Demi-God
 
Join Date: Mar 2004
Posts: 1,066
Default

Naw, you can't do that with this EQ client.

What you think this is, EQ2?
__________________
<idleRPG> Rogean ate a plate of discounted, day-old sushi. This terrible calamity has slowed them 0 days, 15:13:51 from level 48.
Reply With Quote
  #6  
Old 04-10-2005, 04:19 AM
sysadmin
Hill Giant
 
Join Date: Feb 2005
Posts: 163
Default

Doors react in a number of ways depending on what open_type number they have in the table, they just happen to invoke zoning to zone,x,y,z when open_type=58, but most of this is coded in the client. You can assign any valid open_type to any item you can spawn via doors table.
__________________
Sysadmin.

Last edited by sysadmin; 04-10-2005 at 12:22 PM..
Reply With Quote
  #7  
Old 04-10-2005, 04:42 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

Quote:
Originally Posted by sysadmin
they just happen to invoke zoning to zone,x,y,z when open_type=58, but most of this is coded in the client.
The code posted above says different.

I'm not sure though.
__________________
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
  #8  
Old 04-10-2005, 05:26 AM
KhaN's Avatar
KhaN
Dragon
 
Join Date: Mar 2004
Location: France, Bordeaux.
Posts: 677
Default

Well, looking at code Cis pasted, it appear pretty much possible to call Perl when clicking on an object.
__________________

Reply With Quote
  #9  
Old 04-14-2005, 04:54 AM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default

yes,
it would be possible to call back a perl function when a CLICKABLE object is clicked. It is up to the client to tell the server the object was clicked, which it does not always do.

but as stated above, a lot of stuff is done client side like animations and movement, so you wouldent get full control. None the less I imagine it would be usable for your purposes.
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 02:00 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