Jump to content
TrinityCore

I need some explanations


DorekoNeko
 Share

Recommended Posts

Hi there.

 

I am new to the community and I was wondering if you could help me with some things. I want to learn how TrinityCore and the WOW client works to help implementing things.

So. I pulled the 6.x repo and I compiled all, did all the steps and extracted the maps, vmaps, mmaps, and those "gdb" and "gt" folders. All configured and somehow working.

My first question is about that process of extracting maps, vmaps, mmaps, gdb, and gt:

Why does the server need those files? And WHAT are those files explained one by one?

As far I can tell, maps are maps (Captain Obvious), mmaps are "movemaps" (I guess they are for collision calcs or something), and got no idea about the others.

My second question has to be about "sniffing".

I searched some things and I checked a guide about generating waypoints with the TrinityCore's Sniffer. I know this can be used for the waypoints generation but can it be used to check one npc position plus its GUID to place the same npc in the TrinityCore? Of course I would have to add its logic later, but, I mean, the client has all the data so the server only has to send a signal saying "I am spawning an entity here with this GUID" and the client should render the npc or object with the given GUID, right?

That's all for now since I am just starting to read the sources of TrinityCore and I can't ask about it for now.

 

Thanks in advance.

Link to comment
Share on other sites

Very roughly:

maps - positioning and height

vmaps - line of sight calculations

mmaps - movement, proper pathing for creatures

dbc and gt - data needed for the server to work (you can browse those files and check yourself, gts are .txt files and you can use DBC Viewer to view dbcs and db2s)

 

The client knows how to draw stuff, the server tells the client what to draw (including what to spawn where, SMSG_UPDATE_OBJECT packets in this case)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By meeek
      Hey, I've been trying to compile from github the core from 6.2.3/6.2.4, I'm well aware its stopped developing. I cannot get it to configure properly in CMake, nor can I obviously build it.
       
      I'd be willing to pay for help and get this working and running. I want to develop my own server on my freetime as a learning project and for entertainment. I can't find any core for WoD, sadly.. Very hard, would appreciate any quick help
       
    • By Wark
      I'd just like to get a little insight to why so much of the current Trinitycore code doesn't match up to a few years ago.
      Now I know I'm not a pro at coding on Trinitycore and I understand that the core is open sourced but these just seem so significant and doesn't seem right to remove this stuff.
       
      Let me give an example. Lets say I'm watching this tutorial to get a little information about classes and methods that I can use when making a script. (I've also been using the Trinitycore Code Documentation as reference as well but it also seems to show the same issues)
      Although the tutorial is a little out of date, I don't see why OnGossipSelect doesn't exist anywhere in CreatureScript and that when I try to link the script to the core code it spits out this error.
      object of abstract class type "GossipTeleporter" is not allowed:
      pure virtual function "CreatureScript::GetAI" has no overrider
      The DEFINES of "ADD_GOSSIP_ITEM" and many more don't exist either.
       
      Am I missing something? All I want to know is if the core is mean't to be this way and if not should I download an older version of the core before I put to much working into my current core.
      (I downloaded my core right from the Trinitycore website tutorial)
       
      I'm currently trying to write a simple gossipteleporter that will let you talk to an npc and teleport to the given location. It's very hard to do this when so many things just don't exist within my core.
       
      EXTRA: I pasted this into a new custom script just to see if I would get errors and I got a lot of different errors: http://pastebin.com/raw/G62e0t49
      This was obtained from here: http://www.ac-web.org/forums/showthread.php?129885-Request-Teleporter-NPC-for-TrinityCore
      By no means am I looking to copy the code from the two links above, I was using them as a test to see if my core accepted them.
       
      Thanks,
      Wark
    • By Lenny4
      I'm currently developping a web site to allow user to create an account and play in the game. For that I'm using soap connection, this way I can execute gm command from my website. (like bnetaccount create ...)
      I was wondering, if one day I have a lot of players and I need to limit the amount of players who can be connect in the game at the same time.
      But I want to choose (I will not choose my self I will create a php script for that) wich one can connect or not.
      So my questions are:
      - is there a way to know when a user try to connect in game, I mean a request is send to my website (or another way)? how?
                       - if yes can I avoid the connection to the game? how?
      - is there a way to disconnect a user in the game using soap command (or another way)? how? Because here https://trinitycore.atlassian.net/wiki/spaces/tc/pages/2130065/GM+Commands I can't find a command to disconnect a player
      Thank you for your help.
    • By Joy
      Edit By Aokromes:

      If you can't compile check that you meet requirements:

      https://trinitycore.atlassian.net/wiki/spaces/tc/pages/2130068/Requirements


      If you get SSE2 error use:

      -DCMAKE_C_FLAGS="-msse -msse2 -msse3"
      -DCMAKE_CXX_FLAGS="-msse -msse2 -msse3"

      If you get mysql libs error you miss MySQL development files
      These files are shipped with MySQL Server but to make it easier we packed the libs and include files for both 32 bits and 64 bits.
      Extract the files to a known location, e.g, C:/mysql_libs
      https://github.com/TrinityCore/TrinityCore/releases/download/TDB335.55/mysql_lib.zip
      If you get error 0xc000007b at start is that you are mixing 32 and 64 bits libraries.
    • By AllowTheKarnage
      Hello, today I was trying to install the database with the master branch, but when I go to start worldserver.exe I get error saying "The application was unable to start correctly (0xc000007b). click OK to close the application." I also tried to run as administrator. What might be the problem?

×
×
  • Create New...