EM

[Resolvido] Ajuda a configurar !

Por Emooooo, 31 de ago. de 2018 em Resolvidos

11
2.1k
EmoooooE
31 de agosto de 2018 às 12:15

script >>>

 

local config =
{
        day = "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",
        pos = {x=290, y=24, z=7},
        topos = {x=821, y=459, z=7},
        time = 3, -- tempo que o teleport ira sumir em minutos
        msg_open = "The Portal will open in 3 minutes, go to the temple.", 
        msg_close = "The Portal closed."
}


local function DelTp()
        local t = getTileItemById(config.pos, 1387)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(config.pos, CONST_ME_POFF)
        end
end


function onTimer()
       
        if (os.date("%A") == config.day) then
                doCreateTeleport(1387, config.topos, config.pos)
                doBroadcastMessage(config.msg_open)
                addEvent(DelTp, config.time*60*1000)
                addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)
        end


        return true
end

 

 

erro

 

[31/8/2018 12:10:18] [Error - Event::checkScript] Event onTime not found (data/globalevents/scripts/tp1.lua)

GengoG
31 de agosto de 2018 às 12:54

O servidor não possui onTimer, o que você pode fazer é substituir pela  função: onThink(interval, lastExecution) ficando assim seu codigo:

Spoiler
local config =
{
        day = "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",
        pos = {x=290, y=24, z=7},
        topos = {x=821, y=459, z=7},
        time = 3, -- tempo que o teleport ira sumir em minutos
        msg_open = "The Portal will open in 3 minutes, go to the temple.", 
        msg_close = "The Portal closed."
}


local function DelTp()
        local t = getTileItemById(config.pos, 1387)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(config.pos, CONST_ME_POFF)
        end
end


function onThink(interval, lastExecution)       
        if (os.date("%A") == config.day) then
                doCreateTeleport(1387, config.topos, config.pos)
                doBroadcastMessage(config.msg_open)
                addEvent(DelTp, config.time*60*1000)
                addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)
        end


        return true
end

A tag do xml fica assim: 

<globalevent name="Nome" interval="60" event="script" value="nomedoarquivo.lua"/>

 

EmoooooE
31 de agosto de 2018 às 12:58
4 minutos atrás, luis700 disse:

O servidor não possui onTimer, o que você pode fazer é substituir pela  função: onThink(interval, lastExecution) ficando assim seu codigo:

  Ocultar conteúdo

local config =
{
        day = "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",
        pos = {x=290, y=24, z=7},
        topos = {x=821, y=459, z=7},
        time = 3, -- tempo que o teleport ira sumir em minutos
        msg_open = "The Portal will open in 3 minutes, go to the temple.", 
        msg_close = "The Portal closed."
}


local function DelTp()
        local t = getTileItemById(config.pos, 1387)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(config.pos, CONST_ME_POFF)
        end
end


function onThink(interval, lastExecution)       
        if (os.date("%A") == config.day) then
                doCreateTeleport(1387, config.topos, config.pos)
                doBroadcastMessage(config.msg_open)
                addEvent(DelTp, config.time*60*1000)
                addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)
        end


        return true
end

A tag do xml fica assim: 


<globalevent name="Nome" interval="60" event="script" value="nomedoarquivo.lua"/>

 

[31/8/2018 12:58:30] [Error - Event::checkScript] Cannot load script (data/globalevents/scripts/tp3.lua)
[31/8/2018 12:58:30] data/globalevents/scripts/tp3.lua:22: ')' expected near 'ï'

GengoG
31 de agosto de 2018 às 13:05
2 minutos atrás, Emooooo disse:

[31/8/2018 12:58:30] [Error - Event::checkScript] Cannot load script (data/globalevents/scripts/tp3.lua)
[31/8/2018 12:58:30] data/globalevents/scripts/tp3.lua:22: ')' expected near 'ï'

Verifica se na hora de copiar o codigo, não veio alguma coisa a mais pois eu copiei o codigo aqui e veio com erros de ctrl+c e ctrl+v veio com uns pontinhos, até pq eu simplesmente troquei só o nome da função.

Spoiler

erro.png.e3e60815679ac5b4e67d5ee8ed8c9e5c.png

 

EmoooooE
31 de agosto de 2018 às 13:23
18 minutos atrás, luis700 disse:

Verifica se na hora de copiar o codigo, não veio alguma coisa a mais pois eu copiei o codigo aqui e veio com erros de ctrl+c e ctrl+v veio com uns pontinhos, até pq eu simplesmente troquei só o nome da função.

  Ocultar conteúdo

erro.png.e3e60815679ac5b4e67d5ee8ed8c9e5c.png

 

ok vou ver aqui

38 minutos atrás, luis700 disse:

O servidor não possui onTimer, o que você pode fazer é substituir pela  função: onThink(interval, lastExecution) ficando assim seu codigo:

  Ocultar conteúdo

local config =
{
        day = "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",
        pos = {x=290, y=24, z=7},
        topos = {x=821, y=459, z=7},
        time = 3, -- tempo que o teleport ira sumir em minutos
        msg_open = "The Portal will open in 3 minutes, go to the temple.", 
        msg_close = "The Portal closed."
}


