• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua WOE event does not work

fleszu_pl

New Member
Joined
Jul 8, 2011
Messages
91
Reaction score
1
Error in console
errorpng_ewershq.png

this is my woe.lua


PHP:
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
this is my register_woe
PHP:
dofile("./_woe.lua")

[B]
function onSay(cid, words, param)
    if not Woe.isRegistered(cid) then
        if getPlayerGuildId(cid) > 0 then
            setPlayerStorageValue(cid, stor.register, 1)
        else
            doPlayerSendCancel(cid, "no guild.")
        end
    else
        doPlayerSendCancel(cid, "already registered.")
    end
    return true
end
 
Error in console
errorpng_ewershq.png

this is my woe.lua


PHP:
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
this is my register_woe
PHP:
dofile("./_woe.lua")

[B]
function onSay(cid, words, param)
    if not Woe.isRegistered(cid) then
        if getPlayerGuildId(cid) > 0 then
            setPlayerStorageValue(cid, stor.register, 1)
        else
            doPlayerSendCancel(cid, "no guild.")
        end
    else
        doPlayerSendCancel(cid, "already registered.")
    end
    return true
end
can you post your talkaction.xml about this part ?
 
this is this part from talkaction.xml
Code:
    <talkaction words="/woe" event="script" value="woe/woe.lua"/>
    <talkaction words="!recall" event="script" value="woe/woe.lua"/>
    <talkaction words="!woe" event="script" value="woe/register_woe.lua"/>
 
this is this part from talkaction.xml
Code:
    <talkaction words="/woe" event="script" value="woe/woe.lua"/>
    <talkaction words="!recall" event="script" value="woe/woe.lua"/>
    <talkaction words="!woe" event="script" value="woe/register_woe.lua"/>
You added this file ?
/_woe.lua?
 
Nope i think script will make him automaticly. Sorry he need to be on folder befor this my woe.lua? Or in the same folder? and last question how he need Look this _woe.lua he should be empty or what?

SORY FOR MY BAD Langue.

BUMP
 
Last edited by a moderator:
Back
Top