Random Chitchat 2012-2016
(04-08-2013, 06:07 AM)STR_Warrior Wrote: i have absolutly no idea how sqlite works Wink i hope that when bearbin finishes his home plugin i know more how to use it. the debuggers plugin didn't realy work for me becouse i had absolutly no idea what it was doingTongue

Hey to open/create a database do this
local TestDB, ErrCode, ErrMsg = sqlite3.open("test.sqlite");
test.sqlite = filename.
TestDB = dbhandler
ErrCode = code for when error happens.
ErrMsg = the msg of the error code.

if (TestDB ~= nil) then
Check if there was a actual db set, though errCode should be able to be used for this if errorcode > 0 asume there was a error i guess.

local Res = TestDB:exec(sql, ShowRow, 'UserData');
Res = result of a query you executed,
sql = the query you wish to execute, multiple query's at one time seems to be supported.
Though i asume only 1 select.
ShowRow function to return to for a SELECT query and thus the ShowRow function will be called with the results.
UserData i asume will hold the type of query you executed so you can identify what result for what query has been returned to the function.

TestDB:close();
Close the database connection/release the file.

On another note, normaly there are functions like flush etc to directly flush the data to file, instead of keeping it in memory until file is released aka Close is called.
I have not checked what functions this plugin contains so i wont go into detail about it.

The Debugging plugin should reveal a bit more info about then i just explained above.
Why you ain't getting it is beyond me as its quite basic code.

If as Xoft said, you don't know SQL you will have a bad time!
Learn some sql as its easy to learn and handy for future things you might wanna work with/create.
Thanks given by:
(04-08-2013, 05:46 AM)bearbin Wrote: Also, know why I'm getting this error:
[...]

Should be fixed in rev 1371. I had the same error on my old linux laptop and rev 1371 fixed it there. Stupid G++ is picky about the order in which we list librariesTongue
Thanks given by:
Thanks Smile
Thanks given by:
I added XML parser to the Lua API. Wow, these things integrate quite easily, that's unexpected. Just under an hour of head-scratching Smile
Thanks given by:
There was a point in code which could very well crash the server in Release mode and did assert in Debug mode. Lucky for us we have those asserts. They made rev 1376 possible.
Thanks given by:
I've started rewriting the code so that the entities are ticked within their respective chunks' ticks. Oh dear, had no idea it was sooo difficult. Had to change entity ownership paradigm, now entities are owned by their respective chunks, instead of the world directly; the world no longer has the list of entities, so it cannot service the ForEachEntity() and DoWithEntityByID() calls directly. Now player entities relied on some weird constellations that made them tick twice in each tick in the old scheme, but now they ticked just once and failed to save the player data. Ugh! Fixed that, and suddenly I found out that entities loaded from the disk are added to the list twice, so they tick twice and the server crashes when chunks are unloaded, because those entities get deleted twice. While fixing this, I came across the code to move entities from one chunk to another, that will need some care, too. it's just, I fix one thing and ten more issues arise. If I ever manage to do this, it'll be a huge mega-commit...
Thanks given by:
Ha ha good luckBig Grin
Thanks given by:
I want to make a plugin download things. any idea how i can do that in lua? i found HTTPRequest but i don't know if i can download stuff with it.
Thanks given by:
No, you can't, that class is only for webadmin stuff.

I don't think there's any good support within MCServer for downloading stuff, or even networking, for that matter. There's a FS issue #313 for adding basic networking API: http://www.mc-server.org/support/index.p...ask_id=313

The problem with downloading is that it takes a long time, so you want to do it "in the background". But MCServer plugins cannot currently do anything in the background (and that's not supposed to change much anytime soon). A better approach is to have the plugin create an MCServer object that will call back into the plugin if there's anything of interest. Such as - a TCP socket object that will call a Lua callback whenever there's data incoming over the socket.
Thanks given by:
Nice, sounds interesting! Also - 100 pages of what were doing!
Thanks given by:




Users browsing this thread: 4 Guest(s)