Thread Tools Display Modes
04/15/15, 01:59 PM   #1
stAjora
Join Date: Apr 2015
Posts: 20
Database functionality

Hi. I'm wondering if there is any database functionality available with lua and the ESO API? If not, is there a way to store/share information between players?
  Reply With Quote
04/15/15, 02:10 PM   #2
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,578
Unfortunately not. The only way to store info is via saved variables which only flushes them when the UI reloads (logout or chatcommand). Meaning that you will lose data when the game crashes.

Sharing information between players is also very restricted.
The only automated ways that I know of are via guild notes (needs permissions to be set up and can be tampered with by anybody who can edit the notes) or ingame mail (does not always arrive in a timely fashion).
Besides that you can always put something in the chat input box and ask the user to hit enter.
Either way you are limited on how many messages you can send in a certain period of time.
  Reply With Quote
04/16/15, 08:30 AM   #3
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,973
There is another way of sharing data between players but they NEED TO BE GROUPED:
You can use the MAP PING function, and in there the x and y coordinates, to send integer values to your group members.

Contra:
-No string values possible, only integer
-The map ping will be heard and seen

This could be used to simply send some small values like a "Dice rolling" addon does to show the dice rolls to the group members e.g.
  Reply With Quote
04/16/15, 10:50 AM   #4
Randactyl
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 251
I learned some stuff the other day! Apparently thrown errors are written directly into a file. I haven't played with anything but I guess someone could write a program to watch that file and take care of grabbing/clearing data from it.

http://www.reddit.com/r/esoaddons/co...nicate_to_the/
  Reply With Quote
04/16/15, 11:11 AM   #5
Halja
 
Halja's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 111
Originally Posted by Randactyl View Post
I learned some stuff the other day! Apparently thrown errors are written directly into a file. I haven't played with anything but I guess someone could write a program to watch that file and take care of grabbing/clearing data from it.

http://www.reddit.com/r/esoaddons/co...nicate_to_the/

And ZOS makes lua error() wrapper and becomes a private function in 1.....2.......
  Reply With Quote
04/16/15, 12:42 PM   #6
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,578
Originally Posted by Baertram View Post
There is another way of sharing data between players but they NEED TO BE GROUPED:
You can use the MAP PING function, and in there the x and y coordinates, to send integer values to your group members.

Contra:
-No string values possible, only integer
-The map ping will be heard and seen

This could be used to simply send some small values like a "Dice rolling" addon does to show the dice rolls to the group members e.g.
If you are in a group, you could also misuse the role and difficulty buttons to write your own protocol, but I am not sure how fast or reliable this would update
  Reply With Quote
04/16/15, 05:45 PM   #7
Randactyl
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 251
Originally Posted by Halja View Post
And ZOS makes lua error() wrapper and becomes a private function in 1.....2.......
Right!?

Originally Posted by sirinsidiator View Post
If you are in a group, you could also misuse the role and difficulty buttons to write your own protocol, but I am not sure how fast or reliable this would update
also an interesting idea
  Reply With Quote
04/16/15, 09:45 PM   #8
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
EDIT: Strike that idea....that would not work.

Last edited by circonian : 04/16/15 at 11:52 PM.
  Reply With Quote
04/16/15, 11:46 PM   #9
circonian
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 613
Originally Posted by stAjora View Post
Hi. I'm wondering if there is any database functionality available with lua and the ESO API? If not, is there a way to store/share information between players?
When you said between players did you mean storing & sharing data between different characters? Like accessing the saved variable data for other characters?
http://www.esoui.com/forums/showthread.php?t=4263&highlight=GetInterfaceForCharacter

Last edited by circonian : 04/16/15 at 11:52 PM.
  Reply With Quote
04/17/15, 12:19 AM   #10
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
1) You get a database functionnality in Lua, it's called tables. it's 99% of the Lua language. NOSQL please.

2) Please use search button.

And consider for a end-user and newbie dev there is 0 interaction possible between players trought addons.

For advanced ones, there are somes and if they don't do, it's because they all got their cons which are a way bigger than the poors and they all require the sender and the receiver to get the addon.
  Reply With Quote
04/18/15, 09:00 AM   #11
stAjora
Join Date: Apr 2015
Posts: 20
Originally Posted by Ayantir View Post
1) You get a database functionnality in Lua, it's called tables. it's 99% of the Lua language. NOSQL please.

2) Please use search button.

And consider for a end-user and newbie dev there is 0 interaction possible between players trought addons.

For advanced ones, there are somes and if they don't do, it's because they all got their cons which are a way bigger than the poors and they all require the sender and the receiver to get the addon.
Least helpful reply in this thread. If you're going to tell someone to use the search function, link to an appropriate thread you found using the search button because typing in 'database' returns 0 hits on this question.

Are you trolling? Is it not obvious the question is referring to an external DATABASE and not LUA tables? Telling noobies they can't do something because of their skill level is a real douchie thing to do brah.

