Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá pessoal,
 
estou tilizando um script no meu ot referente ao Evento "DOTA", mas me aparece a seguinte menssagem de erro no distro do servidor, quando estou colocando o servidor online:

 

[3:12:07.513] [Warning - Event::loadScript] Event onTime not found (data/globalevents/scripts/dota.lua)

 

O script é este :

 

dota.lua

 

 

local config = {
semana_mes = "semana",
days = {4,7},
    tempo = 600,
    p = {{x=601,y=40,z=7},
        {x=601,y=41,z=7},
        {x=601,y=42,z=7},
        {x=601,y=43,z=7},
        {x=601,y=44,z=7},
        {x=685,y=40,z=7},
        {x=685,y=41,z=7},
        {x=685,y=42,z=7},
        {x=685,y=43,z=7},
        {x=685,y=44,z=7}
    },
    idpedra=1304,
    p2 = {{x=613,y=40,z=7},
        {x=613,y=41,z=7},
        {x=613,y=42,z=7},
        {x=613,y=43,z=7},
        {x=613,y=44,z=7},
        {x=625,y=40,z=7},
        {x=625,y=41,z=7},
        {x=625,y=42,z=7},
        {x=625,y=43,z=7},
        {x=625,y=44,z=7},
        {x=638,y=43,z=7},
        {x=640,y=42,z=7},
        {x=648,y=40,z=7},
        {x=646,y=42,z=7}
    },
    idpedra2=1353,
    p3 = {{x=661,y=40,z=7},
         {x=661,y=41,z=7},
         {x=661,y=42,z=7},
     {x=661,y=43,z=7},
     {x=661,y=44,z=7},
{x=673,y=40,z=7},
        {x=673,y=41,z=7},
        {x=673,y=42,z=7},
        {x=673,y=43,z=7},
        {x=673,y=44,z=7}
    },
    idpedra3=1354,
    m={{"Gerador Azul I",{x=607,y=42,z=7}},
        {"Gerador Vermelho I",{x=679,y=42,z=7}}
        },
    nkpos = {{x=1,y=1,z=7},
        {x=1,y=1,z=7},
        {x=1,y=1,z=7},
        {x=1,y=1,z=7},
        {x=1,y=1,z=7},
        {x=1,y=1,z=7}

}} --em segundos

function onTime()
local time = os.date("*t")
if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.daystime.day)) or config.semana_mes == "" then
    for _,k in pairs(config.nkpos) do
        if isMonster(getTopCreature(k).uid) then
            doRemoveCreature(getTopCreature(k).uid)
        end
    end
    for _,k in pairs(config.p) do
         doRemoveItem(getTileItemById(k,config.idpedra).uid,1)
    end
    for _,k in pairs(config.p2) do
        doRemoveItem(getTileItemById(k,config.idpedra2).uid,1)
    end
    for _,k in pairs(config.p3) do
        doRemoveItem(getTileItemById(k,config.idpedra3).uid,1)
    end

    for _,k in pairs(config.p) do
        doCreateItem(config.idpedra,k)
    end
    for _,k in pairs(config.p2) do
        doCreateItem(config.idpedra2,k)
    end
    for _,k in pairs(config.p3) do
        doCreateItem(config.idpedra3,k)
    end
    for _,o in pairs(config.m) do
        doSummonCreature(o[1],o[2])
    end
     local mensage1 = "[Evento Dota] Liberada Sala dos Times! Quem quiser Participar, vá para a sala de times até o Evento começar. Depois que começar, sÓ na outra rodada! Gogo (TELEPORTE PARA O DOTA NO TEMPLO DA CIDADE PRINCIPAL)" -- Mensagem Inicial
        gatepos = {x=677, y=14, z=7, stackpos=1} -- Posição da Pedra
        getgate = getThingfromPos(gatepos)
        if getgate.itemid == 1304 then
            broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE)
            doRemoveItem(getgate.uid,1)
        end
        addEvent(startDota,config.tempo*1000,nil)
end
return true
end

