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
-
Como funciona? O meu código faz o seguinte, ele registra a quantidade de players online em tal hora no dia (configurável) em um bloco de notas.. Para que eu vou usar isso? Ai vai da sua criatividade, eu mesmo uso para identificar quais são os horários de picos e também para saber se tem um crescimento de players ao passar dos dias. Aqui vai um exemplo de como ele registra os players: http://prntscr.com/2vb4zt Vamos ao script: Em globalevents.xml coloque essa tag: <globalevent name="Monitor_Online" interval="60000" event="script" value="monitoronline.lua"/> Em interval se o seu tfs não for 0.4, coloque 60 Agora na pasta scripts crie um arquiv…
-
- 2 respostas
- 1k visualizações
-
-
P Points System Nome do script : P Points system v1 Versão testada : TFS 0.4 (8.70 Funciona em versões anteriores) Creditos : LsM Como funciona : O sistema funciona como uma recompensa ao player por ficar online por um certo tempo. O player, ao ficar online por um certo intervalo de tempo programado no código, receberá uma quantidade de pontos "P" a qual também se pode alterar. O objetivo foi fazer com q…
-
- 2 respostas
- 1k visualizações
- 1 follower
-
-
Bom , existe muitos preguiçosos que não gostam de editar aquelas vocações que existe no seu otserv chamada EPIC , então , eu fiz para você e vou disponibilizar totalmente ! Lembrando é para versões 8.7 , não funfa em outra abaixo ou acima. Segue os passos detalhadamente , e porfavor não seja curioso e apresado leia com atenção para não bugar seu server. 1º Abra a pasta do seu OTSERV e logo em seguida pasta DATA e clica na pasta XML e abra o arquivo chamada VOCATIONS 2º Delete o que está dentro e cole o script. Continuando parte 3 9º Abra pasta ACTIONS e depois em seguida abra pasta SCRIPTS e abra a pasta LIQUIDS , agora abra o arquivo cham…
-
- 4 respostas
- 1k visualizações
-
-
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
-
-
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
-
Versão: 1.0 Versão do tibia: 9.4+ (funciona em anteriores) Descrição: O script tem a mesma função do !buypremium, mas utiliza premium scroll. TAG: <action itemid="16101" event="script" value="other/premium.lua"/> [/code] [b][i]Script:[/i][/b] [i]data\actions\scripts\other[/i] [code] config = { days = 30, maxDays = 360 } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerPremiumDays(cid) > config.maxDays) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.maxDays .. " days of Premium Account.") doSendMagicEffect(getPlayerPosition(cid),…
-
- 1 resposta
- 1k visualizações
-
-
Boa noite! Requerido TFS 1.x http://www.tibiaking.com/forum/topic/60768-monster-onselecttargetself-target/ Segue dois códigos de monstro passivo: Monstro que ataca ao ser atacado: function onSelectTarget(self, target) if target:getTarget() == self then return true end return false end Monstro que só atacam jogadores fortes: function onSelectTarget(self, target) if target:getLevel() >= 100 then return true end return false end Coloque um desses códigos em um arquivo lua em data/monster/scripts Abra o xml do monstro e insira após manacost: script="arquivo.lua" Abraço!
-
- 1 resposta
- 1k visualizações
-
-
Preview É como se fosse um exevo mas san. Hitando de 100 à 290 ou dependendo do level até mais. Script data/spells/spells.xml <instant name="Swakgsan" words="swakgsan" lvl="150" maglv="3" mana="600" exhaustion="1000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="Swakgsan.lua"> <vocation id="3"/> ---Paladin <vocation id="7"/> ---Royal Paladin </instant> data/spells/scripts/Swakgsan.lua -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY) setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEF…
-
- 1 resposta
- 1k visualizações
-
-
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
-
-
Meu primeiro post no tibiaking... Monsters Link: http://www.mediafire...8jf73nb64px7qw0 Npcs Link: http://www.mediafire...at2h2uomw0rqb2s SCAN: https://www.virustotal.com/pt-br/file/5f85b67db83647237bcb5971c7eb42f1919332623b0a53fed57a70d2cf37c8d8/analysis/1361193436/ Montado por min... Espero ter ajudado
-
- 3 respostas
- 1k visualizações
-
-
Eae galerinha do TK, como estão ? Bom, hoje criei um script aki bem util na minha opinião, bom, ele faz o seguinte, se o player tiver lv igual ou maior que 50 ele fala !ilha e vai para uma ilha, ai quando ele atingir o level 80 ou mais, ele pode falar novamente !ilha que ele ira a outra ilha, e assim por diante. Vamos começar? 1º: Vá em data/talkactions/script's, copie algum arquivo .lua renomeio para ilha, apague o que estiver dentro e ponha isto: -- By Slaake For Tibia King -- function onSay(cid, words, param, channel) POS1 = {x=1133, y=1265, z=7} -- Position da Primeira Ilha POS2 = {x=1033, y=1165, z=7} -- Position da Segund…
-
- 8 respostas
- 1k visualizações
-
-
Fala pessoal, fiz este script para evitar palavrões em meu servidor e agora irei disponibilizá-lo. Crie um arquivo xml chamado antiabuse.xml e adicione isto dentro : <?xml version="1.0" encoding="UTF-8"?> <mod name="Anti-Abuse System" version="1.0" author="Ladyazaleia" contact="https://www.facebook.com/wustehs" enabled="yes"> <config name="antiabuse-config"><![CDATA[ words_ = {"porra","viado","caralho","buceta","puta","piroca","baiak","xereca","viadinho","cu","vai se fuder","filho da puta","seu cu","minha pica"} cancel = "There is a word '%s' that you cannot use." ]]></config> <talkaction default="yes" filter="quotatio…
- 7 respostas
- 994 visualizações
- 1 follower
-
Eis que trago mais uma função à biblioteca matemática de Lua, a math.percent. Sendo objetivo, ela calcula o percentual de um valor numérico, independentemente desse valor ser um inteiro ou decimal. math.percent = function (value, percentage) -- Developed by Wise ~ TibiaKing.com return tonumber(value) and tonumber(percentage) and math.abs(tonumber(string.format('%.f', tostring(percentage * (value/100))))) or nil end Exemplo de um cálculo: Mensagem maldita "Você atingiu 80% da sua franquia diária de 30MB. Ao atingir 100%, sua navegação será bloqueada." E agora, brother? Quantos MB eu usei? math.percent(30, 80) -- (valor númerico, %) 24 Enfim, se…
- 5 respostas
- 994 visualizações
-
function TeleportBot(cid) if getPlayerStorageValue(cid, 934563) ~= -1 then doPlayerPopupFYI(cid, "Seu personagem foi teleportado para Templo, por uso de Bot 100% AFK") doTeleportThing(cid, getPlayerMasterPos(cid)) setPlayerStorageValue(cid, 934563, -1) end return true end function CheckBot(cid) local numer = math.random(2, 999) if isPlayer(cid) then doPlayerPopupFYI(cid, "Seu personagem esta sendo verificado por Bot AFK!\n\nVocê tem 1 minutos para responder.\n\nPor favor digite\n\n!check info, "..numer.."") setPlayerStorageValue(cid, 934563, numer) addEvent(TeleportBot, 60000, cid) end return true end function onSay(cid, words, param, channel) local pa…
-
- 5 respostas
- 993 visualizações
-
-
Em data/talkactions/script Crie um Arquivo com o nome playerchangename.lua Cole isto: Spoiler function doCorrectString(text) if type(text) == "number" then return "" end local str = text:explode(" ") local finish = {} for _, s in ipairs(str) do table.insert(finish, s:sub(1, 1):upper()..s:sub(2, #s):lower()) end return table.concat(finish, (str[2] and " " or "")) end function doKickPlayer(cid) if not isCreature(cid) then return end doRemoveCreature(cid, true) end function onSay(cid, words, param) local maxLen = 20 -- tamanho maximo do nome local itemid = 5958 ------ Numero do Item que será removido local prohibited = {"!","@","*"} -- sim…
- 5 respostas
- 989 visualizações
-
Bom dia!! Trago um sistema de elevador como presente pelo ano que se iniciará! Use The Forgotten Server 0.3.6 crying damson. Se uma boa alma adaptá-lo a TFS 1.0, agradecerei e incluirei ao post! Crie no mapa um local assim: Não importa a quantidade de andares, só importa que deve partir do térreo z=7, e não deve ser feito no subterrâneo. Crie um arquivo talkactions/scripts/elevador.lua function onSay(cid, words, param, channel) pos = getPlayerPosition(cid) pos.stackpos = 0 floor_id = getThingfromPos(pos).itemid z = (pos.z - 7) * -1 -- verifica se está no piso do elevador if floor_id == 417 and getPlayerStorageValue(cid,42000)==-1 then …
-
- 5 respostas
- 988 visualizações
-
-
Instalando Crie um arquivo chamado staminaDoll.lua na pasta actions e coloque: function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey) local s = player:getStamina() / 60 local cfg = {} cfg.refuel = 42 ------ item will refill stamina to 42 hours cfg.full = 40 -------- when you have 40 h or more stamina item will send cancel message if s >= cfg.full then player:sendCancelMessage("Your stamina is already full.") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Your stamina now is "..s.." h.") else player:setStamina(cfg.refuel*60) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Your stamina has been …
-
- 1 resposta
- 988 visualizações
-
-
Tentando trazer ainda mais conteúdo para o forum, achei um código pronto muito interessante que aumenta muito o RPG do servidor. E um sistema tirado dos jogos da Bethesda como Skyrim e Fallout. Essa modificação faz com o que personagem com a tenha capacidade de carregar infinita, mais ao chegar determinado valor o personagem começa andar mais devagar. Vamos ao código: Em config.lua Abaixo de: playerFollowExhaust = 0Adicione: capacityOverload = 0.75Em configmanager.cppAbaixo de: m_confNumber[FOLLOW_EXHAUST] = getGlobalNumber("playerFollowExhaust", 2000); Adicione: m_confDouble[CAPACITY_OVERLOAD] = getGlobalDouble("capacityOverload", 0.75); Em configm…
-
- 2 respostas
- 987 visualizações
- 1 follower
-
-
Bom dia galera, Pra quem quer tirar aquele bug que acontece no distro quando checka a versão, vai aí uma sugestão: em otserver.cpp delete: std::clog << ">> Checking software version..."; if(xmlDocPtr doc = xmlParseFile(VERSION_CHECK)) { xmlNodePtr p, root = xmlDocGetRootElement(doc); if(!xmlStrcmp(root->name, (const xmlChar*)"versions")) { p = root->children->next; if(!xmlStrcmp(p->name, (const xmlChar*)"entry")) { std::string version; int32_t patch, build, timestamp; bool tmp = false; if(readXMLString(p…
- 8 respostas
- 984 visualizações
-
Preview Script data/spells/spells.xml <instant name="Fire Attack" words="exevo gran mas attack" lvl="110" maglv="8" mana="280" exhaustion="1000" prem="1" needlearn="0" blockwalls="0" aggressive="1" event="script" value="Fire Attack.lua"> <vocation id="1"/> <vocation id="5"/> </instant> data/spells/scripts/Fire Attack.lua -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FLAMMINGARROW) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatA…
-
- 1 resposta
- 983 visualizações
-
-
Fala ai galerinha do TK, tudo bem com vocês ? Bom, eu ja vi em muitos ots que baixei, o treiner andar apos agnt sair do treiner, vamo supor, tem o tile que agnt ta treiner, ai tem um treiner na diagonal direita e um na esquerda, e logo apos agnt sair do treiner, 1 desses treiner dece, e vai para onde agnt fica, trapando a entrada, e só volta quando o sv desliga. Vou ensinar voces a como arrumar isso. Abra a pasta do seu treiner, e provavelmente deve estar assim: <?xml version="1.0" encoding="UTF-8"?> <monster name="Treiner Monk" nameDescription="a dark monk" race="blood" experience="120" speed="360" manacost="0"> <health now="…
-
- 3 respostas
- 982 visualizações
-
-
[CreatureScript - onKill] Simple Premium Extra Experience developer: Tony Araújo (OrochiElf) version: 0.1 Fala ae galera do TibiaKing, eu vejo muitas pessoas querendo adicionar um "extra exp" nos jogadores com privilégios premium, mas também vejo muita burocracia para fazer este simples fato, então resolvi criar um sistema bastante simples que faz essa maravilhosa função kkkkk. local expPercentual = 0.3 -- 1 = 100% | 0.3 = 30% function onKill(cid, target) if getPlayerPremiumDays(cid) > 0 and isMonster(target) then doPlayerAddExp(cid, getMonsterInfo(getCreatureName(target)).experience * expPercentual) …
- 12 respostas
- 980 visualizações
-
INFORMAÇÕES TFS 1.0+ Funcional em Gesior e em Znote AAC. _____________________________ SCRIPTcreaturescripts.xml<event type="login" name="register_points_reward" script="points_reward.lua"/> <event type="advance" name="points_reward" script="points_reward.lua"/>creaturescripts/points_reward.lua:--[[ Award premium points for reaching certain levels Only for TFS 1.0+ config: Voce precisa saber onde os premium points estao na database Abaixo estao os valores para Gesior e ZnoteAAC db_table: ZnoteAAC: 'znote_accounts' Gesior: 'accounts' db_pointsColumn: ZnoteAAC: 'points' Gesior:…
-
- 3 respostas
- 979 visualizações
-
-
Outro script que fiz e estou disponibilizando: Tile Trainer O que ele faz? Enquanto o player estiver em um tile que possui determinada action id, ele vai ficar treinando suas habilidades. Primeiro, em "movements\scripts" crie um arquivo chamado "skill.lua". Feito isso, coloque em seu conteúdo o seguinte texto: local delay = 200 local FIST = 0 local CLUB = 1 local SWORD = 2 local AXE = 3 local DISTANCE = 4 local SHIELDING = 5 local FISHING = 6 function samePos(pos1, pos2) if pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z then return true else return false end end function addSkillFunction(cid, item, position) if not isPlayer(cid) == TRUE then ret…
- 3 respostas
- 977 visualizações
-
Nome: Moving Wagon Versão do TFS: 1.x Script: Printer Preview Script actions.xml <action fromaid="5000" toaid="5003" script="wagon.lua" /> wagon.lua railDirection = { [7123] = {DIRECTION_EAST, DIRECTION_SOUTH}, [7124] = {DIRECTION_WEST, DIRECTION_SOUTH}, [7125] = {DIRECTION_EAST, DIRECTION_NORTH}, [7126] = {DIRECTION_WEST, DIRECTION_NORTH} } } local function getRail(position) local tile = Tile(position) if tile then -- Loop through items for _, item in ipairs(tile:getItems()) do -- We found rail, return id if isInArray({7121, 7122, 7123, 7124,…
-
- 0 respostas
- 977 visualizações
-
-
NPC Item Customizer Informações Nome: Item Customizer Categoria: NPCs Código e créditos gerais: Omega Descrição Esse NPC pode mudar o nome e a descrição de um item escolhido (armor, legs, boots e helmet) por um preço configurável. Somente letras, espaço, apóstrofo e hífen podem ser usados nos nomes. Para o nome do item, o número máximo de caracteres são 20, para descrições, 30. Para ambos, o mínimo são 5 caracteres. Tutorial data/npc/Hancock.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Hancock" script="data/npc/scripts/custom_items.lua" walkinterval="3000" floorchange="0"> <health now="100" max="100"/> <lo…
-
- 2 respostas
- 975 visualizações
-
-
Testado é Esta Funcionando Perfeitamente Ok' Vamos ao Que Interessa: Crie um arquivo chamado "bank.xml" na pasta "data / npc"... Cole o código abaixo dentro do arquivo: Spoiler <?xml version="1.0" encoding="UTF-8"?> <npc name="BankMan" script="data/npc/scripts/bank.lua" walkinterval="25" floorchange="0" access="5" > <health now="150" max="150"/> <look type="132" head="115" body="0" legs="114" feet="0" addons="3" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|! Here, you can {deposit}, {withdraw} or {transfer} your money from your bank account. I can c…
-
- 2 respostas
- 974 visualizações
-
-
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
- 974 visualizações
-
-
Bom galera a poucos dias pedi um suporte para a comunidade, pois estava com um problema que é o seguinte. Toda vez que o player fosse abrir qualquer tipo de objeto ou corpo se ele anda-se 5 sqm pra frente o mesmo ainda ficava aberto, de tanta pesquisa e fuçar acabei conseguindo resolver o problema, embora a mesma solução pro meu problema achei aqui mais faltou 1 detalhe importante. Foto do problema: Solução: procure na pasta: /src/player.cpp isso: if (container->isRemoved() || !Position::areInRange<3, 3, 0>(getPosition(), container->getPosition())) { autoCloseContainers(container); onde o valor estiver <3, 3, 0> mude para 1 …
-
- 5 respostas
- 971 visualizações
- 1 follower
-
-
Ideia tirada de um RPG que joguei há alguns anos. Bom, eu o fiz para usar como uma "churrasqueira portátil" para os caçadores, desde que tenha alguma carne consigo, viria a cozinhar seu próprio alimento. Afinal, caçadores sentem fome certo? Porém daria para utilizar o script de outros modos, depende da criatividade do sujeito. Poderia usá-lo para criar poções, alimentos para mascotes em servidores derivados, etc. Ao clicar no item você começará a cozinhar, caso clique novamente após 1 segundo não terá resultados, pois foi muito rápido. Ao clicar após 2 segundos, resultará em um alimento mediano, 3 segundos o "melhor alimento", 4 segundos ou mais sua carne qu…
-
- 6 respostas
- 970 visualizações
-
-
Olá senhoras e senhores, eu estava precisando de uma função dessa para utilizar no meu Baiak, e então decidi criar, e vim compartilhar com os senhores. function Position.isPvPZone(self) return Tile(self):hasFlag(TILESTATE_PVPZONE) end Como utilizar: player:getPosition():isPvPZone() function Position.isPZZone(self) return Tile(self):hasFlag(TILESTATE_PROTECTIONZONE) end Como utilizar: player:getPosition():isPZZone() Se você está nessa seção, você sabe como utilizar as mesmas funções, e sabe aonde instalar, então não vou explicar, e se algum moderador achar que está faltando informações para instalação de tais funções, sinta-se a vo…
-
- 3 respostas
- 970 visualizações
-
-
Créditos > Nubaza < Em actions/scripts crie repair.lua E em actions.xml adicione a tag:
-
- 3 respostas
- 969 visualizações
-
-
~Kill Recompense~ É um script que quando você matar uma certa quantia de monster, você ganhara uma recompensa, ou mais, você pode definir no script. Para adicionar mais monstros é fácil, você só adiciona mais uma linha na tabela KILLS então eu irei adicionar o monstro Dragon na tabela, ela ficara assim: lembrando que quando você adicionar um novo monstro, você também precisa modificar o número storage, para não dar conflito, em killed é o número necessário de monstros que você precisa matar para ganhar a recompensa, em rewards você pode adicionar ou remover os items ai fica por sua escolha. http://pastebin.com/KVZ0Wb57
-
- 2 respostas
- 966 visualizações
- 1 follower
-
-
Olá, estarei disponibilzando o código para abrir o ChannelPrivate, se você usa o CastSystem seja do OTX ou do TFS 0.4, será util se for usar o Cast System para abrir ao fazer login(Irei disponibilizar o script também). Eu fiz esse código com base em outro da própria sourcer, funciona perfeitamente. Explicando um pouco sobre o AutoCast, como irei usar o CastSystem, pude notar que em muitos OT's, mesmo com CastSystem, os players não ativavam a função, então coloquei para abrir automaticamente, sendo que o player terá que usar o comando para desativar, meu intuito é fazer com que os novos jogadores venham conhecer um pouco sobre o OT mesmo antes de jogar(essa funçã…
-
- 2 respostas
- 966 visualizações
-
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.