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
-
Battle Arena System 8.60 com NPC Testado em OTX Server & TFS 0.4 @Atualizado : É super importante o uso de uma distro que possua a função "doPlayerOpenChannel". surgirá o seguinte erro caso a função não seja encontrada : [string "loadBuffer"]:8: attempt to call global 'doPlayerOpenChannel' (a nil value) se a sua não tem, basta você compilar suas sources ou usar qualquer outra que possua. Battle Arena é um sistema onde permite o ganho de notificações dentro de um canal chamado 'Battle Arena Channel' e experiências dentro de uma arena fechada, que pode ser acessada ao falar com um NPC chamado 'Battle Arena Manager'. As notificações são baseadas …
- 20 respostas
- 3.8k visualizações
- 1 follower
-
Boa noite!! Esta modificação permite que consiga o userdata através do guid Testado em TFS 1.x luascripts.cpp // Player int LuaScriptInterface::luaPlayerCreate(lua_State* L) { // Player(id or name or userdata or guid) Player* player; if (isNumber(L, 2)) { player = g_game.getPlayerByID(getNumber<uint32_t>(L, 2)); if (!player) { player = g_game.getPlayerByGUID(getNumber<uint32_t>(L, 2)); } ... Abraço!
-
- 2 respostas
- 559 visualizações
-
-
Eae pessoal blz?? eu peguei o ditto system postado pelo Wend e feito pelo Gabrielbsales(Featzen), então só mudei algumas tags e modifiquei um pouco e dei umas melhorias, bem pequenas só que vão ajudar, creio eu Então vamos parar de blábláblá em começar o tutorial! Primeiramente vá em Data/actions/scripts/order.lua e Procure por: -------- TRANSFORM ---------- Apague tudo aqui dentro, até o: -------- LIGHT ------------ Ai dentro ditto coloque isto: Pronto Agora esta transformando e copiando as habilidades e tudo! Agora Para o ditto e shiny ditto reverter a transformação . Crie um arquivo chamado dittorevert.lua em data/talkactions e coloque i…
-
- 4 respostas
- 3.3k visualizações
-
-
Olá, bom muitos vieram pedindo esse script e vou ajudar a vocês de como criar um NPC QUE MUDA NOME DO JOGADOR! Vamos lá primeiro passo abra a pasta data/npcs. crie um arquivo chamado Kemi Change Nick.xml Agora abra a pasta scripts . Data/npc/scripts e crie um arquivo chamado renamer.lua Pronto o npc ja irá estar funcionando, lembrando que ele cobra 100 crystal coins para mudar o nome. Caso queira colocar outro equipamento para cobrar. SUBSTITUA: POR:
- 10 respostas
- 2.8k visualizações
-
Tipo: Creaturescripts. Testado: No. Oque Faz: Ele muda a mensagem quando você upar de level, modifique-a a vontade. @Instalando Vá na pasta do seu servidor depois em data agora entre em outra pasta chamada creaturescripts e entre na pasta chamada scripts duplique um arquivo da extensão .lua e adicione o seguinte conteúdo dentro: function onAdvance(cid, skill, oldLevel, newLevel) local lvl = oldLevel - newLevel if skill == 8 then return false end doPlayerAddLevel(cid, lvl) doPlayerSendTextMessage(cid, 27, "Você avançou " .. lvl .. " " .. lvl > 1 and "níveis" or "nível" .. " parabéns[do " .. oldLevel .. " para o " .. newLevel .. "]…
-
- 3 respostas
- 2.8k 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
-
-
Como o título do tópico já diz, o script a seguir serve como uma ferramenta para auxiliar o player a fazer uma busca por outro player. A partir de uma letra, é gerada uma lista dos players online cujo o nome começa com a inicial escolhida. searchplayers.lua (data\talkactions\scripts): function onSay(cid, words, param) -- Developed by Wise ~ TibiaKing.com local pnames, list = {}, '' for _, pid in ipairs(getPlayersOnline()) do table.insert(pnames, getCreatureName(pid)) end if not tostring(param) or param:len() > 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Type the first letter of the name of onl…
-
- 10 respostas
- 1.3k visualizações
-
-
Introdução: Fala galera mais uma vez eu aqui postando mais um código editado por mim, pra pokemon ou pra tibia use como você achar melhor, o que ele faz ? simples ele vai deixar seu Summon ou Pokemon entrar no PZ (menos hause) eu estava descifrando o código e n precisei implementar nada é apenas uma editada pra fazer com que o PZ não verificasse os Summon Benignos. Tile.cpp Tutorial: Procure por;; if(const Monster* monster = creature->getMonster()) { if(hasFlag(TILESTATE_PROTECTIONZONE)) return RET_NOTPOSSIBLE; if(floorChange() || positionChange()) return RET_NOTPOSSIBLE; altere para if(const Monster* monster = cre…
- 5 respostas
- 2.1k visualizações
- 2 followers
-
Olá :v como o titulo ja diz, irei disponibilizar a vcs um script de um bau que ao clicar, venha um pokemon que vc determinar.. 1º - Abra a pasta Servidor/data/actions/scripts, crie um arquivo em .lua, e coloque isso: Para Servidores PDA sem level System: Para Servidores Com Level System: 2º - Abra o arquivo actions.xml e adicione isso: Coloque o actionid no bau que vc quer q dê o pokemon pelo mapa. Em baupokemon.lua é o nome do arquivo q vc criou.. Espero ter ajudado, se ajudei, clique em gostei pf. Até a Próxima
- 15 respostas
- 12.2k visualizações
-
Sala Secreta Esse código foi testado no TFS 0.3.6 mas da maneira que fiz deve funcionar em todos os demais. O script é de uma sala misteriosa na qual os players vão parar por acidente (Não serão teleportados). Ao pisar em um determinado SQM, a sala é inteira trancada em volta do player, deixando ele sozinho ali dentro. Após isso, 3 pilares começam a "atirar" uns nos outros e, em seguida, começam a atirar no player. Nesse momento, o player deve sair andando pela sala até encontrar o SQM correto, onde deve permancer. Quando ele levar os "tiros" estando no SQM correto, uma chest aparecerá na sua frente. Ao abrir a chest, ele recebe o prêmio, a chest some, a sala …
- 10 respostas
- 1.8k visualizações
-
Olá, aqui é um código de stream, que irá transmitir ao vivo a partir do seu site. Créditos vai também para TGYoshi para o código, foi feito apenas algumas edições. Obrigado a Raggaer, pelo o php! Créditos para a sua ajuda. Em globalevents/globalevents.xml adicionar esta linha: <globalevent name="Stream" interval="1" event="script" value="stream.lua"/> Em globalevents/scripts, crie um novo arquivo .lua com o nome de stream, adicione isto - Agora no seu website você pode usar isto - Para as outfits você pode usar este - Outfiter 8.60 - Mostrando Roupas No WebSite Créditos - Cyko
-
- 1 resposta
- 2.3k visualizações
-
-
Boa Tarde Turma, Hoje vou Postar um sistema de Win e Lose Score daquele teleport (TEAM-PVP). Agora vai ficar mais divertido o sistema de PVP do (Pokemon dash advanced) Premio: Ganha 5 hd + 5% exp + Score Placar: adicionei um sistema de placar tambem onde aparece: Redfrag (2) vs (4) BlueFrag Servidor Usado: Pokemon Dash Advanced (Pokemon com Level) Bom vamos La: Atençao: tome cuidado ao editar esse script e facil de buga o sistema inteiro do pvp team intao vamos la: vai no seu exp.lua creaturescripts/exp.lua: add isso no começo do script: procure por : if valor >= getCreatureHealth(cid) then Logo abaixo adiciona isso: Se q…
- 19 respostas
- 1.8k visualizações
-
Boa Noite Glaera, BLZ? Hoje Vou Postar Mais uma de minhas Ideias Loucas de Poketibia que eu particulamente achei legal ate que se Chama "Catch Channel" [+] Para que Serve o Catch Channel? - Simples Serve Para voce Ver todos os Catch do Servidor no Canal "Catch Channel" - O Script é Bem Basico! [+] Intao Vamos La: [+] Servidor Testado: Pokemon Dash Advanced (PDA V2.5 BY: BOLZ) Vai em data/lib/CATCHSYSTEM.LUA e Procure por Essa funçao: - Procure por essa Parte do Script: - Logo Abaixo Adiciona isso: Explicando: TALKTYPE_CHANNEL_W: Letra Branca 5 : Channel ID (No Caso é o Game-Chat) Depois vai em da…
-
- 9 respostas
- 4.4k visualizações
-
-
1º Bom você está no seu servidor, e compra seu item pela loja do site, más o servidor não te entrega o item? Então isso está já resolvido, bem aqui, olhe abaixo Bom na data de seu servidor você entra na pasta e vai até a pasta globalevents após isso abra o arquivo globalevents.xml, após isso coloque o seguinte código dentro do arquivo. <globalevent name="Shop" interval="60000" script="shop.lua" /> Após isso entre na pasta scripts que estará dentro da pasta globalevents, bom crie o arquivo shop.lua ou o nome que desejar sendo que tenha o ".lua" no final, após isso coloque os seguintes códigos dentro do arquivo que você criou -- ### CONFIG ### -- message sen…
-
- 0 respostas
- 613 visualizações
-
-
Olá pessoal, hoje venho vos trazer um "sistema" que se resume em 1 script, nele você pode semear e de acordo com o tempo, cresce a planta! melhor explicar com imagens: No script já vêm pré-configurado para 2 tipos possíveis de semente/broto : - Id: 8582 - Id: 7732 para plantar é necessária uma base: O monte de terra no meio. Ao dar use em cima do monte, com a semente ou o galho, haverá estágios... 1º Estágio: (padrão) 2º / 3º / 4º / Para instalar, siga as instruções: Crie um arquivo, com o nome de seed.lua em (data/actions/scripts) function onUse(cid, item, toPos, itemEx, fromPos) -- Exemplo para criar: [ID da semente] = {etapa1, et…
-
- 4 respostas
- 743 visualizações
- 1 follower
-
-
AMULETO WHOHOOO É um amuleto que, quando está equipado, nega x% do dano provido de monstros. (data/creaturescripts/scripts/amulet.lua) http://pastebin.com/w5wzaXyL(revisão - recomendado) http://pastebin.com/LW3Z34v9 (versão inicial) (data/creaturescripts/scripts/login.lua) Adicione esta linha: registerCreatureEvent(cid, "Amulet") (data/creaturescripts/creaturescripts.xml) Adicione esta linha: <event type="statschange" name="Amulet" event="script" value="amulet.lua"/> E pronto! No script a variável "porcentagem" possui o valor 40 como padrão, que é a porcentagem do dano que será BLOQUEADA. Ou seja, receberá ainda 60% do dano Na vari…
-
- 10 respostas
- 1.3k visualizações
- 1 follower
-
-
data/XML/mounts.xml <mount id="13" clientid="2" name="Orc Warlord" speed="20" premium="yes" /> Créditos: Kudzu
-
- 1 resposta
- 409 visualizações
-
-
Olá, boa noite TK, venho trazer para vocês um script que uso no meu servidor, que serve de missão. Acho maneiro, para RPGS. A função do script é uma quest, o player precisa entregar um item ao NPC, no caso um pergaminho, que lhe dará acesso a clicar na arvore, porém para chegar até a arvore voce tem que procurar uma alavanca, para aparecer uma escada. Vamos lá. Crie um arquivo npc/script/Wyat.lua e adicione. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end…
- 1 resposta
- 1.2k visualizações
- 1 follower
-
È um npc de apostar, ele possuiu "por inquanto" dois jogos 21 e Jogo dos 6 . ~~> Explicando o 21 <~~ O 21 funciona assim: Você ira ganhar 1 número e o número tem quer ser 21, ou chegar o mais próximo possível sem ultrapassar esse valor. E a mesma coisa será feita com o npc, ele ganhará 1 número. Você pode ir comprando mais números dizendo [comprar] e se quiser parar é só dizer [parar]. Se seu número for maior que o do npc, você leva o triplo do dinheiro apostado. ~~> Explicando o Jogo do 6 <~~ O Jogo do 6 funciona assim: O npc vai ro…
-
- 5 respostas
- 2.4k visualizações
-
-
Essas spells são baseados nos jutsus de naruto, chidori e rasengan. Testado em TSF 8.6 (Um vídeo demonstrativo se localiza no final do tópico) Em data/spells/scripts crie um arquivo.lua nomeie para rasengan e adicione:
-
- 4 respostas
- 1.3k visualizações
- 1 follower
-
-
Boa noite galera do TK, venho aqui compartilhar a minha idéia, muitos sofrem com as direções "west" e "east" e não sabem pra que lado ir ao usar a magia "exiva" ou qualquer outra questão de direção. Então fiz esse micro script e coloquei uma action no item compass (loot de pirates). Ao dar use no compass voce recebe a mensagem na tela mostrando pra que lado ficam as direções. Simples assim! No meu server o ID do compass é esse. Dentro de actions.xml adicione essa linha: <action itemid="11213" event="script" value="compass.lua"/> e dentro da pasta actions crie um arquivo "compass.lua e cole isso: -- created by Onix -- function onUse(cid, item, fro…
-
- 2 respostas
- 1.5k visualizações
- 1 follower
-
-
Bom, considerando que uma GRANDE parte dos membros hoje em dia, busca conteúdo no forúm sobre 'poketibias', não é díficil encontrar dúvidas sobre esse assunto. Dias atrás eu vi alguém dizendo algo sobre 'Preciso de Bike igual ao OT Pokémon', e hoje, vi novamente. Como um script bem fácil de se fazer, decidi fazer e postar aos membros que futuramente possam precisar o/ Vamos lá. Vá em data/actions, crie um novo arquivo .lua chamado bikesystem, cole isso dentro: -- [Bike System By Nogard, access tibiaking.com for support.] -- function onUse(cid, item, frompos, item2, topos) local config = { [1] = {lookType = 1111}, --- lookT…
- 10 respostas
- 3.1k visualizações
-
Bom, essa talkaction é bem simples, você consegue dar mount para qualquer player do servidor, com uma talkaction. Crie um arquivo chamada mount.lua na pasta talkaction/scripts function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local t = string.explode(param, ",") t[1] = tonumber(t[1]) if(not t[1]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.") return true end local pid = cid if(t[2]) then pid = getPlayerByNameWildcard(t[2]) if(not pid or (isPlayerGhost(pid) and …
- 6 respostas
- 2.3k visualizações
-
Nome: Guard Tipo: NPC Autor: Oneshot Muitos devem conhecer o NPC Guard, que possui inteligência artificial e ataca jogadores que possuem skulls de servidores que baixam. Acontece que o script desse NPC foi programado apenas para um NPC só, então quando você tenta, por exemplo, ter dois Guards no servidor, se um está na cidade A e outro na cidade B e, por exemplo, o NPC da cidade A começa atacar um jogador, o NPC da cidade B se teleporta "magicamente" para a cidade A. Pensando nisso, resolvi otimizar todo o código, orientando ele a objetos. Isso faz com que cada NPC (objeto) tenha suas próprias variáveis e não compartilhem mais elas entre si. …
-
- 8 respostas
- 4.8k visualizações
-
-
ArenaUp System Ola pessoal venho por meio deste topico disponibilizar um sistema de arenaup que eu desenvolvi para meu server! O sistema funciona da seguinte maneira: "!arenaup enter,<monster>" -> Player entra na arena, apartir disto será sumonado 9 monstros a cada 5 segundos Condições: Necessario item e level minimo para entrar. O player fica dentro da arena no maximo 1h configuravel. Caso morrer a arena é limpa e setada como livre. Player so pode entrar na arena com algum montro preselecionado configuravel. "!arenaup leave" -> Player sai da arena. Instalação do Script Explicações das variaveis na lib, configurações do script tb na l…
-
- 1 resposta
- 863 visualizações
-
-
Galera hoje vou lhe mostrar-lhes alguns tutorias para PDA, que eu vi e alguns queriam saber, aqui vai: 1° Como configurar o exp do seu server. 2°como adicionar um novo fly, ride e etc, OBS: nao vou mostrar como adicionar no dat editor, eu irei ensinar como configurar ele no script: vá em data/lib/configuration.lua, e procure essa linha: 3° pokemons e items iniciais (creio que muitos ainda nao sabem como modificar) 4° Como adicionar uma nova ball para o PDA 5° Como aumentar e diminuir o Cauth do pokemon. 6° Golden arena: 7° como aumentar o drop …
- 28 respostas
- 3.8k visualizações
-
Olá galera do tibiaking , eu estava pensando em um sistema para o meu servidor , ai eu pensei um quest log que já ganha as quests nessárias p fazer no começo , pq no meu server terá uma especie de rookguard. o sistema funciona assim , quando o player cria a conta , ele já começa com umas quests nas quest logs. entao vamos lá Vá até a PastadoOT/Data/XML/Quest.xml . apague tudo e cole esse , e de uma editada como está abaixo <?xml version="1.0" encoding="UTF-8"?> <quests> <quest name="Nome da Quest" startstorageid="Storage da Quest" startstoragevalue="Numero de Início da Quest"> <mission name="Nome da Missão" storageid="Storage …
-
- 1 resposta
- 1.3k visualizações
-
-
Os items para receber o addon é configurável. talkactions.XML <talkaction words="!buyaddon" separator=" " script="buyaddon.lua"/> buyaddon.lua local text = '--Addon List--\n!buyaddon "citizen\n!buyaddon "hunter\n!buyaddon "mage\n!buyaddon "knight\n!buyaddon "summoner\n!buyaddon "warrior\n!buyaddon "barbarian\n!buyaddon "druid\n!buyaddon "wizard\n!buyaddon "oriental\n!buyaddon "pirate\n!buyaddon "assassin\n!buyaddon "beggar\n!buyaddon "beggar\n!buyaddon "shaman\n!buyaddon "norseman\n!buyaddon "nightmare\n!buyaddon "jester\n!buyaddon "brotherhood\n!buyaddon "warmaster\n--Addon List End--' function onSay(cid, words, param) local player = Player(c…
- 4 respostas
- 729 visualizações
-
Este é o sistema de Vip Account do Mock, convertido ao TFS 1.1 e TFS 1.2, utilizando a nova funcionalidade de concatenação. Vip System: Piso Vip: Talkaction para Add Vip: Créditos: Bruno Minervino Mock
-
- 4 respostas
- 2k visualizações
-
-
Olá pessoal! Vi o tutorial sobre addEvent do Killua e decidi colocar em prática.. Então fiz esse sistema de campaínha para treino e decidi compartilhar com vocês que tanto me ajudam com sistemas e dívidas! É um sistema bem simples e fácil de configurar, mesmo assim gostaria de criticas(construtivas) e sugestões uehue Numa noite sombria e fora do normal, Jubileu decide visitar seu amigo Alfredo para conversar sobre recentes acontecimentos estranhos na cidade. Ao chegar na casa de seu amigo ele toca a campaínha e.. Não pode ser, o que é aquilo que se aproxima?! um zumbi?! SOCORRO ALFREEEDOOO! - grita Jubileu,desesperado. AEHUEAHEAUH V2- TOCAR CAMPAÍNHA COM CHA…
- 10 respostas
- 800 visualizações
-
Olá pessoal! Tinha um script de redbull aqui mas estava dando uns problemas, então refiz outro com ajuda do food.lua e do tutorial de addEvent do Killua, então como necessidade e como treino fiz e assim como meu treino da campaínha(link no final do tópico) eu decidi compartilhar com vcs para receber sugestões e quem sabe ajudar alguém (: O script é o seguinte: O player usa um item consumível(em meu caso, ID 2672) e então diminui sua fome e heala o player(aparece em quanto satisfez/healou), aumenta sua velocidade em X por Y tempo.. apelidei de redbull pq sacomé, redbull te dá asaas aehau 1°- Vá em data/actions e abra seu actions.xml, adicione essa…
- 5 respostas
- 648 visualizações
-
Script simples mas pode ser útil, para os ot admin. data/talkactions/scripts addplayersonline.lua : function onSay(player, words, param) if not player:getGroup():getAccess() then return true end if player:getAccountType() < ACCOUNT_TYPE_GOD then return false end local v = param:split(",") if #v ~= 2 then player:sendCancelMessage("Insufficient parameters.") return false end local item, count = tonumber(v[1]), tonumber(v[2]) for _, pid in pairs(Game.getPlayers()) do pid:addItem(item, count) end broadcastMessage("A equipe acaba de mandar "..count.." "..ItemType(item):getName().." para todos os play…
-
- 4 respostas
- 632 visualizações
-
-
Serei breve enquanto a explicação. Esta função serve para "forçar" o value de uma storage key a mudar, independentemente do player estar on ou offline. Adicione o seguinte script à lib do seu servidor (data\lib): forceSetStorageValue = function (name, key, value) if not tostring(name) or not tonumber(key) then return nil end local p = getPlayerByName(name) if p then setPlayerStorageValue(p, key, value) else local have = db.storeQuery("SELECT `key` FROM `player_storage` WHERE `player_id` = ".. getPlayerGUIDByName(name) .." and `key` = ".. key) if have then db.query("UPDATE `player_storage` SET `val…
-
- 2 respostas
- 541 visualizações
-
-
O Sistema em Si, Deleta players inativos da Database que nao logao mais de tantos dias e seus skills. OBS: O Sistema nao remove os Samples do GESIOR e nem o account manager. Exemplo de configuraçao: local childAttributeTables = { players = { [1] = {table = "`player_viplist`", idField = "`player_id`"}, [2] = {table = "`player_storage`", idField = "`player_id`"}, [3] = {table = "`player_spells`", idField = "`player_id`"}, [4] = {table = "`player_skills`", idField = "`player_id`"}, [5] = {table = "`player_namelocks`", idField = "`player_id`"}, [6] = {table = "`player_items`", idField = "`player_id`"}, [7] = {table = "`…
-
- 10 respostas
- 2.7k visualizações
-
-
Event droploot acontece quando um monstro ou player dropa 1 item. Em creatureevent.cpp procure: bool CreatureEvents::playerLogin(Player* player) { //fire global event if is registered bool result = true; for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if(it->second->getEventType() == CREATURE_EVENT_LOGIN && !it->second->executeLogin(player) && result) result = false; } return result; Adicione abaixo: bool CreatureEvents::dropLoot(Creature* creature, Item* item) { bool result = true; for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it…
-
- 6 respostas
- 1.4k visualizações
- 1 follower
-
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.