O script é type startup, ou seja, ele executa apenas ao inciar o servidor. Pelo que pude ver ele executa 2 querys (comandos) na database ...
O nome dele normalmente é start.lua, mas pode ser star.lua tbem, rsrsrs
Verifica no globalevents.xml se a tag dele esta correta, ela deve estar +/- assim ..
<globalevent name="server_start" type="startup" event="script" value="star.lua"/>
OBS: verifique se é star ou start.
Outra coisa importante, para executar uma query em algum script lua, precisa de determinado comando, e este comando depende da versão do seu TFS
Ou seja, na versão 0.3.6 usamos "db.executeQuery" e na versão 0.4 usamos" db.query", bem simples né?
Enfim, seu script deve ficar assim [TFS versão 0.3.6.]
function onStartup()
db.executeQuery("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue('worldId') .. ";")
db.executeQuery("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (os.time() - 2 * 86400) .. ";")
db.executeQuery("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";")
return true
end
Ou assim [TFS versão 0.4]
function onStartup()
db.query("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue('worldId') .. ";")
db.query("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (os.time() - 2 * 86400) .. ";")
db.query("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";")
return true
end
Espero ter ajudado.
edite ---
Resolvido? Se sim clique na melhor resposta!