Jump to content

[Resuelto] xmlLoadFile | fileOpen


Recommended Posts

El problema que tengo es que 'xmlLoadFile()' me devuelve false sin mucha razon logica.

El problema es la linea 3, devuelve false (no da error, pero lo comprobe con tostring?)

    if not isGuestAccount(getPlayerAccount(source)) then 
    local acc = getAccountName(getPlayerAccount(source)) 
    local rootFile = xmlLoadFile("data/"..acc..".xml") 

Y el archivo existe, y si, tiene nodo y todo eso

<rootNode> 
    <0>false</0> 
    <1>false</1> 
    <2>false</2> 
    <3>false</3> 
    <4>false</4> 
    <5>false</5> 
    <6>false</6> 
    <7>false</7> 
    <8>false</8> 
    <9>false</9> 
    <10>false</10> 
    <11>false</11> 
    <12>false</12> 
    <13>false</13> 
    <14>false</14> 
    <15>false</15> 
    <16>false</16> 
    <17>false</17> 
</rootNode> 
  

Edited by Guest
Link to comment
  • MTA Team
Posted · Hidden
Hidden

No se que estas tratando de lograr específicamente, pero por experiencia personal, y en especial si pensas tener muchos usuarios en tu servidor te recomiendo el uso de SQLite o MySQL. Como así también funciones de file ya que son mucho mas eficientes que XML.

Link to comment
No se que estas tratando de lograr específicamente, pero por experiencia personal, y en especial si pensas tener muchos usuarios en tu servidor te recomiendo el uso de SQLite o MySQL. Como así también funciones de file ya que son mucho mas eficientes que XML.

Intentare hacerlo con file, hare caso de esa eficiencia :D, probare por ese metodo.

No lo hago por SQL(ite) porque andaria casi todo el rato haciendo query, asi que por eso lo puse por XML que ahora pasare a file, aver si no me da ese error que debe ser bug de MTA

xmlLoadFile te devuelve el nodo del archivo que estás leyendo, usar 'tostring' te devolverá false ya que los xmlnode no son elementos/strings/números, etc.

Entonces explica esto:

  
    if not isGuestAccount(getPlayerAccount(source)) then 
    local acc = getAccountName(getPlayerAccount(source)) 
    local rootFile = xmlLoadFile("data/"..acc..".xml") 
   -- outputChatBox(tostring(rootFile).." "..acc, root) 
        if rootFile then 
            for k=0,17 do 
            local c = xmlFindChild(rootFile, tostring(k), 0) 
  

[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:19: Bad argument @ 'xmlFindChild' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:20: Bad argument @ 'xmlNodeSetValue' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:22: Bad argument @ 'xmlSaveFile' [Expected xml-node at argument 1, got boolean] 
[2015-05-04 21:53:35] WARNING: trosnos_ropaCJ\server.lua:23: Bad argument @ 'xmlUnloadFile' [Expected xml-node at argument 1, got boolean] 

Es un error que en el pasado nunca me dio :(

Link to comment
Estas seguro que existe el archivo? Intenta cambiar el nombre de las variables y del nodo, quizás ese sea el problema.

Descubri una cosa, no son las variables (o eso creo), me explico

Borre el archivo y ejecute el script, me creo el archivo y escribio dentro lo que tenia que escribir (Como si funcionara perfectamente), hasta aqui bien, pero al volver a ejecutarlo (con el archivo ya existente), me da esos errores.

Esto es muy raro, mas que nada porque funciona exactamente de la misma forma en ambas situaciones

Link to comment
Estas seguro que existe el archivo? Intenta cambiar el nombre de las variables y del nodo, quizás ese sea el problema.

Descubri una cosa, no son las variables (o eso creo), me explico

Borre el archivo y ejecute el script, me creo el archivo y escribio dentro lo que tenia que escribir (Como si funcionara perfectamente), hasta aqui bien, pero al volver a ejecutarlo (con el archivo ya existente), me da esos errores.

Esto es muy raro, mas que nada porque funciona exactamente de la misma forma en ambas situaciones

----------------------------------------------------------------------------------------------

Un poco fuera de tema, mas bien otro error:

server.lua:9: fileDelete; unable to delete file 

Me salta esto con el siguiente codigo:

function r (source,_) 
acc = getAccountName(getPlayerAccount(source)) 
    for id=0,17 do 
        if not fileExists("data/"..acc.."/"..tostring(id)..".s") then 
        fileCreate("data/"..acc.."/"..tostring(id)..".s") 
        else 
        fileDelete("data/"..acc.."/"..tostring(id)..".s") 
        fileCreate("data/"..acc.."/"..tostring(id)..".s") 
        end 
    r_file = fileOpen("data/"..acc.."/"..tostring(id)..".s") 
        if r_file then 
        fileWrite(r_file, "pero q lol") 
        fileFlush(r_file) 
        fileClose(r_file) 
        end 
    end 
end 
addCommandHandler("s", r) 

Puede ser error del servidor de MTA?

Link to comment
  • MTA Team
Posted · Hidden
Hidden

Eso no tiene sentido, ejecutas un loop borrando y creando archivos iguales. En algún punto estas intentando borrar algo que no existe.

Al usar funciones de file, recorda leer los bytes ya escritos para no sobre-escribir el archivo.

Link to comment
Eso no tiene sentido, ejecutas un loop borrando y creando archivos iguales. En algún punto estas intentando borrar algo que no existe.

Al usar funciones de file, recorda leer los bytes ya escritos para no sobre-escribir el archivo.

Vale vale, listo, error resuelto, y usando file functions! :)

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...