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. 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…

  4. 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…

  5. Fala galera do TK, vejo que tem bastante gente procurando esse sisteminha que é praticamente igual ao dodge system, então eu decidi fazer visto que na realidade era só mudar 3 linhas kkkk em todo caso ta aí pra quem quiser: creaturescripts.xml: <!-- CRITICAL SYSTEM --> <event type="statschange" name="critical" event="script" value="critical.lua"/> creaturescripts\scripts\login.lua: --- CRITICAL SYSTEM ---- registerCreatureEvent(cid, "critical") if getPlayerStorageValue(cid, 48913) == -1 then setPlayerStorageValue(cid, 48913, 0) end creaturescritps\scripts\critical.lua: --[[Critical System ----------…

  6. 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…

  7. 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…

  8. 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.2k visualizações
  9. [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 …

  10. 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"…

  11. 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

  12. Em GlobalEvents crie um Arquivo chamado Check.lua local function CheckPlayer_Items() query = db.getResult("SELECT *, SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) AS 'serial' FROM player_items WHERE CONVERT( attributes USING latin1 ) LIKE '%description%' GROUP BY SUBSTRING( CONVERT( attributes USING latin1 ) FROM 22) having count(*) > 1") if (query:getID() == -1) then textquery = "\n Check Items : Nenhum item encontrado." print(textquery) return true end if (query:getID() ~= -1) then text = "\n[!] -> Deleting item player_items: [Player ID: " .. getPlayerNameByGUID(query:getDataInt("player_id")) .. " - Sid: "..(query:getDataInt("sid")).." - Pid: "..(qu…

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

  14. 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
    • 266 visualizações
  15. Started by Vodkart,

    Créditos: AnneMotta & Vodkart Descrição: Ao andar com o full addon de algumas outfits irá sair um efeito. Em creaturescript/script crie um arquivo.lua e renomeie para: outfiteffect.lua function onLogin(cid) registerCreatureEvent(cid, "EffectOutLogin") registerCreatureEvent(cid, "OutfitEffects") return doCreatureChangeOutfit(cid,{lookType = getCreatureOutfit(cid).lookType, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = getCreatureOutfit(cid).lookAddons}) end local events = {} function onOutfit(cid,…

    • 17 respostas
    • 6.5k visualizações
  16. Started by Vodkart,

    Explicação: Você compra no npc a exp que você perdeu na sua última morte. Lib > functions.lua adc death_tabble = {before_exp = 135215,after_exp = 135216, check = 251201} creaturescript/script exp_buy.lua function onLogin(cid) registerCreatureEvent(cid, "Exp_P") if getPlayerStorageValue(cid, death_tabble.check) >= 1 then setPlayerStorageValue(cid, death_tabble.after_exp, getPlayerExperience(cid)) setPlayerStorageValue(cid, death_tabble.check, -1) end return true end function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) setPlayerStorageValue(cid, death_tabble.before_exp, getPlayerExperience(cid)) setPlayerStorageValue(ci…

    • 5 respostas
    • 2.2k visualizações
  17. Usando o script do Cjaker como base (e a descrição do tópico dele, na cara dura mesmo!), otimizei as operações no banco de dados (tava muito zuado) e adicionei um range de accounts protegidas pra evitar apagar os gms/samples/contas de spoofers do otservlist/etc... ; Salve galera, mais um script para quem está precisando dar aquela limpada no banco de dados e otimizar o Servidor. -- Especificações -- TFS 1.1+ Objetivo é limpar as contas inativas/vazias e os players Inativos assim removendo os usuários que estão inativos e ocupando espaço no banco de dados. -- Instruções -- Em globalevents.xml insira essa linha <glob…

    • 7 respostas
    • 4.1k visualizações
  18. 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
    • 320 visualizações
  19. 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 …

  20. Started by Under,

    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…

  21. Started by ILex WilL,

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

  22. 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
    • 494 visualizações
  23. 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
    • 729 visualizações
  24. Started by Pedriinz,

    Como o nome do tópico diz, eu trouxe para vocês um sistema de anti bot. Minha intenção é atualizar este código ao máximo, deixando o mesmo bastante customizável. Quaisquer erros ou problemas por favor me deixe saber. Como ele funciona? Após um jogador matar uma quantidade x de monstros, o sistema irá realizar uma verificação com ele para saber se o mesmo está ou não 100% afk. Essa verificação é feita através de um channel que se abre após o jogador matar a quantidade de monstros, realizando uma pergunta para o jogador. O que é possível configurar? Praticamente tudo! Você também pode adicionar quantas…

    • 21 respostas
    • 5.8k visualizações
  25. Started by KekezitoLHP,

    Autor: Eu mesmo Versão do tibia: 8.6 Descrição: O script tira o battle ao entrar em alguma área pz. 1° Passo: Abra o arquivo creaturescripts.xml localizado em: PastaDoOT/data/creaturescripts/ adicione a linha: <event type="think" name="TiraBattle" event="script" value="tirabattle.lua"/> 2° Passo: Abra a pasta "scripts" e abra o arquivo login.lua E adicione: registerCreatureEvent(cid, "TiraBattle") 3° Passo: Ainda na pasta scripts, crie o arquivo: tirabattle.lua e adicione o seguinte: function onThink(cid, interval) if(getTilePzInfo(getCreaturePosition(cid))) then doRemoveCondition(cid, CONDITION_INFIGHT) end end Pronto, o s…

    • 16 respostas
    • 6.8k visualizações
  26. Olá pessoal, para quem não sabe esse script dá determinado item, quantidade / bank / addon / mount em determinado level. Crie um arquivo com o nome recompensa.lua em creaturescripts/scripts e coloque isso dentro: local table = { -- [level] = type = "item", id = {ITEM_ID, QUANTIDADE}, msg = "MENSAGEM"}, -- [level] = type = "bank", id = {QUANTIDADE, 0}, msg = "MENSAGEM"}, -- [level] = type = "addon", id = {ID_ADDON_FEMALE, ID_ADDON_MALE}, msg = "MENSAGEM"}, -- [level] = type = "mount", id = {ID_MOUNT, 0}, msg = "MENSAGEM"}, [20] = {type = "item", id = {2160, 2}, msg = "Voce ganhou 2 crystal coins por alcancar o level 20!"}, [30] = {type = "bank", id = {20000, 0…

  27. 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…

  28. Started by Vodkart,

    Me pediram para postar uma especie de propaganda, onde aparecia os top level do servidor, no caso está configurado para aparecer os 5 leveis mais alto, como mostra a imagem: como esse script está no meu servidor faz anos, resolvi jogar para a molecada: Data/globalevents/script topleveis.lua function onThink(interval, lastExecution) local max, query = 5, db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `level` DESC, `name` ASC;") local str = "TOP "..max.." Rank Level:\n\n" if (query:getID() ~= -1) then k = 1 while true do str = str .. "\n " .. k .. " - "..que…

  29. Sistema de Loterias por globalevents. Crie um arquivo .lua com o nome lottery dentro da pasta data/globalevents/scripts/loterry.lua, adicione dentro do arquivo o seguinte code: local 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-08:00", "Monday-13:00", …

    • 32 respostas
    • 10.8k visualizações
  30. 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 …

  31. Started by Under,

    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…

  32. Started by ViitinG,

    Bom para quem não sabe como funciona o script,é basicamente uma senha para conseguir abrir uma porta e após um tempo a porta se fecha automaticamente,podendo ser configurado o tempo/senha/porta. • Adicionando o script • Em "data/creaturescripts/creaturescripts.xml" adicione está tag : <event type="textoparaporta" name="Senha" event="script" value="senhaporta.lua"/> Em "data/creaturescripts/scripts/login.lua" adicione está tag no final do script : registerCreatureEvent(cid, "Senha") Em "data/creaturescripts/scripts/senhaporta.lua" adicione este script : local uniqueids = {8049, 8050} local passwords = { ["TibiaKing"] = {doorpos = {x = 163, y = 36, z …

  33. Instalando globalevents.xml <globalevent name="SummonTeleport" interval="1000" script="summon_teleport.lua"/> globalevents/scripts/summon_teleport.lua local distFromMaster = 7 ------ DISTANCIA QUE O SUMMON FICARÁ DO PLAYER function onThink(interval) for _, player in ipairs(Game.getPlayers()) do local playerPos = player:getPosition() if not Tile(playerPos):hasFlag(TILESTATE_PROTECTIONZONE) then local summons = player:getSummons() if #summons ~= 0 then for i = 1, #summons do local summon = summons[i] local summonPos = summon:getPosition() if su…

  34. Started by KekezitoLHP,

    Nome do Sistema ou Script: No damage in Parties. Nome do Autor: Grilo Servidor Testado e/ou Versão do Tibia: 8.6 Descrição e/ou Informações Adicionais: -- Scripts e Como Instalar: 1. Abra o arquivo creaturescripts.xml, localizado em data/creaturescripts e adicione as seguintes tags abaixo: <event type="attack" name="Apt" event="script" value="Apt.lua"/> <event type="cast" name="Bpt" event="script" value="Bpt.lua"/> <event type="areacombat" name="Cpt" event="script" value="Cpt.lua"/> <event type="combat" name="Dpt" event="script" value="Dpt.lua"/> 2. Abra o arquivo login.lua, localizado em data/creaturescripts/scripts. Adicione as seguinte…

    • 9 respostas
    • 4k visualizações
  35. 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…

Quem Está Navegando 0

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

Informação Importante

Confirmação de Termo