Jump to content
Close

Search the Community

Showing results for tags 'tfs 0.4'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Rules
    • Portal
    • Resources
    • Commerce
    • Clubs
  • OTServers
    • Discussion
    • Support
    • Tutorial
    • Download
    • Code Development
    • Contests and Events
    • Form Team
    • Advertise your Server
  • Tibia Bots
    • Discussion
  • League of Legends's Geral
  • League of Legends's Suporte
  • Jogos Gerais's Geral
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Gráficos's Geral
  • Gráficos's Tutoriais
  • Gráficos's Recursos
  • Gráficos's Aprendizagem & Recursos
  • Gráficos's Galeria
  • Gráficos's Duelos & Batalhas
  • Gráficos's Suporte
  • Desenvolvimento e Programação's Geral
  • Desenvolvimento e Programação's Tutoriais
  • Desenvolvimento e Programação's Trabalhos
  • Desenvolvimento e Programação's Suporte
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Playground's (Off-topic)
  • Divulgações's Tópicos

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Product Groups

  • Advertisements in Top
  • Advertisements In Signatures
  • Advertisements in Topics
  • Others Advertisements

Categories

  • Sales Section
    • Scripting Sales
    • Codes Sales
    • Mapping Sales
    • Websites Sales
    • Design/Sprites Sales
    • Bots Sales
  • Look Jobs
  • Looking for Freelancers
  • Team Formation

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 79 results

  1. Olá comunidade. Eu criei um script a madrugada passada para tentar ajudar um amigo que usa 'OTX' porém dá um erro bizarro no 'lib/compat.lua' e a função 'doAddPlayerOutfit' retorna valor 'NIL'. Eu não sei como resolver, mas está funcionando perfeitamente no 'TFS 0.4'. Espero que alguém em algum lugar do tempoespaço possa se beneficiar desse script já que os que encontrei estão todos muito feios e confusos. 1. Acesse a pasta 'data/talkactions/scripts' e crie um novo 'arquivo.lua' chamado 'addonpresent.lua', dentro adicione o conteúdo abaixo. function onSay(cid, words, param, channel) local maleOutfits = {["citizen"] = {128}, ["mage"] = {130}, ["knight"] = {131}, ["nobleman"] = {132}, ["summoner"] = {133}, ["warrior"] = {134} } local femaleOutfits = {["citizen"] = {136}, ["mage"] = {138}, ["knight"] = {139}, ["nobleman"] = {140}, ["summoner"] = {141}, ["warrior"] = {142} } local mensagens = {"Você recebeu o seu addon e consumiu o item bônus para isto.", "Verifique o que você digitou e tente novamente, parametros inválidos.", "Você não possui o item necessário para receber um addon.", "Certifique-se que você digitou o nome do addon corretamente e tente mais uma vez."} local efeitinga = {[1] = {name = CONST_ME_POFF}, [2] = {name = CONST_ME_CAKE}, [3] = {name = CONST_ME_HEARTS}, [4] = {name = CONST_ME_GIFT_WRAPS} -- efeitos que seram exibidos } local param = string.lower(param) if not isPremium(cid) then doCreatureSay(cid, "Você não possui Premium Account, portanto não poderá utilizar o item de addon.", TALKTYPE_ORANGE_1) -- MSG que será exibida p/ o nao premium return true end if getPlayerItemCount(cid, 6497) > 0 then -- 6497 é o ID do item que será usado por você, se for maior que 0 a quanidade na sua bag então if param ~= "" and maleOutfits[param] and femaleOutfits[param] then doPlayerRemoveItem(cid, 6497, 1) -- o item 6497 será consumido doCreatureSay(cid, mensagens[1], TALKTYPE_ORANGE_1) for k, v in pairs(efeitinga) do doSendMagicEffect(getCreaturePosition(cid), v.name) end if getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, femaleOutfits[param][1], 3) elseif getPlayerSex(cid) == 1 then doPlayerAddOutfit(cid, maleOutfits[param][1], 3) end else doCreatureSay(cid, mensagens[2], TALKTYPE_ORANGE_1) end else doCreatureSay(cid, mensagens[3], TALKTYPE_ORANGE_1) end return true end 2. Regresse até 'data/talkactions' e abra o arquivo 'talkactions.xml', dentro adicione o conteúdo abaixo. <talkaction words="!addon" event="script" value="addonpresent.lua"/>
  2. Reporte qualquer bug encontrado. - Mudanças: * opcode adicionado * Monstros andando em cima de corpos * War system arrumado * Anti-divulgação melhorado * Cast system arrumado * Crash bugs arrumados * Adicionado exhaust ao comprar/vender items * Account manager com opção para cidades * /ghost stacking arrumado * !disband arrumado * Erros no linux arrumado * Aleta som arrumado * Bug nos rings arrumado * Adicionado suporte para Visual Studio * Remover battle ao entrar em PZ * Não pode jogar lixo em casas * Salt removido - Downloads: * Distro (x32): https://github.com/Fir3element/binaries/raw/master/x32.rar * Distro (x64): https://github.com/Fir3element/binaries/raw/master/x64.rar * Requisitos: Microsoft Visual C++ 2010 Redistributable Package (x32)/Microsoft Visual C++ 2010 Redistributable Package (x64) * Source + datapack: https://github.com/Fir3element/3777/archive/master.zip - Scans: * Distro (x32): https://virustotal.com/pt/file/6683a91273b848a39ac21288da9d3abde341436744d6846e35a477c8e7c8f5f7/analysis/1480675335/ * Distro (x64): https://virustotal.com/pt/file/21028857bb1124f19e0353e7f5775c8f66afc4f87f29df9cf4ab8ca1a046b816/analysis/1480675394/ * Source + datapack: https://virustotal.com/pt/file/3761b48ee19f3f540d4c4a48c35c73c89a85615876307073494b1dcfed464d36/analysis/1480675473/
  3. Olá, esse é um dos primeiros scripts que eu consigo fazer, resolvi trazer ao fórum pois talvez em algum momento da história isso sirva para alguém fazer alguma coisa. Eu também gostaria de ceder todos os créditos desse trabalho para o @WooX, pois sem ele eu não teria o conhecimento necessário para fazer o script funcionar, obrigado. local configuration = { positionParedinso1 = {x=1067, y=1071, z=7, stackpos=1}, -- Posição do objeto que ira sumir time = 1*15*1000, -- tempo para o objeto voltar para o seu lugar devido monstrosTime = 1*10*1000, -- tempo até os monstros despertarem guardioes = { [1] = {name = "Hellfire Fighter", pos = {x = 1065, y = 1071, z = 7}}, -- Todas posições onde os monstros seram criados [2] = {name = "Massive Fire Elemental", pos = {x = 1061, y = 1069, z = 7}}, -- Bem como seus nomes e quantidade [3] = {name = "Fury", pos = {x = 1069, y = 1074, z = 7}}, [4] = {name = "Demon", pos = {x = 1069, y = 1071, z = 7}}, [5] = {name = "Diabolic Imp", pos = {x = 1066, y = 1074, z = 7}}, [6] = {name = "Fire Devil", pos = {x = 1064, y = 1075, z = 7}}, [7] = {name = "Fire Elemental", pos = {x = 1062, y = 1069, z = 7}}, [8] = {name = "Massive Fire Elemental", pos = {x = 1067, y = 1068, z = 7}} } } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 1945 then -- alavanca doTransformItem(item.uid, 1946) positionParedinso = getThingFromPos(configuration.positionParedinso1) if positionParedinso.itemid ~= 0 then doRemoveItem(positionParedinso.uid, 1) doCreatureSay(cid, "Um som terrível de engrenagens antigas se movendo pode ser ouvido imediatamente após você puxar a alavanca. \z Estrondos, chamas e vozes demoniacas estão vindo na sua direção, são ouvidos cada vez mais altos, corra por sua vida, \z você acaba fezer um mal antigo despertar.", TALKTYPE_ORANGE_1) -- Mensagem que será exibida após você puxar a alavanca addEvent(function() for k, v in pairs(configuration.guardioes) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) addEvent(doCreateItem, configuration.time, 12794, configuration.positionParedinso1) -- "12794" é o ID da parede que você quer criar após puxar a alavanca end else doTransformItem(item.uid, 1945) end end
  4. Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana. TFS: 0.4 Tibia: 8.6 O sistema original foi postado pelo @Luquinha no tópico: O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu; * Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem. * Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual. O script modificado: function onUse(cid, item, frompos, item2, topos) local dolls = { [11256] = {pet = "Rat"}, [11207] = {pet = "Demon"}, [5791] = {pet = "Dragon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1) end return true end if item.itemid == 5791 then if getPlayerStorageValue(cid, 6666) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11256 then if getPlayerStorageValue(cid, 4444) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11207 then if getPlayerStorageValue(cid, 4445) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) return true end end Creditos: @Luquinha @Roksas @Kemmlly
  5. Galera, andei comprando ai uma source do tal do carlos antipush, mlk besta, mas tudo certo. Paguei barato e segundo ele essa source possui alguns bugs corrigidos e é a base da source do antigo Real Baiak, porem segundo ele só pega em Debian, e como eu tentei compilar no ubuntu e não consegui, a mesma não tem utilidade alguma para mim, então irei compartilhar. *** CASO ALGUM MEMBRO TENHA CONHECIMENTO, PEÇO QUE TENTE COMPILAR E ARRUMAR O ERRO QUE DA NO UBUNTU/DEBIAN*** DOWNLOAD SCAN
  6. Fala clã, hoje irei ensiná-los como agrupar funções em uma classe e usá-las como métodos (similar ao TFS 1.x). Bom, primeiramente o que são métodos? Um método é nada mais nada menos que uma função membro de uma classe, destinadas a serem executadas por objetos instanciados. Bom, não irei se aprofundar no assunto, serei direto. Abaixo segue um exemplo da diferença entre uma função e um método: doPlayerSendCancel(player, 'Hello World') -- Função sendo chamada player:sendCancel('Hello World') -- Método sendo chamado por um objeto 'player' Mas afinal, como utilizar métodos em TFS 0.4? Primeiramente teremos que criar uma lib chamada 110-methods.lua e adicionar o seguinte código: Lembrando que não estou publicando tudo pronto, apenas ensinando como agrupar. E esse exemplo será somente para funções relacionadas à criaturas (players, monsters, npcs). ClassCreature = {} -- for creature functions function ClassCreature:new(creature) return setmetatable({uid = creature}, {__index = self}) end function Creature(uid) return ClassCreature:new(uid) end Feito isso, já podemos começar a converter funções em métodos a partir do próprio arquivo uma abaixo da outra. Como faremos? Segue abaixo a conversão da função doPlayerSendCancel: function ClassCreature:sendCancel(message) return doPlayerSendCancel(self.uid, message) -- (no lugar onde estamos acostumados a colocar cid ou player, colocamos self.uid) end Agora a conversão da função doPlayerSendTextMessage: function ClassCreature:sendTextMessage(msg, type) return doPlayerSendTextMessage(self.uid, type, msg) end Assim já podemos utilizar o método em nossos scripts. Com exemplo, segue abaixo um talkaction: function onSay(player) player = Creature(player) -- Instância player:sendTextMessage('Olá ' .. player:getName() .. ', este é um exemplo de como utilizar métodos em TFS 0.4 :)', MESSAGE_INFO_DESCR) player:sendCancel('Você está no nível ' .. player:getLevel() .. ', parabéns!') return true end Obs: é sempre necessário instanciar da mesma forma do exemplo para códigos simples. Para mais complexos, pode-se instanciar quantos objetos quiseres. E para finalizar, irei deixar alguns métodos já agrupados para vocês testarem: data/lib/110-methods.lua : ClassCreature = {} -- for creature functions function ClassCreature:new(creature) return setmetatable({uid = creature}, {__index = self}) end function Creature(uid) return ClassCreature:new(uid) end -- Métodos function ClassCreature:getName() return getCreatureName(self.uid) end function ClassCreature:getLevel() return getPlayerLevel(self.uid) end function ClassCreature:getHealth() return getCreatureHealth(self.uid) end function ClassCreature:getMana() return getCreatureMana(self.uid) end function ClassCreature:sendCancel(msg) return doPlayerSendCancel(self.uid, msg) end function ClassCreature:sendTextMessage(msg, type) return doPlayerSendTextMessage(self.uid, type, msg) end function ClassCreature:getPosition() return getThingPos(self.uid) end function ClassCreature:teleportTo(pos) return doTeleportThing(self.uid, pos) end E é só isso galera, esse é um dos métodos mais simples de se fazer isso. Abraços! Créditos: Todo meu!
  7. Visualizar Anúncio Compilar TFS 0.4 Olá, eu comprei um dedicado para hospedar meu servidor derivado de Dragon Ball, mas na hora de compilar eu fiz merda, sai seguindo varios tutoriais e quando compilou, deu ocorreu um problema que esta puxando muito CPU com poucos players online, eu não sabia que o problema era por ter compilado "errado" antes de eu ter o DEDICADO eu usava um VPS, e dava o mesmo problema com 150 online o CPU ia pra 127%, então decidi mudar para um dedicado, mas o mesmo problema continua, faltando um dia para terminar o VPS eu comecei jogar tudo que é linha de codigo no terminal, até porque não iria usa-lo mais, só tinha mais um dia, comecei jogar varias linhas de libs, e de compilação, e do nada fui recompilando só pra ver, e fui testar, coloquei 150 online, e só puxava 7% de CPU, então eu tinha compilado certo, então decidi fazer o mesmo no DEDICADO, mas eu não tive um bom resultado, com 100 player ele puxa 60 de CPU, gostaria de alguem que saiba compilar do modo certo, para não causar o mesmo erro, valor a combinar. Discord: ACKERZIN; dfull#9630 Whats: 47988630529 bandicam 2019-02-21 14-12-51-485.mp4 Anunciante Zzyzx Date 23/02/2019 Preço R$ 500,00 Categoria Procura-se Freelancers  
  8. Time Left: 2 months and 6 days

    • Looking for Freelancers
    • To combine

    Olá, eu comprei um dedicado para hospedar meu servidor derivado de Dragon Ball, mas na hora de compilar eu fiz merda, sai seguindo varios tutoriais e quando compilou, deu ocorreu um problema que esta puxando muito CPU com poucos players online, eu não sabia que o problema era por ter compilado "errado" antes de eu ter o DEDICADO eu usava um VPS, e dava o mesmo problema com 150 online o CPU ia pra 127%, então decidi mudar para um dedicado, mas o mesmo problema continua, faltando um dia para terminar o VPS eu comecei jogar tudo que é linha de codigo no terminal, até porque não iria usa-lo mais, só tinha mais um dia, comecei jogar varias linhas de libs, e de compilação, e do nada fui recompilando só pra ver, e fui testar, coloquei 150 online, e só puxava 7% de CPU, então eu tinha compilado certo, então decidi fazer o mesmo no DEDICADO, mas eu não tive um bom resultado, com 100 player ele puxa 60 de CPU, gostaria de alguem que saiba compilar do modo certo, para não causar o mesmo erro, valor a combinar. Discord: ACKERZIN; dfull#9630 Whats: 47988630529 bandicam 2019-02-21 14-12-51-485.mp4

    NO VALUE SPECIFIED

  9. Eae Galera do TibiaKing É o seguinte Hoje trago a vocês o Baiak Rox Editado por Min Espero que Gostem Oque eu Fiz ? | Novo Visual do Templo Totalmente ICE | Critical System | Task System | Dodge System | Run Event (CORRIDA MALUCA) | Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset | Guild Frags System ( ACESSO AO PROMOTE E ITENS EXCLUSIVOS ) | War System (100% RODANDO EM SQLITE) | Cast System (100% Roda em Mysql ) ( Para Ativar vai em Config.lua e ache | enableCast = false | mude para true ) Duvidas entrem em http://www.tibiaking...os-na-distro/ | PvP Balanceado Agora com mais RPG | Armas Arrumadas Para Melhor PvP | Varios Eventos Automaticos | Battle Field Event | Capture The Flag Event | City War | Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES | Itens DONATES | Área DONATE ~~ (Só Entra Quem Usar o Itens de Premium Days) | Vários Novos Script | Fast Atk Arrumado | Distro 0.4 Rodando 100% ( Se For 64x Bits) | Refinamento ( Aprimora seus Equipamentos ) | Frags no Look | Npc Hero Seller (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS) | Entre Outras Coisas | SENHA DO GOD: rox/styller | Aqui Vai Umas Prints | Castelo Reset System | Nova Imagem do Templo | Área Donate | Mostra de Itens Donate + Eventos | Download | Scan | Créditos | Gostou ? Então dei um REP
  10. Olá pessoal, tive a iniciativa de criar esse tópico para atualizar e otimizar as sources do TFS 0.4 DEV que é uma das mais usadas no mundo do otserv. Conteúdo totalmente gratuito e pretendemos melhora-lo cada vez mais. Qualquer um pode colaborar, postando bugs, erros, otimizando códigos, comentar aqui no tópico, toda ajuda é bem vinda, vamos tornar essa a melhor source disponível. Conto com vocês. Versão do Tibia: 8.60 Alguns sistema já implementados na source: • TFS 0.4 DEV rev 3777 (by TFS Team) • Anti-Divulgação (.servegame, .no-ip, .net, .com, .org, .pl, .biz, .br, .sytes, .info) • War System • Cast System (by Summ) • Retirado bugs de anti-push .. • Retirado bugs de elfbot ... • Retirado erro de não aceitar outros items ... • Retirado erro de Malformed File ... • Add creatureevent onMoveItem() ... • Add função getCreaturePathTo () ... • E vários outros! Complementos: • Add cast System (passo a passo): [AQUI] • Pode add o comando na config.lua: healthHealingColor = COLOR_GREEN -- [podendo alterar a cor]. manaHealingColor = COLOR_DARKPURPLE -- [podendo alterar a cor]. Downloads: • Distro Compilada 32x • Distro Compilada 64x • Sources 7 TESTADO EM WINDOWS, DEBIAN 7.8, UBUNTU 12.04 E 14.05! • Compilar em Linux: • Erros para arrumar: Obrigado ao runeraserver pelo incentivo em fixa-la para linux E é isso pessoal, espero ter ajudado, abraços
  11. #| Baiak Vinny (War System ) |# Eventos : War System 100% (Escudos) BattleField War Castle Informações : Vip 1 Vip 2 Vip 3 por comando Vip 4 por quest armas no npc no templo armas extremy na vip 4 Mapa totalmente inovador exhausted reformulado Xp reformulado Bugs Removidos Erros de respwans na distro não interferem no uptime do servidor Comandos War System : ( Comandos devem ser executados no Chat da Guild) /war invite, guild name, fraglimit /war invite, guild name, fraglimit, money /war accept, guild name /war reject, guild name /war cancel, guild name /balance /balance donate value /balance pick value Imagens : Downloads : Não estarei postando meu gesior. Xampp 1.7.3 http://www.4shared.com/file/HdHmCLeu/xampp-win32-173.htm Servidor : http://www.4shared.com/rar/cJjAmFDQba/baiak_vinny__war_system_.html? Database Mysql : http://www.4shared.com/rar/D2WonPQkce/database.html? Scan : postem por favor não consegui fazer.
  12. Vim disponibilizar esse código de chest que eu tava precisando e não achei em lugar algum. Agradecimento ao @Sttorm que me ajudou a entender a estrutura do código. Comprar mesmo item com 2 moedas diferentes! (Chest Action) 23:31 Sao necessarios 50 gold coin e 50 crystal coin para realizar esta compra. 23:32 Voce comprou crown backpack por 50 gold coin e 50 crystal coin data/actions/actions.xml: (mude baus/bau01.lua se o seu esquema for diferente) <action actionid="6012" event="script" value="baus/bau01.lua"/> data/actions/scripts/baus/bau01.lua: ( " ) local coin = 2148 -- id da primeira moeda local coin2 = 2160 -- id da segunda moeda local eff = 28 -- efeito mágico ao comprar o item local lever = { [7017] = {50, 50, 10522} -- [actionid] = {quantidade da moeda 1, quantidade da moeda 2, id do item a comprar} } function onUse(cid,item,fromPosition,itemEx,toPosition) if getPlayerItemCount(cid, coin) >= (lever[item.actionid][1]) and getPlayerItemCount(cid, coin2) >= (lever[item.actionid][2]) then doPlayerRemoveItem(cid,coin,lever[item.actionid][1]) doPlayerRemoveItem(cid,coin2,lever[item.actionid][2]) doPlayerAddItem(cid,lever[item.actionid][3], isItemStackable(lever[item.actionid][3]) and 1) doPlayerSendTextMessage(cid,22,"Voce comprou " .. getItemNameById(lever[item.actionid][3]) .." por "..lever[item.actionid][1].." " ..getItemNameById(coin).. " e "..lever[item.actionid][2].." " ..getItemNameById(coin2)) doSendMagicEffect(getCreaturePosition(cid), config.eff) else return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sao necessarios "..lever[item.actionid][1].." " ..getItemNameById(coin).. " e "..lever[item.actionid][2].." " ..getItemNameById(coin2).. " para realizar esta compra.") end end
  13. Venho trazer a vocês essa adaptação que eu fiz pra minha datapack. Estava configurando novas door ids e pesquisei alguns tópicos procurando por scripts específicos, e não encontrei. Além disso, notei que muitas pessoas tiveram problemas para adicionar novas portas utilizando o script comum doors ou outros; ou não foram respondidas em vários tópicos. CONFIGURAR NOVAS DOOR IDS! Esse código é para novas portas especiais, duplicadas, de eventos ou quests.. Demonstração: Instalação: Utilizarei os ids: Horizontal: Fechada: 12149 / Aberta: 12151 Vertical: Fechada: 12158 / Aberta: 12160 ------- • ------- PARTE 1 --- • --- • Abra data/itens/itens.xml e altere os dois ids das portas que você quer editar, assim como eu fiz: <item id="12149" article="a" name="closed door"> <attribute key="type" value="door" /> <attribute key="blockprojectile" value="1" /> </item> <item id="12151" article="an" name="open door"> <attribute key="type" value="door" /> </item> <item id="12158" article="a" name="closed door"> <attribute key="type" value="door" /> <attribute key="blockprojectile" value="1" /> </item> <item id="12160" article="an" name="open door"> <attribute key="type" value="door" /> </item> • Em data/movements/scripts crie uma pasta doors - Nessa pasta você poderá adicionar outros ids de portas futuramente e manter organizado. - Dentro de doors, crie dois arquivos: closingdoorH e closingdoorV (.lua) e cole o mesmo código abaixo nos dois: - Se seus ids forem diferentes presta atenção nessa parte, na antepenúltima linha dos dois scripts: --> | doTransformItem(item.uid, item.itemid - 2) | <-- • O que essa linha faz: - Se a minha porta ABERTA é ID12151, ao tirar o pé pra fora dela essa linha vai fazer a porta se transformar em 2 ids anteriores, nesse caso a porta FECHADA ID 12149. (12151 - 12149 = 2) - Então por exemplo, se a sua porta aberta for 12180 e a fechada 12150, é assim que tem que ser: --> | doTransformItem(item.uid, item.itemid - 30) | <-- Código: function onStepOut(cid, item, position, fromPosition) if(getTileInfo(position).creatures > 0) then return true end local newPosition = {x = position.x, y = position.y, z = position.z} if(isInArray(verticalOpenDoors, item.itemid)) then newPosition.x = newPosition.x + 1 else newPosition.y = newPosition.y + 1 end doRelocate(position, newPosition) local tmpPos = position tmpPos.stackpos = -1 local i, tmpItem, tileCount = 1, {uid = 1}, getTileThingByPos(tmpPos) while(tmpItem.uid ~= 0 and i < tileCount) do tmpPos.stackpos = i tmpItem = getTileThingByPos(tmpPos) if(tmpItem.uid ~= item.uid and tmpItem.uid ~= 0 and not isMoveable(tmpItem.uid)) then doRemoveItem(tmpItem.uid) else i = i + 1 end end doTransformItem(item.uid, item.itemid - 2) return true end Se preferir, use a versão configurável pra não se perder nas linhas: Em data/movements/movements.xml <movevent type="StepOut" itemid="12151" event="script" value="doors/closingdoorh.lua"/> <movevent type="StepOut" itemid="12160" event="script" value="doors/closingdoorv.lua"/> ------- • ------- PARTE 2 --- • --- Em data/actions/actions.xml adicionei: <action itemid="12149" event="script" value="doors/door01.lua"/> <action itemid="12158" event="script" value="doors/door02.lua"/> • Em data/actions/scripts crie uma pasta doors - Nessa pasta você poderá adicionar outros ids de portas futuramente e manter organizado. - Dentro de doors, crie dois arquivos: door01 e door02. - No meu caso, como as duas portas tem a mesma diferença de IDS o script fica o mesmo, então vou colar apenas 1 e você configura como quiser. door01.lua/door02.lua function onUse(cid, fromPos, toPos, itemEx) local config = { did = 2, -- Diferença de IDS entre a portas fechada/aberta level = 100, -- level necessario eff = 14, -- efeito ao abrir a porta txt = MESSAGE_EVENT_ADVANCE, -- txt = tipo e cor da mensagem. -- -- ... -- Exemplo: txt = MESSAGE_EVENT_ADVANCE, -- } -- -- MESSAGE_STATUS_CONSOLE_RED -> Texto em vermelho no default chat. -- MESSAGE_STATUS_CONSOLE_ORANGE -> Texto em laranja no default chat. -- MESSAGE_STATUS_CONSOLE_BLUE -> Texto em azul no default chat. -- MESSAGE_EVENT_ADVANCE -> Texto em branco na tela. -- MESSAGE_STATUS_WARNING -> Texto em vermelho na tela. -- MESSAGE_INFO_DESCR -> Texto em verde na tela. -- MESSAGE_EVENT_DEFAULT -> Texto em branco no server log. } local levelcheck = getPlayerLevel(cid) if levelcheck >= config.level then doTeleportThing(cid, toPos) doSendMagicEffect(getCreaturePosition(cid), (config.eff)) doTransformItem(itemEx.uid, itemEx.itemid + config.did) else doPlayerSendTextMessage(cid, config.txt, "Voce precisa ter level " ..config.level.." para entrar aqui") end end Informações no script.
  14. Olá pessoal, a uns 2 anos atras eu estava procurando source 8.54 com limite de efeitos aumentado e não achei e os tutorial que achei na época para aumentar os efeito não funcionava então passei a usar o server com o limite original do tibia que não me recordo qual é, enfim hoje em dia aprendi e como vi que tem gente com o mesmo problema que eu tinha resolvi compartilhar-las. Lembrando elas estão só com o limite de efeitos e distance effect aumentados para 255 e 81 respectivamente. Testei ambas compilando com o dev-cpp e esta compilando normal, e a source 0.4 também testei em linux e também esta compilando normal. Source, Tfs 0.3.6 (8.54): Download Scan Source, Tfs 0.4 (8.60): Download Scan Caso não saibam compilar usando o Dev-cpp vejam esse tutorial que usei quando eu não sabia: Tutorial
  15. Eu estou procurando por um skrypt que chekee o mais dmg no monstro..!
  16. Bom Gente eu Peguei este script http://www.tibiaking.com/forum/topic/18356-anti-clone-system/ e esta dando este erro no distro. e aqui esta o script Alguem poderia me ajudar eu uso TFS 0.4 e 8.60 Já agradeço e +REP cada tópico de ajuda...
  17. boa dia galera do TK, eu compilei meu servidor, para colocar, war system e tal, mais to tendo 1 problema na hora de carregar ele carrega as funções chega na parte do map aparece isso FATAL : OTBM Loader - could not open the file data/world/icewars. como na imagem abaixo quem puder ajudar dou REP+++ , estou precisando mt voltar com servidor online !!! @Xagah
  18. Hail, Durin! Fiz esse sisteminha simples baseado na ideia do @Chriistian . Pode ter utilidade para servidores que queiram implementar o RPG, utilizando em quests dando dicas. Testado em TFS 0.4. Funcionamento: Ao usar uma estante de livros, o player ganha um livro. Comando !book : Mostra todos os livros que o player conseguiu. Ao usar outras estantes: Comando !book Título_do_livro: Mostra o livro para o player. [MOD] Configuração: {aid = 17710, title = "Criar cerveja", icon = 4839} --> ActionID da estante, título do livro, ícone que aparecerá no livro stories = { [1] = {"Escreva a história do book[1] aqui. Separe por vírgulas para facilitar a escrita no script.", " Pode ser que o texto seja muito grande, então isso ajudará na visualização."}, Coloquei para as estantes de id 1718 e 1721, caso queira colocar outras, adicione na linha: <action itemid="1718;1721" event="script"> That's all folks!
  19. Olá. Eu gostaria que podesse adicionar a função para que ao clicar no item ele se transformasse em outro item e após 5 minutos este item voltasse ao normal e retirar esse tempo para poder clicar de novo. OBS: Caso possivel se tiver como colocar para os monstros serem aleatorios de acordo o level. Tipo ao clicar aparecer uma wave de monstro de acordo o lvl . Vou detalhar no script oque deve fazer. Segue script:
  20. olá Galera do TK, estou aqui para pedir uma ajuda em um script de Frags e Deaths que eu uso, ele está contando totalmente errado os deaths, ele conta muito mais a cada 1 morte !!! ele conta muito mais deaths, e se alguem puder olhar se os frags estão contando mt mais do que matou também e arrumar seria bom, para ficar certinho as Frags e as Deaths !!! darei REP+ par todos qe ajudar @Xagah , @Sekk function getDeaths(cid) local query, d = db.getResult("SELECT `player_id` FROM `player_killers` WHERE `player_id` = " ..getPlayerGUID(cid)), 0 if (query:getID() ~= -1) then repeat d = d+1 until not query:next() query:free() end return d end function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } return size.day + size.week + size.month end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then return doPlayerSetSpecialDescription(thing.uid, '\n'.. '[Frags: ' .. getPlayerFrags(thing.uid) .. ' - Deaths: ' .. getDeaths(thing.uid) .. ']') elseif thing.uid == cid then local string = 'You see yourself.' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end string = string..'\n'.. '[Frags: ' .. getPlayerFrags(cid) .. ' - Deaths: ' .. getDeaths(cid) .. ']' if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end return false, doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) end return 1 end
  21. Olá pessoal, trago para vocês um script talkaction que add e remove premium points por comandos in-game. Primeira, vá em data/talkactions/talkactions.xml e add a tag: <talkaction words="/addpoints;/removepoints" access="3" script="premium_points.lua"/> Depois crie um arquivo chamado premium_points.lua em data/talkactions/scripts/ e coloque esse código dentro: function onSay(cid, words, param) local t = string.explode(param, ",") if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Missing params.") return true end local player, balance, pid = getPlayerByName(t[1]), t[2], getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "That players doesnt exist or is offline.") return true end if t[2] == null then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Missing ammount of points.") return true end local accountName = getPlayerAccount(player) local accountPoints = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `name` = '" .. accountName .. "' LIMIT 1;") local points = tonumber(accountPoints:getDataInt("premium_points")) local name = getPlayerName(cid) if(words == "/addpoints") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You added "..balance.." premium points to "..t[1].." account.") doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, "You got "..balance.." premium points from "..name..".") points = (points+balance) db.query("UPDATE `accounts` SET `premium_points` = " .. points .. " WHERE `name`='" .. accountName .. "' LIMIT 1;") elseif (words == "/removepoints") then points = (points-balance) if points < 0 then doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, ""..name.." removed all your premium points.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You removed all "..t[1].." account premium points.") db.query("UPDATE `accounts` SET `premium_points` = '0' WHERE `name`='" .. accountName .. "' LIMIT 1;") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You removed "..balance.." premium points to "..t[1].." account.") db.query("UPDATE `accounts` SET `premium_points` = " .. points .. " WHERE `name`='" .. accountName .. "' LIMIT 1;") doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, ""..name.." removed "..balance.." premium points from your account.") end end return true end Para usar é simples: /COMANDO PLAYER, QUANTIDADE exemplo: /addpoints Luan, 10 Créditos: Shispa Bem simples né pessoal? Espero que ajude, abraços e até mais!
  22. Olá para todos. Ainda sou bastante inexperiente criando scripts e editando os arquivos .cpp das sources, e por isso venho pedir ajuda. Estou tentando criar algumas novas "skills" (atributos), dentre os quais, uma equivalente a "vitalidade". Observando os arquivos .cpp, percebo que a programação faz com que o valor de HP/MP a ser aumentado conforme o player avança de nível seja retirado de um valor string recebida no vocations.lua. A minha ideia é fazer com que as vocações aumentem o HP/MP máximo ao avançarem de level não conforme este valor fixo, mas conforme uma formula baseada nesta mesma skill criada. Isso seria possível? Alguém tem alguma ideia de como produzir tal efeito em uma base TFS 0.4? Agradeço antecipadamente toda e qualquer contribuição.
  23. Olá pessoal. Este é meu primeiro tópico trazendo algum conteúdo, então por favor peguem leve nas criticas xD demonstração de como vai ficar o script depois de pronto: não tem nada de complicado pessoal, basta prestar atenção nas fotos, e se não der para fazer igual use a criatividade. INSTALANDO O SISTEMA: primeiramente vocâ deve abrir o RME, escolher o local desejado e seguir os seguintes passos. agora vamos configurar a parte do script. abra data/actions/actions.xml -> organizadamente adicione esta tag; <action actionid="8001-8002" event="script" value="catapulta.lua"/> aqui voce vai utilizar uma 'actionID para colocar atraves do RME na catapulta' agora vá para data/actions/scripts -> faça 1 copia de qualquer arquivo.lua e renomeie para ' catapulta ' feito isso, abra o arquivo e adicione isto dentro dele; local positions = { {x = 1292, y = 969, z = 4}, {x = 1292, y = 972, z = 3}, {x = 1293, y = 974, z = 2}, {x = 1293, y = 976, z = 2}, {x = 1292, y = 976, z = 3} } function doTpDelayTwo(cid, delay) if delay > 0 then doTeleportThing(cid, positions[delay]) doSendMagicEffect(getThingPos(cid), 2) doSendMagicEffect(getThingPos(cid), 66) addEvent(doTpDelayTwo, 180, cid, delay-1) end end function onUse(cid, item, frompos, item2, topos) doTpDelayTwo(cid, #positions) return true end para configurar é bem simples aonde esta destacado em vermelho você deve por as positions correspondente aos tiles invisíveis que você adicionou no rme, lembra?, vale lembrar que a inteção é fazer com que o player faça um trajeto correto (subida e descida como se tivesse sido arremessado para o auto) para isso acontecer você deve prestar atenção na hora de configurar as positions. se precisar adicionar mais position que o original, basta ir adicionando novas linhas, siga o exemplo abaixo. eu achei bem bacana este sisteminha, porque pode ser feito bastante coisa legal com ele! aqui esta um outro exemplo do que eu fiz com este script, você também podera facilmente abusando da criatividade, adicionar bastante coisa legal no seu servidor com ele. CREDITOS: @Vodkart pelo grandioso script eu não mereço credito pois apenas pus em pratica o script de uma forma elaborada, apenas usei a criatividade. espero que alguém use este sistema, por favor deixe seu comentário sobre o que achou ! REP+ se tiver achado legal !
  24. Versão: 8.6 TFS: 0.4 Mapas: Smaug City e Mundo Ninja (Próprio; Kemmlly) Sistemas: Sistemas de Reputação, Progresso (No site), Task, Cast, Parceiro, Cadeia, Reset, Pet e VIP. Quests: Próprias do servidor, com progresso no site e no jogo. Vocações: Padrões, com evolução para Ninja. Itens: Modificados, apenas 4 SETS completos e com quests relacionadas a task. VIP: Shop VIP com sistema pagseguro automático e promoção para usuários do TK. Eventos: BattleField (Automatico), CTF (Automático), Homem de Gelo (Automático), Dice Event (Tutores), Desert (Automatico), SnowBall (Automatico). Site e IP: smaugserver.servegame.com VAGAS: CM MAPPER
  25. Se algum de vocês marcados quiserem algum dos elementos que tenho no Smaug Sever, deixa o REP e me fala nas mensagens que eu compartilho sem problema algum. Está concluído o meu servidor Smaug Server, venho a um bom tempo investindo nele, feito do zero e com mta dedicação. Dados do servidor: Versão: 8.6 TFS: 0.4 Mapas: Smaug City e Mundo Ninja (Próprio; Kemmlly) Sistemas: Sistemas de Reputação, Progresso (No site), Task, Cast, Parceiro, Cadeia, Reset, Pet e VIP. Quests: Próprias do servidor, com progresso no site e no jogo. Vocações: Padrões, com evolução para Ninja. Itens: Modificados, apenas 4 SETS completos e com quests relacionadas a task. VIP: Shop VIP com sistema pagseguro automático e promoção para usuários do TK. Eventos: BattleField (Automatico), CTF (Automático), Homem de Gelo (Automático), Dice Event (Tutores), Desert (Automatico), SnowBall (Automatico). Site e IP: smaugserver.servegame.com Imagens: Usuário do TK ganham 20% a mais na compra de pontos. @elipe @Mathwsz @AllanSilva @di12345d @Master68 @vitornobre @jeddhemi @Leo Zanin @The Trevas @Thunder Black @julhinhuu @Ribeiro Foda @Striker @gcmcorrea @kauan13 @Leo Zanin @bielmattos @arcuz @LucasSouzaaa @murilao @Wesleyvvv

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...