Hilfe beim Speichern / Abrufen einer LUA Tabelle aus einer Datei
Ich komme grad nicht weiter ... ich möchte viele querys innerhalb meiner Quest vermeiden und bin dabei, das Ergebnis der Query in eine Datei zu laden. Klappt auch soweit gut nur an einer Sache komme ich nicht weiter.
Ich hatte in der ersten Quest, wo noch alle Querys drin waren, das so geschrieben:
PHP Code:
mysql_query("USE account; SELECT item_vnum, stackable, price FROM itemshop WHERE category_id = "..shop_main.." ORDER BY id ASC;")
shop_main steht hier für den select, wo der Spieler die Kategorie ausgewählt hat.
Wenn ich jetzt aber die Items in eine Datei laden möchte, kann ich "shop_main" nicht mehr als Variable nehmen, weil ich die Datei ja für alle Kategorien machen muss. Jetzt habe ich versucht das so zu lösen:
Um dann für jede Kategorie innerhalb der Tabelle eine eigene Tabelle zu haben. Klappt aber leider nicht ... die geschriebene Datei sieht danach so aus:
local function exportstring(s)
return string.format("%q", s)
end
function table.save(tbl,filename)
local charS,charE = " ","\n"
local file,err = io.open( filename, "wb" )
if err then return err end
local tables,lookup = {tbl},{[tbl] = 1}
file:write("return {"..charE)
for idx,t in ipairs(tables) do
file:write("-- Table: {"..idx.."}"..charE)
file:write("{"..charE)
local thandled = {}
for i,v in ipairs(t) do
thandled[i] = true
local stype = type( v )
if stype == "table" then
if not lookup[v] then
table.insert( tables, v )
lookup[v] = table.getn(tables)
end
file:write(charS.."{"..lookup[v].."},"..charE)
elseif stype == "string" then
file:write(charS..exportstring( v )..","..charE)
elseif stype == "number" then
file:write(charS..tostring( v )..","..charE)
end
end
for i,v in pairs(t) do
if (not thandled[i]) then
local str = ""
local stype = type(i)
if stype == "table" then
if not lookup[i] then
table.insert(tables,i)
lookup[i] = table.getn(tables)
end
str = charS.."[{"..lookup[i].."}]="
elseif stype == "string" then
str = charS.."["..exportstring( i ).."]="
elseif stype == "number" then
str = charS.."["..tostring( i ).."]="
end
if str ~= "" then
stype = type( v )
if stype == "table" then
if not lookup[v] then
table.insert(tables,v)
lookup[v] = table.getn(tables)
end
file:write(str.."{"..lookup[v].."},"..charE)
elseif stype == "string" then
file:write(str..exportstring(v)..","..charE)
elseif stype == "number" then
file:write(str..tostring(v)..","..charE)
end
end
end
end
file:write( "},"..charE )
end
file:write("}")
file:close()
end
function table.load(sfile)
local ftables,err = loadfile(sfile)
if err then return _,err end
local tables = ftables()
for idx = 1,table.getn(tables) do
local tolinki = {}
for i,v in pairs(tables[idx]) do
if type(v) == "table" then
tables[idx][i] = tables[v[1]]
end
if type(i) == "table" and tables[i[1]] then
table.insert(tolinki,{ i,tables[i[1]] })
end
end
for _,v in ipairs(tolinki) do
tables[idx][v[2]],tables[idx][v[1]] = tables[idx][v[1]],nil
end
end
return tables[1]
end
[VB.NET] Links aus einer Datei auslesen und abrufen???! 12/04/2011 - .NET Languages - 8 Replies Hallo Community!
Ich bin dabei ein Program zu schreiben welches aus einer Art Datenbank Links erhausließt und diese dann in einem WebBrowser nacheinander aufruft.
Das meine ich so.
Klick auf Button ->
Webbrowser Läd den ersten Link in der Liste ->
führt einen befehl auf der Seite auf (nicht umbedingt notwendig kann ich selber schreiben) ->
Wartet 5 sekunden ->
Alle Videos einer Youtube-Playlist in je einer .mp3 speichern? 02/24/2011 - Technical Support - 7 Replies huhu
ich möchte von einer Playlist (keine Warez!) die Sounds downloaden.
Wie mache ich das am elgantesten? Mein JDownloader zeigt leider keine Links an wenn ich die Playlist in den Linksammler eintrage.
MfG
Error beim Öffnen einer .png Datei 01/09/2011 - General Art - 4 Replies Ich wollte gerade mal einen Stock mit PS öffnen, da bekam ich folgende Error-Meldung. Ich verstehe nicht, warum die Meldung auftaucht, es ist ist eine .png Datei und andere .png Dateien kann ich problemlos öffnen. Wäre dankbar, wenn ihr mir helfen würdet.