Thanks everyone else, this error() thing could work for what I want to do. So say someone were to write an app in .NET to read from that error log and upload/share information privately, say a small group of friends or a small guild? ZoS bring down the ban hammer?
  Reply With Quote
04/18/15, 11:40 AM   #12
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
No, ZoS won't ban you, that's not the point here,
The question is, do you REALLY need a realtime query on disk?

Because :

And ZOS makes lua error() wrapper and becomes a private function in 1.....2.......
I think they're already thinking about it

Then yes, I was a bit trolling. Sorry but here from from times and the question of sharing data between players has been asked at least 10 times here and 10/20 times on official forums. And the quick answer is always "not possible".

If sharing data between players was possible, since the 1st day of ESO the top most downloaded addon would be "DPS Meter". And if the communication between ESO and system was possible, one of the biggest website about ESO would be something like "Armory", or "ESO Best players".

They're always tricks, but last time "something" outputs to system in real time, it was CopyAllTextToClipboard, you maybe don't know what this reffers to but I think some of those who replied to your questions knows, and if zos decide to change this one by writing to the error in file with a UI reload delay, Zbug could breathe.

Now, you can hack error(), read error log in real time and you'll get a nice app, but don't hack it too much, because zos can cut the functionnality when they wants.

Regards,
  Reply With Quote
04/18/15, 01:32 PM   #13
mctaylor
 
mctaylor's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 21
Originally Posted by stAjora View Post
Least helpful reply in this thread. If you're going to tell someone to use the search function, link to an appropriate thread you found using the search button because typing in 'database' returns 0 hits on this question.
Ayantir was correct that automated "real-time" communication has been repeatedly discussed in the forums multiple times, that you can find searching the forums.

And in fact if you used the correct search (search the forums) and not "Search AddOns" you would of found at least 11 threads, in this forum section alone, on a search of "database".

Are you trolling? Is it not obvious the question is referring to an external DATABASE and not LUA tables? Telling noobies they can't do something because of their skill level is a real douchie thing to do brah.
Frankly while your subject refers to database, your question was a two part question, the first part which asks about databases, not external databases. Don't blame the response on the responder, they responded to the question asked, not whatever you were thinking.

I'm wondering if there is any database functionality available with lua and the ESO API?
Note the distinct lack of the words: external, IPC, messaging, communication, multi-player, etc.

Thanks everyone else, this error() thing could work for what I want to do. So say someone were to write an app in .NET to read from that error log and upload/share information privately, say a small group of friends or a small guild? ZoS bring down the ban hammer?
As far as I know Zendimax Online Studios (ZoS) has intentionally restricted automated communication between players, and reduced / restricted communication to external applications so as to prevent a large number of automated abuses (aka 'bots') in-game and in the game world economy.

There is no feasible means of ensuring fair play between a bunch of friends or guild mates, and a group exploiting a game play advantage through automated communication.

As well as prevent 3rd-party web sites from interfering with the game world economy, from gold sellers, 3rd-party audition houses, to PvP cheatings; as best they (ZoS) can. -- Basically 3rd-party web sites cannot (without breaking the game EULA terms and license) profit from the game directly.
  Reply With Quote
04/19/15, 09:43 PM   #14
stAjora
Join Date: Apr 2015
Posts: 20
Originally Posted by Ayantir View Post
No, ZoS won't ban you, that's not the point here,
The question is, do you REALLY need a realtime query on disk?

Because :


I think they're already thinking about it

Then yes, I was a bit trolling. Sorry but here from from times and the question of sharing data between players has been asked at least 10 times here and 10/20 times on official forums. And the quick answer is always "not possible".

If sharing data between players was possible, since the 1st day of ESO the top most downloaded addon would be "DPS Meter". And if the communication between ESO and system was possible, one of the biggest website about ESO would be something like "Armory", or "ESO Best players".

They're always tricks, but last time "something" outputs to system in real time, it was CopyAllTextToClipboard, you maybe don't know what this reffers to but I think some of those who replied to your questions knows, and if zos decide to change this one by writing to the error in file with a UI reload delay, Zbug could breathe.

Now, you can hack error(), read error log in real time and you'll get a nice app, but don't hack it too much, because zos can cut the functionnality when they wants.

Regards,
My mistake, thanks to the poster above, I was using the wrong search field. >.< I was wondering why a site full of programmers weren't complaining about the ****ty search functionality. I see what you mean, it would suck to write an add on and then have ZoS break it by nerfing the debug() function. Sorry for the snapping, was having a hard time getting a grip on this new scripting language and was frustrated at the time of writing.

The normal mail function will be sufficient for my needs but I need to figure out how to read the content of messages in the inbox (preferably without the player having to look at the mail) I'm guessing with these two functions:

GetMailItemInfo(id64 mailId)
ReadMail(id64 mailId)

What does the 'id64' mean and how do I find out the ID's to stick into these functions? I need to be able to iterate over all the messages in the inbox.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Database functionality


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off