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 mariatti,

    Como na axei nada igual a esse script aqui resolvi trazer pro forum... 1 - Crie um arquivo chamado perfectrefine.lua em data/actions/scripts, cole o seguinte código: 2 - Em actions/scripts, crie um arquivo chamado refine.lua 3 - Em actions.xml Creditos: LPZ EU(Mariatti)

    • 7 respostas
    • 3.1k visualizações
  2. Fala ai galera, eu e o MaXwEllDeN criamo um script aki rox pakas (: É o seguinte, se o player for lv do lv 50~79 cria dragon ou dragon lord, a partir do num de vezes que ele for passando no tile, vai sumunando dragons e dragons lord, ai quando o player upa ai ele for 80~xxx vai ficar sumonando demons e necromancer's Vamos lá ? Primeiro vá em data/movements/scrips, copie qualquer arquivo .lua, renomeio para diversos, apague o que estiver dentro e ponha isto: -- By Slaake and MaXwEllDeN For Tibia King --[/center] local creatures = { [55] = {"Dragon", "Dragon Lord"}, [80] = {"Demon", "Necromancer"}, } function onStepIn(cid, item, position, …

    • 4 respostas
    • 744 visualizações
  3. Started by Slaake,

    Fala galerinha do TK, como estão ? Bom, hoje lembrei do servidor Global War, e lembrei de quando eu upava na Infernia (VIP), tinha ganhado a premium la de niver do meu irmao, ai tavo fazendo task la, era o seguinte, sempre que agnt passava em cima do tile, criava um demon, intao eu ficava o dia inteiro la, matava os nego que aparecia kk, e ficava la, por dia eu fazia em media de 1,3kk de loot (mms,mpa, g legs...), então resolvi criar esse script, só que eu coloquei um level para criar o demon, para nao ficar muito vacalhado, espero que gostem: 1º: Vá em data/movements/script copie qualquer arquivo .lua renomeio para up apague o que estiver dentro e bote isto: …

    • 1 resposta
    • 639 visualizações
  4. Started by Slaake,

    Fala galerinha do TK, como estão? Bom, eu estou felizaço kk fiquei em 1º no Scripting Competition #2 Foi bom, mas infelizmente somente eu e o MaXwEllDeN, nós dois ficamos com o mesmo premio, estou feliz por ter competido com ele , vamos ao script ? Bom, o script é o seguinte, ele funciona como uma armadilha, ou seja, o player esta em uma quest, e quando ele passa em cima de um tile, ele é teletransportado para outro lugar automaticamente (sem tp), com isso, aumentando o caminho a ser percorrido dele. É estilo a POI do global, quando o player passa em um certo tile no labirinto ele vai pra outro lugar, certo ? Então vamos la. 1º Vá em data/move…

    • 5 respostas
    • 1.1k visualizações
  5. Started by Kimoszin,

    Seu char vai ficar girando e falando "DANCING", deve ser instalado em \mods\. [paste]h8vRCmKr[/paste]

  6. Started by MaXwEllDeN,

    #Introdução O Sistema é basicamente isso: Você usa uma pedra de alma em um monstro morto a pouco tempo você aprisiona a alma dele na pedra, e ela pode ser usada para: Trazer o monstro a vida novamente; Encantar armas com a alma dos monstros para que elas dêem ataque extra à sua arma; Usar uma aura que te protege atacando criaturas que te causam perigo! #Instalação Primeiro faça o download do sistema e cole na pasta do seu executável. Pronto, tá instalado. #Configurações #1 Aura System #1.1 Adicionando Nova Soul souls = { ["dark"] = {effects = {distance = 31, eff = 17}, combat = COMBAT_DEAT…

    • 24 respostas
    • 5.8k visualizações
  7. Started by MaXwEllDeN,

    Autor: MaXwEllDeN (Maxwell Denisson) Versão testada: TFS 0.3.6, 8.54 #Introdução Vish, eu tava aqui de boa vasculhando meus scripts e achei esse sistema de Forja, é antigo e pode conter bugs, então quem encontrar por favor reporte (: #Instalação @Actions Na pasta scripts copie qualquer arquivo com a extenção lua, e renomeie ele para Smith, abra, delete tudo que houver dentro dele, copie esse conteúdo e salve: [paste]pfyxwqAY[/paste] TAG: <action itemid = "2422" event = "script" value = "Smith.lua"/> @Libs Na pasta lib copie qualquer arquivo com a extenção lua, e renomeie ele para SmithLib, abra, delete tudo que houver dentro del…

    • 8 respostas
    • 2.9k visualizações
  8. Started by mariatti,

    1º) Vá a pasta mods do seu servidor 2º)Crie um arquivo chamado rep_system.xml e coloque o seguinte script nele: [SKULL_WHITE] = 30, [SKULL_RED] = 45, [SKULL_BLACK] = 45, [SKULL_NONE] = -30, } aqui voce muda a rep que o player ganha qnd mata outro.. local monsters = { ["behemoth"] = 0, ["hellfire fighter"] = 0, } aqui voce acrescenta os monstros e a rep q eles dao.. (OBS: A quantia de REP em monster eu coloquei 0, mas você pode inserir mais monsters e modificar a quantia de REP!) 2- SQL Agora precisamos criar a tabela REP em sua database! 1º) Abra sua DATABASE no SQLITE. 2º) Vá em TOOLS 3º) Siga em OPEN S…

  9. Started by vetogato,

    TUTORIAL QUEST SYSTEM ~ por: vetogato E ai pessoal, tudo certinho? então, estou aqui unicamente para passar um sistema de quests básicos para quem está aprendendo scripting ou simplesmente quer utilizar esse sistema, pois bem, vamos ao que interessa. Bom, primeiramente gostaria de falar que o script do sistema foi feito por mim, e qualquer problema que vocês tiverem, peço que me falem para que eu possa corrigir. Tutorial de instalação~ Irei dividir em passos: 1º Passo - Fazer um tag para o script em actions/actions.xml Primeiramente, façam uma nova linha da seguinte forma: Obs: Eu escrevi Tutorial.lua, mas vocês po…

    • 4 respostas
    • 1.3k visualizações
  10. Started by MaXwEllDeN,

    Autor: MaXwEllDeN (Maxwell Denisson) Versão testada: TFS 0.3.6, 8.54 #Explicação Eu falo com um npc, e digo à ele bless, ai ele me abençoa, ai na próxima vez que eu morrer, só eu posso abrir o meu corpo. #Instalação @Actions Na pasta scripts copie qualquer arquivo com a extenção lua, e renomeie ele para BlessDie, abra, delete tudo que houver dentro dele, copie esse conteúdo e salve: function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid ~= getPlayerGUID(cid) + 1000 then doPlayerSendCancel(cid, "This corpse has blessed by the gods, so it you can't touch it.") return true end end TAG: <action actionid="90100"…

    • 5 respostas
    • 1.2k visualizações
  11. Started by Slaake,

    Eae galerinha do TK, como vocês estão ? Bom, eu resolvi criar um tutorial aki, bom, ja há um tutorial aki, mas achei mal organizado e talz, e vou explicar coisas a mais aki tmbm. Nesse tutorial, vou ensinar voces a como adicionar novas vocations, e, como recebe-las por um npc de promotion. Vamos la ? 1º Vá em data/xml/vocations.xml e provavelmente estará assim: <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="10" gainmanaticks="6" gainmanaamount="10" manamultiplier="4.0" attackspeed="1000" so…

  12. Started by MapperTibiano,

    Fala galera do tibia king tava olhando meu server e achei um comando bom aki e o rename entao vamos la .. Abra a pasta do seu server dps vai em data/talkaction/talkactions.lua Cole So God's poderam usar o comando dps de ter sallvo abra data\talkactions\scripts crie um novo arquivo chamado rename (Tem que ser .lua) e cole isso aqui dentro dele e pronto Como funciona /rename MapperTibiano,Mappertibiian Ai Mappertibia o nome do player e mappertibiian o nome que ele ira mudar CREDITOS : Não fui eu que fis o script eu achei no meu server e vim postar aqui

    • 2 respostas
    • 1.8k visualizações
  13. Started by Hayashii,

    É uma script simples,mais que muitos procuram,que teleporta o Staff Member para um lugar, por exemplo, GM Island.. Sem mais,ao script : 1- Vá em data/talkactions/scripts e crie um arquivo com o nome staffteleport.lua 2- Vá em data/talkactions/talkactions.xml e adicione :

    • 1 resposta
    • 805 visualizações
  14. Started by Tiag017,

    Iae Tibiaking ! Hoje venho trazer um script de fly todo conheçe um fly sistema então não darei explicação va em data / talkaction / scripts / e renome qualquer arquivo.lua para fly e add isso tudo la dentro: dps em talkactions.xml add essa tag la: Então eu adicionei uma lista dos lugares ai dps e so o player falal "!fly lugares" que ele ver os lugares para se teleport Então e so isso galera Creditos Smartbox 99 % (Por criar) e Tiag017 1 % (Por Postar Aki No tibiaKing) Peguei de outro forum então tirei os créditos do outro cara la, e coloquei o meu. D…

    • 3 respostas
    • 2.2k visualizações
  15. Olá, hoje ensinar o tutorial aqui. bom primeiro va na pasta do seu OTServ, data/npc isso você deixa assim depois a life voce deixa 100x100 e depois tem esta linha então nela e o seguinte nela e como o seu npc vai ser, Look type é o outfit que ele vai usar, o head é a cor do cabelo, o body não sei e a legs e a calça dele feet se eu nao me engano e a bota, e corpse e o corpo que ele vai ser caso ele morra mais isso nunca ira acontecer, então depois de feito isso tera abaixo o que o npc vende e compra o shop do npc comprando é Descrição: Crossbow é o nome do iten, 2455 é o ID do iten que voce quer adicionar, e 150 e o preço do iten q…

    • 0 respostas
    • 1.3k visualizações
  16. Started by Slaake,

    Fala galerinha do TK, como estão ? Bom, venho trazer aki um script bem simples É o seguinte, o script funciona da seguinte forma, assim que o player passar por um tile, ele irá trocar de town, ou seja, de cidade Vou dar o exemplo do Global, vamo supor, voce mora na cidade de Carlin, e sempre que morre, vai para carlin. Ai voce pode mudar de cidade, por exemplo para thais, ai sempre que voce morre, você ao inves de ir para carlin ir para thais. Tendeu ? Vamos lá intao. 1º: Vá em data/movements/script copie um arquivo qualquer .lua renomeio para troca, apague o que tiver la e ponha isto --By Slaake for Tibia King-- function onStepIn(cid, …

    • 5 respostas
    • 784 visualizações
  17. Started by raahgrilim,

    Bom estava em casa sem fazer nada, e me lembro de um server que joguei a um bom tempo... o Nightmare Server estava me lembrano de suas Spells, runas e queria compartilhar com voces a runa que me deu muito alegria naquele tempo... SAUASHUAHU Vou explicar como colocar a Runa Holy Judgment abra items.xml e adicione: <item fromid="2300" article="a" name="holy judgment"> <attribute key="runeSpellName" value="adori gran san" /> <attribute key="weight" value="120" /> <attribute key="charges" value="5" /> </item> agora abra spells.xml e adicione a seguinte tag: <rune name="Holy Judgment" id="2300" allowfar…

    • 2 respostas
    • 2.2k visualizações
  18. Started by Slaake,

    Fala galerinha do TK, como vocês estão ? Bom, eu criei um script simples e bom, o que ele faz ? Bom, é o seguinte, sempre que um player passar em cima de um tile, é criado um monster automaticamente O script é pequeno mas bastante simples, e utilizável, vamos la ? 1º Vá em data/movements/script , copie qualquer arquivo la .lua , renomeio para monster, apague o que estiver dentro, e ponha isto: --By Slaake For Tibia King-- function onStepIn(cid, item, position, fromPosition) doSummonCreature("Demon", {x=1133, y=1275, z=7}) return true end 2º Vá em data/movements/movementes.xml e adicione esta tag <movement type="StepIn" u…

    • 5 respostas
    • 789 visualizações
  19. Started by Huziwara,

    Olá TKbianos, Estou aqui postando um script de C++ muito interessante e util ! Imagem de como funciona : Bem, aqui está o código : iologindata.h Vá para : C code : uint32_t getAccountIdByName(const std::string& name) const; Cole em baixo : C code : std::string getCheckPlayerLevel(const std::string& name) const; iologindata.cpp (cole no final do file..) para 0.3.6pl1 C code : std::string IOLoginData::getCheckPlayerLevel(const std::string& name) const { Database* db = Database::getInstance(); DBQuery query; query << "SELECT `level`, `vocation`, `promotion` FROM `players` WHERE `name` " <…

    • 4 respostas
    • 1.1k visualizações
  20. Na função setCombatParam() da sua spell coloque um dos numeros descritos nas fotos para mudar o efeito a distância da magia. Exemplo: setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 0) No caso quando a spell for ativada vai voar uma 'Spear' no target. E so mudar o '0' para os numeros descritos nas fotos (: , quem utilizar as imagens para facilitar a visuazação não deixe de agradecer meus dedo ta doendo de tirar foto OEIWHOIWEH Tem que clicar nas imagem (: vai da pra enchergar

    • 2 respostas
    • 1.9k visualizações
  21. Started by Guilherme.,

    Bom, esse é um sistema anti-bot que vai funcionar da seguinte forma: O Jogador fica online por 15 minutos [Antibot]: Por favor escreva !antibot 5%8&9^2*3 sem simbolos. Ex: code: 1*5^8¿6%9 -> !antibot 15869. Lembre-se você tem 2 minutos para fazer isso ou será kickado. Jogador: !antibot 58923 [Antibot]: Aproveite seu tempo! Caso o código esteja incorreto: [Antibot]: Voce tem mais 2 chances para tentar novamente. Caso o jogador escreva o código 3 vezes errado, será kickado, ou então, caso o jogador não escrever o código nos próximos 2 minutos (configurável) será kickado também. Primeiro vá em data/creaturescripts/scripts/ e crie …

    • 5 respostas
    • 4.5k visualizações
  22. Started by MaXwEllDeN,

    Autor: MaXwEllDeN Versão testada: TFS 0.3.6 #Introdução Este é um sistema que quando você usar uma das gemas mágicas, dependendo da cor dela você ganhará um bônus de xp ou double, ou triple ... e um adicional em cada skill, por um tempo determinado em minutos. #Instalação Primeiro faça o download do sistema e cole na sua pasta data. Após ter instalado os arquivos nas suas respectivas pastas adicione as tags: @Actions <action itemid="2156; 2153; 2154; 2155" event="script" value="Gems.lua"/> @Creaturescripts <event type="think" name="EffectCheck" event="script" value="checkGEM.lua"/> <event type="login" name="EffectLogin" event="script" value="chec…

    • 7 respostas
    • 2.8k visualizações
  23. Started by MaXwEllDeN,

    #Introdução #Instalação Primeiro faça o download do sistema e cole na sua pasta data[ANEXO]. #Configuração Como na maioria dos meus códigos: as configurações ficam na lib, então: WEREWOLF_CONFIG = { onlyMale = true, -- Somente players male poderão se transformar? tf_time = 5, -- Tempo transformado ( em minutos) mana_remove = 750,-- Mana que vai remover hp_percent = 10, -- Quantos % de HP o player vai voltar depois da transformação nhp_x = 2, -- O HP do Player aumenta 2x nmp_percent = 50 -- Perde 50% da mana } Pô, tá tudo comentado né! Para configurar o horário em que ele será transformado, você abre o glo…

    • 16 respostas
    • 3.4k visualizações
  24. Started by Guilherme.,

    Olá galerinha! Bom, antes de tudo, os créditos de criação do script vão para o Fresh, esse script vai proteger os jogadores contra a morte caso aconteça algum erro, crash ou até mesmo restart no seu servidor. Como? Simples, quando o servidor for iniciado, os jogadores terão 60 segundos (tempo padrão) de imunidade contra ataques físicos e mágicos, ou seja, você não causará dano em um monstro, muito menos um monstro vai causar dano em você durante o tempo pré-determinado. [Dica: Isso pode ser utilizado para criar uma quest diária, por exemplo, dentro da missão existem monstros que causam um dano de 9000, você apenas poderá completar a quest depois que o …

    • 11 respostas
    • 2.1k visualizações
  25. Started by Hayashii,

    Olá pessoal do tk, com tutoriais de script que vi por ai,resolvi bolar meu 1° Sistema,e deu meu primeiro e único sistema útil Advanced Reproduction System !! O Script funciona assim : O Player tem 1kk na sua backpack,então ele fala !prostituta e aparece o Npc Prostituta.. Hayashii : Hi Prostituta : Olá Hayashii. Eu faco Programas. Hayashii : Programas Prostituta : Voce quer fazer um programa ? Hayashii : Yes Então o player será teletransportado para x lugar com o looktype de uma cama por 5 segundos,ganha item x,e volta para seu looktype comum,ganhando item x. O item x (no caso,o…

    • 10 respostas
    • 1.3k visualizações
  26. Eae Fmz? O titulo ja diz tudo então vamos la. Add isso em creaturescripts/scripts/login.lua: Crie um novo arquivo.lua com o nome que voce quiser em spells/scripts/Nome.lua: Add isso em spells/spells.xml: Finish Creditos : cbrm ea min Lano por ter postado no Tk

    • 2 respostas
    • 973 visualizações
  27. Started by eternaus,

    eai galera hoje eu vim aqui não pra perguntar mostrar como coloca stones pra vender no ot pokemon Va em data/npc procure pelo seu npc que vende stones abra o arquivo apague tudo e coloque <?xml version="1.0" encoding="UTF-8" ?> - <npc name="nome do seu npc" script="loot.lua" walkinterval="0" floorchange="0"> <health now="150" max="150" /> <look type="159" head="132" body="79" legs="97" feet="132" corpse="2212" /> - <parameters> <parameter key="module_shop" value="1" /> <parameter key="message_greet" value="Hello |PLAYERNAME|. I buy items there is my offer! .. and also sells some ." /> <parameter key=…

    • 2 respostas
    • 796 visualizações
  28. Eae pessoal do Tibiaking hoje vou postar aqui no Forum um Script bem Simples e Facil de fazer e de Fazer um bug Em Tal Lugar Exemplo : Clicko na arvoré vem 1kk de dinheiro ou 100 hd em pokemon. Vamos começar então o tutorial está logo abaixo : 1º Criem uma pasta xamada dinheiro . em data/actions/scripts Copiem um arquivo .lua e colem dentro da pasta que criaram com o nome de dinheiro.lua Abram o arquivo .lua que está dentro da pasta dinheiro Apaguem tudo que está la e cole isto aqui Agorá vao em data/actions/actions.xml Abra o arquivo .xml e cole isto la itemid = 112 e o numero do item que você…

    • 2 respostas
    • 1k visualizações
  29. Started by Ziak,

    Minha primeira quest, fiz ela para servidores de xp baixa que começa com level baixo (ex:1, 3) , graças ao Matheus , eu consegui fazer function onUse(cid, item, fromPosition, itemEx, toPosition) local itemid = 2398 local storage = 7001 if getPlayerStorageValue(cid, storage) < 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a "..getItemNameById(itemid)..".") doPlayerAddItem(cid, itemid, 1) doPlayerSetStorageValue(cid, storage, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") end return TRUE end É isso ai , se gostarem deem +rep , se achare…

    • 1 resposta
    • 651 visualizações
  30. Started by OhGod,

    Pessoal hoje trago para vocês o Creaturescript de Wapon Paralyze Então hoje vou postar o script para quem não sabe fazer ou tem duvidas O Tutorial enclui : Danos de varios tipos de poderes Ataack de longe ou de perto O script é de fácil entendimento e qualquer um pode editar facilmente, vai ser possível adicionar mais weapons, regular a chance de ocorrer o paralyze entre outras configurações. Vamos começar : Vamos ao que interessa, abra a pasta "data/creaturescripts/scripts" duplique um arquivo qualquer e renomeie para "weaponpar" sem as aspas e nele cole: Scripts by : jhon e ohgod Agora no arquivo, "data/creaturesc…

    • 6 respostas
    • 1.8k visualizações
  31. Started by Eduardo Guimaraes,

    Eae Galera Vim Ensinar A voces cria um monstro e facil e rapido vou mostrar Abra em:data\monster Cria 1 pasta chamada Edited ou outro nome Copie um arquivo e renomeie Para Vagabundo Logo depois Abra-o Exemplo:: <?xml version="1.0" encoding="UTF-8"?> <monster name="Vagabundo" nameDescription="a Lixo" race="undead" (experience="0") speed="99999" manacost="390"> --> Vida <health now="1800000000000" max="18000000000000000"/> -->Cor Do Bixo e forma <look type="300" head="0" body="0" legs="0" feet="0" corpse="7091"/> <targetchange interval="2000" chance="50"/> -->Quanto Ele Vai Bate …

    • 4 respostas
    • 1.9k visualizações
  32. Started by Omaximo,

    Vá em "data\talkactions\scripts" copie e cole qualquer arquivo.lua e renomei para ranks.lua e cole isto dentro: local ranks = { ['fist'] = {0}, ['club'] = {1}, ['sword'] = {2}, ['axe'] = {3}, ['distance'] = {4}, ['shield'] = {5}, ['fish'] = {6}, ['magic'] = {7}, ['level'] = {8}, } function onSay(cid, words, param) local msg = string.lower(param) if ranks[msg] ~= nil then str = getHighscoreString((ranks[msg][1])) else str = getHighscoreString((8)) end doShowTextDialog(cid,6500, str) return TRUE end Depois vaia em talkactions.xml e adicione : <talkaction words="!rank" script="ranks.lua"/> Depois vaia em : Actions…

    • 3 respostas
    • 4.5k visualizações
  33. Anti Account Manager Mage Bomb Crash Eae Galera... Beleza? Introdução Vocês devem estar se perguntando porque o nome deste tópico é tão grande, vou explicar. Sabe quando você está com seu OT numa boa, e do nada começa a dar umas travadas, então você vai ver e tem algum infeliz utilizando magebomb para logar uns 200 account manager? Então, eu tenho a solução aqui, o script faz o seguinte: Se alguem com o mesmo IP logar x Account Manager, o seu IP será banido por y dias. Porque x e y? Porque pode ser configurado através do script. Instalação Na pasta data\creaturescripts, coloque isso dentro do arquivo creaturescripts.…

    • 13 respostas
    • 4.5k visualizações
  34. 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
  35. Started by tonyplyson,

    Olá galera do Tibiaking , um amigo me pediu para criar 1 script para ele , ai eu criei nér... o script é o seguinte ! --> TALKACTION <-- O Player fala !buypremmy , e ele precisa ter uma certa moeda para poder comprar esses dias de premium Vá a PastadoOt/Data/Talkactions/Talkactions.xml Lá dentro voce adiciona essa TAG <talkaction words="!buypremmy" event="script" value="premmy.lua"/> Depois Vá a PastadoOt/Data/Talkactions/Scripts , cria um arquivo .lua , Renomeia para buypremmy .e lá dentro voce coloca <?xml version="1.0" encoding="UTF-8"?> <npc name="Premium Seller" script="buypremmy.lua" walkinterval="2000" fl…

    • 6 respostas
    • 2.4k visualizações

Quem Está Navegando 0

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

Informação Importante

Confirmação de Termo