Postado Março 20, 2013 12 anos Galera eu aki dnv eu tava instalando o woe aki no meu deu tudo certo liguei sem nenhum erro quando eu fiz /woe apareceu esse erro [20/03/2013 16:04:17] [Error - TalkAction Interface] [20/03/2013 16:04:17] data/talkactions/scripts/woe.lua:onSay [20/03/2013 16:04:17] Description: [20/03/2013 16:04:17] ./_woe.lua:14: attempt to call field 'executeQuery' (a nil value) [20/03/2013 16:04:17] stack traceback: [20/03/2013 16:04:17] ./_woe.lua:14: in function 'setup' [20/03/2013 16:04:17] data/talkactions/scripts/woe.lua:8: in function <data/talkactions/scripts/woe.lua:5> eu vo posta meus script aki que esta dando erro 1 esse erro ./_woe.lua:14: attempt to call field 'executeQuery' (a nil value) /_woe.lua:14: in function 'setup' dofile("./var.woe") local config = woe_config fileStore = true infoFile = 'tmp.woe' infoLua = {} Woe = {} Woe.__index = Woe function Woe.setup() db.executeQuery("DROP TABLE IF EXISTS `woe`;") db.executeQuery("CREATE TABLE `woe` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,`started` INT( 11 ) NOT NULL ,`guild` INT( 11 ) NOT NULL ,`breaker` INT( 11 ) NOT NULL ,`time` INT( 11 ) NOT NULL ,PRIMARY KEY ( `id` ) ,UNIQUE (`id`)) ENGINE = MYISAM") doBroadcastMessage("DB Added [...]", config.bcType) if fileStore then local newFile = io.open(infoFile, "w") for _, i in ipairs({'started', 'guild', 'breaker', 'time'}) do newFile:write(i .. ' = 0 ;end;\n') end newFile:close() else db.executeQuery("DROP TABLE IF EXISTS `tmpwoe`;") db.executeQuery("CREATE TABLE `tmpwoe` (`started` INT( 11 ) NOT NULL ,`guild` INT( 11 ) NOT NULL ,`breaker` INT( 111 ) NOT NULL ,`time` INT( 1 ) NOT NULL) ENGINE = MYISAM ;") db.executeQuery("ALTER TABLE `tmpwoe` ADD `indexer` INT NOT NULL ") db.executeQuery("INSERT INTO `tmpwoe` (`started` ,`guild` ,`breaker` ,`time`, `indexer`)VALUES ('0', '0', '0', '0', '1');") end end function Woe.getInfo() if fileStore then local open = io.open(infoFile, "r") if open then for i in io.lines(infoFile) do for v, k in ipairs({'started', 'guild', 'breaker', 'time'}) do if (i:find(k)) then n = i:match(k .. '.*') infoLua[v] = tonumber(n:sub(n:find('=') + 2, n:find(';end;') - 2)) end end end open:close() end else for v, k in ipairs({'started', 'guild', 'breaker', 'time'}) do local tmp = db.getResult("SELECT " .. k .. " FROM `tmpwoe` WHERE `indexer` = '1';") infoLua[v] = tmp:getDataInt(k) tmp:free() end end end function Woe.updateInfo(tab) if fileStore then local open = io.open(infoFile, "w") if open then for k, i in ipairs({'started', 'guild', 'breaker', 'time'}) do open:write(i .. ' = ' .. tab[k] .. ' ;end;\n') end open:close() end else for v, k in ipairs({'started', 'guild', 'breaker', 'time'}) do db.executeQuery("UPDATE `tmpwoe` SET " .. k .. " = " .. tab[v] .. " WHERE `indexer` = 1;") end end end function Woe.save() Woe.getInfo() db.executeQuery("INSERT INTO `woe` (`started`, `guild`, `breaker`, `time`) VALUES (" .. infoLua[1] .. ", " .. infoLua[2] .. ", " .. infoLua[3] .. ", " .. infoLua[4] .. ");") end function Woe.getGuildName(id) local res = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. id .. ";") if (res:getID() ~= -1) then ret = res:getDataString('name') res:free() end return ret end function Woe.breakerName() Woe.getInfo() return infoLua[3] ~= 0 and getPlayerNameByGUID(infoLua[3]) or 'None' end function Woe.guildName() Woe.getInfo() return infoLua[2] ~= 0 and Woe.getGuildName(infoLua[2]) or 'Nones' end function Woe.startTime() Woe.getInfo() return os.date("%d %B %Y %X ", infoLua[1]) end function Woe.breakTime() Woe.getInfo() return os.date("%d %B %Y %X ", infoLua[4]) end function Woe.timeToEnd() Woe.getInfo() local myTable = {} for k, i in ipairs({"%M", "%S"}) do myTable[k] = os.date(i, os.difftime(os.time(), infoLua[1])) end return {mins = ((config.timeToEnd - 1) - myTable[1]), secs = (60 - myTable[2])} end function Woe.moveBack(cid, fromPosition, text) doTeleportThing(cid, fromPosition, TRUE) doPlayerSendCancel(cid, text) end function Woe.getGuildMembers(id) local members = {} for _, i in ipairs(getPlayersOnline()) do if id == getPlayerGuildId(i) then table.insert(members, i) end end return members end function Woe.deco(text) for _, i in ipairs(Castle.decoraciones) do doItemSetAttribute(i, "description", text) end end function Woe.removePortals() for _, i in ipairs(Castle.PrePortalsPos) do if (getThingFromPos(i).itemid > 0) then doRemoveItem(getThingFromPos(i).uid) end end end function Woe.removePre() for _, i in ipairs(Castle.PreEmpes) do if (isCreature(getThingFromPos(i).uid) == true) then doRemoveCreature(getThingFromPos(i).uid) end end end function Woe.checkPre() local Count = 0 for _, i in ipairs(Castle.PreEmpes) do if (isCreature(getThingFromPos(i).uid) == false) then Count = Count + 1 end end return (Count == #Castle.PreEmpes) end function Woe.isTime() return (getGlobalStorageValue(stor.WoeTime) == 1) end function Woe.isStarted() return (getGlobalStorageValue(stor.Started) == 1) end function Woe.isRegistered(cid) return (getPlayerStorageValue(cid, stor.register) == 1) end function Woe.isInCastle(cid) local myPos = getCreaturePosition(cid) if (myPos.x >= Castle.salas.a.fromx and myPos.x <= Castle.salas.a.tox) then if (myPos.y >= Castle.salas.a.fromy and myPos.y <= Castle.salas.a.toy) then if isInArray({Castle.salas.a.z, Castle.salas.b.z, Castle.salas.c.z}, myPos.z) then return true end end end return false end function Woe.expulsar(guild, fromx, tox, fromy, toy, z, outpos) for _x = fromx, tox do for _y = fromy, toy do local player = getThingFromPos({x = _x, y = _y, z = z, stackpos = 253}).uid if (isPlayer(player) == true) then if (getPlayerGuildId(player) ~= guild) then doTeleportThing(player, outpos, false) end end end end end -- extras function doSetItemActionId(uid, action) doItemSetAttribute(uid, "aid", action) end function exhaust(cid, storevalue, exhausttime) -- Exhaustion function by Alreth, v1.1 2006-06-24 01:31 -- Returns 1 if not exhausted and 0 if exhausted newExhaust = os.time() oldExhaust = getPlayerStorageValue(cid, storevalue) if (oldExhaust == nil or oldExhaust < 0) then oldExhaust = 0 end if (exhausttime == nil or exhausttime < 0) then exhausttime = 1 end diffTime = os.difftime(newExhaust, oldExhaust) if (diffTime >= exhausttime or diffTime < 0) then setPlayerStorageValue(cid, storevalue, newExhaust) return 1 else return 0 end end --new guard_pos = { {x = 55, y = 31, z = 5}, {x = 55, y = 30, z = 5}, {x = 55, y = 29, z = 5}, {x = 55, y = 28, z = 5}, {x = 55, y = 27, z = 5}, {x = 55, y = 26, z = 5}, {x = 55, y = 25, z = 5} } function Woe.check() for storage = 24504, 24511 do local pid = getGlobalStorageValue(storage) if isCreature(pid) then return false end end return true end function Woe.summon() for k, i in ipairs(guard_pos) do local pid = doSummonCreature("guard", i) setGlobalStorageValue(24503 + k, pid) end end function Woe.remove() for storage = 24504, 24511 do local pid = getGlobalStorageValue(storage) if isCreature(pid) then doRemoveCreature(pid) end end end 2 erro data/talkactions/scripts/woe.lua:8: in function <data/talkactions/scripts/woe.lua:5> dofile("./_woe.lua") local config = woe_config function onSay(cid, words, param) if words == "/woe" and param == "/!/SETUP" then Woe.setup() return true end Woe.getInfo() local myTable = {} for _, i in ipairs({"%d", "%B", "%Y", "%X"}) do table.insert(myTable, os.date(i, infoLua[4])) end if Woe.isStarted() then text = "time left = " .. Woe.timeToEnd().mins .. ":" .. Woe.timeToEnd().secs .. "\nActually the castle " .. Castle.name .. " is owned by " .. Woe.guildName() .. ".\n" .. Woe.breakerName() .. " broke the empe at "..myTable[1].." / "..myTable[2].." / "..myTable[3].." at time "..myTable[4].."." else text = "the last woe was won by " .. Woe.guildName() .. ".\n" .. Woe.breakerName() .. " broke the empe at "..myTable[1].." / "..myTable[2].." / "..myTable[3].." at time "..myTable[4].."." end if words == "/woe" then if getPlayerAccess(cid) >= config.accessToStar then if param == "on" then if Woe.isTime() ~= true then doBroadcastMessage("War of Emperium will start in next 5 minutes...", config.bcType) doBroadcastMessage("will have a duration of " .. config.timeToEnd .. " Minutes.", config.bcType) setGlobalStorageValue(stor.WoeTime, 1) else doPlayerSendCancel(cid, "WoE is already running.") end elseif param == "off" then if Woe.isTime() == true then doBroadcastMessage("WoE was canceled...", config.bcType) setGlobalStorageValue(stor.WoeTime, 0) setGlobalStorageValue(stor.Started, 0) if isCreature(getThingFromPos(Castle.empePos).uid) == TRUE then doRemoveCreature(getThingFromPos(Castle.empePos).uid) end if getThingFromPos(Castle.desde).itemid > 0 then doRemoveItem(getThingFromPos(Castle.desde).uid) end Woe.removePre() Woe.removePortals() else doPlayerSendCancel(cid, "WoE is not running.") end elseif param == "empe" then doSummonCreature("empe", Castle.empePos) elseif param == "go" then local newPos = Castle.empePos newPos.y = newPos.y + 1 doTeleportThing(cid, newPos, FALSE) elseif param == "info" then doPlayerPopupFYI(cid, text) else doPlayerSendCancel(cid, "not valid param.") end elseif getPlayerAccess(cid) < config.accessToStar then if param == "info" then doPlayerPopupFYI(cid, text) end else doPlayerSendCancel(cid, "not possible.") end elseif words == "!recall" then if Woe.isStarted() == true then if getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER then if Woe.isInCastle(cid) == true then local members = Woe.getGuildMembers(getPlayerGuildId(cid)) if #members > 1 then if(exhaust(cid, stor.recall, config.recallTime) == 1) then for _, i in ipairs(members) do if getPlayerGuildLevel(i) ~= GUILDLEVEL_LEADER then local pos = getClosestFreeTile(cid, getCreaturePosition(cid), FALSE, TRUE) doTeleportThing(i, pos, FALSE) end end doCreatureSay(cid, "Emergency Recall", TALKTYPE_SAY) else doPlayerSendCancel(cid, "you can only use this every " .. config.recallTime / 60 .. " minutes.") end else doPlayerSendCancel(cid, "no members online.") end else doPlayerSendCancel(cid, "only can be used in the castle.") end else doPlayerSendCancel(cid, "you are not the leader.") end else doPlayerSendCancel(cid, "woe is not running.") end end return true end alguem pode me ajuda nisso Editado Março 20, 2013 12 anos por paulo thush (veja o histórico de edições) Meu novo projeto. http://oi58.tinypic.com/2yplmrk.jpg
Postado Março 20, 2013 12 anos ja tento trocar os que tá db.executeQuery por db.query ? >>> Baiak Slayer <<< Baiak Slayer 24h PVP 8.6 Site e IP: baiakslayer.org Informações: » 24 Horas Online » Mapa próprio da equipe Slayer (Spawns próprias) » Vocações balanceadas » Use o Cliente Baiak Slayer » 40+ Raids Automáticas » Grupo de Tutores Competentes » Excelente Suporte In-Game » 10.173+ Spawns » War System full » Sem Corrupção » Task Completa » EXP Rate: 250x Inicial (Estagiada) » Skill Rate: 30 x » Magic Rate: 15 x » Loot Rate: Própria do Servidor (Eventos Double Loot) Não perca mais tempo! Entre e divirta-se!! Citar
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.