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, eu estava cansado de ficar fazendo os cálculos para exibir as horas, minutos ou segundos quando faço algum script com cooldown. Então, eu criei essa função simples que converte o valor em segundos para hora, minuto e segundo. Exemplos: convertTime(60) retornará "1 minuto" convertTime(61) retornará "1 minuto e 1 segundo" convertTime(3600) retornará "1 hora" convertTime(3601) retornará "1 hora e 1 segundo" convertTime(3661) retornará "1 hora, 1 minuto e 1 segundo" E como eu sou babaca perfeccionista, o português também vem correto. Enfim, aqui está a função. function convertTime(a) if(type(tonumber(a)) == "number" and a > 0) …
-
- 3 respostas
- 1.2k visualizações
-
-
Olá. A algum tempo atrás eu havia feito essa função, mas decidi compartilhar com vocês. Você pode instala-la definitivamente na sua libs ou pode apenas usar em algum script ocasional: function getCombatAreaPos(centerpos, area) -- by MaTTch if(type(area) ~= "table") then error("area is not a table") return false elseif(not centerpos) then return false end local t, center, ret = {}, {}, {} for n in ipairs(area) do for i = 2, 3 do if(table.find(area[n], i)) then center = {n, table.find(area[n], i)} break end end end if(#center == 0) then error("area do not have a number center") return false end for line in ipairs(area) do for _, …
-
- 1 resposta
- 686 visualizações
-
-
Função getPlayerByHouseWildCard Informações: Função muito útil para quem é novato, ela retorna o WildCard do dono da casa que o player esta em cima, um bom exemplo de onde poderia ser usada é na criação de scripts nos quais somente o dono da casa pode ativar o script dentro da sua casa. Testado em 8.60 SQL e Mysql. Importante: Se o player não estiver dentro de uma casa, estiver dentro de uma casa sem dono ou o dono da casa estiver offline ao invés de retornar o wildcard ira retornar 0. Adicione este código no final do arquivo data/lib/050-function.lua Créditos: 100% Gabisa00 - Pela idéia e pelo script. Editado: Enquanto eu usava esta função em um script …
-
- 3 respostas
- 957 visualizações
- 1 follower
-
-
Função getPlayerByNameAccountId Informações: Essa função basicamente retorna a account id do player dando de entrada o nome do player. Testado em 8.60 e mysql somente. Adicione este código no final do arquivo data/lib/050-function.lua function getPlayerByNameAccountId(name) local pid = getPlayerByNameWildcard(name) pic = getPlayerGUID(pid) local qr = db.getResult("SELECT `account_id` FROM `players` WHERE `id`= "..pic..";") rss1 = qr:getDataInt("account_id", pic) if rss1 < 0 then rss1 = 0 end end Créditos: 100% Gabisa00 - Pela idéia e pelo script. Gostou do Sistema Faça Seu Pedido Aqui!
-
- 9 respostas
- 1.3k visualizações
- 1 follower
-
-
Bom galera, estou trazendo um script de fusão que funciona assim: Explicação: É necessário de 7 itens, na qual você coloca em tal coordenada e aperte a alavanca, sendo assim formando um item na qual você deseja em tal lugar configurado. Exemplo: Você pode fazer 7 bosses na qual dropa tals itens "Parecidos" e formando um item raro de sua escolha, ou como preferir.. Vamos ao script! Em Data/Actions/Scripts crie um arquivo chamado fusaoitens.lua e adicione isto dentro: Spoiler function onUse(cid, item, frompos, item2, topos) local cfg = { firstItemId = 2335, -- ID do primeiro item …
-
- 3 respostas
- 2.8k visualizações
-
-
Opa galera! Essa foi uma ideia que tive já que tava afim de mexer com o banco de dados, você posta notícias no site pelo jogo. Super flexível (: Pra usar você tem que usar gesior, se não meu amigo, não vai funcionar e vai bugar :x Primeiramente crie um arquivo em talkactions/scripts chamado gesiorTicker.lua (é de suma importância que o nome seja este) E coloque o código a seguir: -- (Gesior) Posting new Ticker in Game by Talkaction -- Author: Renato Ribeiro -- Url: www.tibiaking.com function onSay(cid, words, param, channel) if (param==nil) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Necessário um Post.") else return db…
-
- 10 respostas
- 3.5k visualizações
-
-
O Tipico ja diz tudo então vamos ao Trabalho. Em lib/050-function.lua function getPlayerVipPoints(cid) local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. "") if Info:getID() ~= LUA_ERROR then local Points= Info:getDataInt("premium_points") Info:free() return Points end return LUA_ERROR end function doPlayerAddVipPoints(cid, points) local dif = getPlayerVipPoints(cid) + points if dif >= 0 then db.query("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") return …
-
- 13 respostas
- 1k visualizações
-
-
Na pasta "data\globalevents\scripts" crie um arquivo chamado "invasion.lua" e coloque o seguinte conteudo: Laranja: Horário. Vermelho: Nome da invasão (que será falado no Broadcast). Azul: Coordenada que os monstros irão nascer. Verde: Quantidade Nome do monstro. Ou seja, as 8 horas e 14 minutos da noite irá nascer cinquenta Demons e um The Imperor na coordenada (X: 32369, Y: 32167, Z: 7) e será dito no Broadcast que iniciou a invasão The Demon Invasion. Agora volte uma pasta "data\globalevents" e adicione: <globalevent name="invasion" interval="60" event="script" value="invasion.lua"/> Obs: utilizei Quote em vez de Code pa…
- 25 respostas
- 10.5k visualizações
-
Trata-se de um script que cria um monster no local, data e hora que configurar. vamos lá! OTserv/data/globalevents Invasion.lua function onThink(interval, lastExecution) local position = {x = 652, y = 974, z = 7} -- Posição onde irá summonar monster = "Orshabaal" -- Monster que irá summonar if os.date("%A") == "Thursday" then -- Dia (em inglês) if (os.date("%X") == "22:18:00") or (os.date("%X") == "22:18:05") then -- Horário function One(cid) broadcastMessage("One boss is giving the guys in town", MESSAGE_EVENT_ADVANCE) end function Two(cid) broadcastMessage("Residents say they have seen an angry monster destroying everything ahead", MESSAGE_EVENT_ADVANCE) …
-
- 3 respostas
- 684 visualizações
-
-
Opa galera blz? hj venho aki postar novo sistema de loteria TFS 0.4, testei em NTO é Tibia 8.54 é 8.60 é funcionou perfeitamente ! então vamos la, Primeiramente vá em \data\globalevents\scripts é crie um arquivo chamado lottery.lua é la adicione : local configuration = { lottery_hour = "1", - Hours after how many hours should get lottery is explained really ... reward_count = 4, - As items / rewards? so you want 4 random items, then write 4 ... site = 1 - No need to explain: p } onThink function (range, lastExecution) local actors getPlayersOnline = () local list = {} for i, tid in ipairs (players) do list [i] = tid end Loc…
-
- 6 respostas
- 2k visualizações
-
-
Rashid está viajando pelo Tibia todos os dias agora =d... globalevents/scripts/rashid.lua globalevents/globalevents.xml Espero que não haja erros. Obs: Deve ser usado no TFS 0.3.5+ É por isso que eu gosto de ajudar (pelo menos tentar ajudar) este fórum, os caras sabe Agradecer né?
-
- 1 resposta
- 1.1k visualizações
-
-
Olá, aqui é um código de stream, que irá transmitir ao vivo a partir do seu site. Créditos vai também para TGYoshi para o código, foi feito apenas algumas edições. Obrigado a Raggaer, pelo o php! Créditos para a sua ajuda. Em globalevents/globalevents.xml adicionar esta linha: <globalevent name="Stream" interval="1" event="script" value="stream.lua"/> Em globalevents/scripts, crie um novo arquivo .lua com o nome de stream, adicione isto - Agora no seu website você pode usar isto - Para as outfits você pode usar este - Outfiter 8.60 - Mostrando Roupas No WebSite Créditos - Cyko
-
- 1 resposta
- 2.3k visualizações
-
-
Testado em TFS 0.4 Olá pessoal, esse é um sistemazinho de UpTime, ele funciona assim: OBS: Coloquei interval 5000 para testar, que é 5 segundos, mas você pode alterar na TAG, que eu irei passar, onde tem o 5000, ajuste a gosto. Para instalar ele é bem simples: TFS 0.4 TFS 1.2 (Se pega 100% no 1.1 , Confirme no tópico) É isso, pessoal
- 14 respostas
- 2.5k visualizações
- 1 follower
-
Desc: É simples de instalar. Bem, há sistemas de chuva e outros que são mais avançados que este. Esse está em fase beta. Este sistema de chuva não deve causar nenhum lag, eu acho! Desde que só chove em torno de seu jogador e não sobre o mapa todo! Onde você vai, a chuva vai segui-lo! Você pode configurar: Quando deve começar a chuva, a partir de gotas de chuva tempestade! E também quando bate na água,para fazer salpicos na água! Também ela só vai chover no chão e andar acima. Não sob 7! Falhas: Se o jogador está sob uma itemid, deve bater mais que itemid. Como no telhado, dentro de um edifício, sob uma grande árvore e etc. Bem, esse é o único problema, chove dentro …
-
- 2 respostas
- 1.8k visualizações
-
-
Salve salve galerinha do Tibia King, tudo blz ! Tava navegando de boa, em busca de umas script pra meu server e achei esta: "Script Anti-Clone." Bom vamos ao que interessa ! Vai em data/globalevents/scripts e cria um arquivo saveplayer.lua e cole isto dentro: Agora vai em globalevents.xml e cole esta tag: Como funciona ? *Com esse sistema o player que estiver online estará sendo salvo de 30 em 30 segundos, com isso ficará impossivél de ocorrer clone items. Isso também é bom para prolongar o seu serversave, e te livra das grandes travadas no seu servidor de hora em hora. Bom galera lembrando que esta Script não é minha eu achei em um topico do tibiak…
- 13 respostas
- 4.9k visualizações
- 1 follower
-
Double Experience Day! A Script é de Exp dobrada em um certo dia e hora marcada, basta alterar o dia e hora na script. Crie um arquivo chamado bonusexp.lua em data/globalevents. Adicione a linha em data/globalevents.xml Modifiquem o dia e horário do Double exp e a Rate nem local expRates = { {1, 100}, {31, 80}, {51, 60}, {81, 40}, {101, 20}, {121, 10}, {151, 5}, {181, 3}, {201, 1.5} Caso tenho dúvida em troca o dia do eventos basta seguir o mini-tutorial do Renato! Créditos: Scarlet Ayleid - Não sei o que ele fez pasibun - E muito menos esse Duda Lima! - Por tr…
- 15 respostas
- 3.2k visualizações
-
Fala galerinha do Tibiaking , hoje irei mostrar um efeito legal , utilizado mais em templos principais . Andei dando uma pesquisada aqui e nenhum topico desse efeito , caso eu estiver errado mil perdões. Então vamos la ! Bom esse é o efeito : 1º Etapa : Crie um arquivo.lua chamado coracao em globalevents/scripts ( Obs : para quem nao sabe criar , apenas copie um arquivo lua qualquer e depois cole , ai tu altera o nome e abre ele , colocando o necessario .) Feito isso tu ira colocar isso : function onThink(interval, lastExecution) doSendMagicEffect({x = 158, y = 51, z = 7}, 35) return TRUE end Essa area marcada e…
-
- 12 respostas
- 2.7k visualizações
-
-
Esse foi um dos primeiros scripts que eu fiz, ele é bem simples, porém muito útil para propagandas ou algo do tipo. Objetivo do script: O sistema funciona assim, você poem 5 (ou mais) frases e elas serão mostradas uma por uma aleatoriamente no seu servidor... Vamos aos scripts: Vá até a pasta "globalevents" entre na pasta "scripts" e faça um script chamado "mensagem.lua" e coloque este código dentro: -- [( Script created by Matheus for TibiaKing.com )] -- function onThink(interval, lastExecution) MENSAGEM = { "FRASE 1", "FRASE 2", "FRASE 3", "FRASE 4", "FRASE 5", } doBroadcastMessage(MENSAGEM[math.random(1,#MENSAGEM)],22) return TRUE end FRASE = Substitua pela frase…
- 21 respostas
- 15.8k visualizações
-
Criando o script no globalevents Crie um Arquivo no globalevents/nomedoscript.lua nomedoscript = nome que você quer que se script tenha Exemplo: no meu caso ele chama npcgoup.lua Ctrl C + Ctrl V no código abaixo: function onThink(interval, lastExecution, thinkInterval) local pos = {x=1050,y=1060,z=7} -- Local onde aparece o npc local npc = doCreateNpc("Goup", pos ) -- Altere o (Goup) pelo nome do seu npc. local nMin = 15 -- tempo em minuto para o npc sumir. addEvent(doRemoveCreature, nMin*60*1000, npc) return true end Criando Chamada do npc no Global Events Abra o global events: data/globalevents/globalevents.xml Ctrl C + Ctrl V no código abaixo: <globa…
- 6 respostas
- 1.6k visualizações
-
[GlobalEvents] Npc por tempo Olá galera do Tibia King , venho trazer um novo script para vocês que pode ajudar muito em seu OTserver. Como funciona o script ? : Esse script é assim , você escolhe um NPC de sua escolha e o NPC aparecerá no certo tempo que você escolher e na coordenada que você escolher . Vamos para o Script então : Vá em data/GlobalEvents/GlobalEvents.xml e adicione a tag abaixo : Vermelho - o tempo que o npc aparecerá 3600 = 1 Hora Vá em data/globalevents/Scripts , copie e cole um arquivo .lua , renomeie-o para npc.lua e adicione o script abaixo : A explicação de como editar o script…
- 20 respostas
- 4.6k visualizações
- 1 follower
-
Removing houses inactive players Informações: Esse sistema vai ajudar e muito aqueles que sofrem com players inativos, ele basicamente remove a casa do player que estiver inativo por 7 dias(configuravel). Descrição: Remova todos as casas de players inativos, toda vez que ele se executa gera uma linha na prompt. Testado em Versão 8.60, Mysql. Instalação Vá em data/globalevents/scripts e cria um arquivo chamado removehouse.lua, dentro dele coloque. Logo em seguida vá até data/globalevents abra o arquivo globalevents.xml e adicione essa tag. Agora um passo muito importante a ser seguido, você devera criar uma coluna na tabela houses. …
-
- 6 respostas
- 1.6k visualizações
- 1 follower
-
-
Galera é um script muito simples, porém pra mim é muito ÚTIL. Abra a pasta data/globalevents/scripts crie um arquivo .lua com o nome GlobalSave.lua, em seguida adicone o code: function prepareShutdown(minutes) if(minutes <= 0) then doSetGameState(GAMESTATE_SHUTDOWN) return false end if(minutes == 1) then doBroadcastMessage("Server is going down in " .. minutes .. " minute for global save, please log out now!") elseif(minutes <= 3) then doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save, please log out.") else …
- 28 respostas
- 11.8k visualizações
- 1 follower
-
Galera não encontrei um tutorial no fórum com esse script, mais caso haja por favor moderadores remova o tópico! Script útil a todos: TFS 0.4 e OTX Abra data/globalevents/globalevents.xml adicione a seguinte tag: <globalevent name="raids" interval="1000" event="script" value="raid.lua"/> Na pasta data/globalevents/scripts crie um arquivo .lua com o nome raid.lua adicione o seguinte code dentro do arquivo: --[[ - hour should be exact SERVER hour - to do the raid at clock 00 minutes 00 - to do the raid at exaxt date use type "exact" - to do the raid weekly use type "weekly" - days names are used only for weekly type and should be - "monday", "tuesday", "w…
-
- 13 respostas
- 2.4k visualizações
- 1 follower
-
-
Olá pessoal fiz 1 tag para 1 helmet que da vida, achei bem legal é Igual do Fox World. O helmet da porcento de life e life, ele tem uma duration. Vamos lá! 1º Abra seu items.xml e de Ctrl+f e procuro pelo ID 2342 ( Ancient Helmet ) 2º Substitua oque está escrito por isso: ( P.S: Eu uso o nome como pharao helmet ) <item id="2342" article="a" name="pharao helmet"> <attribute key="description" value="The power of the ancients converted into health. (hitpoints 100+2%)."/> <attribute key="weight" value="2760"/> <attribute key="armor" value="8"/> …
- 8 respostas
- 2.6k visualizações
-
Salve galera do TK! Hoje venho trazer para vocês um script muito bacana que funciona da seguinte maneira Ex: Eu tenho uma boots, e a cada 1000 de hit tomado, ela irá absover, e depois disso automaticamente começará contar 2 minutos até que ela recarregue e bloqueie o dano.. Ou seja, se eu tomo um hit de 2k e a boots está carregada, ela irá absover metade do dano.. Sem longas demores vamos lá! Em Data/Creaturescript.xml adicione: <event type="statschange" name="bootsbloqued" event="script" value="bootsbloqued.lua"/> Em data/Creaturescript/scripts , crie um arquivo chamado bootsbloqued.lua ou se você quer por outro nome no arquivo, modifica a t…
-
- 3 respostas
- 1k visualizações
-
-
PRIMEIRAMENTE, SE EU ESTIVER EM ÁREA ERRADA POR FAVOR ME CORRIGEM ! UMA BOA NOITE E VAMOS LÁ ! Salve galera do TK! Hoje venho trazer para vocês um script muito bacana que funciona da seguinte maneira: Ex: Eu tenho uma boots, e a cada 1000 de hit tomado, ela irá absover, e depois disso automaticamente começará contar 2 minutos até que ela recarregue e bloqueie o dano.. Ou seja, se eu tomo um hit de 2k e a boots está carregada, ela irá absover metade do dano.. Sem longas demores vamos lá! Em Data/Creaturescript.xml adicione: <event type="statschange" name="bootsbloqued" event="script" value="bootsbloqued.lua"/> Em data/Creaturescript/scrip…
-
- 5 respostas
- 1.8k visualizações
-
-
Eaí galera, estava parado aqui sem fazer nada e lembrei de um script que da +life quando esta usando! Obs: Não sei se já tem algum tutorial sobre isso aqui, mas irei postar! Vá na pasta Data/Movements/ e crie um arquivo chamado helmetlife.lua Dentro dele coloque isto: function onEquip(cid, item, slot) local strg = 50030 if getPlayerStorageValue(cid, strg) >= 1 then doPlayerSendCancel(cid, "Sua vida já foi alterada") else setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+150) setPlayerStorageValue(cid, strg, 1) return true end end function onDeEquip(cid, item, slot) local strg = 50030 setCreatureMaxH…
-
- 5 respostas
- 573 visualizações
-
-
Bom Galéra ,Hoje Eu Vou Fazer Uma Lista De Alguns Os Actions, e TalkActions,Aki Do Tk,Entao Vamos Lá Lista Actions e Talkactions Tk [Action] Temple Cleaner Automatico Autor: GodFather Topico: Topico Official Tipo: Action [Action] Mount System 1.4 - 100% Inovador Autor: Matheus Topico: Topico Official Tipo: Action [Action] Item Que Da Experience e Dinheiro Autor: Slaake Topico: Topico Official Tipo: Action [Talkaction] Item Por Vocaçao Autor: TonyPlyson Topico: Topico Official Tipo: Talkaction [T…
-
- 7 respostas
- 4.6k visualizações
-
-
Olá Galera Hoje Eu Vou Postar Uma Lista De Alguns CreatureScripts , GlobalEvents e MOveMents Lista Actions ,MoveMents,GlobalEvents Tk [spell] KameHame Ha! Autor: Jedian Topico: Topico Official Tipo: Spell [GlobalEvents] Npc Por Tempo Autor: MatheusVidaLoka Topico: Topico Official Tipo: GlobalEvents [CreatureEvent] Efeito No Player Autor: Kimoszin Topico: Topico Official Tipo: CreatureEvent [MoveMents] Tile Informativo Autor: Kimoszin Topico: Topico Official Tipo: MoveMents [GlobalEvents] I…
-
- 4 respostas
- 5.6k visualizações
-
-
Olá galerinha do TK, trago hoje um script muito legal, o mesmo tem ligação com a database do servidor. Script: Este script irá mostrando no LOOK do char os FRAGS que ele tem. Exemplo: You see Absolute (Level 603). She is an elite knight. [Frags: 8] Entenderam? ao dar look no player irá aparecer os frags do mesmo. Bom vamos ao que interessa: Em data/creaturescripts/scripts crie um arquivo com o nome de fraglook.lua e dentro adicione: function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getR…
- 13 respostas
- 4.4k visualizações
-
[LUA Function] String.Table Função : usada para passar um texto para uma tabela, cada valor é definido com um separador que quem está manipulando a função escolhe. Código: Exemplo: local texto = "Eu@Tu@Eles" local tab = string.table(texto, "@") a variável (tab) retornaria: {"Eu", "Tu", "Eles"}
-
- 1 resposta
- 814 visualizações
- 1 follower
-
-
[LUA Function] table.compare(table1, table2) função: ela verifica se as 2 tabelas, são exatamente iguais. Código: function table.compare(table1, table2) local n = 0 local maxn = 0 if #table1 == #table2 then maxn = #table1 else return false end for i = 1, #table1 do for s = 1, #table2 do if table1[i] == table2[s] then n = n + 1 end end end if n == maxn then return true end return false end Exemplo: if table.compare({1, 2}, {1, 2}) then print(true) else print(false) end
-
- 1 resposta
- 336 visualizações
- 1 follower
-
-
[LUA Function] Table.Contains Função : usada para ver se existe algum elemento, da tabela_x, para tabela_y. Se tiver, vai retornar verdadeiro, caso contrário, retorna a falso. Código: function table.contains(tab1, tab2) for a = 1, #tab1 do for b = 1, #tab2 do if tab1[a] == tab2[b] then return true end end end return false end Exemplo: local tab_x = {"oi", "ola"} local tab_y = {"ola"} if table.contains(tab_x, tab_y) then print("Existe.") else print("Não existe.") end
- 3 respostas
- 1k visualizações
- 1 follower
-
[LUA Function] Table.String Função : usada para passar todos os elementos de uma tabela, para uma linha de texto. Podendo escolher se irá usar algum separador de elemento, se sim, qual separador. Código: Exemplo: --- Sem separador ---- tabela = {"Exura", "Exura Gran", "Exura Vita"} print(table.string(tabela)) resultado: ExuraExuraGranExuraVita --- Com Separador ---- tabela = {"Exura", "Exura Gran", "Exura Vita"} print(table.string(tabela, "@")) resultado: Exura@Exura Gran@Exura Vita
-
- 4 respostas
- 802 visualizações
-
-
Sobre: É para remover certa quantidade de frags o jogador, a maioria dos script de clean frag removia todos =/ function doPlayerRemoveFrag(cid, count) -- by vodka local query,t,k = db.getResult("SELECT `kill_id` FROM `player_killers` WHERE `player_id` = "..getPlayerGUID(cid)),{},0 if (query:getID() ~= -1) then repeat local gs = db.getResult("SELECT `unjustified` FROM `killers` WHERE `id` = "..query:getDataInt("kill_id")) if (gs:getDataInt("unjustified") ~= 0) then table.insert(t, query:getDataInt("kill_id")) k = k +1 end until not query:next() or k >= count query:free() end for _, frag in pairs(t) do db.executeQuery("UPDATE `killers` SET `unjusti…
-
- 2 respostas
- 724 visualizações
-
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.