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
-
Primeiramente, gostaria de dizer que eu estava procurando um npc similar a este por ai.. mas infelizmente não encontrei, então decidi pegar algum parecido e editar a meu gosto No final do tópico vou explicar mais algumas coisas.. enfim, vamos lá Essa é a parte que você irá colocar dentro do XML. <npc name="Max" script="data/npc/scripts/max.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="132" head="94" body="114" legs="86" feet="0" addons="3"/> <parameters> <parameter key="message_greet" value="Seja bem vindo |PLAYERNAME|, estaria interessado em adquirir uma {premium}?"/> <parameter key="messag…
-
- 2 respostas
- 709 visualizações
-
-
-- Name: E-mail System -- Version: 1.3.9 -- Credits: Conde2 -- Tested: TFS 0.3.4(5) Crying Damson _________________________ Sobre: Este é um simples sistema de e-mails, que te possibilita mandar mensagens para todos os players, ate os offiline. Necessário criar uma pasta chama "email" dentro da pasta DATA OBS: NECESSITA DA LIB EXHAUSTION DO TFS !! Comandos: Código: Agora vamos ao que interessa... Abra a pasta data/talkactions/script e adicione isso em um arquivo lua chamado email.lua. Dentro desse arquivo adicione esse Script: EMAIL_BLOCK = 6364 EMAIL_ANTI_SPAWN = 15 EMAIL_MIN_MENSSAGE = 10 EMAIL_MAX_MENSSAGE = 100 EMAIL_STORAGE_ANTI_SPAWN = 6365 fun…
-
- 2 respostas
- 883 visualizações
- 1 follower
-
-
Bom, não sei de quem é os créditos pelo código, porém eu adaptei para tfs 1.0 e resolvi compartilhar. Para quem não sabe, o shutdown serve para desligar o servidor, você pode usar ele em contagem regressiva, exemplo: /shutdown 5 - O servidor irá desligar em 5 minutos. Para cancelar a contagem /shutdown stop Caso você queira pular a contagem /shutdown kill E caso você queira que não tenha contagem, basta /shutdown Vamos ao código, em talkactions/scripts: local shutdownEvent = 0 function onSay(cid, words, param, channel) if(param == '') then Game.setGameState(GAME_STATE_SHUTDOWN) return true end if(param:lower() == "stop") then stopEvent(shutdownEve…
-
- 2 respostas
- 1.1k visualizações
-
-
Se você já leu o manual de referência já deve ter visto uma função parecida com essa. O que ela faz? Ela printa uma tabela completa, por exemplo: Executando ela em seu OT: O chamado printTable{1,3,4,[5] = 5, [6] = 1} retorna Instalação Crie printTable.lua em data/lib e cole: function printTable(table, includeIndices,prnt) -- By Killua if includeIndices == nil then includeIndices = true end if prnt == nil then prnt = true end if type(table) ~= "table" then error("Argument must be a table") return end local str, c = "{", "" for v, b in pairs(table) do if type(b) == "table" then str = includeInd…
- 2 respostas
- 896 visualizações
- 1 follower
-
tenho recebido msg no skype e no tk private pedindo ajuda e resolvi postar aqui para ajudar.. esse e 1 exemplo para quests basicas --By Cerberus-- function onUse (cid,item,frompos,item2,topos) pos2 = getPlayerPosition(cid) ID = 6005 STORAGE_VALUE = 6005 --Storage da quest ID_DO_PREMIO = 2152 -- Premio 1 ID_DO_PREMIO2 = 12275 -- Premio 2 level = XXX --- level que tem que ter para fazer quest qt1 = 10 -- quantidade do ID_DO_PREMIO vai dar qt2 = 1 -- quantidade do ID_DO_PREMIO2 vai dar if getPlayerLevel(cid) >= level then if item.actionid == ID then -- aqui se pode mudar para para de b…
-
- 2 respostas
- 513 visualizações
-
-
Inicio Ola Hoje venho ajudar como criar aquelas magias novas. Irei dar o exemplo da magia exori gran ico. Exemplos : Exori Gran Ico , Exura Gran San. Tem muita gente que não consegue criar e estarei ajudando. Primeira Parte 1- Vamos para pasta do nosso servidor l Depois em Spells l Depois em Script l Depois escolha 1 pasta para colocar a magia novas. Segunda Parte 2- Escolheu a pasta para colocar a nova magia "Correto" Agora iremos criar um arquivo lua. O nome do arquivo você que ira escolher Dentro do Lua colokem o que esta abaixo. Ultima Parte 3- Depois de ter colocado o arquivo e …
-
- 2 respostas
- 1.1k visualizações
-
-
Seguinte, estou postando essa talkaction por não achar nada parecido aqui no TK. É uma talkaction bem simples, básicamente ela coloca uma description em determinado item que for criado. Agora só dê /reload talkactions e faça o teste. Lembrando que só testei em 8.54.
-
- 2 respostas
- 580 visualizações
- 1 follower
-
-
Falaaaaa Galera do Tk Beleza? Venho Trazer a Vocês Uma Descoberta Minha, Muitos Passam a Raiva de temtar concertar o tal erro do gate of expertise, que o Player Vae e Volta na Porta, sem Consseguir entrar, Então vou Ensinar a Vocês Como Concertar esse Erro Pequeno e Que Ajuda-rar a Muitos. 1° Vamos em data/movements/walkback 2° abra o walkback.lua 3° adicione isto no finalzinho depois de ' end ' function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end if(isContainer(item.uid)) then if(not isInArray(SPECIAL_QUESTS, item.actionid) and item.uid > 65535) then …
-
- 2 respostas
- 873 visualizações
-
-
Acho que um problema comum em todos os derivados OtServers é esse: backpack cheia. Não adianta criar uma backpack só para GOD's/GM's com 200 slots(simplesmente todos enchem misteriosamente em menos de 5 minutos). Então resolvi criar um script que limpa sua backpack. Em talkactions/script crie um arquivo chamado cleanbackpack.lua: E em talkactions/talkactions.lua adicione essa linha: Caso você queira que todos possam usar só substitua /cleanb por !cleanb e apague as linhas indicadas. Espero que gostem!
-
- 2 respostas
- 819 visualizações
-
-
E ai pessoal do TK, tudo bom? Hoje eu irei ensinar a vocês como criar um item que da quantos dias de VIP você quiser! Bom, primeiro vá em data/actions/actions.xml e coloque em algum lugar isto: Em 8267, coloque o ID do item que dará o VIP. Agora em data/actions/scripts crie um arquivo chamado vip.lua, dentro coloque isto aqui: --Como configurar Em local DAYS = 30 <- no 30, mude a quantidade de dias que irá ganhar ao usar o item. Em doPlayerSendTextMessage(cid, 23, "Mensagem que irá aparecer quando o player usar o item") <- no 23, coloque o tipo da mensagem, e na frase azul, troque pela frase que irá aparecer quando o player usar o item. Em…
-
- 2 respostas
- 1.4k visualizações
-
-
Pesquisei Muito sobre isso mas não achei nada relacionado só achei á premium points então resolvi trazer isso, Quando você clicar em X item ganha 30 dias de premium account Então vamos la primeiro crie um arquivo chamado ootvipdays em data/actions/scripts e adicione isso dentro: 1° Verde: Mensagem que irá aparecer ao você clicar no item Azul Claro: Efeito que irá aparecer ao clicar no item Laranja: Dias que você irá ganhar 2° depois vá em data/actions/actions.xml e adicione isso: Verde: ID do item (obs: você pode deixar o mesmo ID eu acho que funciona Vermelho: Nome do arquivo .lua criado
-
- 2 respostas
- 1.3k visualizações
- 1 follower
-
-
Eae Galera Do Tibia King Vim Trazer a Voces Mais Um Dos Meus Conteúdos. Bom Não Foi Eu Que Inventei Este Script Porem Este Foi Eu Que Fiz. Este Script é Muito Simples Porem é Muito Util Explicação Do Sistema: Este Sistema Funciona Do Mesmo Jeito Que o !News Abre Uma Janelinha Com Oque Você Quiser Que Tenha Escrito Tutorial: Download Dos Scripts Para Os Preguiçosos Creditos: 100% Beluci Gamer / EU
-
- 2 respostas
- 1.2k visualizações
-
-
Nome: Rocky Boots Função: A cada 120 segundos "2 minutos", absorve metade de um dano acima de 1000. Autor: Nokia Ideia: FoxWorld Versão Testada: 8.40+ Bom, vamos a script. Em creaturescript.xml adicione: <event type="statschange" name="rockyBoots" script="rockyBoots.lua"/> Crie um arquivo em creaturescripts/scrips chamado rockyBoots.lua e adicione isso: function onStatsChange(cid, attacker, _type, combat, value) if isPlayer(cid) == TRUE then if getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid == 7891 then local value = value if (_type == STATSCHANGE_HEALTHGAIN) or (_type == STATSCHANGE_MANAGAIN) then if (value >= 1000) then local metade = math.floor(val…
-
- 2 respostas
- 1.3k visualizações
-
-
Antes de ler quero deixar um aviso "não alterei nada no script apenas copiei de um site e colei aqui " se caso não funcionar não sei como posso ter ajudar, sobre os creditos no website está uma briga entre o Summ e o Danger II pelos direitos/base do script.... Já existem alguns sistemas do elenco ao vivo lançado, mas um monte deles não suportam TFS 1.0 Fonte ou ter alguns bugs conhecidos que são: Os espectadores (pessoas que está assistindo o elenco) não pode ver a mana e vida atualização (descendente e ascendente). A experiência eo nível não vai subir. Não é possível ver elenco do proprietário do bps, e quando você pode ver, apenas um bp é mostrado, não é pos…
-
- 2 respostas
- 1.2k visualizações
-
-
Como fasso para converter minha items.otb e items.xml de 8.54 para 8.60
-
- 2 respostas
- 1.2k visualizações
-
-
Olá galera do TK, a uns dias atrás um cliente me pediu um sistema simples pro TFS 1.0 onde o player ganharia uma montaria ao conquistar level 250, então desenvolvi o script e trago aqui pra você ensinando a instalar/configurar. É um script simples, fiz rapidamente, porém útil. Vamos aos passos: Em data/creaturescripts/scripts crie um arquivo com o nome de gainmountabsolute.lua com o seguinte conteúdo: function onAdvance(cid, skill, oldlevel, newlevel) if getPlayerLevel(cid) >= 250 and getPlayerStorageValue(cid, 13139) ~= 1 then doPlayerAddMount(cid, 19) setPlayerStorageValue(cid, 13139, 1) doPlayerSendTextMessage(cid, …
-
- 2 respostas
- 718 visualizações
-
-
A pedido de um carinha do fórum no PM eu decidi fazer o script. Como Funciona: http://youtu.be/08o9uoM6bQA Em data/talkactions/scripts crie um arquivo chamado prisiontp.lua e adicione o seguinte código: --[[ By leonardobo Diretamente para o Tibia King. http://www.tibiaking.com/forum/index ]]-- function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Precisa de um nome Exemplo: !prender Joao") return true end local tid = cid if(param ~= '') then tid = getPlayerByNameWildcard(param) if(not tid or (isPlayerGhost(tid) and getPlayerGhostAccess(tid) > getPlayerGhostAccess…
-
- 2 respostas
- 618 visualizações
-
-
A spell basicamente faz players ou monster(confiíguravel), serem "silenciados" assim impedindo de dizerem qualquer coisa por X segundos, assim os jogadores são incapazes de soltar qualquer tipo de feitiço. silence.lua local tarmonster = true -- Funcionar em monsters local ptime = 8000 -- 8 seconds = 8000 local mtime = 10000 -- 10 seconds = 10000 local pcombat = createCombatObject() setCombatParam(pcombat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(pcombat, COMBAT_PARAM_AGGRESSIVE, true) local pcondition = createConditionObject(CONDITION_MUTED) setConditionParam(pcondition, CONDITION_PARAM_TICKS, ptime) setCombatCondition(pcombat, pcondition) local…
-
- 2 respostas
- 654 visualizações
-
-
Bom eu criei essas duas funções para usar no meu OT, elas forçam o uso do cooldown do sistema do tibia, você pode usa lo mesmo que não tenha executado nenhuma spell. por exemplo: player:addCooldown(87, 10000) sendo 87 o código da spell, ou seja a imagem que ira aparecer no cooldown, lembrando que estas imagens podem ser editadas no tibia.pic. E 10000 o tempo do cooldown, lembrando a cada 1000 equivale a 1 segundo. resultado: e a função get ele retorna true ou false, para caso o cooldown estiver sendo executado: player:getCooldown(87) Vamos la. em luascript.cpp procure por: registerMethod("Player", "getMoney", LuaScriptInterface::luaPlayerGetM…
-
- 2 respostas
- 1.4k visualizações
-
-
Fala ae galera Kenny dxp aqui denovo acabei de postar o server pokemon omega agora veio postar um correr para poketibia foncionando Primeiro vai em: data\talkactions\scripts\ crie o arquivo correr.lua e cole isso dentro Spoiler function onSay(cid, words, param) if exhaustion.get(cid, 501) then doPlayerSendCancel(cid, 'You can use this command only once per 10 seconds.') return true end doCreatureSay(cid, "correr", TALKTYPE_ORANGE_1) doChangeSpeed(cid, 1 * 500) doSendMagicEffect(getPlayerPosition(cid), 1) exhaustion.set(cid, 501, 10) return true end explicação: Spoiler if exhaustion.get(cid, 501) then <------------- 501 tempo …
-
- 2 respostas
- 783 visualizações
-
-
Alguem me encima tirar a fala do player quando ele fala uma spell é deixar so a Talktype Orange?
- 2 respostas
- 960 visualizações
-
Não sei se é a area certa, mais eu vou postar aqui msm Então, eu gostaria de saber como eu coloco um tanto de level e de reset's para uma pessoa poder virar essa vocação se alguem puder responder, obg
-
- 2 respostas
- 267 visualizações
-
-
Outro script que vou liberar para agradecer ao TK. Esse script faz com que o dano do target vá se dividindo e espalhando entre os monstros, um chain. Imagem: Script: Ali em máximo é quantos targets o chain vai pegar antes de parar, porém a contagem aqui é diferente; para cada monstro afetado ele dobra a contagem. Ou seja, 5 monstros é igual a: 1, 2, 4, 6, 12. Lembrando que 5 monstros é 5 de cada lado. 10x10 se preferir. Storage é a storage usada. Min e max são as formulas de dano. Em weapons.xml: TFS 1.0: <melee id="2413" unproperly="1" function="default" script="nome.lua"> <- É só…
-
- 2 respostas
- 1.3k visualizações
-
-
Mensagem: - tfs 0.3.6 - você tem que fazer primeira as quest anteriores para pegar o melhor premio que fica no final sao 3 partes - uma quest de bau fiz escrevendo e zuando kkkkk zueraquest.lua - tang <action uniqueid="1586-1589" event="script" value="zueraquest.lua"/>
-
- 2 respostas
- 577 visualizações
-
-
Esse script faz com que quando você clique em um item, ele sumone um monstro para você, e quando clicar de novo aquele mesmo monstro some. e o bom é que ele funciona com QUALQUER monstro, seja Morgaroth, Abyssador, até Gaz' Haragoth(não sei escrever). E também permite colocar vários items em um só script. Em actions.xml no TFS 1.0: <action itemid="IDdoitem" script="Nomedoarquivo.lua"/> Outros: <action itemid="IDdoitem" event="script" value="Nomedoarquivo.lua"/> Infelizmente, eu já deletei meu Tibia e o XAMPP, então não tenho como deixar uma screenshot. Se aqueles, que testaram e gostaram, pudessem deixar uma como ag…
- 2 respostas
- 1.5k visualizações
-
Criei uma spell para meu servidor baseada em outros jogos, para criar o script eu utilizei outros dois como base, a partir do script do xWhiteWolf: http://www.tibiaking.com/forum/topic/39391-spell-exori-element/e de um script do Tabz do otland, não possuo o link de onde retirei. A parte do script do Tabz possuia um bug em que o fear fazia com que os playeres atravessassem paredes, que quando eu fui criar meu script removi o bug nao sei como . Explicando o que ele faz, quando o jogador ativa a spell, o inimigo alvo fica amaldiçoado, andando aleatoriamente e sofrendo dano de death(configuravel) e ao acabar a spell ele continua levando dano de death por alguns seg…
-
- 2 respostas
- 1.8k visualizações
-
-
Pensei em fazer esta função há um tempo. Alguns membros, que também programam, tentaram desenvolve-la quando comentei sobre ela em um grupo do skype. math.round reconhece, automaticamente, se o número é um inteiro ou decimal e o arredonda para cima ou para baixo, seguindo a condição >= ou < do que 5, respectivamente. Eu preferi fazer para que o arredondamento sempre resulte em um inteiro não-negativo e não-nulo. Ao meu ver, a função tem mais utilidade desse modo e, já que o resultado de n segue essa regra, não é possível utilizar números negativos ou nulos. Se utilizados, nil é retornado. Sem mais delongas, adicione a qualquer arquivo com extensão Lua da library…
-
- 2 respostas
- 559 visualizações
-
-
A pedido do usuário Vyctor17 (da OTBR) fiz uma função para multiplicar o dano dos monstros: Primeiro, em luascripts.cpp deverá ser adicionado, logo após: registerMethod("Monster", "isMonster", LuaScriptInterface::luaMonsterIsMonster); Isso: registerMethod("Monster", "multiplyDamage", LuaScriptInterface::luaMonsterMultiplyDamage); Logo abaixo de: int32_t LuaScriptInterface::luaMonsterIsMonster(lua_State* L) { // monster:isMonster() const Monster* monster = getUserdata<const Monster>(L, 1); pushBoolean(L, monster != nullptr); return 1; } Isso: int32_t LuaScriptInterface::luaMonsterMultiplyDamage(lua_State* L) { //…
-
- 2 respostas
- 610 visualizações
-
-
Oi, vi a ideia desse NPC em um lugar por aí e resolvi fazer. Consiste em um NPC que aprimora seu item (deve estar em uma das mãos - esquerda ou direita) a troco de um outro item (configurável). A cada nível de aprimoramento, seu item recebe um valor configurável no ataque, defesa e/ou armadura. Você pode configurar o nível de aprimoramento máximo, chance de falhar, valor adicional que o item receberá a cada aprimoração e, como já dito antes, o item que será cobrado pelo NPC. Em data/npc, crie um arquivo com extensão .XML, nomeie-o Upgrader, e coloque o seguinte conteúdo: <?xml version="1.0" encoding="UTF-8"?> <npc name="Upgrader" script="upgradenpc.lua" wal…
-
- 2 respostas
- 1.5k visualizações
-
-
Bom meus amigos e amigas (sei que ainda existem gatinhas no tibia, mesmo que sejam raras.) Estou trazendo para voces um script não muito util, mais que dará um toque bem RPG aos seus servidores. Esse Sistema se chama ///Casca de banana\\\. A ideia não é minha, apenas gostei da ideia e resolvi recriar para desenvolver meu conhecimento em lua script. O funcionamento do script é bem simples, ao pisar na casca o player leva um tombasso, e fica imovel por certo tempo. É um bom recurso para utilizar em War como uma solução criativa. Bom segue o script. <movevent type="StepIn" itemid="2219" event="script" value="cascadebanana.lua"/> local health = math.ra…
-
- 2 respostas
- 798 visualizações
-
-
Descrição : Você precisa de 2 pessoas para este mini-game. Você se posiciona sobre os azulejos e puxa a alavanca. Dentro da arena cada jogador irá receber um montro invocado, que irá, em seguida, atacar o inimigo e o monstro. O jogador mata o outro monstro ganha e será recompensada. Map: Mediafire: http://www.mediafire.com/download/qnnqj1rmilmrd5a/monsterarena.otbm actions.xml <action actionid="1500" script="monsterarena.lua"/> actions/scripts/monsterarena.lua MonsterArena = { fromPosition = { Position(1022, 1030, 7), Position(1024, 1030, 7) }, toPosition = { Position(1020, 1021, 7), Position(1022, 1021, 7) }, spawnPosition = { Position(1…
-
- 2 respostas
- 636 visualizações
-
-
Um comando para GOD, que permiti trocar o seu looktype, para o de um monstro ou de um player em questão. /looktype id /looktype monstername /looktype id, playername /looktype monstername, playername Exemplo: /looktype 262 /looktype Silver Rabbit /looktype 262, Limos /looktype Silver Rabbit, Limos looktype.lua function onSay(cid, words, param) local player = Player(cid) if not player:getGroup():getAccess() then return true end local t = param:split(",") local lookType = tonumber(t[1]) if not lookType then lookType = MonsterType(t[1]) and MonsterType(t[1]):getOutfit().lookType if not lookType then …
-
- 2 respostas
- 1.2k 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
- 394 visualizações
-
-
O sistema é simples ao upar cada level você ganha x pontos de habilidade, onde é possível com esse pontos, comprar mana, hp, skill, etc ... /creaturescripts/scripts/skillpoints.lua /creaturescripts/scripts/login.lua player:registerEvent("SkillPointSystem") /talkactions/scripts/skillpoints.lua <event type="modalwindow" name="PointWindow" script="skillpoints.lua"/> <event type="advance" name="SkillPointSystem" script="skillpoints.lua"/> /talkactions/scripts/skillpoints.lua function onSay(player, words, param) local SKILL_POINTS = 45200 local Point = ModalWindow(1, "Skill Points", "You have skill " ..player:getStorageValue(SKILL_POINTS)…
-
- 2 respostas
- 2.3k visualizações
-
-
[Criado em TFS 0.4 (tibia 8.6), talvez não funcione em outras versões - não darei suporte] Eaí! Este mod consiste em dizer !aura para ver uma lista de auras compráveis, que, após compradas, podem ser escolhidas por "!aura nomedaaura" para que saia um efeito no jogador a cada 1 segundo. [mods/Aura.xml]: http://pastebin.com/qVayLc3m ss's e como usar: Como adicionar outros efeitos? Na 4ª linha, nesta parte: auras = { ["fogo"] = {36,1500000,11350}, ["gelo"] = {41,1500000,11351}, ["pedras"] = {44,1250000,11352}, ["energia"] = {37,1250000,11353}, ["tornado"] = {42,15000000,11354}, } Continue seguindo o padrão, que é: ["Nome"] = {Efeito, Preço, Storage…
-
- 2 respostas
- 2.1k visualizações
- 1 follower
-
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.