Ir para conteúdo

GlobalEvents, CreatureScripts & Weapons

Encontre aqui scripts de GlobalEvents (eventos globais, mensagens nos chats), CreatureEvents (penalidade da morte, sistemas de login, atributos, storages e Weapons (modificações em itens).

Atenção!

- Esta área é para publicação de Scripts prontos para rodar em Ots.

- Favor manter tópicos organizados! Utilizar code, spoiler, fontes, cores e espaçamentos equilibrados. Tópicos desorganizados, sem formatação ou colados sem alteração serão excluídos.

- Se possível informe se o script foi testado. Explique como instalar e publique imagens/gifs/videos para mostrar o sistema funcionando.

- Ao usar um Script que gostou, dê reputação ao membro que publicou e comente no tópico, para que mais códigos sejam publicados na seção!

- Se o conteúdo não for seu, adicione Créditos!

  1. Bom, como todos sabem, existe o shop.lua em servidores 0.4 para receber itens. Muitos deles têm loops infinitos ou fazem uma varredura completa no banco de dados, o que pode deixá-los instáveis. Isso ocorre principalmente quando o script não verifica adequadamente se há itens para processar ou se o banco de dados está sobrecarregado com consultas desnecessárias. No entanto, com algumas melhorias, podemos otimizar esse processo, garantindo que o servidor se mantenha estável e eficiente. No nosso exemplo, aplicamos algumas mudanças importantes: Checagem eficiente de itens pendentes: A consulta ao banco de dados foi otimizada para verific…

  2. Started by LeoTK,

    Servidor testado 0.3.6 8.60 ✅ - Podendo funcionar em 0.4 ⚠️ Primeiro vou explicar um pouco sobre ele é base do script do @xWhiteWolf e modificado para escalar com skill pelo @BangxD e agora modificado novamente para não só funcionar com players mas também com todos os monstros. Instalação Se ja tem instalado siga as instruções abaixo para instalar o script basta remover o registro do login.lua, alterar a tag XML pela nova fornecida Caso não tenha instalado basta instalar normalmente criando o arquivo critical.lua e adicionando as tag no XML Tag XML Spoiler <event type="login" name="critilogin" ev…

  3. Boa tarde! Alguém poderia colaborar com a solução desse problema? Pois bem, achei uma script que da 1point para o player ficar online (configuravel). Está tudo corretamente, um problema que localizei é que quando o player morre ou desloga o tempo é resetado. Acredito que seja na parte de globalevents esse script, caso n seja alguem move para o local correto por favor. Points/globalevents --[[ P Points System by LsM. ###### © 2011 Version : v1.0 ]]-- local config = { p_time = 3600, -- Tempo em segundos para receber os pontos( 3600 = 1hora ) p_points = 1 -- Quantidade de pontos recebida a cada "p_time" } local function givePoints(cid, q…

  4. Started by Rodrigo94,

    Tudo bem galera do TK? Tenho um projeto TFS 0.4 rev 3777 e instalei o gesior 2012 nele, e o shop vende outfits Mas não estou conseguindo arrumar o script pro player receber a outfit... alguem tem o script do Shop globalevents com o outfit pra me passar? ou me ajudar a criar um?? Meu script original do shop é este: -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 19 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comuni…

  5. Started by L3K0T,

    Sistema de Drop Personalizado Esse sistema de loot foi projetado para adicionar um elemento de sorte e surpresa ao derrotar monstros. Sempre que um jogador derrota um monstro, há uma chance configurada para que ele solte entre 1 a 3 itens especiais, garantindo recompensas valiosas ao jogador. O sistema realiza as seguintes ações: Chance de Drop: A cada morte de um monstro, há uma chance configurada para dropar itens específicos. O sistema permite que sejam dropados entre 1 a 3 unidades do item, tornando o sistema mais dinâmico. Efeito Visual: Quando o loot é bem-sucedido, um efeito visual especial (ID 231) é exibido na posição exat…

  6. Com esse sistema desenvolvido pelo TFS 0.4 8.60 do @Luan Luciano, peguei e adaptei para TFS 1x. Basicamente, o sistema funciona da seguinte forma : Você determina as criaturas que funcionarão com este sistema (geralmente chefes). Durante a batalha com a criatura, o sistema concede pontos aos jogadores por atacar, bloquear e apoiar (curar) aqueles em batalha. Quando a criatura é morta, o sistema cria o saque com base nos pontos e o envia para o depósito do jogador em uma sacola especificada nas configurações Aqui está o GIF, mostrando quando o chefe é morto e o saque é enviado pelo correio. https://imgur.com/AJiM1mh …

    • 1 resposta
    • 1.4k visualizações
  7. Olá pessoal! Estou trabalhando em um sistema para criaturas e chefes boostados no meu servidor TFS 1x. Não estou interessado em integrar este sistema ao código-fonte por razões óbvias, já que isso facilitaria a edição para outros servidores. Estou postando isso para colaborar na melhoria do sistema atual implementando novos conceitos e refinando os existentes. Sobre o código: GlobalEvents: Estou usando Eventos Globais para atualizar a criatura e o chefe boostado na inicialização do servidor. Para evitar a necessidade de reinicializar o servidor ao alterar o chefe, estou considerando mudar de onStartup para onThink e especificar um horário preciso para o evento…

  8. Started by Dnzk21,

    OLA COMUNIDADE SE ALGUEM PUDER ME AJUDAR FICAREI MUITO GRATO! PRECISO DE UMA SCRIPT PRA UMA ARENA, É UM QUADRADO! PLAYER ENTRA NELA E AO MORRER ELE NAO PERDE NADA VOLTA PRO TEMPLO! DESDE JA OBRIGADO PELA ATENÇAO

  9. omo diz o titulo, alguem ajuda pf ! >.<

  10. Started by Vorkhon,

    Olá tudo bom. Eu estou tentado criar um script que ao matar um monstro teleporte imediatamente o player para outro lugar, e ao mesmo tempo mude a classe, e outfit do player. Esta bem errado por enquanto, e eu criei um teleporte (mas quero fazer automatico) por enquanto está assim: local config = { ["Boss"] = { posiTeleporte = {x = 96, y = 1153, z = 7, stackpos = 254}, -- Posição em que o teleporte aparecerá. posiToTeleporte = {x = 96, y = 1142, z = 7}, -- Posição onde será teleportado. time = 60, -- Tempo em que o teleporte irá desaparecer 60 segundos. life = 185, -- Life ao rebornar mana = 40, -- Mana ao rebornar level = 8, -…

    • 1 resposta
    • 297 visualizações
  11. Started by Vorkhon,

    Ola tudo bom?! Eu quero fazer com que quando o monstro X for derrotado o player muda a outfit para o monstro X de forma permanente e que mudasse de classe. É possível? -------------------------------------------------------------------------------------- Exemplo: Player mata minotauro. O player vira um minotauro (outfit) e muda de classe para minotauro. -------------------------------------------------------------------------------------- Dúvida: É possivel travar outfit por classe? Eu queria que o player nao mudasse de outfit que fosse fixo, mas por classe.

    • 0 respostas
    • 347 visualizações
  12. Olá! Fiz uma adaptação no evento "SafeZone" criado e disponibilizado aqui no TK por @Movie e @luanluciano93. Agora o evento é compatível para TFS 0.4. IMPORTANTE: Como mencionado anteriormente, o evento foi criado por "Movie" e "LuanLuciano93". Eu (imperius) APENAS ADAPTEI para funcionar em TFS 0.4. Todos os créditos do evento vão para os criadores originais. Além disso, é importante alertar que esta adaptação não está 100%. Abaixo está todo o processo explicando como configurar e rodar o evento em seu servidor! Vídeo demonstrativo: Spoiler imperiusSafeZoneTFS0.4.mp4 …

  13. Started by Underewar,

    Precisei dessa função e não achei em lugar nem um aqui está uma versão funcional para tfs 1.2 +. Listando o monstro ou player que o jogador morreu. Data/Creaturescript/XML <event type="login" name="LoginDeath" script="death_tp.lua" /> <event type="preparedeath" name="DeathTeleport" script="death_tp.lua"/> Data/Creaturescript/death_tp.lua function onLogin(player) player:registerEvent("DeathTeleport") return true end local maxDeathRecords = 5 -- By Underewar function onPrepareDeath(player, killer) -- Update Death DB local byPlayer = 0 local killerName if killer ~= nil then if killer:isPlayer() then byPlayer = 1 else local maste…

  14. Started by ILex WilL,

    Olá, Alguém poderia me ajudar com uns Scripts? nem que seja cobrando, dependendo eu pago para me ajudar...

  15. Started by Anderson Sacani,

    Surgimento de portal com horário pré definido Revscript para surgimento de portal em determinado horário, com configurações ajustáveis O que o script faz? Cria um portal as 10:00 no local que recebeu a variável portalPosition, e o mesmo teletransporta jogadores para o destino que recebeu a variável goToPosition. Na variável time você pode alterar o horário em que o portal será criado. local config = { time = "10:00:00", portalPosition = { x = 100, y = 100, z = 7 }, goToPosition = { x = 200, y = 200, z = 7 }, broadcast = true, text = "A portal appeared inside the dark mage's house.", } local portal = GlobalEvent("Portal")…

    • 0 respostas
    • 521 visualizações
  16. Started by Thony D. Serv,

    tfs 0.4 (não testei em outras apenas na 0.4) Esse script eu fiz pois, meu servidor sempre que reiniciava todos os players voltavam sem bless, então para sanar isso eu fiz um check de bless pela database para poder sempre que cair o servidor os players não morressem sem bless e dropassem os itens vamos lá! Primeiro Execute Este Comando Em Sua Db: Spoiler ALTER TABLE `players` ADD `bless` INT( 11 ) NOT NULL DEFAULT '0' Va No Fim E Adicione 050-function.lua Spoiler --Thony function getPlayerID(cid) return getPlayerIdByName(getPlayerName(cid)) end function doCheckBless(cid) local res = db.getRes…

    • 0 respostas
    • 765 visualizações
  17. Started by Underewar,

    O sistema funciona pelo Target do Monstro, e Regenera Stamina Points. Em events/scripts/creature.lua Vamos Adicionar a função a Baixo. Spoiler -- Regen Stamina in Trainer local staminaBonus = { period = 180000, -- Period in milliseconds bonus = 1, -- gain stamina events = {} } local function addStamina(name) local player = Player(name) if not player then staminaBonus.events[name] = nil else local target = player:getTarget() if not target or target:getName() ~= "Trainer" then staminaBonus.events[name] = nil else player:setStamina(player:getStamina() + staminaB…

  18. O titúlo do tópico é bem auto explicativo, mas para garantir, segue um gif do funcionamento: Spoiler Segue abaixo instruções para o funcionamento do código Spoiler data/creaturescripts/creaturescripts.xml: <event type="think" name="player_change_lookdir" interval="1" event="script" value="playerchangelookdir.lua"/> data/creaturescripts/scripts/login.lua: registerCreatureEvent(cid, "player_change_lookdir") data/creaturescripts/scripts/playerchangelookdir.lua: function verifyLookDirPos(cid) local position…

    • 3 respostas
    • 1.5k visualizações
  19. Started by FlameArcixt,

    ?HORDER LEADER SYSTEM? Já vou me adiantando, fiz o script mas não sou programador, testei varias e varias vezes aqui e deu certo, se não der ai eu não ofereço suporte, sorry, se algum programador quiser melhorar o código fica a vontade. Como Funciona: Um monstro especial "Boss", quando você targeta nele, ele Cria vários outros monstros mais fracos para ajudar ele. só fiz esse script pra contribuir aqui no tk. ?Em data\creaturescript\creaturescript.xml registre? Spoiler <event type="statschange" name="Targetmonster_1" event="script" value="target.lua"/> <event type="death" name="Targetmonster_2" event="script"…

    • 8 respostas
    • 3k visualizações
  20. Started by Mor3nao,

    Isso aqui eu to postando como uma extensão de um sistema de daily task que postei ontem, você pode ver ele aqui --> LINK É um script simples, q tem como função contar quantos de cada monstro tem no servidor, bem util pra quem vai fazer algum sistema de tasks, afinal, é bem complicado vc escolher quantos monstros alguém vai ter q matar, se vc nao sabe quantos tem, fica dificil mensurar a dificuldade de determinada task, então fiz esse script que cria um arquivo contando exatamente quantos de cada monstro tem xD Vou ensinar colocar ele, focando no meu sistema de daily tasks, mas caso queira usar pra outra finalidade, a vontade :} Como "instalar" o s…

  21. Started by Mor3nao,

    Fiz esse script, pra tentar "balancear" as vocations de uma maneira diferente: Melhorar oque eu acho fraco, sem piorar oque está "forte". Por exemplo: Sorcerers que deveriam ser a vocation de dano, bate menos que um druid, visto que ele tem o exevo gran frigo hur, então ao invés de eu editar o gran frigo hur, ou adicionar um "exevo gran flam hur", eu fiz com que os sorceres tenham uma % de chance de dar burn/electrify/curse quando bater com fire, energy e death (respectivamente). Aí deixei varias possibilidades de configurações, e cada um vai editando oq achar necessario até achar um ponto de "equilibrio" ? Oque cada vocation pode fazer: Spoiler …

    • 23 respostas
    • 4.2k visualizações
  22. [Dodge & Critical] Sabe aqueles sistemas de dodge e critical que temos nos servidores de baiak? Então, é isso que hoje vou trazer para vocês! Há um sistema disponibilizado na internet, porém não funcional, o que eu fiz foi fixá-lo e adicionar o dodge para mana também. Testado no TFS 1.3 na versão 8.60 Na pasta lib crie um arquivo chamado dodgeCritical.lua --[[ Dodge & Critical fixado por Movie (Movie#4361) Disponibilizado para o TibiaKing e não autorizo outras reproduções Mantenha os créditos <3 --]] STORAGEVALUE_DODGE = 48900 STORAGEVALUE_CRITICAL = 48901 DODGE = { LEVEL_MAX = 100, -- máximo de level que o …

  23. Bom galera hoje irei ensinar você como resolver o erro (luaDoCreatureExecuteTalkAction) Creature not found causado pela a função "doCreatureExecuteTalkAction" o erro é bem simples de resolver porem ainda tem gente que sofre com essa função. Função o que ela faz? doCreatureExecuteTalkAction = puxa um comando talkactions da talkactions.xml, ai toda vez que o player logar ou clicar ele vai chamar um script da talkactions.xml. Erro: [5:8:44.528] [Error - CreatureScript Interface] [5:8:44.530] data/creaturescripts/scripts/login.lua:onLogin [5:8:44.530] Description: [5:8:44.532] (luaDoCreatureExecuteTalkAction) Creature not found Porque acont…

  24. Started by Lurk,

    Salve pessoal, eu amo tibia e a comunidade já me deu muito, hoje finalmente sinto que posso dar algo de volta e vou estar disponibilizando esse código pra evento que eu fiz pro meu servidor. Esse código pode ser melhorado bastante mas é funcional e acredito ter pensando em todas as possibilidades de abuso e ter corrigido, ainda assim caso você faça alguma melhora por favor compartilhe aqui nos comentários :). Vou disponibilizar também a hotkey de elfbot no fim do tópico. Durante o evento (duração de 15 min que você pode diminuir/aumentar), quando um player clica no item ele vai receber x leveis e a cada 2 clicks ele vai ganhar um item (no meu caso, uma event c…

    • 5 respostas
    • 3.5k visualizações
  25. L3KOT tfs: 1.3 Bom esse sistema é bem simples, ele anuncia pro servidor todo ao matar um tal monstro especifico. 1° vai em otserv\data\creaturescripts\scripts copia um arquivo.lua, renomeia para monsterkill.lua e add dentro;;; function onDeath(monster, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified) local monstro = "Diablo" if monster:getName() == monstro then Game.broadcastMessage("O Jogador "..killer:getName().." matou o Boss " ..monster:getName().. "! ") end return true end Em creaturescripts.xml add <event type="death" name="monsterkill" script="monsterkill.lua"…

  26. Salve galera bom tinha uns membros do fórum atrás do sistema de chuva porém estava confuso e totalmente configuravel apenas por math.random então com ajuda do @xWhiteWolf agora o script esta totalmente sem math.random e eu detalhei tudo dentro do script como configurar etc... tópico original Aviso 1º: Mude a tag do globalevents.xml para interval=1 Aviso 2º: Todas as explicações estão dentro do script basta ler Vídeo demonstrativo 2019-10-04 01-44-37.mp4 Vamos as modificações basicamente substitua o arquivo que fica em data/globalevents/scripts/rain.lua abra ele e cole esse código dentro Spoiler …

  27. Started by Cat,

    Feito por: @Storm (testado em tfs 0.4 - firelement, funciona em 0.3) Quem jogou rozinx server provavelmente conheceu a febre do sistema de weapons por points e consecutivamente o sistema Aegis. Pra quem não conhece, no rozinx haviam vários baús e você podia comprar os itens usando pontos. Esses pontos eram obtidos donatando (por volta de 2007-2015), porém na nova geração (2018) foi introduzido o sistema Aegis, um monstro que após você matá-lo 3 vezes recebia 1 ponto vip, e podia então coletar esses pontos para obter as armas pagas de forma gratuita. Trago a vocês uma versão diferente do Aegis. O Star system. Gratidão ao @Storm por criar o script e …

  28. Salve galera bom demorou mas consegui trazer esse conteúdo para vocês com ajuda de diversos amigos créditos no final do tópico. Bom vamos lá é um conjunto de configurações + script que vai permitir todas as skills do servidor ficar limitada até 250 Primeiramente vamos até o config.lua do servidor e deixa a Rate Magic em 0.01 Ficando assim rateMagic = 0.01 Logo depois disso vamos ao vocation.xml e procure por manamultiplier="1.2" Use o notepad++ Aperte ctrl + H para substituir todos os manamultiplier="1.2" por manamultiplier="1.0" manamultiplier="1.0" Essa modificação vai permitir a sua magic level chegar a 250 Depois…

  29. Started by LeoTK,

    Salve galera bom demorou mas consegui trazer esse conteúdo para vocês com ajuda de diversos amigos créditos no final do tópico. Bom vamos lá é um conjunto de configurações + script que vai permitir todas as skills do servidor ficar limitada até 250 Primeiramente vamos até o config.lua do servidor e deixa a Rate Magic em 0.01 Ficando assim rateMagic = 0.01 Logo depois disso vamos ao vocation.xml e procure por manamultiplier="1.2" Use o notepad++ Aperte ctrl + H para substituir todos os manamultiplier="1.2" por manamultiplier="1.0" manamultiplier="1.0" Essa modificação vai permitir a sua magic level chegar a 250 Depois…

  30. Started by DdJs,

    Faz um tempo que eu postei algo aqui nessa parte do fórum sobre uma wand elemental a pedido de um membro. Quando fiz o post, uns dias depois alguém veio no meu inbox perguntando se eu tinha algo parecido relacionado a bow e acabou que eu apaguei as mensagens e não me recordo o nome da pessoa para poder marca-la aqui, e também só agora me lembrei disso e resolvi vir aqui postar. Eu não tenho conhecimento nenhum disso, muito menos sobre cálculos de formulas ou se existe outro mais sofisticado. Se alguém que entende do assunto quiser fazer melhorias, correções, etc, sinta-se a vontade. Introdução: Para quem já jogou o foxworld ope…

    • 4 respostas
    • 2.5k visualizações
  31. Started by Shiuns,

    Versão Testada: Tibia 8.60 // TFS 0.3.6 & 0.4 Descrição: Evita jogadores que dão exit nos treiners upando skills. Eles são kikados automaticamente depois de alguns minutos e algumas verificações. exit_treiner.lua config_exit_treiner = { Warning = "Favor trocar seu char de direção para evitar que ele seja kikado", -- mensagem time = 3, -- a cada 3 minutos irá checar roudsKick = 3, -- se ele estiver parado na mesma direção por 3 checagem seguidas será kikado storages = {879780,879781}, -- n edite treiners = {"Trainer", "Training Monk"} -- coloque aqui os Treiners do seu ot } --[[Functions List]]-- function doAddRoundExitTre…

    • 1 resposta
    • 1.4k visualizações
  32. Started by DdJs,

    Quem já me conhece aqui do fórum sabe que minha área não é script ou nada do gênero. Estou fazendo esse post para ajudar um membro, o @KillerWatts, e outros mais, talvez. Introdução: Wand/rod que dispara vários elementos aleatórios. O uso dos elementos não é configurável como o modal do @tataboy67, lembrando que esse script é velho e foi testado em OTs versões 8.40 até 8.60 Guia: ef - efeito que irá fazer no alvo (além do efeito comum já do elemento). sh - shoot type que traçará o "ar" até o alvo. dmg - tipo de dano que causará no alvo. Eu usei a Jester Staff (ID: 7958). Você pode usar o item que desejar. …

    • 17 respostas
    • 4.9k visualizações
  33. Started by Celulose,

    Sei que existe vários tópico no fórum em creaturescripts , porém em distro 0.4 ocorre alguns erros se você entrar rapidamente em área pz e deslogar aparece erros na distro... esse é feito em globalevents ele remove condition ao entrar em pz , alem de fazer a checagem no tile assim não ocorre erro .. crie um arquivo em globalevents com nome removerbatle.lua local function removeBattle(cid) doRemoveCondition(cid, CONDITION_INFIGHT) return false end function onThink(interval) for _, cid in ipairs(getPlayersOnline()) do local pos, tile = getThingPos(cid), getTileThingByPos(getThingPos(cid)) if getTile…

    • 9 respostas
    • 4.4k visualizações
  34. Started by Vodkart,

    Resolvendo a dúvida deste tópico: Resolvi postar para que possa ajudar futuros membros. Resultado: Código: nome do seu script.lua local positions = { {texto = "CTF" , pos = {x = 180, y = 48, z = 7}}, {texto = "Battle F." , pos = {x = 184, y = 48, z = 7}}, {texto = "DesertWar" , pos = {x = 184, y = 57, z = 7}}, {texto = "Castle24H" , pos = {x = 157, y = 62, z = 7}}, {texto = "Castle48H" , pos = {x = 175, y = 62, z = 7}}, {texto = "TeamBattle" , pos = {x = 176, y = 56, z = 7}}, {texto = "Campo M." , pos = {x = 177, y = 56, z = 7}}, {texto = "FireStorm" , pos = {x = 187, y = 53, z = 7}}, {tex…

    • 1 resposta
    • 1.5k visualizações
  35. Started by luiz.marsilio,

    Olá tibianos. Criei um script de bless automático com base nessa solicitação: A bless será aplicada somente se o player estiver carregando X item. A bless não será aplicada se o player já tiver bless. Essa bless é somente aplicada no momento em que o player morrer. Configurações: ID do item que o player deve ter para receber a bless automática; Quantidade de bless disponíveis no servidor (para servidores custom); Remover o item ao ativar o sistema ou mantê-lo (bless infinita); Level mínimo para o sistema ser ativado. deathBless.lua config = { id = 2195, -- id do item bless =…

    • 4 respostas
    • 1.3k visualizações

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Informação Importante

Confirmação de Termo