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. 1° vai em data\creaturescripts\scripts crie um arquivo com nome pa.lua e dentro dele adicione isto function onAdvance(cid, oldLevel, newLevel) local text = "Parabens, " .. getCreatureName(cid) .. " você chegou ao level 100, recebera por recompensa 5 dias de Premmy.!" if getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 32647) <= 0 then doPlayerSendTextMessage(cid,19,text) doPlayerAddPremiumDays(cid, 5) setPlayerStorageValue(cid, 32647, 1) end return true end Depois em login.lua add isso registerCreatureEvent(cid, "pa") E por fim vai em data\creaturescripts\creaturescripts.XML e add isso <event type="advance" name="pa"…

    • 12 respostas
    • 906 visualizações
  2. Started by Duda Lima,

    Ta ai mais um evento que é vendido pela ChaitoSoft! #Descrição do evento: Neste evento 2 times (Azul e Vermelho) vão batalhar para conseguir a "quantidade" de frags para ganhar o evento, totalmente configuravel #O que possui? - Abertura automática ou via comando. - Quantidade minima de players para o evento (configuravel) - Level minimo para entrar no evento (configuravel) - Quantidade de frags que terão que conquistar para ganhar (configuravel) - Separação automática dos times (configuravel) - Mapa incluso - Tutorial explicativo - Premio o time vencedor do evento (configuravel) - Entre outras coisas…. *OBS: Este evento só funciona em TFS …

  3. Started by WarW0lf,

    Função: Vim trazer esse script pro Tibia King, por que procurei em alguns lugares e nao encontrei. vou mostrar um poco como funciona: Créditos: Script: Shawak (Maxi) - 99% Explicação Traduzida: Guizitog - 1% Em data/actions/action.xml coloque: <action actionid="4001-4042" event="script" value="addons.lua"/> Agora em data/actions/scripts, crie um arquivo chamado addons.lua e coloque isso dentro: [ActionID]: É a ActionID que você vai ter que por na alavanca. ♫ Name:É o nome do addon. ♫ Addon Type:Tipo do addon, addon 1 ou 2. ♫ Outfit:Numero do looktype especificando: ({female,male}). ♫ Cost: Custo em dinheiro do addon. …

    • 7 respostas
    • 1.3k visualizações
  4. Créditos > Nubaza < Em actions/scripts crie repair.lua E em actions.xml adicione a tag:

    • 3 respostas
    • 968 visualizações
  5. Started by WarW0lf,

    Creditos: Critico (vodkart) Comando !rank atualizado com novo rank que é o !rank frags, onde mostra os maiores matadores do ot. Ranks: Skills Level Magic Health Mana Frags Exemplo: !rank frags !rank magic Crie ranks.lua em data/talkactions/scripts. Em data/lib/050-function.lua adicione: Crie rankfrags.lua em data/creaturescripts/scripts E em data/creaturescripts/login.lua adicione: Simples e Útil Se ajudei REP+

  6. Started by WarW0lf,

    É um monster igual ao do Global onde a vida é infinita e você não toma dano, assim não treinando Shielding apenas ataque. Use No-Pvp tiles na área em que ele estiver. Em data/monster crie targetdummy.xml e coloque: Em data/monster/monster.xml adicione a linha:

    • 0 respostas
    • 1.3k visualizações
  7. Started by WarW0lf,

    Simples script que faz com que ao passar de level, a mana e hp volte ao FULL, cheia! Em creaturescripts/scripts crie fullmh.lua e coloque dentro: Em login.lua adicione a linha: Em creaturescripts.xml coloque a linha: Seja feliz Se ajudei REP+

    • 1 resposta
    • 955 visualizações
  8. Started by WarW0lf,

    Esse script se baseia onde é contado os frags do jogador, dando a ele a skull configurada por exemplo. Matou de 1 ~ 10 = White Skull 11 ~ 20 = Yellow Skull etc... Em mods crie Skull System.xml e coloque: Em config.lua troque: Por: Espero ter ajudado bye bye

    • 7 respostas
    • 3.1k visualizações
  9. Started by WarW0lf,

    Simples e Útil Ao logar o Player é avisado se está ou não com AOL, assim evitando perda de Loot atoa. Crie um novo arquivo em data\creaturescripts\scripts\AOL.lua Em creaturescripts.xml Em creature/scripts/login.lua adicione: Créditos: amiroslo (GRINGO)

    • 3 respostas
    • 1k visualizações
  10. Started by dezon,

    Bom galera, Esses dias pedi ajuda aqui no fórum e o pessoal me deu uma força pra conseguir criar esse script, portanto, decidi trazer aqui ele porque acho que pode ser útil para vocês! Informações Esse script transforma automaticamente cada 100 gold em 1 platinum e cada 100 platinum em 1 crystal coin. Como usar Saber o status do script: !autochangegold Habilitar o script: !autochangegold on Desabilitar o script: !autochangegold off Script data/creaturescripts/scripts/coins.lua -- Auto Change Gold function onThink(cid, interval) -- Storage necessário local optStorage = 88777 if(not isCreature(cid)) then return end if(getPlayerS…

    • 3 respostas
    • 1.4k visualizações
  11. Started by WarW0lf,

    Este script faz com que ao digitar o comando !guildpoints, a guild receba um tanto de pontos configuraveis com a condição de que não tenha IP's repetidos, que tenha o Level requisitado e a quantidade de jogadores necessários. Tudo configurável. Execute essa query em seu mysql Configuração: local ipsNeeded = QUANTIDADE DE PLAYERS NA GUILD local minimumLevel = LEVEL NECESSÁRIO local pointsForPlayer = PONTOS PRA CADA PLAYER local pointsForLeader = PONTO PRO LIDER O resto NÃO mexa. Em talkactions.xml Em talkactions/scripts crie um arquivo guildpoints.lua Seja feliz Testado em 0.4

    • 5 respostas
    • 1k visualizações
  12. Started by WarW0lf,

    Aproveitem!!! aee galera vi muita gente querendo esse script e muitos ots 9.6 sem isso e resolvi postar... - Igual do Global com bar in game. - Utiliza os ML e Skill rate do config.lua - Usa o vocations.xml para calcular Attack Speed, Danos etc ... O script baseia-se onde voce clica na estátua e começa treinar offline (não sou mapper, se alguem quiser faça o mapa que eu posto aqui). FUNCIONA SOMENTE EM TFS 0.4 Como é feito o calculo de Skills/ML? - sword, axe, club, distance: usa as rates do config.lua e o attackspeed no vocations.xml - shield: usa as rates do config.lua e os hits por segundo. - magic: rates do config.lua e 'mana spe…

    • 18 respostas
    • 4.9k visualizações
  13. Started by WarW0lf,

    Muitos ja viram no GlobalWar que tem uma quest que dá um doll que adiciona level para quem usa. Fiz um parecido e gostaria de compartilhar com vocês Adicione esta linha em actions.xml: Troque o ID pelo ID do item que voce quer que sirva de Level Doll. Agora vá em actions/scripts e cria um arquivo leveldoll.lua e adicione: E seja feliz

    • 23 respostas
    • 1.5k visualizações
  14. Started by WarW0lf,

    Vá em creaturescripts.xml e adicione essas linhas: Em creaturescripts/scripts crie um arquivo preventcrash.lua e coloque dentro: Com esse script será possível logar somente 10 account manager de uma vez. Para mudar é só trocar local max = 10 pela quantidade que voce quer e ser feliz rsrs Flws!

    • 4 respostas
    • 1.3k visualizações
  15. Started by Skyforever,

    Tipo: Função. Testado: Não. Explicando!. Bom ela é uma função que checa se o nome já existe na database agora sem mais delongas vamos ao script. Instalando!. Primeiramente vá em pasta do seu servidor / data / lib abra o 050 - function e no começo coloque function isValidName(name) return db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name) .. ";"):getID() == 1) and false or true end Exêmplo!. Fiz um exêmplo em TalkAction vamos a ele: function onSay(cid, words, param) if tostring(param) and isValidName(tostring(param)) == true then return doPlayerSendTextMessage(cid, 27, "O player " .. tostring(p…

    • 2 respostas
    • 530 visualizações
  16. Started by Skyforever,

    Tipo: Talkaction. Testado: Sim, 8.6(TFS 0.3.6) Como Funciona?. Bom se baseia numa talkaction que você poderá fazer aquela quest novamente falando o comando !comando nome da quest, pagando um certo preço(ou item) é claro. Instalação Bom como é uma talkaction primeiramente vá em pasta do seu servidor / data / talkactions / scripts crie um arquivo com a extensão .lua e adicione isso dentro: http://pastebin.com/iNWespX7 agora vá em talkactions.xml e adicione essa tag: <talkaction words="!comando" access="0" event="script" value="nome_do_script.lua"/> . Como Usar?. Bom você fala !comando nome da quest e v…

    • 0 respostas
    • 638 visualizações
  17. Started by rollback,

    Eae galera do TK vim aque trazer um script simples mais bem legal , desculpe se já existe , mais procurei e não axei ! Oque ele faz é uma wand que se transforma em outro. Primerio vamos criar a wand. Vá em data/items/item.xml e adicione isso. <item id="12279" article="the" name="supreme holy wand"> <attribute key="description" value="This holy wand of light is the best." /> <attribute key="weight" value="1730" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="holy" /> <attribute key="range" value="6" /> </item> <item id="12288" article="the" name="supreme de…

    • 10 respostas
    • 2k visualizações
  18. Started by thiagobji,

    Olá galerinha do Tk, venho trazer um War System aqui para vocês exclusivo, não é igual ao War System ORIGINAL, esse é melhor na minha opnião (ESTILIZADO). Bem, abre a pasta do ot/data/creaturescripts/scripts/warsystem.lua - Se não tiver, você crie - ai dentro do warsystem você coloca: local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid) local fightingGuilds = {} local tmp = db.getResult("SELECT `guild_id`, `enemy_id`, `guild_kills`, `enemy_kills`, `frags` FROM `guild_wars` WHERE `status` = 1 and (`guild_id` = "..getPlayerGuildId(cid).." or `enemy_id` = "..getPlayerGuildId(cid).. ") ;") warString = "" if tmp:getID() ~= -1 then i = 1 repe…

    • 25 respostas
    • 3.8k visualizações
  19. Started by Skyforever,

    Eae, vim trazer outra função também meio inutil function getNumberType(n) return n % 2 == 0 and "par" or "impar" end ela retorna se o número é par ou impar exêmplo de uso: function onSay(cid, words, param) if tonumber(param) then return doPlayerSendTextMessage(cid, 27, "O número " .. tonumber(param) .. " é " .. getNumberType(tonumber(param) .. " .") end return doPlayerSendTextMessage(cid, 28, "Parâmetro incorreto, digite !comando número.") end espero que achêm alguma utilidade.

    • 0 respostas
    • 447 visualizações
  20. Started by karlkalvin,

    Em Global Events.xml adicione essa tag... agora em Globalevents/scripts crie um arquivo chamado.. e adicione isso dentro do arquivo. dbclean.lua Creditos : Leoprotons 90% Por ter Criado Kalvin Karl 10% Por ter trago para o TK.

    • 0 respostas
    • 469 visualizações
  21. Started by thiagobji,

    Olá galerinha do TK, hoje venho trazer aqui para vocês o EVENTO Dota COMPLETO. #Descrição: O evento ocorre com a separação automática de 2 times (Azul x Vermelho), onde um disputa com o outro a sala de prêmios. Para ter acesso à sala, um dos times deve derrotar os 3 geradores presentes antes do outro. #O que possui? - Totalmente automatizado (Script: Abertura, Entrega do premio, Designação dos vencedores e Encerramento) - Página explicativa (PHP: Os players entenderão como funciona o evento) - Talkactions ADM (Script: Comandos que podem ser usados para abrir o castle manualmente) - Tutorial (Arquivo: Explicando passo a passo a instalação) - Arena com 2…

    • 20 respostas
    • 7.5k visualizações
  22. Started by Skyforever,

    Eae denovo glr vim trazer um script que é bom para eventos eu acho o adm fla !antipush ai ninguem pode puxar ngm /data/talkactions/scripts nome.lua function onSay(cid, words, param) if getGlobalStorageValue(3213) > 0 then setGlobalStorageValue(3213, 0) doPlayerSendTextMessage(cid, "You desativo the anti-push.") else setGlobalStorageValue(3213, 1) doPlayerSendTextMessage(cid, 27, "You ativo the anti-push.") end return true end talkactions.xml <talkaction log="yes" access="5" words="!antipush" event="script" value="nome.lua"/> /data/creaturescripts/scripts nome.lua function onPush(cid, target) if getGlobalStorageValue…

    • 0 respostas
    • 1.2k visualizações
  23. Started by Skyforever,

    Eae glr vim aqui trazer outra função meio inutil function getTypesOnTable(t) local ret = {} for _, v in ipairs(t) do table.insert(ret, type(v)) end return ret end local tabela = {"", 2, true} print(getTypesOnTable(tabela)) end string number boolean é isso espero que achem alguma utilidade para ela Valew Oneshot(Lpz) por arrumar.

    • 0 respostas
    • 468 visualizações
  24. Started by Skyforever,

    Olá, é um sistema que mostra quem é o novo top do servidor. vá em Pasta do seu OT/data/creaturescripts nome_do_script.lua function getTop() -- função by vodkart local query = db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `level` DESC, `name` ASC;") if (query:getID() ~= -1) then return {query:getDataString("name"),query:getDataInt("level")} end return false end function onAdvance(cid, oldLevel, newLevel) if skill == 8 then local top = getTop() if newLevel > top[2] and getCreatureName(cid) ~= top[1] then broadcastMessage(getCreatureName(cid).." é o novo TOP do servidor ele está no level [" ..…

    • 5 respostas
    • 2k visualizações
  25. Started by Vodkart,

    Olá fiz este tópico para mostrar um npc que eu estive desenvolvendo hoje, é um npc de auction, vou explicar com algumas screen's: *Suporta servidores em Sqlite e Mysql* O Npc basicamente funciona da seguinte maneira, você "deposita" alguns items neste npc e durante "X" dias ele vende para você, claro que o npc irá cobrar "Y" preço pelo serviço: por exemplo vou depositar no npc 2 solar axe: (No meu caso ele vai me vender o item até o dia 20 de setembro como está ali na imagem) [+] Além disso você pode verificar os items que você depositou no npc: [+] Então para comprar basta falar dizer trade e selecionar o tipo de item que você quer …

  26. Started by Gustavo Ferreira,

    data/movements/scripts/Genius.lua: CurrentSteps = {} CurrentSequence = {} PuzzleGeniusConfig = { centerPlayerPos = {x=988,y=985,z=7}, effectsid = { [9562] = {1, 0}, [9563] = {0, 1}, [9564] = {-1, 0}, [9565] = {0, -1} }, appearInterval = 1, disapear = 0.6, backPos = {x=987,y=982,z=7}, rewardPos = {x=995,y=988,z=6}, roundTimes = 100, } CurrentSequence = {} PuzzleGenius = {} function randomIndexFromTable(tab) local tb = {} for i,x in pairs(tab) do table.insert(tb, i) end return tb[math.random(1, #tb)] end function tileEffect(tileid, pos, int) l…

    • 4 respostas
    • 1k visualizações
  27. Started by Vodkart,

    é um script que muda de mapa a cada X horas(ou minutos) na pasta mods crie um arquivo.xml e renomeie para ChangeMap.xml <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="ChangeMap" version="2.0" author="Vodkart" contact="none.com" enabled="yes"> <config name="map_func"><![CDATA[ info = { [0] = 1, [1] = 3, [2] = 4 } storage = 789520 ]]></config> <event type="login" name="Check Map" event="script"><![CDATA[ domodlib('map_func') function onLogin(cid) if getGlobalStorageValue(storage) == -1 then setGlobalStorageValue(storage, 0) end doTeleportThing(cid, getTownTemplePosition(info[getGlobalStorageValue…

    • 6 respostas
    • 2.2k visualizações
  28. Started by Smyllodon,

    Sistema de SHOP para quem nao usa website bom para baiak que usam account manager Testado em TFS 0.3.6 e TFS 0.4 Functions: getAccountPoints(cid) doAddPoints(cid, points) doRemovePoints(cid, points) Scripts: vá para data/lib/ e abra function.lua e adicione essas funcoes: getAccountPoints: function getAccountPoints ( cid ) local Info = db . getResult ( "SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId ( cid ) .. " LIMIT 1" ) if Info : getID () ~= LUA_ERROR then local Points = Info : getDataInt ( "premium_points" ) Info : free () return Points end …

    • 3 respostas
    • 804 visualizações
  29. Started by chapolin,

    Bom galera ai um scriipter da net ai mto valioso por muitas empresa que vender servidores de tibia ai eu resolvi posta ele pra voces! Como Instala : Pasta PHP Download Se gosto da REP + ai por favo auto_hunted www.shopservers.com.rar

    • 7 respostas
    • 1.5k visualizações
  30. Started by Skyforever,

    Olá, galerinha vim trazer o sistema de leilão Imagens primeiramente vá em /data/talkactions/scripts crie um arquivo chamado leilao.lua e adicione isso dentro function onSay(cid, words, param) config = { acess = 4, time = 5, storage = {25601,25602,650213} } function getWinnerLeilao() local w = tostring(getGlobalStorageValue(config.storage[1])):gsub(':', ''):explode(',') if not getPlayerByNameWildcard(w[4]) then local item = doCreateItemEx(w[1]-1, w[2]) local x = doItemSetAttribute(item, "description", "Item comprado em leilão por "..w[3].." gps.") doPlayerSendMailByName(w[4], item) else local x = doPlayerAddItem(getPlayerB…

    • 9 respostas
    • 2.5k visualizações
  31. Started by Skyforever,

    function getServerCash() local cash = 0 for _, pid in ipairs(getPlayersOnline()) do cash = cash + getPlayerMoney(pid) + getPlayerBalance(pid) end return cash end retorna a grana do sv exemplo function onSay(cid, words, param) return doPlayerSendTextMessage(cid, 27, "O servidor " .. getConfigValue(serverName) .. " tem " .. getServerCash() .. " gp's atualmente.") end

    • 2 respostas
    • 579 visualizações
  32. Started by Vodkart,

    O script é para remover uma quantia "X" frag do jogador, diferente do outro script de remover frags que removia todos de uma só vez. Importante: Você precisa colocar a função 'doPlayerRemoveFrag' na sua lib, segue o link: http://tibiaking.com/forum/topic/16697-lua-doplayerremovefragcid-count/ talkactions: Actions function onUse(cid,item,fromPosition,itemEx,toPosition) local amount = 1 if getPlayerFrags(cid) < amount then return doPlayerSendCancel(cid,"você não tem frags suficientes para executar está ação.") end doPlayerRemoveFrag(cid, amount) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Parabéns! Foram removidos "..…

    • 2 respostas
    • 1.2k visualizações
  33. Started by Vodkart,

    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
    • 726 visualizações
  34. 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
  35. 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

Quem Está Navegando 0

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

Informação Importante

Confirmação de Termo