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
-
Para quem não sabe como funciona o script : Cada vocation ao atingir X level ganha uma X recompensa(podendo ganhar mais de um item por level). • Adicionando o script • Em "data/creaturescripts/scripts/vocreward.lua" : local c = { [{1,5}] = { [13] = {items = {{itemid = 2191, count = 1}}, storage = 40953}, [19] = {items = {{itemid = 2188, count = 1}}, storage = 40954}, [22] = {items = {{itemid = 8921, count = 1}}, storage = 40955}, [26] = {items = {{itemid = 2189, count = 1}}, storage = 40956}, [33] = {items = {{itemid = 2187, count = 1}, {itemid = 2152, count = 25}}, storage = 40957}, [37] = {items = {{itemid = 8920, count = 1}, {…
- 9 respostas
- 7.1k visualizações
-
em data/creaturescripts/scripts crie um arquivo e renomeie para um nome desejado e adicione isso dentro: agora as tags -------------- tags ------------ <event type="statschange" name="ReflectHeal" event="script" value="nome_do_script.lua"/> registerCreatureEvent(cid, "ReflectHeal") ------------ ---------------------- em items.xml substitua: por se baseia num script que quando você usa um certo amuleto e a chance e maior que 25 você recebe 15% de hp do dano recebido QUALQUER ERRO REPORTE NO TÓPICO(tirando os de ortografia)
- 9 respostas
- 1.3k visualizações
-
Eae galera beleza? bom vou lhes trazer 1 creaturescript diferente, chamado "Reflect Spells". Creditos ! Raell5 Menoxcide Radium 1º = "DATA>CREATURESCRIPTS>SCRIPTS>LOGIN.LUA" adicione as tags. 2º = "DATA>CREATURESCRIPTS>SCRIPTS.XML" Adicione há tag. 3º = "DATA>CREATURESCRIPTS>SCRIPTS>SPELLS" crie uma nova pasta chamada "Spells", e adicione 3 arquivos "Lua", e adicione os codes há baixo.
-
- 13 respostas
- 1.8k visualizações
-
-
Olá, amiguinhos doTK vim aqui trazer outro script primeiramente va em data/creaturescripts/scripts crie um arquivo chamado reflectionSystem.lua e adicione isso dentro: depois va em creaturescripts.xml e adicione essa linha: <event type="statschange" name="reflector" event="script" value="reflectionSystem.lua"/> em login.lua registerCreatureEvent(cid, "reflector") se você quiser com talkaction va em /data/talkactions/scripts crie um arquivo chamado reflectTalk.lua e adicione isso dentro: <talkaction words="!reflect" event="script" value="reflectTalk.lua"/> se você quiser item va em /data/actions/scripts cr…
- 3 respostas
- 1.1k visualizações
-
[scroll que teleporta players] Salve galera do Tibia King , Hoje estou aqui para trazer um novo Script a voces. Como funciona esse script ? O proprio nome ja diz , é um scroll que teleporta players para determinado local que voce escolhera digitando a determinada palavra que voce escolher. Vamos ao Script : Vá em data/creaturescript/scripts copie e cole um arquivo.lua e renomeie-o para scrollteleport.lua , e cole o script abaixo : Vermelho - Palavra que o player digitará na Scroll para se teleportar. Azul - Posição que o player se teleportará Depois vá em data/creaturescript/creaturescripts.xml e adicione essa tag : …
-
- 6 respostas
- 1.9k visualizações
-
-
Bom galera, criei esse "sisteminha" esses dias, pois estava brincando com strings, tentando aprender mais sobre elas, e então em meio de alguns testes, me veio a ideia de criar um sistema onde ao equipar determinado item, um efeito sairá da posição de onde o personagem estiver com o primeiro nome do item a cada x segundos (animated text), ex.: equipei a zaoan sword, id 11301. Quando o efeito sair, sairá o nome "zaoan" da posição atual do meu personagem a cada 3 segundos, enquanto o item estiver equipado. Notem que o sistema usa animated text, logo versões de tfs mais novas não rodarão esse sistema. Notem também que como eu estava sem criatividade, eu usei um storagevalue …
-
- 2 respostas
- 1.5k visualizações
-
-
Este script da uma quantidade a sua escolha de pontos aos players do seu server quando logar pela primeira vez. Vamos lá! Vá em data/creaturescripts/scripts, copie um arquivo .lua e renomeie para freeloginpoints.lua, adicione isso - Em creturescripts.xml, adicione a tag - <event type="login" name="freeloginpoints" event="script" value="freeloginpoints.lua"/> Ainda na pasta creturescripts/scripts, abra login.lua, procure por - registerCreatureEvent(cid, "Mail") Abaixo dele, adicione isso - registerCreatureEvent(cid, "freeloginpoints") Espero que gostem! Créditos - Slave
-
#Introdução Este é um sistema de rouba bandeira, no qual tem dois times, que se enfrentam e tentam se infiltrar na fortaleza do inimigo, roubar a bandeira dele e retornar para sua base com ela. ScreenShots: #Instalação Primeiro faça o download do sistema e cole na sua pasta data. Download: http://adf.ly/BThUG Após ter instalado os arquivos nas suas respectivas pastas abra a pasta do seu servidor, e em seguida abra a pastaspells/scripts/support, e abra o arquivoinvisible.lua com algum editor de texto, depois de Código: function onCastSpell(cid, var) cole isso: Código: if (getPlayerStorageValue(cid, _CTF_LIB.teamssto…
-
- 1 resposta
- 2.6k visualizações
-
-
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 …
- 15 respostas
- 3.1k visualizações
- 1 follower
-
Fala ai galera, hoje eu tava sem fazer nada. e eu resolvi criar essa spell para voces. o pessoal que ja jogou DotA, e ja jogou com o hero (Kunkka * Admiral) , ja devem ter visto essa magia Bom, ela é o seguinte, ela marca o seu target, em uma posiçao, e 2 segundos e meio depois. O target volta para aquela posiçao, ou voce tambem pode acionar a magia novamente para voltar o target. Vamos a instalaçao. Iremos precisar de 2 arquivos, primeiro : vá em (data/spells/scripts) crie um arquivo .lua, e renomeie para (xmarks) e adicione o seguinte script dentro dele. E depois vá no spells.xml, e adicione essa tag. <instant name="X Mark the Spot" wor…
-
- 0 respostas
- 527 visualizações
-
-
Monsters 8.60 (37 pastas) Créditos: Otland (Imagens: Daaniel) Imagem:
- 5 respostas
- 3.6k visualizações
-
Spells 8.60 (8 pastas) Créditos: Otland (imagens: Daaniel) Quote Imagem:
-
- 10 respostas
- 4.2k visualizações
-
-
Boa noite, Sou novo aqui preciso que me ajudem numa spell o Error é esse E o Script é esse Obrigado Pela atenção. REP + pra quem Ajudar Ajudem!
-
- 0 respostas
- 536 visualizações
-
-
Opa galerinha do Tk, resolvi trazer um evento para vocês. O script foi testado. Atenção, Funciona da seguinte maneira o admistrador ira falar "/eventoarena" 5 apenas 5 player poderão participar do evento, depois de entrar passara uns minutos, e começara 1 wave, e assim por diante, Para ganhar o evento você tem que ficar vivo ate a ultima wave. Vamos ao que interessa. Vá na pasta do seu servidor crie um .xml em mods chamado eventoarena.xml Configuração do evento. delay = 1, -- e onde o minuto que cada invasão ira aparecer. posicaoPlayer = {x = 2426,y = 2499,z = 8}, -- posição que o player ira cai…
- 60 respostas
- 4.2k visualizações
- 1 follower
-
3 Teans and 1 Boss Informações: Abre-se um portal em uma determinada posição que levara os players para uma sala de espera lá eles aguardaram até caírem em outro mapa, separados em 3 times, objetivo, o time que matar o boss primeiro tem direito a entrar na sala de premio e pegar o premio. Descrição: Todo dia as 15:00 horas o script é ativado, aparecera um teleport na posição desejada, ao se passar um tempo pré determinado, se houverem a quantidade de players necessários na sala de espera todos os players na sala de espera serão divididos em 3 times, o time que mais tirar vida do boss terá o privilégio de passar pelo tile com aid 32114, e pegar o premio no bau …
- 11 respostas
- 3.4k visualizações
-
Bom sem mais nem menos tá ai o Defend The King, Evento Atualmente vendido por empresas de Otserver! Pack Contém: Todos Scripts do Evento + Mapa Download: http://www.mediafire...7p2jkly4hv5y9om Descrição: É um sistema de WAR, onde 2 grupos ( atacantes e defensores ) se confrontam entre si em um castle, com os seguintes objetivos: Atacantes: Matar o The King ( o rei ), que fica dentro do castelo defendidos pelos Defensores Defensores: Defender o The King durante um determinado tempo pré definido. #Extras: - Respawn to back: Se um player morrer no evento, tera de esperar 5segundos * (vezes) o numeros de mortes naquela rodada. - …
- 27 respostas
- 6.2k visualizações
-
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
-
Five Fase Quest Informações: Mais eu evento feito a pedido dos internautas do meu tópico, dessa vez o player compra um item e com esse item tem o direito de usar uma alavanca que o levara a uma quest em que ele sozinho terá que passar por 5 fases, cada faze com bichos mais fortes, e no final ele ganha um premio. Descrição: O player tem que comprar um item pelo comando !page, logo em seguida ele tem que usar a alavanca com o uniqueid 74658, para ser teleportado para o inicio da quest, quando ele matar todos os bixos de uma parte ele terá que pisar em um tile com o actionid 32114, lembrando que é necessário colocar essa actionid em 1 tile por fase da quest, quand…
-
- 6 respostas
- 2k visualizações
-
-
Eae galera, faz tempo que não contribuo com o fórum, eu estava com um sistema de profissão aqui então decidi disponibilizá-lo. Vídeo - Apresentação básica do sistema. Spoiler Clique aqui para assistir ao vídeo. Informações Básicas. Spoiler Há 4 profissões inclusas no sistema. O método de trabalho (criação/troca de itens) é realizada através de NPCS. Você pode configurar o nível necessário para realizar a criação/troca de x item. Há 5 NPCS, um deles é o Jason, a função dele é trocar sua profissão, mas ele cobra uma quantidade específica de x item para que a troca de profissã…
-
- 7 respostas
- 3.9k visualizações
- 1 follower
-
-
Hello nação TK, de um tempo pra cá eu e o membro ViitinG resolvemos trabalhar em cima de um novo evento para vocês, é o FireStorm event! Eu vim trabalhando no script do evento em MODS e o Victor no mapa do mesmo. WTF DE FAIRIEISTORMIII IS IT? Pois é galera, o nome já diz tudo "Chuva de Fogos". Algum membro da equipe executará o comando !startfire para dar início ao evento, então irá aparecer uma mensagem para todos os jogadores do servidor que o evento Fire Storm foi aberto. Então os jogadores irão dizer: !joinfire para entrar no evento, os jogadores ficarão imóveis até que o evento comece, o jogador não poderá usar o comando quando estiver com battle fight. P…
- 42 respostas
- 9.9k visualizações
- 1 follower
-
Olá, galerinha do TibiaKing essa é minha primeira função *-* function getNumeroInAlfabeto(letra) local T = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"} for x, i in ipairs(T) do if tostring(i) == tostring(letra) then return x end end end Exemplo de print: É isso até mais. Créditos: Eu Vodkart( arrumou a talk e uma parte da função ) Exemplo de uso:
-
- 1 resposta
- 539 visualizações
-
-
Bom galera, eu tive esse problema e procurei no tibiaking porém não achei, então eu fui me virar, e vi uma solução, mesmo que provisória, ou permanente, não tenho certeza. O defeito é em alguns TFS, que não dão para logar pelo account manager pela conta do usuário, somente pela 1/1 Esse defeito está ligado as source, então, não tem como arrumar se você não as ter, recomendo que troque a sua distro. Sobre o defeito, é somente localizar esse código em protocolgame.cpp if(!IOLoginData::getInstance()->getPassword(id, hash, salt, character) || !encryptTest(salt + password, hash)) { ConnectionManager::getInstance()->addAttempt(getIP(…
-
- 8 respostas
- 1.7k visualizações
-
-
Prezados, bom dia! Eu estou com um projeto de servidor com TFS 1.1 e por ser um projeto RPG qualquer problema de experiência impacta diretamente no servidor. A formula que vem por padrão nos TFS 1.x é meio bugada pois ela dá o bonus experiência para as 4 vocações e a partir da 5ª vocação ela não divide a experiência, e sim acumula. Ou seja, um monstro que dá 1000 de experiência vai dar 1000 de experiência se tiver 4 players na party ou se tiverem 100 players, INDEPENDENTE da quantidade. A solução que eu achei para resolver o problema foi limitar essa formula para até 4 players numa party. Caso tenha mais de 4 players eu adicionei outra fórmula. Sem mais delong…
-
- 2 respostas
- 2.5k visualizações
- 1 follower
-
-
Função testada no TFS 0.3.5pl1. * player.cpp Procure: lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = 0; Troque por isso lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = extraAttackSpeed = 0; Procure: return vocation->getAttackSpeed() Troque por isso: return vocation->getAttackSpeed() - getPlayer()->getExtraAttackSpeed(); No fim do arquivo coloque isto: void Player::setPlayerExtraAttackSpeed(uint32_t speed) { extraAttackSpeed = speed; } * player.h Depois de: uint64_t getS…
-
- 9 respostas
- 3.5k visualizações
-
-
generateSerial() Tava sem nada pra fazer, dai fiz essa função... ela retorna um serial key. Exemplo: F2EIA-VFZW6-8SNWR-TJ1MH-622O4 function generateSerial() local letters, str = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }, "" for a = 1, 5 do for b = 1, 5 do local rand = letters[math.random(#letters)] str = str .. rand end str = str .. "-" end local serial = string.gsub(string.reverse(str), "-", "", 1) return serial end isInvited(ho…
-
- 3 respostas
- 566 visualizações
-
-
Função que lista as casas vazias no servidor. function getFreeHouses() local towns = getTownList() local houses = {} for i = 1, #towns do local list = getTownHouses(towns[i].id) for j = 1, #list do if list[j] then if getHouseOwner(list[j]) == 0 then table.insert(houses, list[j]) end end end end if(#houses == 0) then return nil end return houses end Créditos: Crypton3
-
- 2 respostas
- 371 visualizações
- 1 follower
-
-
Essa função pega o nome do level mais alto do servidor, baseando-se na experiência do player. local function getHighestPlayer() local result = db.getResult("SELECT `name` FROM `players` ORDER BY `level` DESC, `experience` DESC LIMIT 1") return result.getDataString(result, "name") end Exemplo de uso: if getPlayerName(cid) == getHighestPlayer() then Créditos: Kohaeu
- 2 respostas
- 373 visualizações
- 1 follower
-
Função que retorna os players que estão numa área específica function getPlayersInArea(fromPos, toPos) -- function by amoeba13 playersInArea = {} for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = fromPos.z, toPos.z do totalArea = {x=x, y=y, z=z} playerz = getTopCreature(totalArea) if isPlayer(playerz.uid) then table.insert(playersInArea, playerz.uid) end end end end return playersInArea end Exemplo de uso: function onSay(cid, words, param, channel) local area = getPlayersInArea({x = 1…
- 2 respostas
- 1.6k visualizações
-
Olá, galerinha do Tibia King vim trazer outra função function getPlayersInLevel(level) local x = {} for _, pid in ipairs(getPlayersOnline()) do if getPlayerLevel(pid) == tonumber(level) then table.insert(level, pid) end end return x end exemplo de uso function onSay(cid, words, param) if tonumber(param) then doPlayerSendTextMessage(cid, 27, "Tem " .. #getPlayersInLevel(tonumber(param)) .. " player's no level " .. tonumber(param) .. ".") return true end return doPlayerSendTextMessage(cid, 28, "Digite !comando é um número válido.") end espero que gostem
-
- 0 respostas
- 527 visualizações
-
-
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
- 578 visualizações
-
-
Olá, novamente galerinha do Tibia King aqui trago-lhes outra função ele soma os valores dentro de um array function math.SumArray(array) local soma,numbers = 0,{} for _, n in pairs(array) do if type(n) == "number" then table.insert(numbers, n) end end for _, i in pairs(numbers) do soma = soma + i end return soma end Exemplo local array = {21,31,23} print(math.SumArray(array)) retornando 75 ~~ Créditos ~~ Eu Vodkart ( colocou para somar somente números )
-
- 4 respostas
- 3.8k visualizações
-
-
É semelhante a função que existe em PHP, transforma a primeira letra de cada palavra da string em maiúscula. function ucwords(str) str = str:lower():gsub("(%l)(%w*)", function(x, y) return x:upper() .. y end) return str end Exemplo: print(ucwords("aBCde ABCDE aBBcDDe")) Resultado: Abcde Abcde Abbcdde
-
- 3 respostas
- 542 visualizações
-
-
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+
- 7 respostas
- 3.5k visualizações
- 1 follower
-
Olá pessoal, hoje resolvi trazer ao TK uma função muito útil e simples de usar-la, tenho certeza que muitos irão usar-la. Você poderá usar assim: getAccountStorageValue(getPlayerAccountId(cid), key) setAccountStorageValue(getPlayerAccountId(cid), key, value) INSTALAÇÃO Para instala-la é simples, vá até seu banco de dados e execute a seguinte query: CREATE TABLE `account_storage` ( `account_id` int(11) NOT NULL default '0', `key` int(10) unsigned NOT NULL default '0', `value` varchar(255) NOT NULL default '0', UNIQUE KEY `account_id_2` (`account_id`,`key`), KEY `account_id` (`account_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Agora vá até data/lib, abra o arquivo…
- 9 respostas
- 4.9k visualizações
- 1 follower
-
Olá a todos, Esta função serve para que você possa verificar se o jogador (loga, por exemplo) pela primeira vez "por algum tempo". Então, aqui está o código: function checkFirstByTime(cid,storage,value,year,month,day,times) local funcDate = day.." "..month.." "..times.." "..year if getPlayerStorageValue(cid, storage) ~= value then if funcDate < os.date("%d %b %X %Y", os.time()) then setPlayerStorageValue(cid, storage, value) return true end end return false end E aqui está um exemplo: function onLogin(cid) if checkFirstByTime(cid,6546,1,2013,Apr,30,21:30:00) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hello, you have login for …
-
- 0 respostas
- 546 visualizações
-
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.