function startDota()
    local mensage1 = "[Evento Dota] Evento Iniciado! Destruam as Torres! quem destruir as 3 Torres primeiro, Ganha!" -- Mensagem Inicial
    local monster1 = "Gerador Azul I" -- Geradores Iniciais
    local monster2 = "Gerador Vermelho I" -- Geradores Iniciais

    gatepos = {x=685, y=42, z=7, stackpos=1} -- Posição da Pedras 1
    getgate = getThingfromPos(gatepos)

    gatepos11 = {x=685, y=41, z=7, stackpos=1} -- Posição da Pedras 11
    getgate11 = getThingfromPos(gatepos11)

    gatepos12 = {x=685, y=40, z=7, stackpos=1} -- Posição da Pedras 12
    getgate12 = getThingfromPos(gatepos12)

    gatepos13 = {x=685, y=44, z=7, stackpos=1} -- Posição da Pedras 13
    getgate13 = getThingfromPos(gatepos13)

    gatepos14 = {x=685, y=43, z=7, stackpos=1} -- Posição da Pedras 14
    getgate14 = getThingfromPos(gatepos14)


    gatepos2 = {x=601, y=42, z=7, stackpos=1} -- Posição da Pedra 2
    getgate2 = getThingfromPos(gatepos2)

    gatepos21 = {x=601, y=41, z=7, stackpos=1} -- Posição da Pedra 21
    getgate21 = getThingfromPos(gatepos21)

    gatepos22 = {x=601, y=40, z=7, stackpos=1} -- Posição da Pedra 22
    getgate22 = getThingfromPos(gatepos22)

    gatepos23 = {x=601, y=43, z=7, stackpos=1} -- Posição da Pedra 23
    getgate23 = getThingfromPos(gatepos23)

    gatepos24 = {x=601, y=44, z=7, stackpos=1} -- Posição da Pedra 24
    getgate24 = getThingfromPos(gatepos24)

    if getgate.itemid == 1304 and getgate2.itemid == 1304 then
        broadcastMessage(mensage1, MESSAGE_EVENT_ADVANCE)

        doRemoveItem(getgate.uid,1)
        doRemoveItem(getgate11.uid,1)
        doRemoveItem(getgate12.uid,1)
        doRemoveItem(getgate13.uid,1)
        doRemoveItem(getgate14.uid,1)
        doRemoveItem(getgate2.uid,1)
        doRemoveItem(getgate21.uid,1)
        doRemoveItem(getgate22.uid,1)
        doRemoveItem(getgate23.uid,1)
        doRemoveItem(getgate24.uid,1)
        doCreateItem(1304, {x=677, y=14, z=7})
    end
end

 

Globalevents.xml

 

<globalevent name="dota" time="17:00" event="script" value="dota.lua"/>

 

Pelo meu pouco conhecimento, esse erro ocorre pois a função "onTimer()" nao é mais utilizada nas versões mais recentes, sendo assim ela foi subistituida por "onThink".

 

Eu não sei o que devo alterar no script acima para que ele funcione com a função "onThink()".

 

Já acessei varios outros tópicos antes de criar esse tópico de ajuda.

 

Alguns dos tópicos que eu acessei foram:

 

 

 

Gostaria que alguem me ajudasse com isso.

 

Muito obrigado.

 

ps: caso eu tenha postado na área errada me desculpem, mas entre todas as que eu encontrei procurando, essa foi a mais certa aparentemente,

 

 

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

up#

 

Alguém ajuda por favor?

 

Sei que talvez tenho que substituir o OnTimer por onThink

 

Olhei até esse topico:

 

http://www.tibiaking.com/forum/topic/22528-pedido-event-ontime/

 

Mas não sei o que mudar.

 

Ajudem-me por favor!

 

Obrigado!

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

Pessoal, depois que comentei aqui, que fui ver o script de novo e percebi que estava errado de onde eu peguei.

 

Na verdade o  OnTimer  deveria ser OnTime.  Efetuei a mudança e surtiu efeito.

 

100% funcional.

 

Obrigado!

