GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Segítségkérés => A témát indította: KrisT - 2018. Július 01. - 10:09:54

Cím: MySQL adatbázisból pozíciók lekérése ciklussal, majd marker létrehozás
Írta: KrisT - 2018. Július 01. - 10:09:54
Sziasztok! MySQL adatbázisba tárolok markereket. Ezeket a markereket egy resource elindulásakor be szeretném tölteni, azonban sikertelenül jártam. Ötlet?
 

for i, marker in ipairs(dbQuery(connection,\"SELECT * FROM houses WHERE id=?\",i)) do
local res = dbPoll(marker,700)
if (res) then
   if(#res > 0) then
      for _, roll in pairs(res) do
         createMarker(roll[\"x\"], roll[\"y\"], roll[\"z\"], \"cylinder,\",1.2,0,255,0,170)
      end
   end
end
dbFree(marker)
end

 
Hibaüzenet a debugscript 3-ban: Error[...]\\server.lua:1: bad argument #1 to \'ipairs\' (table expected, got userdata)
 
Azt vágom, hogy a dbQuery nem egy táblát, hanem egy userdatát ad vissza, viszont ennek tudatában sem tudom megoldani.
Cím: MySQL adatbázisból pozíciók lekérése ciklussal, majd marker létrehozás
Írta: KrisT - 2018. Július 04. - 10:35:24
Eszrevettem, hogy a createMarkernel a marker tipusanal a “cylinder”-nel egy vesszo odakeveredett, viszont nem ez a (fő) hiba
Cím: MySQL adatbázisból pozíciók lekérése ciklussal, majd marker létrehozás
Írta: Eduka - 2018. Július 10. - 16:15:08

dbQuery(function(query)
local query, query_lines = dbPoll(query, 0);
if query_lines > 0 then
   for i, k in pairs(query) do
      -- innentől folytathatod
   end
end
end, connection, \"SELECT * FROM table\");