Jump to content
Close

marcot

Member
  • Content Count

    179
  • Joined

  • Last visited

  • Days Won

    4

marcot last won the day on February 2 2018

marcot had the most liked content!

5 Followers

About marcot

  • Rank
    Squire

Profile Information

  • Gender
    Masculino
  • I am
    Scripter

Recent Profile Visitors

652 profile views
  1. Basicamente, pelo que o log está informando: Na pokedex você está acessando alguma variável errada No catch o campo que você está acessando não existe (então dá pra pensar que ele não foi adicionado corretamente). Mas tenha em mente que sem código qualquer um vai ficar no achismo, porque muito plot twist pode acontecer quando você vê código alheio.
  2. Ele não achou o config.lua, tem certeza que o caminho especificado é esse aí mesmo?
  3. Caso queira editar apenas alguns em específico, iria pelo caminho mais fácil, colocando uma uniqueid neles. Se você deseja mudar todos, a ideia muda: você vai olhar algum programa para editar o arquivo items.otb, que fica em ./data/items/. No programa que você escolher provavelmente já vai achar tudo bem fácil de trocar. No link abaixo tem mais ou menos explicando o processo:
  4. Esse erro ele tá te dizendo que ele não encontrou a função getTomorrowsDate... Você pegou esse script de onde? Potencialmente por lá vc acha ela
  5. Não tem muito segredo então, só joga os dois comandos dentro de um arquivo de texto e salva ele com o formato .bat
  6. Qual erro apareceu na distro? [EDIT] Aliás, no 0.4 no actions.xml não é esse o formato? <action actionid="60999" event="script" value="parch.lua"/>
  7. Estranho isso, porque aqui funcionou direitinho, você tem certeza que alterou os scripts corretos e deu o reload spells? Sem arma depois da modificação: Com arma depois da modificação: Com arma antes da modificação: Sem arma antes da modificação:
  8. Por que você não abre diretamente o executável? Não dá certo? Tô meio desatualizado...
  9. local cfg = { playerStorage = 60999, globalStorage = 60999, time = 60 * 60 * 24, -- Tempo em segundos positions = { {x=33060, y=31623, z=15}, {x=33066, y=31623, z=15}, {x=33060, y=31627, z=15}, {x=33066, y=31627, z=15} } } function isCooldownReady() return os.time() > getGlobalStorageValue(cfg.globalStorage) end function onUse(cid, item, frompos, item2, topos) if not isCooldownReady() then return true end for _, t in pairs(cfg.positions) do doSummonCreature("Demon", t) end setPlayerStorageValue(cid, cfg.playerStorage, 1) setGlobalStorageValue(cfg.globalStorage, os.time() + cfg.time) end No script acima eu coloco como valor de storage o tempo atual somado ao tempo (segundos) necessário para a quest poder ser ativada novamente. Eu fiz uns testes bem básicos aqui com tempos pequenos (como de 10 segundos) e aparentemente funciona.
  10. @bpm91, outra coisa que eu esqueci de perguntar, você quer que o timer funcione de qual forma? Cada player pode invocar os monstros uma vez por dia; Os monstros só podem ser invocados uma vez por dia, independente do jogador que o tenha feito;
  11. Você poderia postar como ficou o script após a modificação?
  12. @bpm91 Sobre o baú de quest, você tem certeza de que não está funcionando? Porque por padrão vem um script chamado walkback.lua em movements que possui justamente essa finalidade pelo que entendi aqui. Sobre a parchment quest, existe algum script de gatilho para dar respawn nesses demons?
  13. @bpm91 Segue abaixo o script de exori que estou utilizando: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Note que temos ali uma função onGetFormulaValues, onde temos uma tupla sendo atribuida às variáveis skillTotal e levelTotal, que recebem: skillTotal = skill + attack levelTotal = level / 5 Estou supondo que o parâmetro attack corresponde ao ataque da arma que o jogador tem equipada, então para tirar o ataque dela da fórmula simplesmente troco a função onGetFormulaValues por esta: function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end Teste no meu servidor e a arma, de fato, parou de influenciar no nível, mas é provável que você precise modificar a fórmula de damage.
  14. Eu recomendo você fazer consultas das funções enquanto estiver programando, porque isso dá uma noção enorme do como você vai fazer o seu código e quais são as limitações do LUA no otserver. Segue o link abaixo com a documentação do TFS 0.4: https://github.com/otservme/global860/blob/master/sources/doc/LUA_FUNCTIONS
  15. Ele está te dizendo aí que tentou chamar a função doSetItemActionId e disse que isso é um valor nil, porque se não me engano em LUA tudo que não tá criado é nulo. Não sei qual base está utilizando, mas a função de setar um action id para o TFS 0.4 é essa: doItemSetActionId(uid, aid) Onde uid é o unique id do item e aid possivelmente o id que você quer.

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...