Editado por Mangous (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

a função que ele está usando "function onTime()" é criada dentro do script, não tem nada a ver com a onThink (que é uma função criada dentro da source para você poder utilizá-la) sei que vc já resolveu o problema mas só estou explicando pra vc entender a diferença.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Nogard
      Preciso de um mapper experiente e criativo pra esse projeto:
       
       
       
    • Por Ocrux
      Olá pessoas; meu nome é Vinicius Simões, vulgo Ocrux aqui do TK.
      Infelizmente não vim apresentar um projeto de moba; mas sim vim pedir um.
      Tá; vamos começar de novo, depois disso fica meio difícil.

      Pra começar: Oque é um MOBA?
      Multiplayer Online Battle Arena, abreviado de MOBA, também conhecido como Action Real-Time Strategy, abreviado ARTS, é um subgênero de jogos de estratégia em tempo real, caracterizado por sua semelhança ao jogo Defense of the Ancients (DotA); popularizado nos últimos tempos com o Legue Of Legends.

      Agora que já sabemos oque é um MOBA, vamos aos fatos...

      [X] Em 23 de Janeiro de 2013, foi apresentado ao mundo o Projeto X, um projeto que eu esperei ansioso pra jogar, se trata exatamente de um MOBA no Tibia.
      -Tomei a liberdade de anexar algumas fotos e informações do projeto (Não sei se eu podia fazer isso; qualquer coisa eu apago).
      Projeto X foi apresentado por Printer, uma pessoa já muito conhecida entre o mundo de OTservers. O projeto tinha tudo pra ir pra frente; quase tudo estava completo; o mapa, os sistemas, enfim - quase tudo. Só; que sem mais e sem menos, o projeto acabou e puff; se vai um sonho por ralo a baixo.
      O servidor já contava com os principais sistemas
      -Monstros se atacavam.
      -Itens dando os atributos.
      -Monstros da jungle.
      -Torres na lane.
      -Match Making.
      -Tela de seleção.
      -Ficar invisível no matinho.
      Algumas fotos de que citei

      [X] 30 de julho de 2013, o Project 43 foi apresentado aqui mesmo no Tibia King. Postado por @Henriqueberro, no post (Link aqui) não tinha muita coisa a ser "apreciada"; mas tudo escrito era, pra quem espera com um servidor desses, um tanto quanto satisfatório. Era explicado tudo oque precisava ser feito, oque já tinha feito; enfim - tudo vocês podem conferir no link.
      O projeto não foi pra frente.

      [X] 16 de novembro de 2014, League Of Champions é o servidor da vez. Apresentado também no TK (Link aqui), @Dayglow prometia um servidor baseado no League Of Legends, algo que não me agradou muito, mas ainda eu esperava ansioso pelo resultado. Querendo ou não, ainda era algo promissor; tinha até uma página no Facebook sobre o servidor; enfim, algo que ia pra frente.
      O projeto não foi pra frente.

      [X] 3 de janeiro de 2015; Jose Almeida postou em seu canal do Youtube um vídeo; com o seguinte título "MOBA + Tibia Part 1". O vídeo tratava-se, como diz na própria descrição: Demonstração do Sistema de Batalha MOBA. Então, assim como a parte 1 do vídeo, tivemos uma continuação até a parte 3; e tendo outros vídeos em relação ao suposto servidor desenvolvido pelo ShayKful.
      Jose Almeida é uma pessoa ativa no Youtube, mas nunca consegui contato com o mesmo.
      Não tenho informações sobre o servidor.
      -Segue os vídeos citados.




      Tá, agora que já sabemos de tudo isso; aonde eu quero chegar? A uma única e simples pergunta...
      Por que não fazemos um servidor desses!?
      Digo, sei que é difícil, muito difícil; mas pelo oque percebemos, seremos capazes. Se em 2013 uns caras conseguiram, porque em 2016 um fórum todo não irá conseguir?
      Pelas minhas informações, o @MarceloLoko tem um servidor, incompleto; não tenho muitas informações sobre.
      Mas e se nos juntarmos para fazer? Digo, uma pessoa doa isso, outra doa aquilo, seja uma ideia apenas, ou até mesmo um script de minions se atacarem; enfim é só um sonho, mas é um sonho que muitos de nós temos.
      Oque temos até agora? Um mapa - Lembra do Projeto X? O mapa dele foi uma doação que ainda ta pra download. É; apenas o mapa...
      Mas com o sonho e o mapa apresento a vocês o...

       

       
      [X] Mapa 0%
      [X] Scripts 0%
      [X] Tudo 0%

      Enfim - é apenas uma ideia, uma ideia que flui que é uma beleza.

      Eu fiz o primeiro campeão; apenas o conceito dele...
       
       
      Se você tem uma ideia, não deixe de comentar ela ai.
      Se se interessa tanto quanto eu num servidor desses, comente.
      Se você acha mesmo que tem futuro, comente.
      Se arroz e feijão é uma boa refeição, comente...

      Apoio - @HeberPcL.
    • Por Lucas Barreto
      Bom pessoal estou tendo problemas com este Script aqui:
      lottery.lua é um GlobalEventlocal config = { lottery_hour = "2 hours", -- Tempo ate a proxima loteria (Esse tempo vai aparecer somente como broadcast message) rewards_id = {2494, 2472, 2514, 2160}, -- ID dos Itens Sorteados na Loteria crystal_counts = 10, -- Usado somente se a rewards_id for crystal coin (ID: 2160). website = "yes", -- Only if you have php scripts and table `lottery` in your database! days = { "Monday-01:00", "Monday-04:00", "Monday-08:00", "Monday-10:30", "Monday-13:00", "Monday-16:00", "Monday-19:30", "Monday-22:30", "Tuesday-01:00", "Tuesday-04:00", "Tuesday-08:00", "Tuesday-10:30", "Tuesday-13:00", "Tuesday-16:00", "Tuesday-19:30", "Tuesday-22:30", "Wednesday-01:00", "Wednesday-04:00", "Wednesday-08:00", "Wednesday-10:30", "Wednesday-13:00", "Wednesday-16:00", "Wednesday-19:30", "Wednesday-22:30", "Thursday-01:00", "Thursday-04:00", "Thursday-08:00", "Thursday-10:30", "Thursday-13:00", "Thursday-16:00", "Thursday-19:30", "Thursday-22:30", "Friday-01:00", "Friday-04:00", "Friday-08:00", "Friday-10:44", "Friday-13:00", "Friday-16:00", "Friday-19:30", "Friday-22:30", "Saturday-01:00", "Saturday-04:00", "Saturday-08:00", "Saturday-10:30", "Saturday-13:00", "Saturday-16:00", "Saturday-19:30", "Saturday-22:30", "Sunday-01:00", "Sunday-04:00", "Sunday-08:00", "Sunday-10:30", "Sunday-13:00", "Sunday-16:00", "Sunday-19:30", "Sunday-22:30" } } local function getWorldCreatures(cid) if not(isPlayer(cid)) then return false end local pid = getPlayerGUID(cid) local worldPlayer = 0 local result_plr = db.getResult("SELECT * FROM `players` WHERE `id` = "..pid..";") if(result_plr:getID() ~= -1) then worldPlayer = tonumber(result_plr:getDataInt("world_id")) result_plr:free() return worldPlayer end return false end local function getOnlineParticipants() local players = {} for _, pid in pairs(getOnlinePlayers()) do if getPlayerAccess(pid) <= 2 and getPlayerStorageValue(pid, 281821) <= os.time() then table.insert(players, pid) end end if #players > 0 then return players end return false end function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then if(Game.getPlayerCount(cid) > 0)then return false end local query = db.query or db.executeQuery local random_item = config.rewards_id[math.random(1, #config.rewards_id)] local item_name = getItemIdByName(random_item) local data = os.date("%d/%m/%Y - %H:%M:%S") local online = getOnlineParticipants() if online then local winner = online[math.random(1, #online)] local world = tonumber(getPlayerByName(winner)) if(random_item == 2160) then setPlayerStorageValue(winner, 281821, os.time() + 3600 * 24) doPlayerAddItemEx(winner, random_item, config.crystal_counts) broadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. config.crystal_counts .." " .. getItemIdByName(random_item) .. "s! Congratulations! (Next lottery in " .. config.lottery_hour .. ")") else setPlayerStorageValue(winner, 281821, os.time() + 3600 * 24) broadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " ..getItemIdByName(random_item) .. "! Congratulations! (Next lottery in " .. config.lottery_hour .. ")") doPlayerAddItemEx(winner, random_item, 1) end if(config.website == "yes") then query("INSERT INTO `lottery` (`name`, `item`, `world_id`, `item_name`, `date`) VALUES ('".. getCreatureName(winner).."', '".. random_item .."', '".. world .."', '".. item_name .."', '".. data .."');") end else print("Ninguem OnLine pra ganhar na loteria") end end return true end E meu maior problema, creio eu, é nesta linha:function onThink(cid, interval) if table.find(config.days, os.date("%A-%H:%M")) then if(Game.getPlayerCount(cid) > 0)then return false end Tenho muitas dúvidas em relação a esta Função. Ja tentei muitas variações, apesar de não entender muito, mas fui trocando o que fui achando em outros scripts e de acordo com os erros que a distro acusava. O script Original é esse: (Estou tentando fazer rodar na versão do TFS 1.0) Se alguém puder me ajudar, por favor. +REP
      O Script que eu já editei, postado acima, esta Printando (Ninguem Online para ganhar na Loteria) Referente a linha 128      ->       print("Ninguem OnLine pra ganhar na loteria")
      O Script é do natanael beckman Link da Postagem: globalevents-perfect-lottery-system-mysql-atualizado
      Desde já agradeço a atenção. 
    • Por Henriqueberro
      Project 43
      Prepare seu café e sente-se em uma cadeira confortável, a viagem vai começar. 
        
       
       
      Resumo
       
          O servidor é baseado em games atualmente conhecidos como MOBA (Multiplayer Online Battle Arena), o objetivo é criar um modo de jogo totalmente inovador na área de ATS (Alternative Tibia Server), onde duas equipes compostas de até 5 heróis únicos se enfrentam em uma arena com diversas habilidades e itens a sua disposição, com um único objetivo que é destruir a equipe inimiga.
       

       

      História
       
      Em Breve.

       

      Mapas
       
      Em Breve.


      Sistemas
       
      Partidas programadas
      Vamos ter um sistema automático para procurar jogadores e gerenciar todas as partidas do início ao fim.
      Estado: 
       
      Heróis
      Toda partida é composta por diferentes tipos de heróis, mas só um do mesmo tipo pode ser escolhido, ou seja, nunca vamos ter uma partida com dois ou mais heróis iguais independente se é do mesmo time ou não.
      Estado:
       
      Partidas
      No início de toda partida todos os jogadores começam com os mesmos atributos e características base do herói escolhido, ou seja, todos vão ter chances iguais independente do nível principal.
      Estado:
       
      Perfil do Jogador
      Esse é o perfil principal do jogador, onde define suas vitórias, derrotas, nível principal, quantidade de jogos, medalhas, e etc.
      Estado:
       
      Sistema de Batalha
      Vamos ter diferentes tipos de sistema, de início vamos focar no Team Deathmatch, que consiste em dois times compostos por cinco jogadores cada, ganha quem colecionar o maior número de mortes ( Por time ) até o tempo limite.
      Estado:


      Imagens
       

      Painel de status (Implementado)
       

      Mapa (Implementado)


      Estatísticas Gerais
       
      - Cliente ( OTClient 0.6.2 )
       22/07/2013 - Cliente crú e pronto para implementações.
       23/07/2013 - Fullscreen foi adicionada ao cliente.
       23/07/2013 - Chat System foi modificada e o sistema básico está implementado.
       26/07/2013 - Atualizei o cliente para a versão 0.6.2.
       
      - Servidor ( TFS Sources 0.3.6.pl1 )
       22/07/2013 - Primeira compilação de teste realizada, servidor crú e pronto para implementações.


      A Equipe
      Só estamos aceitando as inscrições para as vagas disponíveis e listadas abaixo.
       Programador
      Responsável pela modificação do cliente e do servidor, necessário ter conhecimento em compiladores, clientes e lógica de programação avançada.
      Vagas: 2
      Programador 1: Henrique Berro
      Programador 2: Vago
       
       Scripter
      Precisa ter conhecimento avançado em programação lua, isso inclui movements, actions, spells, e outros, ter conhecimento em lógica de programação e extras como xml, banco de dados, etc.
      Vagas: 2
      Scripter 1: Henrique Berro
      Scripter 2: Vago
       
       Spriter
      Ser criativo e desenvolver principalmente outfits e animações, ter disponibilidade e fazer um trabalho bem feito e completo.
      Vagas: 2
      Spriter 1: Vago
      Spriter 2: Vago
       
       Roteirista
      Ter muita criatividade, imaginação e realismo, essa vaga é de muita importância pois vamos ter histórias para todos os heróis disponíveis, cidades, contos, acontecimentos, etc.
      Vagas: 2
      Roteirista 1: Henrique Berro
      Roteirista 2: Vago
      Roteirista 3: Vago


      Inscrição
       
      Para se inscrever, como de costume, use esse formulário:
      Nome: Idade: Vaga: Tempo: Trabalhos: Contato: obs: todas as vagas são necessárias e de alta importância, então, é sua obrigação nos enviar um trabalho feito única e exclusivamente por você e mais ninguém, a equipe agradece a sua inscrição, após o envio é só aguardar o contato.
       
      Contato: [email protected]
      Skype: gpingulim
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo