[ DB ] zonepoint guide

For any problems with Dawn of Light website or game server, please direct questions and problems here.

Moderator: Support Team

[ DB ] zonepoint guide

Postby Eudes » Sun Dec 07, 2014 2:15 pm

Hello,

As i'm setting up some TP in the DB, through the zonepoint table, I was looking for a guide but did not find any in the DOL resources website.

So, I'm willing to write on and add it to the list of articles.

But first of all, I need some confirmation about what I did experiment.

In the zonepoint table, there are a few fields. Some are for the target point information, and I have no problem with that. Others fields are about the source location (X, Y, Z, Region), but with or without mentioning something inside those fields, it looks like the transition points are working well.

Any opinion about that?

There is also a ClassType field, but I do not find what it is for... any help?

Thanks a lot :)
Eudes
DOL Freak
 
Posts: 561
Joined: Wed Dec 05, 2007 12:27 am

Re: [ DB ] zonepoint guide

Postby Leodagan » Sun Dec 07, 2014 2:25 pm

Zonepoint use client side hard-coded ID.

When you run in a "Zoning Wall" on Client (example Entering a Dungeon) it only sends an ID requiring zoning...

Then server references the ZonePoint table to know where is the destination, and wether or not the player is allowed to Zone (mostly realms checks by default...)

ClassType is a field that tells DOL Server this zone point use a specific Class Implementation (Example DarknessFallZonePoint) which will then have specific rules for allowing jump or not (DF : you need more keeps than other realms...)

Source Location is only a "hint" for server, if something goes wrong while telephoning player it can try to put him back to the initial location, I remember this value is heavily used for "Instance ZonePoint" as a last valid position for players if Instance crashes...
User avatar
Leodagan
Developer
 
Posts: 1350
Joined: Tue May 01, 2012 9:30 am
Website: https://daoc.freyad.net
Location: Lyon

Re: [ DB ] zonepoint guide

Postby Eudes » Sun Dec 07, 2014 2:47 pm

Perfect, everything looks ok now. I will write the complete guide :)

It looks like the tutorial zones are exception, I can not leave the region through the local zoning cavern entrance (ID 753). It is because of a DOL.GS.GameEvents.TutorialJumpPointHandler. That means is it something scripted somewhere?

I am seeking in DOL/GameServer/Events but can not find something like Tutorial.xxxx.cs
Eudes
DOL Freak
 
Posts: 561
Joined: Wed Dec 05, 2007 12:27 am

Re: [ DB ] zonepoint guide

Postby Leodagan » Sun Dec 07, 2014 3:12 pm

Open your code with SharpDevelop, you definitely need this to work on DOL...

Use Ctrl+G (Go) and enter the key word you see or try the ObjectName if there is any in the "description" (DOL.GS.{ObjectName} but don't enter the Namespace...), this can lead you directly to the class handling the log message...

If it doesn't work use Ctrl+F and make a Search in whole Solution for a approximative string, then look for results that are in object (FileNames...) that match your context ;) (example GameServer/Rules Path will be more interesting than CommandHandler/Jump Path for your case)

For TutorialJumpPointHandler, if I remember correctly it checks you have done your tutorial quest before allowing you to go through :D

These kind of JumpPoint are funny to handle, but it lacks of some debug info and some "player niceness" to display them Why they can't Zone...

But it's nothing impossible to do :)
User avatar
Leodagan
Developer
 
Posts: 1350
Joined: Tue May 01, 2012 9:30 am
Website: https://daoc.freyad.net
Location: Lyon

Re: [ DB ] zonepoint guide

Postby Eudes » Sun Dec 07, 2014 3:23 pm

Thanks Leo.

I found the script, in GameServerScripts/gameevents. If I want to disable the script, what is the best practice? I move the .cs file outside DOL (or even delete it)? Is it a safe action?
Eudes
DOL Freak
 
Posts: 561
Joined: Wed Dec 05, 2007 12:27 am

Re: [ DB ] zonepoint guide

Postby Leodagan » Sun Dec 07, 2014 3:32 pm

You can delete it safely, it's a "SVN" Scripts, you can easily retrieve it if needed, DOL should load a "default" ZonePoint Handler if it can't find the according objet...

But the cleanest way is just to update your database and use the "ClassType" of your choice (setting NULL Value should use some kind of Default too...)
User avatar
Leodagan
Developer
 
Posts: 1350
Joined: Tue May 01, 2012 9:30 am
Website: https://daoc.freyad.net
Location: Lyon

Re: [ DB ] zonepoint guide

Postby Eudes » Sun Dec 07, 2014 6:18 pm

Thanks Leo.

What is the best way to write an article for the DOL resources? I posted everything here?

Thanks
Eudes
DOL Freak
 
Posts: 561
Joined: Wed Dec 05, 2007 12:27 am

Re: [ DB ] zonepoint guide

Postby Graveen » Mon Dec 08, 2014 8:51 am

Yes, i'll move it to Article once available (thus we could discuss it if needed :))
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: [ DB ] zonepoint guide

Postby Eudes » Mon Dec 08, 2014 10:29 am

The purpose of this guide is to make clear everything needed to setup a transition between two zones.

First of all, go ingame with an admin or GM character and find the transition point you want to setup, it can be a magical portal, a dungeon entrance... and run into it as if you wanted to use it. Well, looks like it does not work! But in the chat window you are getting a very important information, the JumpSpotID! Write it down.

Now, turn around and put you where you want players who will use this passage appear. Use /gloc to obtain more information about your location and write everything down (X, Y, Z axes, Heading and Region).

Of course you have to do this also with the other point at the exit of the transition.

It's time to go to the DOL database and look for the table called zonepoint.

There are 14 fields to be filled. Look at it more closely.

Field ID
Here you mention the JumpSpotID, that means this is your starting point.

Field TargetX
information of the X axis from where you want to go.

Field TargetY
information of the Y axis from where you want to go.

Field TargetZ
information of the Z axis from where you want to go.

Field TargetRegion
The region ID from where you want to go.

Field TargetHeading
information of the Heading from your where you want to go.
Source Location is only a "hint" for server, if something goes wrong while teleporting player it can try to put him back to the initial location, this value is heavily used for "Instance ZonePoint" as a last valid position for players if Instance crashes...
Field SourceX
information of the X axis from where you start.

Field SourceY
information of the Y axis from where you start.

Field SourceZ
information of the Z axis from where you start.

Field SourceRegion
information of the region ID from where you start.

Field Realm
Controls which realms can cross here.
1 = Albion
2 = Midgard
3 = Hibernia
0 = All

ClassType
ClassType is a field that tells DOL Server this zone point use a specific Class Implementation (Example DarknessFallZonePoint) which will then have specific rules for allowing jump or not (DF: you need more keeps than other realms...)

LastTimeRowUpdated
Auto-implemented, nothing to do there.

ZonePoint_ID
There you can choose an ID (even a name) for your transition.

And finally, you create a new entry in the table for the back and you're done!
Eudes
DOL Freak
 
Posts: 561
Joined: Wed Dec 05, 2007 12:27 am

Re: [ DB ] zonepoint guide

Postby Eudes » Mon Dec 08, 2014 10:30 am

Feel free to complete or correct this guide :)
Eudes
DOL Freak
 
Posts: 561
Joined: Wed Dec 05, 2007 12:27 am

Re: [ DB ] zonepoint guide

Postby Graveen » Mon Dec 08, 2014 1:21 pm

Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France


Return to “%s” Support

Who is online

Users browsing this forum: No registered users and 1 guest