local function DelTp()
        local t = getTileItemById(config.pos, 1387)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(config.pos, CONST_ME_POFF)
        end
end


function onThink(interval, lastExecution)       
        if (os.date("%A") == config.day) then
                doCreateTeleport(1387, config.topos, config.pos)
                doBroadcastMessage(config.msg_open)
                addEvent(DelTp, config.time*60*1000)
                addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)
        end


        return true
end

A tag do xml fica assim: 


<globalevent name="Nome" interval="60" event="script" value="nomedoarquivo.lua"/>

 

[Error - Event::checkScript] Event onThink not found (data/globalevents/scripts/tp.lua)

 

deu esse erro 

EmoooooE
31 de agosto de 2018 às 16:09
36 minutos atrás, Naruse disse:

Tenta aí

 

local config =
{
        day = "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",
        pos = {x=290, y=24, z=7},
        topos = {x=821, y=459, z=7},
        time = 3, -- tempo que o teleport ira sumir em minutos
        msg_open = "O portal ira abrir em 3 minutos,por favor ir até o cp", 
        msg_close = "O portal fechou"
}


local function DelTp()
        local t = getTileItemById(config.pos, 1387)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(config.pos, CONST_ME_POFF)
        end
end


function onThink(interval, lastExecution, thinkInterval)
       
        if (os.date("%A") == config.day) then
                doCreateTeleport(1387, config.topos, config.pos)
                doBroadcastMessage(config.msg_open)
                addEvent(DelTp, config.time*60*1000)
                addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)
        end


        return true
end

 

[31/8/2018 16:8:57] [Error - Event::checkScript] Event onTime not found (data/globalevents/scripts/tp.lua)

EmoooooE
31 de agosto de 2018 às 16:23
9 minutos atrás, Naruse disse:
local config =
{
        day = "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",
        pos = {x=290, y=24, z=7},
        topos = {x=821, y=459, z=7},
        time = 3, -- tempo que o teleport ira sumir em minutos
        msg_open = "O portal ira abrir em 3 minutos,por favor ir até o cp", 
        msg_close = "O portal fechou"
}


local function DelTp()
        local t = getTileItemById(config.pos, 1387)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(config.pos, CONST_ME_POFF)
        end
end


function onThink(interval, lastExecution, thinkInterval)
function onTimer()
       
        if (os.date("%A") == config.day) then
                doCreateTeleport(1387, config.topos, config.pos)
                doBroadcastMessage(config.msg_open)
                addEvent(DelTp, config.time*60*1000)
                addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)
        end


        return true
end

 

[31/8/2018 16:23:2] [Error - LuaInterface::loadFile] data/globalevents/scripts/tp.lua:33: 'end' expected (to close 'function' at line 21) near '<eof>'
[31/8/2018 16:23:2] [Error - Event::checkScript] Cannot load script (data/globalevents/scripts/tp.lua)
[31/8/2018 16:23:2] data/globalevents/scripts/tp.lua:33: 'end' expected (to close 'function' at line 21) near '<eof>'

EmoooooE
31 de agosto de 2018 às 16:33
6 minutos atrás, Naruse disse:

Teste

 

 

local config =
{
        day = "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",
        pos = {x=290, y=24, z=7},
        topos = {x=821, y=459, z=7},
        time = 3, -- tempo que o teleport ira sumir em minutos
        msg_open = "O portal ira abrir em 3 minutos,por favor ir até o cp", 
        msg_close = "O portal fechou"
}


local function DelTp()
        local t = getTileItemById(config.pos, 1387)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(config.pos, CONST_ME_POFF)
        end
end


function onThink(interval, lastExecution, thinkInterval)
end
function onTimer()
       
        if (os.date("%A") == config.day) then
                doCreateTeleport(1387, config.topos, config.pos)
                doBroadcastMessage(config.msg_open)
                addEvent(DelTp, config.time*60*1000)
                addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)
        end


        return true
end

funcionou muito obrigado

MarshmelloM
01 de setembro de 2018 às 07:38
15 horas atrás, Naruse disse:
local config =
{
        day = "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",
        pos = {x=290, y=24, z=7},
        topos = {x=821, y=459, z=7},
        time = 3, -- tempo que o teleport ira sumir em minutos
        msg_open = "O portal ira abrir em 3 minutos,por favor ir até o cp", 
        msg_close = "O portal fechou"
}


local function DelTp()
        local t = getTileItemById(config.pos, 1387)
        if t then
                doRemoveItem(t.uid, 1)
                doSendMagicEffect(config.pos, CONST_ME_POFF)
        end
end


function onThink(interval, lastExecution, thinkInterval)
function onTimer()
       
        if (os.date("%A") == config.day) then
                doCreateTeleport(1387, config.topos, config.pos)
                doBroadcastMessage(config.msg_open)
                addEvent(DelTp, config.time*60*1000)
                addEvent(doBroadcastMessage, config.time*60*1000, config.msg_close)
        end


        return true
end

 

Pra que por um onThink e um onTimer no mesmo script?

MarshmelloM
01 de setembro de 2018 às 10:46

nada haver cara

5 meses depois...
MarshmelloM
20 de fevereiro de 2019 às 16:18
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.