Citizens
Citizens copied to clipboard
SQL Support

Most of the values should be correct (yellow = int / float, blue = enum / boolean, red = string). I most of the tables could be merged into the NPC table, but I think it helps the expandability for later features and makes the structure clearer.
[Profession]_Active determines whether the NPC has the profession or not. Example:
- A NPC that just has been created doesn't have any entries in any Profession table, therefore returning NULL if checked for Guard_Active.
- A NPC that has been paid to be a Trader, but has been toggled again to be a normal NPC will have Trader_Active = false.
- A Wizard will have Wizard_Active.
About the WP (Waypoints) table:
- I think X, Y, Z, Delay are pretty clear, as are the primary keys NPC_ID and WP_ID.
- WP_Text could be a text that the NPC says when he passes the waypoint (I think that has been requested in the bukkit forum?)
About the Stock table:
- I think this table would allow the same item to be sold in multiple ways. (i.e. 1 dirt for 1 gold, 64 dirt for 64 gold, depending on the amount the trader has in the inventory. Could be used with spout for a better interface)
- Stock_Buy and Stock_Sell determine the price of the item. If an item is not for Sale, Stock_Sell would return NULL.
About the other tables:
- Healer: I don't know if you need Health_Max and Health_Rate (regeneration rate), you can leave them out.
- List: Basically the blacklist / whitelist for the guards.
- Location: Pitch should be the direction the player faces when he is teleported.
- Blacksmith: Expertise maybe something like the Level of the Healer, so that the Blacksmith has a higher chance to break things instead of repairing them the lower his expertise is? :D
- Inventory: Inventory_Inv is basically the inventory... couldn't find a better way than what you currently have in the .yml file.
Thanks! It's looking really good :). After I get guards + questers finished, I may get the chance to look into adding SQL support. One question - should yml be an option as well?
I think it should be. As far as I know, all plugins with SQL support have a flatfile (most of the times in .yml) support, because many serveradmins don't have access to a MySQL server.