Ir para conteúdo

Scripts tfs 0.4 (OLD)

Fórum destinado a conteúdos de desenvolvimento envolvendo o Tibia Clássico.

Encontre pelo tipo de código:

 

Tópicos nesta seção estão sujeitos a análise e aprovação!

Seu tópico de conteúdo será analisado em até 48h por um membro de nossa equipe, fique atento.

 

Saiba mais:

  1. Started by PsyMcKenzie,

    Bom galera, esse script eu fiz ano passado, quando estava aprendendo lua, mas infelizmente fiz a cagada de parar de estudar. Enfim, vamos lá! Como funciona? Você da use em um item e depois clica no chão e irá abrir um teleport, que leva a lugares aleatórios. Crie um arquivo em data/actions com o nome de telearmadilha e cole isso dentro: local time = 10 -- Segundos local positionstp = { {x=100,y=40,z=7}, {x=150, y=60, z=7}, {x=225, y=80, z=7}, {x=300, y=100, z=7} } local function alert(tempo, interval, pos) if os.time() - tempo <= interval then doSendAnimatedText(pos, interval - (os.time() - tempo), math.random(180)) addEvent(alert, 1000,…

    • 2 respostas
    • 437 visualizações
  2. Nessa Versão script ira alerta o erro no NPC, Você não ira revira o script todo para procura o erro, em poucas palavras, ao ligar o console tfs 1.0 e npc xxx.lua estive com erro no console ira dizer o motivo do erro. não tem muito o que dizer sobre o script apenas isso: em NPC / lib / npcsystem / modules.lua procure por : if reply ~= nil then self:addKeyword(keywords, reply) else abaixo do else adiciona: print("[Warning] NpcSystem:", "Parameter '" .. "keyword_reply" .. n .. "' missing. Skipping...") + print("[Warning : " .. Npc():getName() .. "] NpcSystem:", "Parameter '" .. "keyword_reply" .. n .. "' missing. Skipping...") end els…

    • 0 respostas
    • 430 visualizações
  3. Started by Skyforever,

    Tipo: Talkaction. Testado: Não. Breve explicação É uma talkaction, que serve para que quando você está morrendo você use ela, e então quando você morrer, você fala !return, e volta para aonde você morreu ou salvou, é simples assim. Fácil configuração ​ Primeiro vá em data depois em lib e em seguida na pasta 050-FUNCTION então adicione isso lá: MAIN_CONFIG = { POSITION_STORAGE_X = 10090, POSITION_STORAGE_Y = 10091, POSITION_STORAGE_Z = 10092, STORAGE_CHECK = 10093, STORAGE_TIME = 10094, MESSAGE_WAIT = "You need wait " .. getPlayerStorageValue(cid, MAIN_CONFIG.STORAGE_TIME) - os.time() .. " seconds.", MESSAGE_SAVE = "You sucef…

    • 2 respostas
    • 429 visualizações
  4. Galera queria pedir um Suporte nesse Script pois não sei Fazer . Bom ele funciona assim o Player clica no Item e Seu nome Aparece para todo o Serve mais esse item irá ficar no chão em determinada área e o nome do player so poderar Aparecer depois que não tiver nenhum player no local Mais. Desde já Obrigado PS: Se criei o Tópico na área errada Por Favor mova para o Local CORRETO

    • 0 respostas
    • 427 visualizações
  5. Started by Tricoder,

    Instalando <talkaction words="!h" event="script" value="tele.lua"/> <talkaction words="/h" event="script" value="tele.lua"/> <talkaction words="h" event="script" filter="quotation" value="tele.lua"/> tele.lua local poke = {'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr.mime', 'Porygon'} local etele = 9499 local cdtele = 1800 function onSay(cid, words, param) if #getCreatureSummons(cid) == 0 then doPlayerSendCancel(cid, "You need a pokemon to use teleport.") return true end if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then doPlayerSendCancel(cid, "Sorry, this pokemon can\'t cast teleport.") return true end if…

    • 1 resposta
    • 427 visualizações
  6. São funções para retornar quantos slots livres a Bp ou as BP possui. function getContainerSlotsFree(container) -- by vodka return getContainerCap(container)-getContainerSize(container) end function getAllContainerFree(container) -- by vodka local containers,soma = {},0 for i = 0, getContainerSize(container)-1 do local item = getContainerItem(container, i) if isContainer(item.uid) then table.insert(containers, item.uid) end end for _, check in pairs(containers) do soma = soma + getContainerSlotsFree(check) end return (soma + getContainerSlotsFree(container)) end exemplo de talks 1° function onSay(cid, words, param) local item = getCon…

    • 0 respostas
    • 425 visualizações
  7. Started by Godfather,

    Eaí. Estava criando um sistema de pet por channels, daí senti que seria legal fazer com que tivesse uma barrinha de experiência Ficará tipo assim: (40 quadradinhos) O legal é que dá pra você modificar a largura da barrinha, mas manter os mesmos valores, como na foto: (60 quadradinhos) Daí você pode modificar os valores, como por exemplo, 7 de 10 em 20 quadradinhos: A função é a seguinte: function getStringBar(Vr,Vm,quant) local retorno = {barra,min=Vr,max=Vm,porcentagem=math.floor((Vr/Vm)*100)} local Q = quant/Vm Vr = Vr*Q Vm = Vm*Q str = "[" local trigger = false for i = 1, Vm do if i <= Vr then …

    • 1 resposta
    • 423 visualizações
  8. Started by KekezitoLHP,

    Nome do Script: Ganhar Montaria Nome do Autor: KekezitoLHP Servidor Testado e/ou Versão do Tibia: TFS 0.4 (8.70) Descrição e/ou Informações Adicionais: Ao fazer login vc automaticamente ganhará uma específica montaria. No arquivo creaturescript.xml adicione está linha: <event type="login" name="Montaria" event="script" value="montaria.lua"/> Crie um arquivo com o nome montaria.lua dentro da pasta scripts e coloque isso dentro: local montaria = IDDAMONTARIA function onLogin(cid) if getPlayerStorageValue(cid, 37561) == -1 then doPlayerAddMount(cid, montaria) setPlayerStorageValue(cid, 37561, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Por…

    • 2 respostas
    • 422 visualizações
  9. Started by PedroSTT,

    Vou trazer uma alavanca de promotion bem simples . Como funciona : ao player alcançar level 100 ou maior , poderá puxar a alavanca e fazer a promotion Em actions : Adicione na XML <action uniqueid="6790" event="script" value="promotion.lua"/> Adicione a script Spoiler --------------------------- SCRIPT BY PEDROSTT , TIBIAKING ONLY ------------------------------------------- local config = { level = 100, -- Level para a promotion vocation = 6, -- vocation que o player será mudado ao puxar a alavanca outfit = 45, -- outfit que vai ganhar na promotion mana = 100, -- m…

    • 1 resposta
    • 421 visualizações
  10. Started by PedroSTT,

    Vou trazer uma script de bau que é uma trap , ao player dar USE nele , o player morrerá . Vai ser um ótimo para quests onde vc quer fazer aquela BAIT SCRIPT Spoiler function onUse(cid, item, frompos, item2, topos) if isPlayer(cid)then doCreatureAddHealth (cid, -getCreatureMaxHealth (cid)) return true end end XML Spoiler <action actionid="60002" script="baubait.lua" /> Créditos Spoiler Eu

    • 2 respostas
    • 417 visualizações
  11. Started by Tricoder,

    Preview Script data/spells/scripts/attack/firewalking.lua local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 5 * 1000) setConditionFormula(condition, 0.3, -24, 0.3, -24) function doEvent(cid, count, lastPosition) if (not isCreature(cid) or count <= 0) then return end local item = getTileItemById(lastPosition, 1492) if (not doComparePositions(lastPosition, getThingPosition(cid)) and item.uid <= 0) then local fire = doCreateItem(1492, 1, lastPosition) doDecayItem(fire) end addEvent(doEvent, 200, cid, count - 1, getThingPosition(cid)) end function onCastSpell(cid, var) addEvent(doEv…

    • 0 respostas
    • 417 visualizações
  12. Started by Orochi Elf,

    [LUA Function] canThrowObject(fromPos, toPos) Função: Ela checa as posições da posição inicial "fromPos", até a posição final "toPos" e verifica se é andável, caso for ele retorna verdadeiro, caso não for, ele retorna a falso. Código: function isWalkable(pos, creature, proj, pz) -- By Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false end local n = not proj and 2 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) i…

    • 3 respostas
    • 416 visualizações
  13. Started by Tricoder,

    Preview Script data/spells/scripts/ExoriDeath.lua local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 2, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}})) function…

    • 0 respostas
    • 415 visualizações
  14. Started by Deathspawn R L,

    Opá beleza pessoal bom pelo meu primeiro post no Tibia-King vim lhes trazer uma action boa para maps de exp baxa ou alta ou mediana porem e muito legal vamos aos scripts Bom primeiramente vamos há Data/Actions/Scripts e crie um arquivo lua com este nome "changeoutfit.lua" Adicione o code há baixo no arquivo lua Depois va ate Data/Actions.xml e adicione a tag há baixo Depois va ate seu mapa editor e adicione os ids na statua observe a imagem há baixo Duvidas postem ae abraços ! Creditos Mark Same

    • 0 respostas
    • 413 visualizações
  15. Started by Kewney.Ribeiro,

    Healing Basin System É um sistema que permite o jogador curar 100% do HP e Mana aonde o Small basin estiver. Exemplo: Crie um arquivo chamado Healing Basin.Lua na pasta Actions\Scripts e copie o código abaixo: function onUse(cid, item, frompos, item2, topos) local msg = "You restored all your healthpoints and manapoints." local hp = getCreatureMaxHealth(cid) local mana = getCreatureMaxMana(cid) local ppos = getCreaturePosition(cid) doCreatureAddHealth(cid, hp) doCreatureAddMana(cid, mana) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, msg) doSendMagicEffect(ppos, 12) doSendMagicEffect(frompos, 1) end Adicione o código no arquivo Action…

  16. Started by Drazyn1291,

    Eai Pessoal! Td Okay?? Estou aqui com uns scripts de domar duas montarias! Estou com o Script de domar a Uniwheel e a Tinlizzard! Eu Testei no Alissow 5.0 e Funcionou! Acredito que funcione em outras versões também! Funciona em Versão 8.70++ Vamos Parar de BláBláBlá e começar o tutorial! Uniwheel Script Crie um Arquivo em data/actions/scripts Chamado uniwheel.lua e Cole Isto Dentro! function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 13938 and itemEx.itemid == 13937 then doSendMagicEffect(fromPosition, CONST_ME_MAGIC_BLUE) doPlayerAddMount(cid, 15) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INF…

    • 3 respostas
    • 411 visualizações
  17. Started by Tricoder,

    data/XML/mounts.xml <mount id="13" clientid="2" name="Orc Warlord" speed="20" premium="yes" /> Créditos: Kudzu

    • 1 resposta
    • 409 visualizações
  18. Started by jhonrosa,

    pessoal não estou conseguindo por meu npc vou explicar melhor eu consigo por quando estou editando o mapa mais quando eu ponho pra entrar no ot eu entro só que não aparece o npc ali naquele momento é um npc que viaja se alguem puder postar aqui uns script de npc de barco que de tudo certo fico grato o script do npc é esse: <?xml version="1.0" encoding="UTF-8"?> <npc name="Capitao Jhon" script="data/npc/scripts/barco.lua" walkinterval="1000" floorchange="0"> <health now="150" max="150"/> <look type="129" head="114" body="114" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="module_travel" value=…

    • 0 respostas
    • 403 visualizações
  19. Started by Hadggar,

    Opa galera blz? eu queria que ao player falar ,transformar sair uma mensagem, por vocação, exemplo cada vocação sair um diferente encima dele alguem pode ajudar?, versão 8.54, aki a script: local config = { --[vocation id] = { level, nova voc, looktype, efeito} [1] = { 25, 2, 496, 208}, [2] = { 50, 3, 495, 208}, [3] = { 75, 4, 490, 208}, [4] = { 100, 5, 492, 208}, [5] = { 125, 6, 497, 208}, [6] = { 150, 7, 493, 208}, [7] = { 175, 8, 494, 208}, [8] = { 200, 9, 492, 208}, [9] = { 250, 10, 498, 208}, [10] = { 400, 11, 499, 208}, [13] = { 25, 14, 522, 108}, [14] = { 50, 15, 528, 108}, [15] = { 75, 16, 524, 108}, [16] = { 100, 17, 523, 108}, [17] = { 150, 18, 525, 108}, [18]…

    • 8 respostas
    • 399 visualizações
  20. Started by Flavio S,

    !exp: !mana: talkactions.xml <talkaction words="!exp" script="expmana.lua"/> <talkaction words="!mana" script="expmana.lua"/> expmana.lua function onSay(player, words, param) local p = player local s = function(p, lv) local k = Game.getExperienceStage(lv) local st = p:getStamina() if st > 2400 then return k*1.5 .. " (stamina bonus)" elseif st < 1 then return 0 .. " (out of stamina)" elseif st < 841 then return k*0.5 .. " (stamina penalty)" else return k end end if words == "!exp" then local lv =…

    • 2 respostas
    • 396 visualizações
  21. Started by Gantz,

    a partir de uma distancia do alvo os tiro da wand pode errar. Vá até data/weapons/scripts e crie um arquivo chamando waindfail.lua e coloque o seguinte conteúdo: local config = { damageMin = 100, damageMax = 200, combat = COMBAT_FIREDAMAGE, distanceEffect = 3, impactEffect = 36, range = 3, } function onUseWeapon(cid, var) if getCreatureTarget(cid) then local playerPos, targetPos = getThingPos(cid), getThingPos(getCreatureTarget(cid)) if getDistanceBetween(playerPos, targetPos) >= config.range then targetPos.x = targetPos.x + math.random(-1, 1) targetPos.y = targetPos.y + math.random(-1, 1) end doSendDistanceShoot(playerPos, targetPos,…

    • 1 resposta
    • 388 visualizações
  22. Started by otteN,

    Eaí, tudo bem? Bem galera, eu vim aqui na humildade sqn, pedir uma spell de teleporte. Mas não é qualquer tipo de teleporte. Não sei como vou explicar, mas tentem entender: O Druid tá lá, de boa. Mas, acontece o inesperado... vem um Knight lvl 300 matar ele pq o cara é over-power pq usou o dinheiro da mãe comprando blade VIP, obviamente, o Druid vai tentar fugir (ou não). Aí entra a Spell, ele fala as palavras mágicas da Spell (vou deixar a critério de vocês o nome) e o tile que o Druid estava quando usou a spell muda (pode ficar uma field, como energy ou fire... sei lá :x). Ele dá Utani Gran Hur e começa a correr, passa 4 segundos e o Druid é teleportado pra onde…

    • 1 resposta
    • 386 visualizações
  23. Started by MaTTch,

    Uma função que pode ser útil de varias maneiras: Spoiler function getNumberVector(k) if(type(k) ~= "string") then return error("bad argument #1 to function '" .. debug.getinfo(1, "n").name .. "' (string expected, got " .. type(k) .. ")", 2) end local ret, sep = {}, k:explode(";") for _, vec in ipairs(sep) do if(vec:find("-")) then local fromTo = vec:explode("-") if(fromTo and tonumber(fromTo[1]) and tonumber(fromTo[2])) then for i = tonumber(fromTo[1]), tonumber(fromTo[2]) do table.insert(ret, i) end end elseif(tonumber(vec)) then table.insert(ret, vec) end end return ret end Como fu…

    • 1 resposta
    • 385 visualizações
  24. Started by gobr,

    "testando em tfs 0.4" Esse script simplesmente ver se você tem email na sua conta. em creaturesscripts.xml <event type="receivemail" name="Mail" event="script" value="mail.lua"/> em mail.lua function onReceiveMail(cid, sender, item, openBox) if(openBox) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "New mail has arrived.") end return true end em login.lua registerCreatureEvent(cid, "Mail")

    • 3 respostas
    • 381 visualizações
  25. Started by Vodkart,

    Função só para retornar "o" ou "os" maiores números de uma tabela TableHighValue = function(n) table.sort(n, function(x, y) return x > y end) return n end exemplo de uso local tabble = {10,12,40,100,7,50,200} print(TableHighValue(tabble)[1]) retorna -> 200 que é o maior número da tabela ou local tabble = {10,12,40,100,7,50,200} for i = 1,#TableHighValue(tabble) do print(TableHighValue(tabble)[i]) end retorna todos os números da tabela em forma descrecente: 200 100 50 40 12 10 7 abraços

    • 0 respostas
    • 381 visualizações
  26. Fala Galera Do Fórum Tibia King! Eu Estava Vagando Por Alguns Fóruns, e Encontrei Essa Action, Muito Boa Para Map's De EXP Baixa/Alta/Mediana. Vamos Lá! Primeiramente, Vá Em data/actions/scripts e Crie Um Arquivo .lua Com o Nome De changeoutfit, Adicione Isso Nele - Depois Vá Em data/actions.xml e Adicione a Seguinte Tag - <action uniqueid="65415" event="script" value="changeoutfit.lua"/> Depois Vá Em Seu Map Editor, e Adicione Os ID's Da Estátua, Observe - Espero Que Gostem! Créditos - Mark e Same

    • 0 respostas
    • 381 visualizações
  27. Started by Dennyz,

    alguem me ajuda adicionar mais nego na lista dese script ... quando cara morre aparece so1 tipo fulano moreu ciclano sendo se tem mais nego matando ele gostaria que aparece-se todo mundo que atk junto e nao so 1 up

    • 0 respostas
    • 381 visualizações
  28. Started by grafit,

    Essa função pega o nome do level mais alto do servidor, baseando-se na experiência do player. local function getHighestPlayer() local result = db.getResult("SELECT `name` FROM `players` ORDER BY `level` DESC, `experience` DESC LIMIT 1") return result.getDataString(result, "name") end Exemplo de uso: if getPlayerName(cid) == getHighestPlayer() then Créditos: Kohaeu

  29. Started by grafit,

    Função que lista as casas vazias no servidor. function getFreeHouses() local towns = getTownList() local houses = {} for i = 1, #towns do local list = getTownHouses(towns[i].id) for j = 1, #list do if list[j] then if getHouseOwner(list[j]) == 0 then table.insert(houses, list[j]) end end end end if(#houses == 0) then return nil end return houses end Créditos: Crypton3

  30. Started by rafaelpk20,

    Bom dia, estou com um problema no meu warsystem, ele ta funcionando normal aparentemente, mas no log fica aparecendo isso : [Error - GlobalEvents::think] Failed to execute event: warSystem a tag ta assim: <globalevent name="warSystem" interval="3000000" script="others/warEnd.lua"/> e o script é esse: alguem me ajude por favor function onThink(interval) db.query("UPDATE `guild_wars` SET `status` = 4, `ended` = " .. os.time() .. " WHERE `status` = 1 AND (`started` + 3600 * 2) < " .. os.time()) end

    • 1 resposta
    • 370 visualizações
  31. Comando !online level Ex. !online 200 e só aparecerá as pessoas onlines com level a partir de 200. Instalando Substitua o script padrão por: local config = { showGamemasters = getBooleanFromString(getConfigInfo('displayGamemastersWithOnlineCommand')) } function onSay(cid, words, param) local players = getPlayersOnline() local strings = {} local i = 1 local position = 1 for _, pid in ipairs(players) do seal = true if param ~= "" then setPlayerStorageValue(cid, 30112, param) if getPlayerLevel(pid) < getPlayerStorageValue(cid, 30112) then seal = false end end if seal then if(i > (position * 7)) then strings[position] = strings[position] .. "," position = pos…

    • 1 resposta
    • 366 visualizações
  32. Started by Cat,

    Be greeted, may I help you? With some instruments, perhaps? Descrição: NPC Simples do Tibia Global que comercia instrumentos musicais. Nome do Npc: Julian Função: Comerciante de Instrumentos. Vende: Drum Hard Lute Lyre Piano Simple Fanfare Julian.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreature…

    • 1 resposta
    • 365 visualizações
  33. Started by LuckinhaSan,

    Durante os últimos dois meses tenho notado uma grande quantidade de pedidos de suporte sobre o TFS 0.3/0.4 system.lua para TFS 0.2. As pessoas que não sabem como editá-lo para fazer o trabalho para o TFS 0.2 ou que não sabiam que poderiam usá-lo para TFS 0.2 com algumas edições. Todos os créditos vão para o criador do TFS 0.3 system.lua, e créditos para Limos pela edição. Adicione a seguinte tag em data/actions/actions.xml - <action actionid="2000" script="quests/system.lua"/> Agora em data/actions/scripts, system.lua - Também remova isso se você quiser usar aquelas caixas para o system.lua: <action itemid="1740" script="quests/quests.lua"/>…

    • 0 respostas
    • 361 visualizações
  34. Started by arthurabreu,

    Vocês poderiam me ajudar? preciso de um npc Função: quando o player atingir a vocação x, com o lv 250 pra cima ele pode rebornar, assim ganhando uma nova vocação e 20k de MANA E LIFE, e uma nova outfit. ganhando uma storage. pra fazer so uma vez por char. Obs: se tiver como fazer pra varias vocações. Quem jogou wodbo sabe como é Versão 8.54

    • 0 respostas
    • 359 visualizações
  35. Started by Cat,

    Descrição: NPC Simples do Tibia Global que vende cartas, parcels e labels. Nome do Npc: Lokur Função: Vendedor de itens Vende: Label Parcel Letter Lokur.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end npcHandler:addModule(FocusModule:new()) …

    • 1 resposta
    • 355 visualizações

Quem Está Navegando 0

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

Informação Importante

Confirmação de Termo