PDA

View Full Version : Objects & Quests


KhaN
04-09-2005, 09:56 AM
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"

Cisyouc
04-09-2005, 10:25 AM
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.

KhaN
04-09-2005, 10:59 AM
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.

Cisyouc
04-09-2005, 12:01 PM
From 0.6.0-DR2 Doors.cpp:
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.

RangerDown
04-09-2005, 12:08 PM
Naw, you can't do that with this EQ client.

What you think this is, EQ2? :D

sysadmin
04-10-2005, 04:19 AM
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.

Cisyouc
04-10-2005, 04:42 AM
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.

KhaN
04-10-2005, 05:26 AM
Well, looking at code Cis pasted, it appear pretty much possible to call Perl when clicking on an object.

fathernitwit
04-14-2005, 04:54 AM
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.