Ir para conteúdo

Fóruns

  1. A Cidade OTBR

    1. OTServ Brasil

      Todas as informações sobre o website OTServ Brasil.

      35
      posts
    2. Atendimento

      Alguma crítica, sugestão ou dúvida em relação ao fórum?

      176
      posts
    3. Taverna

      Lar dos anciões, nobres, trolls e gênios oprimidos.

      50010
      posts
  2. Projetos Open Source

    1. Canary

      Um emulador de servidor MMORPG gratuito e de código aberto escrito em C ++ para a comunidade OpenTibia.

      • Não há posts ainda
    2. OTServBR-Global

      Um servidor de Tibia Global para a comunidade OpenTibia.

      • Não há posts ainda
    3. Mehah OTClient

      Cliente de Tibia alternativo para otserv escrito em C++20 e Lua, feito com um sistema modular que usa scripts lua para interface e funcionalidade do jogo, tornando o otclient flexível e fácil de personalizar.

      • Não há posts ainda
    4. MyAAC

      Um criador de contas automático gratuito e de código aberto escrito em PHP.

      • Não há posts ainda
  3. Outros

    1. Design

      Tudo sobre manipulação de imagens.

      76402
      posts
  • Nossos Destaques

    • Mapa: OTBR Global Map

      Tamanho: 38MB

      Atualizado Por: JonhneVictor

      Versão: 12.70


      Áreas :

      Antrum of the Fallen - pos 32603, 31844, 10 

      Bounacean Lion - pos 32470, 32492, 8  

      Boss Room Neferi The Spy - 33886, 31477, 6  

      Boss Room Sister Hetai -33883, 31467, 9  

      Cursed Crypt - pos 32601, 31861, 9  

      Deathling Menace - pos 32366, 32543, 8  

      Dwelling of the Forgotten - pos 32062, 31461, 11  

      Forest of Life - pos 32399, 32496, 11  

      Grotto of the Lost - pos 32123, 31442, 14  

      Ruins of Nuur - pos 33806, 31692, 8  

      Salt Caves - pos 33970, 31652, 7  

      Too Hot To Handle - pos 32603, 31844, 10  

      Task: Lava Fishing - pos 32532, 31086, 15  

      Task: The Mega Magmaoid - pos 32529, 31154, 15

       Room Lesh The Seer - pos 32406, 32470, 6  

      Stealth Mission - pos 33894, 31311, 15  

      Supply Mission - pos 33964, 31307, 15  

      1st Mate Ratticus - pos 33897, 31391, 15  

      The Trekkie's Journey - pos 33960, 31375, 15

       Haunted House - pos 32690, 32241, 6  

      Tomb of Scarlet - pos 33101, 32630, 8  

      1 Andar Tibia Cults - pos 33039, 31911, 14

       Hunt Feaster of Soul - pos 31912, 32355, 8 
      • 1 resposta
    • Olá, Aventureiro!

      Como de costume, gostaríamos de aproveitar essa oportunidade para agradecer a todos vocês pela extraordinária (e lendária) dedicação em manter o cenário OTServ ainda mais vivo e em constante evolução. Somos imensamente gratos por ser parte dessa comunidade para tantos usuários por quase duas décadas (18 anos!) e ajudar vocês a explorarem sua criatividade e capacidade de criação.

      Nós do OTServ Brasil desejamos a todos um feliz e próspero ano novo. Que esta nova jornada que se inicia traga ainda mais aventuras, conteúdos de qualidade, amizades e claro, muito OTSERV! 

      Relembre conosco todos os conteúdos em destaque que passaram pela Cidade OTBR no ano de 2021!

      Atenciosamente,
      Equipe OTServ Brasil.

      2004-2022
      • 1 resposta
    • Olá, Aventureiro!
      Chegamos ao final de mais uma longa jornada pelas Terras Tibianas.

      E bem, o que podemos falar de 2020?
      Sem dúvida um ano marcado por inúmeros desafios para todos nós. Em um mundo que precisou se reinventar durante uma pandemia, muitos fizeram do Open Tibia seu refúgio para momentos tão difíceis. Nele fizeram novas amizades, reencontraram velhos amigos, enfrentaram novos desafios e principalmente, deram boas risadas. Somos gratos por ser parte desse refúgio para tantos usuários por mais de uma década e ajudar vocês à explorarem toda sua criatividade e capacidade de criação.

      Nós do OTServ Brasil desejamos a todos um feliz e próspero ano novo.

      Que esta nova jornada nos traga não apenas mais OTServ, mas novos aprendizados e lembranças memoráveis.

      Pra você que perdeu os melhores conteúdos que deram as caras pela nossa comunidade, gostaríamos de convida-lo à conferir nossa Linha do Tempo 2020, uma seleção de conteúdos selecionados à dedo pela nossa equipe. Relembre conosco todos os conteúdos em destaque que passaram pela Cidade OTBR!
       
      Não pense que este é o fim!

      Nós temos um encontro marcado em 2021, com muitas novidades, conteúdo de qualidade e fazendo o melhor possível pelos cidadãos e viajantes que transitam pela Cidade OTBR.

      Nosso muito obrigado à todos vocês.

      Atenciosamente,
      Equipe OTServ Brasil.

      2004-2021
      • 0 respostas
    • Fala, Tibianos!

      Nós do OTServ Brasil desejamos a todos um feliz e próspero ano novo e que com ele venha ótimos momentos, recordações, diversão e muito OTServ!
      • 6 respostas
    • OTServBR-Global - Protocolo 12!

      Fala pessoal, 

      Nós do OTServ Brasil estamos apoiando o projeto OTServBR-Global que tem como objetivo de ajudar a comunidade OpenTibia com um servidor de Tibia Global sempre atualizado com os melhores conteúdos, limpos e funcionais.

      Hoje temos uma nova atualização para apresentar a vocês: Protocolo 12! Segue algumas imagens abaixo:

      Acesse o repositório com a atualização do Protocolo 12:

      https://github.com/opentibiabr/OTServBR-Global/tree/develop

      Acesse o tópico do OTServBR-Global e confira mais informações:

      Queremos convidá-los a fazer parte do desenvolvimento do projeto, pois será disponibilizado gratuitamente para todos. Para contribuir, não é necessário entender programação. Você pode ajudar a testar e reportar bugs, com sugestões e ideias através do repositório no Github, WhatsApp e Discord: 

      Acesse o Github do OTServBR-Global:

      https://github.com/opentibiabr/OTServBR-Global

      Acesse o WhatsApp do OTServBR-Global:

      https://chat.whatsapp.com/FWca9zJxOnXHlcxyjfwXaQ

      Acesse o Discord do OTServBR-Global:

      https://discord.gg/3NxYnyV

      Atenciosamente,

      OTServ Brasil.
      • 7 respostas
    • Fala, Tibianos!

      Nós do OTServ Brasil desejamos a todos um feliz e próspero ano novo e que com ele venha ótimos momentos, recordações, diversão e muito OTServ! 
      • 0 respostas
    • Fala, galera!

      Para facilitar a pesquisa e incentivar o desenvolvimento, nós do OTServ Brasil criamos um grupo no Github com cópias de repositórios de coisas e projetos relacionados ao Open Tibia. 

      No Github OTBR você pode encontrar: 

      - Servidores,

      - Utilitários,

      - Scripts,

      - Mapas, 

      - Códigos,

      - Websites e aplicações,

      - Sprites,

      - OTClient,

      - E muito mais!

      Se alguém desenvolve algo Open Source e gostaria de ter maior divulgação, pode entrar em contato conosco no Discord:

       

      E nós adicionaremos o seu repositório em nosso grupo!

      Acessem o nosso grupo no Github:


      Atenciosamente,

      OTServ Brasil.
      • 2 respostas
    • Fala, Tibianos!

      Nós do OTServ Brasil desejamos a todos um feliz e próspero ano novo e que com ele venha ótimos momentos, recordações, diversão e muito OTServ!

      Obrigado a todos que participam desta comunidade após todos esses anos e continuam contribuindo de alguma forma pela existência do Open Tibia, sem vocês, o fórum não seria nada.
      • 0 respostas
    • Nossa comunicação não é somente através desta comunidade, nós agora estamos presentes também no Discord! 

      Para participar de nosso chat, basta seguir as regras e acessar o link abaixo: 

      Entre em nosso Discord:

      https://discordapp.com/invite/q3e56R2

      Regras Gerais do Discord:

      - Não é permitido spam ou flood no chat;

      - Respeite os outros usuários;

      - É proibido qualquer tipo de propaganda;

      - É proibido fazer pedidos ou solicitar suporte sobre OTServ;

      - Você pode fazer um tópico na seção de Suporte e postar o link no chat solicitando ajuda;

      - É proibido postar arquivos ou sites mal-intencionados no chat.

      O descumprimento dessas regras pode ocasionar na expulsão ou banimento do usuário do chat.
      • 2 respostas
    • Novo Visual;

      Clubes;
      -- Substitui a antiga seção "Projetos Promovidos";

      Reações;
      -- Positivas: Curtir, Obrigado, Reputação Positiva;
      -- Neutras: Haha, Confuso, Triste;
      -- Negativas: Desabilitadas;

      Integração do fórum com o Facebook;

      Sistema do fórum atualizado para a versão mais recente do IPB.
      • 6 respostas
  • Estatísticas Gerais

    48741
    Tópicos
    543747
    Posts
    358185
    Membros
    10476
    Recorde Online
    almeidacr3
    Membro Mais Novo
    almeidacr3
    Registro em 03/22/22 18:44
  • Quem Está Online   0 Membros, 0 Anônimos, 30 Visitantes (lista completa)

    Não há membros online no momento

  • Tópicos

  • Posts

    • Majesty
      Muito obrigado pela sua contribuição, seu conteúdo foi aprovado!
      Nós do OTServ Brasil agradecemos, seu conteúdo com certeza ajudará a muitos outros. 
      Você recebeu +1 REP!
    • Majesty
      Muito obrigado pela sua contribuição, seu conteúdo foi aprovado!
      Nós do OTServ Brasil agradecemos, seu conteúdo com certeza ajudará a muitos outros. 
      Você recebeu +1 REP!
    • Majesty
      Muito obrigado pela sua contribuição, seu conteúdo foi aprovado!
      Nós do OTServ Brasil agradecemos, seu conteúdo com certeza ajudará a muitos outros. 
      Você recebeu +1 REP!
    • lucas-giovanni
      [Revscriptsys] Online Points data/scripts/custom/online_points.lua local config = { storage = 20000, pointItemId = 25380, pointsPerHour = 1, checkDuplicateIps = false } local onlinePointsEvent = GlobalEvent("GainPointPerHour") function onlinePointsEvent.onThink(interval) local players = Game.getPlayers() if #players == 0 then return true end local checkIp = {} for _, player in pairs(players) do local ip = player:getIp() if ip ~= 0 and (not config.checkDuplicateIps or not checkIp[ip]) then checkIp[ip] = true local seconds = math.max(0, player:getStorageValue(config.storage)) if seconds >= 3600 then player:setStorageValue(config.storage, 0) local item = player:addItem(config.pointItemId, config.pointsPerHour) if item then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce recebeu um Online Token por estar online por uma hora.") end return true end player:setStorageValue(config.storage, seconds +math.ceil(interval/1000)) end end return true end onlinePointsEvent:interval(10000) onlinePointsEvent:register()  
    • lucas-giovanni
      [Revscriptsys][Talkaction][Modal] Buy Runes, Potions and Arrows data/scripts/custom/ local arrows = { titleMsg = "Arrow e Bolt", mainMsg = "Selecione para comprar.", moneyMsg = "Voce nao tem dinheiro!", capacityMsg = "Voce esta sem cap.", buyMsg = "Voce comprou ", [1] = {potion = "spectral bolt", itemID = 40737, price10 = 100, price50 = 50000, price100 = 10000}, [2] = {potion = "diamond arrow", itemID = 40736, price10 = 100, price50 = 5000, price100 = 10000}, [3] = {potion = "assassin star", itemID = 7368, price10 = 100, price50 = 5000, price100 = 10000}, } local buyarrows = TalkAction("!arrows") function buyarrows.onSay(player, words, param) player:sendShopWindow(arrows) return true end buyarrows:separator(" ") buyarrows:register() local potions = { titleMsg = "Loja de Potion", mainMsg = "Selecione uma para comprar.", moneyMsg = "Voce nao tem dinheiro!", capacityMsg = "Voce esta sem cap.", buyMsg = "Voce comprou ", [1] = {potion = "Health Potion", itemID = 7318, price10 = 450, price50 = 2250, price100 = 4500}, [2] = {potion = "Mana Potion", itemID = 7620, price10 = 500, price50 = 2500, price100 = 5000}, [3] = {potion = "Strong Mana Potion", itemID = 7589, price10 = 800, price50 = 4000, price100 = 8000}, [4] = {potion = "Strong Health Potion", itemID = 7588, price10 = 1000, price50 = 5000, price100 = 10000}, [5] = {potion = "Great Health Potion", itemID = 7591, price10 = 1900, price50 = 9500, price100 = 19000}, [6] = {potion = "Great Mana Potion", itemID = 7590, price10 = 1200, price50 = 6000, price100 = 12000}, [7] = {potion = "Great Spirit Potion", itemID = 8472, price10 = 1900, price50 = 9500, price100 = 19000}, [8] = {potion = "Ultimate Health Potion", itemID = 8473, price10 = 3100, price50 = 15500, price100 = 31000}, [9] = {potion = "Ultimate Mana Potion", itemID = 26029, price10 = 3500, price50 = 17500, price100 = 35000}, [10] = {potion = "Ultimate Spirit Potion", itemID = 26030, price10 = 3500, price50 = 17500, price100 = 35000}, [11] = {potion = "Supreme Health Potion", itemID = 26031, price10 = 5000, price50 = 25000, price100 = 50000}, } local buypotions = TalkAction("!potions") function buypotions.onSay(player, words, param) player:sendShopWindow(potions) return true end buypotions:separator(" ") buypotions:register() local runes = { titleMsg = "Loja de Runas", mainMsg = "Selecione uma para comprar.", moneyMsg = "Voce nao tem dinheiro!", capacityMsg = "Voce esta sem cap.", buyMsg = "Voce comprou ", [1] = {potion = "sudden death rune", itemID = 2268, price10 = 500, price50 = 2500, price100 = 5000}, [2] = {potion = "explosion rune", itemID = 2313, price10 = 310, price50 = 1550, price100 = 3100}, [3] = {potion = "fire bomb rune", itemID = 2305, price10 = 550, price50 = 2750, price100 = 5500}, [4] = {potion = "wild growth rune", itemID = 2269, price10 = 1600, price50 = 8000, price100 = 16000}, [5] = {potion = "ultimate healing rune", itemID = 2273, price10 = 1750, price50 = 8750, price100 = 17500}, [6] = {potion = "paralyze rune", itemID = 2278, price10 = 5000, price50 = 25000, price100 = 50000}, [7] = {potion = "magic wall rune", itemID = 2293, price10 = 550, price50 = 2750, price100 = 5500}, [8] = {potion = "great fireball rune", itemID = 2304, price10 = 450, price50 = 2250, price100 = 4500}, [9] = {potion = "avalanche rune", itemID = 2274, price10 = 250, price50 = 1250, price100 = 2500}, } local buyrunes = TalkAction("!runes") function buyrunes.onSay(player, words, param) player:sendShopWindow(runes) return true end buyrunes:separator(" ") buyrunes:register()   data/lib/lib.lua dofile('data/lib/custom/buy_arrows.lua') dofile('data/lib/custom/buy_runes.lua') dofile('data/lib/custom/buy_potions.lua')   data/lib/custom/buy_arrows.lua function Player:sendShopWindow(arrows) local function buttonCallback(button, choice) local count = 0 local price = 0 local arrow = arrows[choice.id] if not arrow then print("Something went wrong with choice id: " .. choice.id) return false end if button.text == "100" then count = 100 price = arrow.price100 elseif button.text == "500" then count = 500 price = arrow.price500 elseif button.text == "1000" then count = 1000 price = arrow.price1000 else print("Something went wrong with button: " .. button.text) return false end if self:getMoney() < price then self:say(arrows.moneyMsg, TALKTYPE_MONSTER_SAY) return false end local arrowEx = Game.createItem(arrow.itemID, count) if self:addItemEx(arrowEx, false) ~= RETURNVALUE_NOERROR then self:getPosition():sendMagicEffect(CONST_ME_POFF) self:say(arrows.capacityMsg, TALKTYPE_MONSTER_SAY) return true end self:removeMoney(price) self:sendTextMessage(MESSAGE_EVENT_ADVANCE, arrows.buyMsg .. count .. "x ".. arrow.arrow .."s") self:sendShopWindow(arrows) end local window = ModalWindow { title = arrows.titleMsg, message = arrows.mainMsg, } window:addButton("cem", buttonCallback) window:addButton("500", buttonCallback) window:addButton("1000", buttonCallback) window:addButton("Cancel") window:setDefaultEnterButton("100") window:setDefaultEscapeButton("Cancel") for i = 1, #arrows do local o = arrows[i].arrow local choice = window:addChoice(o) choice.id = i end window:sendToPlayer(self) end   data/lib/custom/buy_runes.lua function Player:sendShopWindow(runes) local function buttonCallback(button, choice) local count = 0 local price = 0 local rune = runes[choice.id] if not rune then print("Something went wrong with choice id: " .. choice.id) return false end if button.text == "100" then count = 100 price = rune.price100 elseif button.text == "50" then count = 50 price = rune.price50 elseif button.text == "10" then count = 10 price = rune.price10 else print("Something went wrong with button: " .. button.text) return false end if self:getMoney() < price then self:say(runes.moneyMsg, TALKTYPE_MONSTER_SAY) return false end local runeEx = Game.createItem(rune.itemID, count) if self:addItemEx(runeEx, false) ~= RETURNVALUE_NOERROR then self:getPosition():sendMagicEffect(CONST_ME_POFF) self:say(runes.capacityMsg, TALKTYPE_MONSTER_SAY) return true end self:removeMoney(price) self:sendTextMessage(MESSAGE_EVENT_ADVANCE, runes.buyMsg .. count .. "x ".. rune.rune .."s") self:sendShopWindow(runes) end local window = ModalWindow { title = runes.titleMsg, message = runes.mainMsg, } window:addButton("10", buttonCallback) window:addButton("50", buttonCallback) window:addButton("100", buttonCallback) window:addButton("Cancel") window:setDefaultEnterButton("100") window:setDefaultEscapeButton("Cancel") for i = 1, #runes do local o = runes[i].rune local choice = window:addChoice(o) choice.id = i end window:sendToPlayer(self) end   data/lib/custom/buy_potions.lua function Player:sendShopWindow(potions) local function buttonCallback(button, choice) local count = 0 local price = 0 local potion = potions[choice.id] if not potion then print("Something went wrong with choice id: " .. choice.id) return false end if button.text == "100" then count = 100 price = potion.price100 elseif button.text == "50" then count = 50 price = potion.price50 elseif button.text == "10" then count = 10 price = potion.price10 else print("Something went wrong with button: " .. button.text) return false end if self:getMoney() < price then self:say(potions.moneyMsg, TALKTYPE_MONSTER_SAY) return false end local potionEx = Game.createItem(potion.itemID, count) if self:addItemEx(potionEx, false) ~= RETURNVALUE_NOERROR then self:getPosition():sendMagicEffect(CONST_ME_POFF) self:say(potions.capacityMsg, TALKTYPE_MONSTER_SAY) return true end self:removeMoney(price) self:sendTextMessage(MESSAGE_EVENT_ADVANCE, potions.buyMsg .. count .. "x ".. potion.potion .."s") self:sendShopWindow(potions) end local window = ModalWindow { title = potions.titleMsg, message = potions.mainMsg, } window:addButton("10", buttonCallback) window:addButton("50", buttonCallback) window:addButton("100", buttonCallback) window:addButton("Cancel") window:setDefaultEnterButton("100") window:setDefaultEscapeButton("Cancel") for i = 1, #potions do local o = potions[i].potion local choice = window:addChoice(o) choice.id = i end window:sendToPlayer(self) end  
  • Mais Reputados

    Ninguém foi reputado ainda esta semana.

  • Tags

×