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:
1445 tópicos neste fórum
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
[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
-
-
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
-
-
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
-
-
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…
-
- 1 resposta
- 411 visualizações
- 1 follower
-
-
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
-
-
data/XML/mounts.xml <mount id="13" clientid="2" name="Orc Warlord" speed="20" premium="yes" /> Créditos: Kudzu
-
- 1 resposta
- 409 visualizações
-
-
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
-
-
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
-
!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
-
-
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
-
-
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
-
-
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
-
-
"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
-
-
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
-
-
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
-
-
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
-
-
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
- 2 respostas
- 373 visualizações
- 1 follower
-
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
-
- 2 respostas
- 371 visualizações
- 1 follower
-
-
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
-
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
-
-
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…
-
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
-
-
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
-
-
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.