Postado Março 14, 2019 6 anos Ola, instalei o seguinte sistema de War of Emperor: https://tibiaking.com/forums/topic/17185-evento-war-of-emperium-woe-completo/ Estou tendo alguns problemas no log quando os geradores morrem: Mostrar conteúdo oculto > Broadcasted message: "one of Pre-Empes have been broken...". [17:17:02.671] [Error - CreatureScript Interface] [17:17:02.671] domodlib('Loot_func') [17:17:02.671] function onDeath(cid, corpse, deathList) [17:17:02.671] local killer,pos = deathList[1],getCreaturePosition(cid) [17:17:02.671] addEvent(corpseRetireItems,1,killer,pos) [17:17:02.671] return true [17:17:02.671] end:onDeath [17:17:02.671] Description: [17:17:02.671] (luaGetThingPosition) Thing not found [17:17:02.734] [Error - CreatureScript Interface] [17:17:02.734] In a timer event called from: [17:17:02.734] domodlib('Loot_func') [17:17:02.734] function onDeath(cid, corpse, deathList) [17:17:02.734] local killer,pos = deathList[1],getCreaturePosition(cid) [17:17:02.734] addEvent(corpseRetireItems,1,killer,pos) [17:17:02.734] return true [17:17:02.734] end:onDeath [17:17:02.734] Description: [17:17:02.734] [string "info = {..."]:145: attempt to index local 'pos' (a boolean value) [17:17:02.734] stack traceback: [17:17:02.734] [string "info = {..."]:145: in function <[string "info = {..."]:142> > Broadcasted message: "Both Pre-Empes have been broken, portals opened.". [17:17:18.875] [Error - CreatureScript Interface] [17:17:18.875] domodlib('Loot_func') [17:17:18.875] function onDeath(cid, corpse, deathList) [17:17:18.875] local killer,pos = deathList[1],getCreaturePosition(cid) [17:17:18.875] addEvent(corpseRetireItems,1,killer,pos) [17:17:18.875] return true [17:17:18.875] end:onDeath [17:17:18.875] Description: [17:17:18.875] (luaGetThingPosition) Thing not found [17:17:18.937] [Error - CreatureScript Interface] [17:17:18.937] In a timer event called from: [17:17:18.937] domodlib('Loot_func') [17:17:18.937] function onDeath(cid, corpse, deathList) [17:17:18.937] local killer,pos = deathList[1],getCreaturePosition(cid) [17:17:18.937] addEvent(corpseRetireItems,1,killer,pos) [17:17:18.937] return true [17:17:18.937] end:onDeath [17:17:18.937] Description: [17:17:18.937] [string "info = {..."]:145: attempt to index local 'pos' (a boolean value) [17:17:18.937] stack traceback: [17:17:18.937] [string "info = {..."]:145: in function <[string "info = {..."]:142> _woe.lua: Mostrar conteúdo oculto 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 Alguem sabe dizer o que é? Qualquer coisa posto outra parte do script aqui. (The Forgotten Server, version 0.4_DEV (rev 3777))
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.