Jump to content
Close

Leaderboard


Popular Content

Showing content with the highest reputation since 06/24/19 in all areas

  1. 9 points
    Salve salve pessoal, no inicio desse ano estava dando uma estudada e mexendo com a TFS 0.4 rev3884, e vi que havia alguns bugs e que não tinha Cast incluso. Com base nisso decidi atualizar e otimizar a source, já que ainda ela é uma das mais utilizadas no mundo de Otserv. Um rapaz tinha me procurado e comprado ela por um preço razoavel, mas ao descobrir que ele estava revendendo por um preço bem maior, decidi compartilhar esse meu trabalho com vocês! Acredito que possa ser uma das melhores REV atualmente. Conto com o seu feedback, caso haja algum bug, algo que tenha que mudar/optimizar, não exite em avisar aqui no tópico. Toda ajuda será bem vinda xD The Forgotten Server, Tibia Versão: 8.60 O que contém nela? Dentro da pasta contém o config.lua com todas as tag já adicionadas. Não esquecam de executar a Query do Cast na sua DB: Downloads uint8(Effects até 255) Distro: TheForgottenServer.exe Src + datapack: Source & Data ------------------------------------------------------- Downloads uint16(Effects até 65534) Distro: TheForgottenServer.exe Src + datapack: Source & Data É necessário fazer a modificação do Hexadecimal no cliente. Aqui tem um já pronto: Cliente.exe (só será necessario se utilizar a src com o uint 16.) ------------------------------------------------------- Scans: Distro(uint8) & Distro(uint16) Source Cliente Obs: Os virus detectado é um falso positivo, então não se preocupem! E para quem se interessa em saber onde se localiza os code do Cast, aqui está uma imagem. Você pode achar procurando por "//CAST" Façam um ótimo aproveito :D
  2. 8 points
    Beeny

    Extraindo sprite (pokepro, otpoke, etc)

    eae, se n me engano esse rolê não funciona no gla/pxg. mas, tem outros jeitos de pegar lá tb links: ninjaripper - https://gamebanana.com/tools/download/5638 dds converter - http://www.softsea.com/download/DDS-Converter.html scan: ninja ripper - https://www.virustotal.com/gui/file/60541e6a43661f0ee2e70c0a7cedb86d44a874e5376949db7a2e1f604fa5cdf1/detection dds - https://www.virustotal.com/gui/file/611d6bbb534b8a3210b2ca1e7954d6abc3055c6f2995833fbb04b6093f418263/detection
  3. 5 points
    DdJs

    Teleports Room | 10.98

    Teleports Room Version: 10.98 TPsRoom.rar [Scan] Type: .RAR Size: 11KB Position(s): [X: 1005 Y: 1029 Z: 9] File password: tibiaking 34 Monsters TPs 15 Quests/Events TPs Images:
  4. 4 points
    Atualização de 29/06/2019. Olá meus amigos, essa é a minha última contribuição free que faço na área de OTserver, fiz uma atualização bem completa do Gesior comparando com os que existem disponíveis, não vou falar muito pois grande parte já conhecem... Vou apenas posta algumas imagem das mudanças feitas. Sempre gostei de evoluir e de oferecer aos demais uma facilidade de obter um material grátis e de qualidade, nunca utilizei meu pouco conhecimento para prejudicar os demais, pelo o contrario sempre foi na intenção de ajudar e se em algum momento falhei, falhei inconscientemente. - Foi mudado algumas imagens de layout para renovar a estrutura. - Server Info + Most Power Ful Guilds na mesma estrura. - Create Account exigindo senhas com letras minusculas, maiúsculas e números, fortalecendo a segurança do seu cliente e dificultando futuras dores de cabeças. - Adicionado o mecanismo que identifica os valores de Premuim Points e Backup Points. - Algumas mudanças de layout. - Nome do player abaixo linkado. - Adicionado um Box de doação, com a intenção apenas de complementar o layout enriquecendo a pagina. - Fixado o bug edit town, e melhorado o layout. - Characters.php refeito, nesta imagem é uma visão de uma conta com access admin. - Visão normal. - Inventário completo. - Guilds com visão ampliada. - Detalhes... - Novo SHOP com as estrutura de layout melhorada e modernizada. - Sem BUGs lembre-se do CTRL + F5 para atualizar os cookies nesta pagina. - Detalhes... - Detalhes... - Detalhes... - Histórico do SHOP... DOWNLOAD SITE SHOP.LUA XAMPP 1.7.3 DATABASE LIMPA MYSQL DATABASE COMPLETA MYSQL TUTORIAIS ÚTEIS E COMPATÍVEIS PARA O SITE: PAGSEGURO AUTOMATICO SHOPGUILD BACKUP_POINTS SISTEMA VIP_TIME Créditos: Gesior.pl(WEBMaster) Felipe Monteiro(WEBMaster, WEBDesigner) Natanael Beckman(WEBNada) Nailan (WEBMaster) Ivens Pontes (WEBMaster) Marcio Porto (WEBMaster) Danyel Varejão (Programmer LUA, C++)
  5. 4 points
    Coltera

    Show OFF - Mapping

    Tópico atualizado! - HUNTS: 1 2
  6. 3 points
    Essa modificação permite que ao passar o mouse sobre um item, apareça uma descrição do item. Não tem como causar lag no servidor nem no cliente, pois carrega as informações dentro do arquivo na TAG itemsList Vai em otclient/modules/game_interface/widgets e abra o arquivo uiitem.lua Procure por function UIItem:onHoverChange(hovered) UIWidget.onHoverChange(self, hovered) Salte uma linha e coloque o código abaixo
  7. 3 points
    vá até data\creaturescripts\scripts e crie um arquivo.lua e renomeie para preparedeathred.lua dentro coloque: function onDeath(cid, corpse, deathList) if (getPlayerSlotItem(cid, 2).itemid == 13755) then -- id do colar doCreatureSetDropLoot(cid, getPlayerSkullType(cid) >= 4 and true or false) if getPlayerSkullType(cid) >= 4 then doPlayerRemoveItem(cid, 13755, 1) end end return true end em data\creaturescripts\scripts\login.lua adiciona a linha: registerCreatureEvent(cid, "RedSkullAmulet") creaturescripts.xml adicione: <event type="death" name="RedSkullAmulet" event="script" value="preparedeathred.lua"/> em items.xml deixa assim: <item id="13755" article="a" name="Amulet Vip"> <attribute key="description" value="Protect All 6%, Dropa os items apenas RedSkull" /> <attribute key="weight" value="500" /> <attribute key="absorbPercentAll" value="6" /> <attribute key="slotType" value="necklace" />
  8. 3 points
    Em data/actions/scripts, crie um arquivo .lua, nomeie-o e cole o código dentro. Em data/actions, abra o arquivo actions.xml e adicione esta tag: <action itemid="1445;3365" event="script" value="SEU ARQUIVO.lua"/> Em itemid você passa o id dos barris e separa eles por vírgulas, assim você não precisa criar 1 tag para cada barril. Em data/creaturescripts/scripts, abra o login.lua e procure pela função onLogin(cid). Abaixo dela adicione: local barrelStr = {264017, 264028} -- Coloque aqui as storages de cada barril for i,_ in ipairs(barrelStr) do if getPlayerStorageValue(cid, barrelStr[i]) < 0 then setPlayerStorageValue(cid, barrelStr[i], 0) end end OBS: As storages de cada barril precisam ser diferentes uma da outra. Esse script que você vai adicionar em creaturescripts é pra que quando o player logue ele já receba a storage 0 e a contagem de usos (quantas vezes ele poderá usar o barril) ocorra sem erros.
  9. 3 points
    DdJs

    Temple of Sacrifice | 10.98

    Temple of Sacrifice Version: 10.98 Temple of Sacrifice.rar [Scan] Type: .RAR Size: 4.3KB Position(s): [X: 968 Y: 1004 Z: 7] File password: tibiaking Images:
  10. 3 points
    DdJs

    Quest Map [Dungeon/Seal] | 10.98

    Seal | Quest Map Version: 10.98 Seal [Quest Map].rar [Scan] Type: .RAR Size: 63KB Position(s): [X: 1017 Y: 1027 Z: 8] File password: tibiaking Images:
  11. 2 points
    Salve galera bom demorou mas consegui trazer esse conteúdo para vocês com ajuda de diversos amigos créditos no final do tópico. Bom vamos lá é um conjunto de configurações + script que vai permitir todas as skills do servidor ficar limitada até 250 Primeiramente vamos até o config.lua do servidor e deixa a Rate Magic em 0.01 Ficando assim rateMagic = 0.01 Logo depois disso vamos ao vocation.xml e procure por manamultiplier="1.2" Use o notepad++ Aperte ctrl + H para substituir todos os manamultiplier="1.2" por manamultiplier="1.0" manamultiplier="1.0" Essa modificação vai permitir a sua magic level chegar a 250 Depois faça isso com as demais skills Club / Sword / Axe / Distance / Shield / Fishing - Mude todos para 1.0 Depois disso agora vamos instalar os scripts para criar limites para as skills não bugarem e também vamos configurar a rate do magic level para não bugar também Vá em data/creaturescripts/creaturescripts.xml e adicione essas tags <!-- Skills Block / Stages Skills --> <event type="advance" name="skillblock" event="script" value="skillblock.lua"/> <event type="login" name="skillblock2" event="script" value="skillblock2.lua"/> <event type="death" name="skillblock3" event="script" value="skillblock3.lua"/> <event type="advance" name="skillblock4" event="script" value="skillblock4.lua"/> <event type="login" name="skillblock6" event="script" value="skillblock6.lua"/> Agora abra o login.lua e adicione isso registerCreatureEvent(cid, "skillblock") registerCreatureEvent(cid, "skillblock2") registerCreatureEvent(cid, "skillblock3") registerCreatureEvent(cid, "skillblock4") Crie o arquivo skillblock.lua e adicione isso dentro Lembre-se coloque um numero anterior ao limite ou seja o limite de fist e 250 mas no maxLevel esta 254 Crie o Arquivo skillblock2.lua e adicione isso dentro Crie o Arquivo skillblock3.lua e adicione isso dentro Crie o Arquivo skillblock4.lua e adicione isso dentro Crie o Arquivo skillblock5.lua e adicione isso dentro Crie um Arquivo skillblock6.lua e adicione isso dentro Algumas imagens mostrando funcionando no meu caso eu configurei para enviar a mensagem em uma channel caso se interessar nesse sistema basta seguir o link Clicando Aqui Créditos: @movie @Coltera @lordzetros @Yan Liima @aspira Night Wolf
  12. 2 points
    só agora que vi, erro meu function HaveCreatureArena(area, remove, clean) for x = area[1].x - 1, area[2].x + 1 do for y = area[1].y - 1, area[2].y + 1 do local pos = {x=x, y=y, z=area[1].z} local m = getTopCreature(pos).uid if remove ~= false and m ~= 0 and isMonster(m) then doRemoveCreature(m) end if clean ~= false then doCleanTile(pos,false) end end end end local from, to = {x = 1105, y = 1113, z = 7}, {x = 1115, y = 1123, z = 7} local t = { lvl = 100, Time = 15, -- em minutos entrada = { {x = 1045, y = 1014, z = 6}, -- pos players {x = 1045, y = 1015, z = 6} }, saida = { {x = 1110, y = 1122, z = 7}, -- pos para onde eles irão {x = 1110, y = 1123, z = 7} }, monstros = { {{x = 1108, y = 1116, z = 7}, "Orc"}, -- defina pos dos montros e nomes {{x = 1108, y = 1117, z = 7}, "Orc"}, {{x = 1108, y = 1118, z = 7}, "Orc"}, {{x = 1108, y = 1119, z = 7}, "Orc"} } } function VarAnihiPlayer(cid) if not isCreature(cid) then return LUA_ERROR end if isInRange(getPlayerPosition(cid), from, to) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end function getPlayersInArea(fromPos, toPos) local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInRange(getPlayerPosition(pid), fromPos, toPos) then table.insert(players, pid) end end return players end function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} if #getPlayersInArea(from, to) > 0 then doPlayerSendCancel(cid, 'Aguarde, tem jogadores fazendo a quest.') return true end for _, k in ipairs(t.entrada) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.lvl) then doPlayerSendCancel(cid, 'Está faltando player ou alguém não possui level '..t.lvl..' ou mais.') return true end table.insert(check, x) end HaveCreatureArena({from,to}, true, true) for _, summon in pairs(t.monstros) do doCreateMonster(summon[2], summon[1]) end for i, tid in ipairs(check) do doSendMagicEffect(t.entrada, CONST_ME_POFF) doTeleportThing(tid, t.saida, false) addEvent(VarAnihiPlayer, t.Time*1000, tid) doSendMagicEffect(t.saida, CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  13. 2 points
    No tibia RL, o barriu some após a carga acabar. https://www.tibiawiki.com.br/wiki/Mana_Cask Uma dica: Para fazer funcionar na house, basta adicionar o barril em um constructionkit em actions, editar o item.otb para poder dar moveable no barril e um script onMove para que o mesmo não seja possível ser arrastado para fora da house. Cria um barril em items.xml/otb ou edita algum que não será utilizado, adiciona cargas nele e decayto 0 Exemplo: <attribute key="charges" value="1000"/> <attribute key="showcharges" value="1"/> <attribute key="decayTo" value="0"/> Você deve por também: <attribute key="fluidSource" value="mana potion"/> ou <attribute key="fluidSource" value="health potion"/> Acho que só isso já deve funcionar. Claro que, você deve testar para saber se as cargas estão contando ao utilizar um vial vazio no cask. Também precisa ver se ao utilizar 100 vials vazios, ele vai encher todos de uma só vez Eu criei roshamuul 8.6, oramond, war zone... Tudo é possível, só não fica perfeito XD Até exercise weapon para 8.6 eu fiz, mas a galera q joga na 8.6 nem sabe oq é isso
  14. 2 points
    marcot

    Aprendendo sobre funções LUA

    Vou tentar explicar essa parte do CID de uma forma mais prática, demonstrando diferenças entre C e C++ e você pode tirar suas conclusões. Considere o pedaço de código abaixo, escrito na linguagem C (usaremos short em vez de bool, porque é C) struct Player { int id; short isPremmium; }; Nesse caso temos um tipo de dado Player, com um id e uma flag indicando se o jogador possui premmium. Vamos agora declarar uma variável de tipo player: struct Player jogador; jogador.id = 0; jogador.isPremmium = 0; Agora, uma função que verificaria se esse jogador possui premmium ou não, ficaria mais ou menos assim: short isPremmium(struct Player jogador) { return jogador.isPremmium; } Por que o jogador foi passado como parâmetro? Oras, porque a função precisa dele para ter o acesso, variáveis globais não são uma boa prática! Agora, vamos levar para um caso que não precisaria, na linguagem C++ Considere o código abaixo, correspondente ao anterior: class Player { private: int id; bool isPremmium; public: Player(int id, bool isPremmy); bool isPremmium() { return this->isPremmium; } }; Nesse caso, para criar um jogador e verificar se ele tem premmium, teriamos o seguinte pedaço de código: // Criando jogador de id=0 e não tem premmy Player* player = new Player(0, false); if (player->isPremmy()) { // Código } Note que, apesar de isPremmy não ter parâmetro, ainda temos a referência do objeto player criado na linha 2, anterior ao "isPremmy". De uma forma ou outra, você precisa especificar qual é o jogador em questão, isso vem das próprias linguagens de programação! Caso não tenha entendido muito bem algumas expressões utilizadas, recomendo dar uma estudada no básico de algumas linguagens como C/C++/LUA e ver outras partes teóricas como Programação Orientada a Objetos (é um conceito bem fácil de ser compreendido, depois que você entendeu o básico).
  15. 2 points
    @Aldimun Para configurar é bem simples, segue como está no script e gg. Entre os colchetes [...] vai o id do barril. local config = { [1445] = { str = 5050512, -- Storage uses = 2, -- Quantas vezes pode usar o barril flask = 7636, -- ID flask potion = 7618 -- ID potion }, [3365] = { str = 50505326, -- Storage uses = 2, -- Quantas vezes pode usar o barril flask = 7636, -- ID flask potion = 7620 -- ID potion } } function onUse(cid, item, fromPosition, itemEx, toPosition) local barrel = config[item.itemid] if barrel then if getPlayerStorageValue(cid, barrel.str) < barrel.uses then local flasks = getPlayerItemCount(cid, barrel.flask) if flasks > 0 then doPlayerRemoveItem(cid, barrel.flask, flasks) doPlayerAddItem(cid, barrel.potion, flasks) setPlayerStorageValue(cid, barrel.str, (getPlayerStorageValue(cid, barrel.str) + 1)) else doPlayerSendTextMessage(cid, 27, "You don't have empty potion flasks.") end else doPlayerSendTextMessage(cid, 23, "It is empty.") end end return true end No login.lua adicione isso: local barrelStr = {11231231, 123123123, 1231231} -- Todas as storages dos barris for i,_ in ipairs(barrelStr) do if getPlayerStorageValue(cid, barrelStr[i]) < 0 then setPlayerStorageValue(cid, barrelStr[i], 1) end end O código acima vai fazer com que todos os player, ao logar, recebam a storage 1, assim não ocorrerá erro no contador de usos lá no barril. OBS: Lembre-se de não deixar as storages iguais.
  16. 2 points
    Yinz

    Teleports Room | 10.98

    Gosto bastante do teus mapas, se eu ainda estivesse ativo, com certeza refaria os teleports do telara que eram meio confusos e usaria esses, bom job! @lordzetros ai pro teu projeto, topx!
  17. 2 points
    Bom dia, venho aqui trazer a versão 1.3 do TFS para projetos 8.6! O Responsável pelo downgrade foi o Nekiro(GitHub Oficial https://github.com/nekiro/forgottenserver-1.3-8.6) a minha contribuição foi na compilação do projeto e trazer para vocês. Projeto LIMPO(sem customização); Compilado em Windows x64 bits; Bug's resolvidos por eu: Download do projeto(com as Dll's) + Pasta Source: http://www.mediafire.com/file/kxbsbck2kx15axk/forgottenserver-1.3-8.6.zip Vírus Total: https://www.virustotal.com/gui/file/daf950607a96f88fed0cf64052a2f6eb0634d689182904904053cb518c9ed413/detection
  18. 2 points
    Coltera

    Show OFF - Mapping

    Tópico atualizado! - HUNTS: 1 2
  19. 2 points
    Boa tarde pessoal, me ausentei por um bom tempo e continua sendo difícil pra eu poder continuar mexendo com OTs diariamente, mas por um longo tempo eu me prometi que faria um tutorial de como começar seu servidor a partir da configuração da máquina usada, tudo isso baseado no tutorial do @sirarcken que postou como configurar a Google VM pro tibia. Bom, acho que um pouco mais de 1 ano depois do tutorial dele, resolvi finalmente dar uma "atualizada" e postar um usando, como o próprio título fala, Nginx + MariaDB ao invés de Apache+MySql. Por que dessa troca? Pois bem, fiz algumas pesquisas e todas indicavam um melhor desempenho com o Nginx ao invés do Apache por ter um melhor gerenciamento de memória, portanto ficou mais flúido, além de ser Open Source e bem mais seguro também. O mesmo se aplica ao MariaDB. Bom, fiz uma série de apenas 2 vídeos no youtube, o primeiro ensinando a configurar a máquina desde o 0, o segundo ainda não cheguei a postar, mas vai ser exatamente a partir da compilação do servidor até ligar ele usando IP do site No-IP. Bom, sem mais delongas, espero que gostem. Na descrição do vídeo tem um link com todos os comandos usados durante o mesmo. Obs.: Não quero que prestem atenção à qualidade de edição do vídeo pois não sei mexer muito bem com editores hahaha e também não gosto de frescura, gosto de ir direto ao ponto. Obs. 2: Quando eu postar o segundo vídeo, editarei este post adicionando o link para o tópico. Créditos: Eu @sirarcken Google valuebound.com EDIT> COMO HAVIA DITO: 2ª PARTE:
  20. 2 points
    Sistema completo de som para Tibia, -Barulho dos passos (muda conforme pisa em grama, areia, neve, piso, madeira, barro) -Barulho portas e items -Barulho das magias (todas as magias desde utevo lux) -Todas as falas dos monstros além do texto emitem som (suporte a mais de 180 mil sons) -Barulho das explosões -Som ambiente nas cavernas, em lugares com chão de poison, lava, floresta e etc -Sons em todas as runas e wands -Sons ao comer food, usar potions e jogar item no água -Sons de sword, club axe, bow, crossbow diferentes Sistema de som 3D, com fone de ouvido por exemplo você pode entrar em uma grande cave e ouvir bem baixinho vindo de longe a voz de um orc berserker por exemplo, e também saber se ele está na direita ou na esquerda Apesar de todo o esforço é algo que não é pra todo mundo, mas deixei opcional no meu game, quem não gostar é só clicar no mute que tem no client, estou fazendo esse sistema para lançar em 1 de Julho meu servidor de tibia old com tela ampla e som
  21. 2 points
    Bolletox

    Alavanca e Teleport

    @bpm91 Acho que é isso local positionCurrent = {x=32268, y=31856, z=15} -- Posicao para onde o player vai se estiver correto a sequencia local positionFail = {x=32184, y=31940, z=14} -- Posicao que o player vai se estiver errada a combinacao if isPlayer(cid) and getPlayerStorageValue(cid,42501) <= -1 then doTeleportThing(cid, positionCurrent) doSendMagicEffect(getThingPos(cid), 12) setPlayerStorageValue(cid,32901,1) setPlayerStorageValue(cid,42501,1) else doTeleportThing(cid, positionFail) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You already did this seal.") end return 0 end
  22. 2 points
    Bolletox

    Alavanca e Teleport

    @bpm91 Veja ai se vai function onStepIn(cid, item, frompos, item2, topos) playerpos = getPlayerPosition(cid) novapos2 = {x = 32216, y = 31833, z = 15} novapos3 = {x = 32217, y = 31840, z = 15} if item.actionid == 9020 and isPlayer(cid) then queststatus = getPlayerStorageValue(cid, 9012) if queststatus == -1 then getThingfromPos(playerpos)  setPlayerStorageValue(cid, 9012, 1) doSummonCreature("Warlock", novapos2) doSummonCreature("Warlock", novapos3) end return false end return true end
  23. 2 points
    Bolletox

    Alavanca e Teleport

    @bpm91 Veja se agora vai, eu coloquei todos os scripts dos camps em 1 script apenas. Creio que agora vai funcionar. Crie 1 script só chamado bansheeQuest.lua e coloque isso dentro: No XML cole isso lá: Em moveevents crie script chamado fogoAzul.lua: XML em moveevents coloque este:
  24. 2 points
    OverBash

    SHOW OFF - Character List

    character list do meu ot oldschool q lançarei dia 1 de julho
  25. 2 points
    @floW * Cria uma tabela no banco de dados com as colunas(Você pode colocar quantas colunas quiser, basta ter a ideia); Exemplo: id(auto increment) player_id(id do jogador) reset_level(level resetado) reset_date(data que foi resetado) * Em PHP você irá puxar a tabela que foi criada; Recomendo usar foreach. Exemplo: foreach($SQL->query("Monte sua query") as $info) { /* Código */ } * E dentro do script de reset coloque uma query inserindo as colunas pra quando o jogador resetar inserir as informações nas colunas; Estou sem tempo para criar este histórico; :\
  26. 2 points
    Serpente

    [8.10] OTX 2.9

    [8.10] Yurots OTX Minha versão favorita do tibia sempre foi a 8.10, e infelizmente não existem servidores decentes que não usem a antiga evolutions e XML para essa versão. Então eu mesmo decidi criar um a partir da base OTX 2.9 convertida da versão 8.0 para 8.10 [Features] Suporte total a SQLite e MySQL Account Manager igual ao 8.60 Sistema de Encantamento de Armas Hit Critico [Pode ser desativado] Sistema de Bank Potions Totalmente Funcionais. Spells com danos idênticos ao 8.10 Runas Idênticas ao 8.10 Rook System Black Skull Todos os itens do 8.10 Bless [Pode ser desativado] [Mapa] Yurots 8.10 do Bon apenas melhorado para manter o mais fiel ao original. Anihilator, Poi e todas as quests funcionando. [Fotos] [Bugs Encontrados] Black Skull não pode ser desativado ou todos ficarão automaticamente como black skull (A solução temporária é aumentar o frag para black skull para um valor alto) [IMPORTANTE] As 8 rochas [ID: 3651, 3656, 3653, 3648, 3650, 3652, 3649, 3654] causam debug ao passar em cima, não coloquem elas no mapa. A causa disso é que não existe nenhum items.otb 8.10 compatível, fui obrigado a improvisar com um 8.11 e esse foi o único problema encontrado. Infelizmente isso não pode ser resolvido [Downloads]
  27. 2 points
    DdJs

    Winterland | 10.98

    Winterland Version: 10.98 Winterland.rar [Scan] Type: .RAR Size: 38KB Position(s): [X: 1020 Y: 1035 Z: 7] File password: tibiaking Images:
  28. 2 points
    JZDJ

    Download Clients 11+ IP 127.0.0.1

    Olá galera do TK. Hoje eu trago vários clientes de Tibia 11+ com IP 127.0.0.1. Vi que alguns usuários não estão conseguindo algumas versões 11 então resolvi postar aqui. Estou disponibilizando o EXECUTÁVEL DO CLIENTE. Para que funcione é só colocar na pasta BIN da versão correspondente. Também disponibilizei a pasta completa compactada. Vamos ao que interessa. Tibia 11.43.5504 127.0.0.1-11.43.5504.exe SCAN do cliente Pasta completa: Tibia 11.43.5504.rar SCAN pasta completa Tibia 11.44.5516 127.0.0.1-11.44.5516.exe SCAN do cliente Pasta completa: Tibia 11.44.5516.rar SCAN pasta completa Tibia 11.46.5556 127.0.0.1-11.46.5556.exe SCAN do cliente Pasta completa: Tibia 11.46.5556.rar SCAN pasta completa Tibia 11.47.5640 127.0.0.1-11.47.5640.exe SCAN do cliente Pasta completa: Tibia_11_47.5640.rar SCAN pasta completa Tibia 11.47.5674 127.0.0.1-11.47.5674.exe SCAN do cliente Pasta completa: Tibia_11_47.5674.rar SCAN pasta completa Tibia 11.48.5712 127.0.0.1-11.48.5712.exe SCAN do cliente Pasta completa: Tibia_11_48.5712.rar SCAN pasta completa Tibia 11.48.5753 127.0.0.1-11.48.5753.exe SCAN do cliente Pasta completa: Tibia_11_48.5753.rar SCAN pasta completa Tibia 11.49.5813 127.0.0.1-11.49.5813.exe SCAN do cliente Pasta completa: Tibia_11_49.5813.rar SCAN pasta completa Tibia 11.49.5884 127.0.0.1-11.49.5884.exe SCAN do cliente Pasta completa: Tibia_11_49.5884.rar SCAN pasta completa Tibia 11.49.5921 127.0.0.1-11.49.5921.exe SCAN do cliente Pasta completa: Tibia_11_49.5921.rar SCAN pasta completa Tibia 11.49.5983 127.0.0.1-11.49.5983.exe SCAN do cliente Pasta completa: Tibia_11_49.5983.rar SCAN pasta completa Tibia 11.49.6018 127.0.0.1-11.49.6018.exe SCAN do cliente Pasta completa: Tibia 11.49.6018.rar SCAN pasta completa Tibia 11.49.6030 127.0.0.1-11.49.6030.exe SCAN do cliente Tibia 11.49.6030.rar SCAN pasta completa Tibia 11.50.6055 127.0.0.1-11.50.6055.exe SCAN do cliente Tibia 11.50.6055.rar SCAN pasta completa Tibia 11.51.6099 127.0.0.1-11.51.6099.exe SCAN do cliente Tibia 11.51.6099.rar SCAN pasta completa Tibia 11.52.6104 127.0.0.1-11.52.6104.exe SCAN do cliente Tibia 11.52.6104.rar SCAN pasta completa Tibia 11.55.6239 127.0.0.1-11.55.6239.exe SCAN do cliente Tibia 11.55.6239.rar SCAN pasta completa Tibia 11.56.6239 127.0.0.1-11.56.6239.exe SCAN do cliente Tibia 11.56.6239.rar SCAN pasta completa Tibia 11.57.6239 127.0.0.1-11.57.6239.exe SCAN do cliente Tibia 11.57.6239.rar SCAN pasta completa Tibia 11.58.6239 127.0.0.1-11.58.6239.exe SCAN do cliente Tibia 11.58.6239.rar SCAN pasta completa Tibia 11.58.6239 ATUALIZADO 127.0.0.1-11_58.6239.exe ATUALIZADO SCAN do cliente Tibia 11.58.6239 ATUALIZADO.rar SCAN pasta completa Tibia 11.59.6424 127.0.0.1-11.59.6424.exe SCAN do cliente Tibia 11.59.6424.rar SCAN pasta completa Tibia 11.60.6457 127.0.0.1-11.60.6457.exe SCAN do cliente Tibia 11.60.6457.rar SCAN pasta completa Tibia 11.65.6492 127.0.0.1-11.65.6492.exe SCAN do cliente Tibia 11.65.6492.rar SCAN pasta completa Tibia 11.65.6507 127.0.0.1-11.65.6507.exe SCAN do cliente Tibia 11.65.6507.rar SCAN pasta completa Tibia 11.66.6516 127.0.0.1-11.66.6516.exe SCAN do cliente Tibia 11.66.6516.rar SCAN pasta completa Tibia 11.70.6535 127.0.0.1-11.70.6535.exe SCAN do cliente Tibia 11.70.6535.rar SCAN pasta completa Tibia 11.70.6543 127.0.0.1-11.70.6543.rar SCAN do cliente Tibia 11.70.6543.rar SCAN pasta completa Tibia 11.70.6548 127.0.0.1-11.70.6548.rar SCAN do cliente Tibia 11.70.6548.rar SCAN pasta completa Tibia 11.70.6555 127.0.0.1-11.70.6555.rar SCAN do cliente Tibia 11.70.6555.rar SCAN pasta completa Espero que eu tenha ajudado. Créditos: A Cip pelos clientes e a mim por ter alterado os ips nos mesmos. REP+ é sempre bom e não dói. Abraços. ATT , Jaurez/JZDJ
  29. 2 points
    DEV C++, aprenda a compila uma source TFS! Downloads(Baixe de acordo as configurações do seu windows): DEV C++ CONFIGURADO PARA 32BITS DEV C++ CONFIGURADO PARA 64BITS REV 3884 TFS 0.4 Certo, feitos os downloads, extrai DEV C++ no Disco C e REV 3884 em Documentos. ====================================== Abra o DEV C++: ====================================== ====================================== Abra a Source: ====================================== ====================================== Localize a pasta da Source e abra o arquivo TheForgottenServer.dev, Documentos> trunk.r3884> dev-cpp> TheForgottenServer.dev: ====================================== ============================================================= ====================================== Aguarde carregar todos os arquivos: ====================================== ====================================== Vamos adicionar o parâmetro -D__CONSOLE__ no teclado digita ALT + P, clique em parameters e adicione o parâmetro... Feito? clique em OK: ====================================== ====================================== Vamos compilar Source, no teclado digite CTRL+F9 e aguarde finalizar o processo: ====================================== ====================================== Se der tudo certo em Log vai estar como mostra a imagem abaixo: ====================================== ====================================== Verifique na pasta Documentos> trunk.r3884> dev-cpp você vai encontrar o arquivo TheForgottenServer.exe e pronto meu parabéns você compilou! ====================================== =========================================== Só isso galera tutorial rápido resumido e útil! Créditos Natanael Beckman! =========================================== Caso você adquira uma source com apenas os arquivos .cpp e .h e não sabe como compilar o projeto, abaixo vamos explicar: Na pasta onde está localizado os arquivos .cpp e .h crie uma pasta chamada dev-cpp, e dentro dela adicione uma imagem icone. Abra o DEV-C++, clique em File> New> Project: Logo em seguida selecione Empty Project, em name terá o nome Project1 altere utilize o nome quer quiser, após isso clique em OK e em seguida selecione a pasta dev-cpp que criamos: Agora selecione a opção Win32GUI caso use source OTX ou TFS selecione Win32Console ao lado << Browse selecione a imagem do icone que está na pasta Dev-Cpp. No mesmo menu na aba Parameters em C++ compiler adicione os seguintes parâmetros: -D__ENABLE_SERVER_DIAGNOSTIC__ -D__ROOT_PERMISSION__ -D__GROUND_CACHE__ -D__USE_SQLITE__ -D__USE_MYSQL__ -D__CONSOLE__ -D__WAR_SYSTEM__ E em Linker adicione as seguintes libs: -lboost_filesystem -lboost_thread -lboost_system -lboost_regex -lsqlite3 -lwsock32 -llua5.1 -lws2_32 -leay32 -lmysql -lxml2 -lgmp -lz -s No mesmo Menu na aba Build Option escreva na segunda coluna horizontal escreva Obj e dê OK. Na lateral terá o nome do seu projeto o meu no caso é The Forgotten Server, clique com o botão direito do mouse em cima do nome e clique na opção Add Project: Selecione na pasta da sua source todos os arquivos .cpp e .h após isso salva o projeto e já pode compilar CTRL+F9: OpenSSL 0.9.8 1º baixe http://devpaks.org/details.php?devpak=73 2° abra Dev-Cpp > Tools > Packager Manager > Install > Seleciona o arquivo baixado e instala, fecha abre e testa! Clica aqui \/
  30. 1 point
    Lyu

    ANSWERED Ao invés de Curar, Danificar.

    basicamente inverta os valores, negative-os.
  31. 1 point
    Azzus22

    [Talkactions] Trade OFF - Shop Offline

    Fala galera tudo certinho? Eu sei que estou um pouco atrasado, e nem sei se posso estar ressuscitando esse tópico, mas eu notei que no 8.6 existem alguns pontos que podiam ser melhorados no script então eu dei uma atualizada aqui no meu e trouxe para compartilhar aqui com vocês. Agora quando o player disser: !offer my - Vai ser listado somente as coisas que ele colocou para negociar, assim fica mais fácil de remover. !offer info - Vai mostrar as opções e como utilizar os comandos. !offer list, NomeItem - Vai mostrar os 10 itens mais baratos pelo nome que foi procurado. Lembrando que essa alteração no Script é válida apenas para pessoas que como eu não vão usar Web Site. Todos os avisos de retorno em caso de erro foram traduzidos para português também, fiz isso pensando na galera que ainda não ta fera no inglês. Bom sem mais, só gostaria de pedir uma ajuda com o método: getItemNameById() Alguém saberia me dizer como evitar que ele retorne um erro no Console do Ot server caso alguém digite o nome de um item errado? A solução paliativa que eu coloquei para evitar que ficasse imprimindo muitos erros no console, foi dar um mute de 10 segundos no jogador que digita-se o nome do item errado. Valeu ai, obrigado 😀
  32. 1 point
    onix

    [WEBMASTER] Dev Php, Mysql, css, JS

    opa preciso de uma alteração em php
  33. 1 point
    Explicação: Este sistema proporciona ao jogador a compra de determinada cave por "X" tempo, cada conta poderá comprar somente 1 cave por vez... Lá o jogador poderá upar livremente. Também poderá chamar um amigo para upar na sua cave!! O sistema é o mais completo do mercado, vou estar falando do mesmo abaixo. OBS: Não esqueça de executar a query para funcionar!! Exclusive Cave System Features Dentro do pacote terá duas versões: versão 1 : É para vendar as caves em money(Gold's) Versão 2: É para vender as caves por items, por exemplo por moedas especiais como scarab coins(ID 2159) O sistema é feito por banco de dados O tempo da cave é mostrado em tempo real Você poderá chamar um amigo para sua cave e também remove-lo quando quiser. Existe um globalevents especifico para mostrar no default quando uma cave ficou disponível para venda! (Irá informar o nome da cave o preço dela!) Você poderá configurar a cave para vender por exemplo: - Level minimo e máximo! - Tempo de duração da cave - Se precisa ser premium account para comprar a cave! Quando o tempo da cave expira tanto o dono da cave como o friend invitado são removidos da cave, mesmo estando offline ou online! Comandos exclusivos: Comando para dono da cave: /mycave - Mostra informações da sua cave, como: - Nome da cave - Nome do seu amigo de cave(caso tiver invitado) - Quando tempo falta para expirar o tempo da sua cave /addcavefriend - Adiciona um amigo seu para que ele possa entrar e sai da sua cave quando quiser... Obs: Tem um exhausted de 1 hora(configurável) para não ficar toda hora tirando e colocando amigo na cave. /removecavefriend - Remove o seu amigo da sua cave(caso ele esteja dentro da cave tanto offline quanto online, ele é removido) /cavetime - Mostra quando tempo falta para expirar a sua cave Comando para amigo invitado da cave: /cavefriendtime - Mostra quando tempo falta para expirar a cave que ele invitado. /caveleave - Comando para ele se kikar da cave que está invitado. Comandos adicionais importante para todos: /cavelist -- Mostra em uma janela todas as caves do servidor /cave ID -- Neste comando você terá que usar o ID da cave que deseja saber as infor,ações, por exemplo: /cave 1 -- Irá mostrar em uma janela todas as informações desta cave, como: -Nome da cave -Preço da cave -Level Minimo e Level Maximo para comprar a cave -Se nesta cave precisa ser Premium Account para comprar ou não. /cavepurchase -- Filtra em uma janela somente as caves que estão disponíveis para compra. ---------------------------------------------------------------------------------------------------------------------------------------------------- Configurações: Vá na lib e irá se deparar com duas tabelas... Esta primeira tabela é onde você irá adicionar novas caves e atribuir as configurações, exemplo: exclusives_caves_areas = { -- adicionar as caves [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}}, [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}} } [1] -- Entre os colchetes é o ID da cave, favor colocar e ordem. name = "Demon Hunter" -- Entre as aspas "" Você atribui o nome da cave price = 1000 -- Preço em gps da sua cave(caso use a versão que vende em gps) level = {min = 8, max =30} -- Aqui voce coloca o level min e max que o jogador tem que ser para comprar a cave time = 4 -- Tempo em horas que o jogador poderá ficar na cave premium = false -- Se para comprar a cave terá que ser premium (false ou true) enter = {x = 284, y = 223, z = 7} -- Pos de entrada da cave from = {x = 275, y = 219, z = 5}, -- Aqui você deverá pegar a pos do começa da cave to = {x = 302, y = 240, z = 7} - - -- Aqui você deverá pegar a pos final da cave!(como se fosse um quadrado. e como adicionar mais caves por exemplo? Assim: exclusives_caves_areas = { -- adicionar as caves [1] = {name = "Demon Hunter", price = 1000, level = {min = 8, max =30}, time = 4, premium = false, enter = {x = 284, y = 223, z = 7}, from = {x = 275, y = 219, z = 5}, to = {x = 302, y = 240, z = 7}}, [2] = {name = "Hydras Thow", price = 2000, level = {min = 10, max = 1000}, time = 3, premium = true, enter = {x = 148, y = 218, z = 7}, from = {x = 137, y = 217, z = 7}, to = {x = 161, y = 234, z = 7}}, [3] = {name = "Ciclops Cave", price = 5000, level = {min = 20, max = 50}, time = 2, premium = true, enter = {x = 198, y = 320, z = 7}, from = {x = 200, y = 340, z = 7}, to = {x = 250, y = 390, z = 7}} } ---------------------------------------------------------------------------------------------------------------------------------------------------- explicando a segunda tabela: exclusives_caves_config = { storage = 547575, check = 547576, comand_add_exaust = {hours = 1, storage = 547577}, -- tempo para nao ficar toda hora tirando e colocando amigo mensagem = "[Exclusive Cave System] Você foi removido ou o tempo da %s cave expirou!", serve_mensagem = "[Exclusive Cave System] A cave %s acabou de ficar liberada para venda por %d Gold's, aproveitem para compra-la no NPC!" } storage -- nao mexer! check -- não mexer!! comand_add_exhausted -- é o tempo que jogador poderá voltar a invitar outro jogador, está configurado para 1 hora!! mensagem -- não mexa serve_mensagem -- não mexa tbm kkk Só baixar e executar as querys!! Cave System.rar
  34. 1 point
    local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_SUBID, 2) setConditionParam(exhaust, CONDITION_PARAM_TICKS, 10000) setCombatCondition(combat, exhaust) Onde tem "10000" = 10 segundos, é o tempo do exhaust em geral,tenta colocar "0".
  35. 1 point
    Gengo

    [OTClient] Player Info OTPokemon

    [OTClient] Health Player Info OTPokemon Eae galerinha do TibiaKing, hoje venho trazer mais uma contribuição para a comunidade, um módulo indêntico ao do OtPokemon. Mesmo que seja simples a instalação, tem sempre aquele que não sabe onde deve colocar o módulo, peço então que tenha paciência quanto a esse simples tutorial, aos demais aqueles que já sabem, peço que ao menos leia a Observações do módulo. 1º Faça o download do módulo. 2º Extraia o módulo para a pasta do seu otClient em /modules ficando assim: Feito o passo 1 e 2 creio que já estará funcionando, isto se você fez tudo certinho. •Observações do módulo• Demonstrativo do módulo no jogo.
  36. 1 point
    Tenta rodar esse SQL na sua database: SET GLOBAL sql_mode='';
  37. 1 point
    marcot

    ANSWERED Dúvida com a função FOR

    Testei no ambiente interativo de LUA -- Input Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio > for i=10,0,-1 do >> print('Hello') >> end -- Output Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello A variável I começa com 10, o loop acaba em 0 e o incremento é de -1 a cada loop. Note que repetiu o Hello 11 vezes.
  38. 1 point
    Yinz

    Show OFF - Mapping

    Brabo muito brabo essa combinação de grounds e bordas. 😆
  39. 1 point
    bpm91

    Alavanca e Teleport

    @Bolletox saberia resolver isso? function onStepIn(cid, item, frompos, item2, topos) playerpos = getPlayerPosition(cid) novapos2 = {x = 32216, y = 31833, z = 15} novapos3 = {x = 32217, y = 31840, z = 15} if item.actionid == 9020 then queststatus = getPlayerStorageValue(cid, 9012) if queststatus == -1 then getThingfromPos(playerpos) setPlayerStorageValue(cid, 9012, 1) doSummonCreature("Warlock", novapos2) doSummonCreature("Warlock", novapos3) end return false end return true end quando um monstro pisa nesse piso ele cria mais warlocks, sabe como poderia modificar apenas para players pisarem e nascer?
  40. 1 point
    Serpente

    Problemas de invasão no Gesior 2012

    Pode ser que ele tenha acesso a várias databases de outros servidores. Verifique se você não usou o mesmo login e senha do seu god em outros servidores. O Próprio site avisa quando a conta existe, então ele verifica account por account até achar uma que existe usando as databases que ele tem, e tenta as senhas. Ultimamente ta bem comum fazer isso. Pra economizar tempo o pessoal usa as mesmas contas em todos os servidores e dá nisso ai
  41. 1 point
    Removido: *Boss Room *Rank Task *Prêmios para os 10 primeiros a terminar todas as tasks Adicionado: *Daily Task System (Sistema exclusivo de Task diario, podendo pegar 1x a cada 24 hrs, irei explicar mais depois.) *Task agora é por progresso, você não pode sair e voltar, terá que terminar a task 1 para avançar para a task 2, assim sucessivamente. *Task Points *Level para realizar a task *Nova talkaction que mostra uma janela de informações sobre o level da task, premios que irá receber, progresso, etc... *Items para entrega(Se o jogador deverá levar algum item junto com a quantidade de monstro morta) para finalizar a task *Sistema de look Task (Varia de acordo com a sua quantidade de Task Points, podendo ficar por exemplo como "Huntsman", "Ranger", etc...(alterável) *Mods e npc mais "clean", várias linhas removidas e o sistema está mais rápido *Vou Adicionar "scripts extras" Como: --> Tile que só passa quem tiver permissão depois de finalizar determinada quest --> Npc de Boss Room para entrar e enfrentar o monstro quem fez determinada quest [+] Resumo do Task system + Daily Task System [+] Task System: É o sistema de task "original", onde consiste em matar determinada quantidade de monstros(E entregar certo itens <- é configurável), para receber recompensas como Exp, Money e Items. Algumas mudanças do simple task 3.0 para o 4.0 foram: [+] O sistema agora é por progresso, isso quer dizer que você terá que ir terminando a quest para avançar para a seguinte. [+] O sistema Também recebeu uma alteração, fazendo com que as Tasks precisem que o jogador tenha um level determinado [+] A tabela para edição está mais fácil, fazendo com que você adicione ou remova monstros com mais tranquilidade, inclusive alterações das Rewards da Task. Daily Task System: É um sistema que desenvolvi para que os jogadores sempre estejam se comunicando com o npc de Task, no caso da Task Diaria, vária de acordo com o level do jogador, por exemplo: Jogadores entre level 6 ao 49 poderá cair em uma dessas 3 Task Diarias: Orcs, Tarantulas ou Wyverns Jogadores entre level 50 ao 79 poderá cair em uma dessas 3 Task Diarias: Dragons, Wailing Widows ou Ancient Scarabs E por ai vai, claro que você poderá aumentar as Task Diarias dependendo do level, eu fiz 3 para cada level que é pra postar, mas tudo isso você pode aumentar! Dependendo do seu servidor. E sim, você pode fazer a TASK "ORIGINAL" e a TASK "DIARIA" ao mesmo tempo! Ambas são distintas e possuem Rewards diferenciadas! No caso da Task diaria, levando em conta que você começou a fazer ela no dia 08/01 ás 20:00 Hrs, você tem até o dia 09/01 ás 20:00Hrs para termina-la e receber a recompensa, caso termine antes, a Task diaria só irá ficar disponível para repetição a partir desta mesma data 09/01 20:00 Hrs; [+] Caso você não termine a tempo, não tem problema, basta esperar este horário e começar uma nova Task. [+] Caso você começou a Daily Task e terminou antes desta data. mas por algum motivo esqueceu de entregar e a mesma passou do prazo, não tem importância, caso você tenha matado todos os monstros até 09/01 20:00 Hrs, você poderá entregar está Task em qualquer horário para receber suas Rewards e começar uma task a partir do momento em que você entregou! (INJUSTIÇA AQUI NÃO CARALHO). [+] Comandos Adicionais [+] /task -- Mostra as informações da sua Task Atual, como Nome da Task, Level, Rewards, Monstros que você poderá matar, Se tem que entregar algum Item junto, etc... /task daily -- É basicamente mostra a mesma informação da Task Principal, porém mostra também qual o prazo limite para entrega da task. /task counter -- É um comando que ATIVA ou DESATIVA o contador de monstros mortos na task no seu Channel. [+] Imagens [+] Cline neste link para ver algumas imagens da Task : http://imgur.com/a/eLIY3 ------------------------------------------------ // -------------------------------------------------------------- [+] Instalação do Sistema [+] Requisitos: Nível Médio de conhecimento em scripting LUA Pasta Mods Simple Task.xml https://pastebin.com/raw/P5hqMC3j NPC: Ludger.xml https://pastebin.com/raw/R56yLWHw simple_task.lua https://pastebin.com/raw/1mRzJ6aJ ---------------------------------------------- // ---------------------------------- [+] configuração [+ ] Task System Principal task_sys = { [1] = {name = "Trolls", start = 176201, monsters_list = {"Troll","Troll champion"}, level = 8, count = 40, points = 0, items = {}, reward = {}, exp = 2000, money = 2000} } [1] --> O número entre os colchetes [] significa a ordem da Task, como a Task é por progresso sempre começará no 1 e irá pro [2], assim sucessivamente. name --> É o nome da task que o jogador irá fazer. start --> é a storage que indicará se o jogador começou a Task monster_list ={} --> É o nome dos monstros em que o jogador deverá caçar para completar a Task level --> É o level necessário para dar inicio á Task count --> É o número de monstros que o jogador tem que matar para completar a Task points --> Aqui determinada quantos Task points o jogador irá receber ao completar a Task items = {} --> Aqui determinada se além de matar os monstros, o jogador terá que entregar item também! Caso tenha só colocar o {ITEM_ID, QUANTIDADE} EX: items = {{2173,1}{2160,10},{2493,2}} rewad --> Aqui determinada se o jogador irá receber itens ao terminar a Task, mesma formula do items /\ reward = {{2520,1},{2173,1}} exp --> Se o jogador irá receber Exp ao terminar a task. 0 ou quantidade de exp Money --> Se o jogador irá receber dinheiro ao terminar a task. 0 ou quantidade de dinheiro Daily Task System daily_task = { [1] = {name = "Orcs" ,monsters_list = {"Orc Berserker","Orc Rider","Orc Leader","Orc Warlord"}, count = 100, points = 0, reward = {}, exp = 5000, money = 10000} } Segue o padrão da Task original, exceto que não precisa entregar items para o npc! Como funciona A randomização de level de acordo com a Daily task? Procure por está tabela em MODS local t = { [{6,49}] = {1,3}, [{50,79}] = {4,6}, [{80,129}] = {7,9}, [{130,math.huge}] = {10,12} } entre as chaves e colchetes é o level do jogador para as Daily Task, Você pode adicionar quantas você quiser! Digamos que: [{6,49}] = {1,3} --> Quer dizer que entre o level 6 ao 49 o jogador poderá cair na Daily Task número 1(Orcs), 2(Tarantulas) ou 3(Wyvern)! [{50,79}] = {4,6} --> Quer dizer que entre o level 50 ao 79 o jogador poderá cair na Daily Task número 4(Dragons), 5(Wailing Widows) ou 6(Ancient Scarabs)! ... [{130,math.huge}] = {10,12} --> Quer dizer que o jogador level 130 ou MAIS poderá cair na Daily Task número 10(Undead Dragons), 11(HydraS) ou 12(Ghastly Dragons)! Look Rank System Procure por está tabela em MODS local ranks = { [{1, 20}] = "Huntsman", [{21, 50}] = "Ranger", [{51, 100}] = "Big Game Hunter", [{101, 200}] = "Trophy Hunter", [{201, math.huge}] = "Elite Hunter" } Entre 1-20 Task points o Rank será Huntsman Entre 21-50 Task posints o Rank será Ranger Entre 51-100 Task Points o rank será Big Game Hunter etc... Altere como quiser!
  42. 1 point
    Werner

    Best Baiak Completo

    Eae pessoal do Tk Trago aqui um Baiak (BestBaiak) com um novo visual e completo! Se trata de um Servidor 8.60, completo e ja pronto para ser colocado Online, sem bugs. (funciona melhor em MySql) + de 50 Hunts Free Muitos trainers, assim não ficara sem. Vocations Equilibradas. War System com escudos. Itens donates balanceados. Contando com todos os Eventos atuais: Zombie Event Snowball War Event Capture the Flag Battlefield Desert War Defend The Tower Fire storm Boss King Conta também com: Castle 24h Castle 48h Vip1 e Vip2 Free Area Donate SuperUp Dodge e Critical system Extra Cidade com mais houses MiniGames Sistema de !autoloot já instalado Quest Promotion 2 Npc que troca itens por EventCoins Monstros exclusivos ScreenShots do Servidor Donwload: Servidor completo 4shared: Clique Aqui! Servidor completo Mediafire: Clique Aqui! Scan VirusTotal:(Acusando malware por conta das executáveis): Clique Aqui! Créditos: Coisas como items.xml e items.otb com os itens donate já editados podem ser encontrados aqui no tópico. Suporte para alguns bugs encontrados até o momento também se encontram no tópico. Espero que gostem.
  43. 1 point
    Olá. Ultimamente vejo que estão criando muitos tópicos com duvidas quanto ao rme, muitas que ja foram solucionadas. Então para facilitar a pesquisa, colocarei alguns erros comuns do RME e sua solução neste tópico juntamente com um simples tutorial de introdução ao mapping, para facilitar a pesquisa e soluções, tudo junto em um só tópico. O tutorial de introdução é bem superficial. Caso queira aprofundar-se no assunto, existem tópicos próprios para isso. Tutorial de Introdução: __ Esta parte será voltada para solução de erros. 1. Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia insalation folder. 2. Invalid Itens (fica um piso vermelho, ou determinado item com sprite de outro) 3. Lag no RME 4. Rme stop working
  44. 1 point
    Dragon Ball Evolution Fala pessoal estava com um projeto DBZ em 2015 porém não deu muito certo e estou aqui para (DOAR) pra vocês! Ainda mais é um projeto feito já pra rodar em maquina usando UBUNTU 12.04, pra ficar melhor ainda eu fiz a source desse DBZ toda e estou liberando junto, ela não contém erros de compilações e também não há erros graves que derruba o servidor, vim aqui em nome do meu projeto que libero a vocês, apenas o mapa não é meu o resto foi tudo editado por mim, fora as magias que existem no servidor, as vocações estão quase todas balanceadas, a config.lua está totalmente configurada como a source e suas funções. o que tem no servidor ? Informações: *War System na source *spoof system player configurado na config.lua *Source rev 3777 protocolo 8.60. (estável) (bug's fixed) *Cliente dbz solto OLD. *Servidor pronto pra por online. *Muitas transformações. *bank System dentro do jogo colocado por mim. *NPC's funcionando perfeitamente. *Banco de dados juntos. *Ant push system pela source, que configura no config.lua *antiPushDelay configurado no config.lua também. *Ant Divulgação colocada pela source. *Multi word aonde pode abrir vários mundos diferentes usando uma unica database. *No salt, pode usar o account Manager junto com mysql que não irá gerar o salt funciona conjunto com o site sem erros. e muita outra coisas espero que gostem!!! by Alexy Brocanello um servidor parado no pendriver e certamente não vou usar. Demonstração: Servidor e Cliente + Source >>> Download DATABASE >>> com account manager já configurado! >> http://www.mediafire.com/download/1in454i49h5o5rj/dbz.sql DLL Windows >>>dll.zip Executor Windows:>>> theforgottenserver.zip (para quem não consegue compilar) Scan dos arquivos >>> Scan Compilando Ubuntu 12.04: 1° Utilitários - *Se tiver seu Ubuntu Instalado ignore isso UTorrent pra baixa o S.O (Sistema Operacional) >> http://www.utorrent.com/intl/pt/ Ubuntu LTS 12.04>>> http://releases.ubuntu.com/12.04/ubuntu-12.04.5-alternate-amd64.iso.torrent 2° COMPILAR OTSERV LINUX (UBUNTU) Lembre-se, eu ensinarei você a compilar seu OTServ em Ubuntu. Se aparecer algo (Y or N? ou S ou N) digita Y ou S e da enter. Instalando as lib e boost's no Ubuntu! Ubuntu: apt-get update apt-get upgrade apt-get install libboost-all-dev apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libcrypto++-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev apt-get install libcurl4-openssl-dev apt-get install screen Pronto, feito isso você terá tudo configurado para que você possa compilar e botar seu OTServ online! 3° COMPILANDO cd .. chmod 777 -R Dragon Ball Evolution cd /Dragon Ball Evolution/source sh ./autogen.sh && ./configure --enable-server-diag --enable-mysql --enable-root-permission && make clean && make -j 2 4° Ligando servidor cd .. chmod 777 -R Dragon Ball Evolution cd /Dragon Ball Evolution ./theforgottenserver FIM tutorial Linux Agora WINDOWS: Para compilar em windows use esse dev-CPP que disponibilizei especialmente nos fóruns que frequento: Dev-CPP>>> http://www.mediafire.com/download/pr41vq9g1u9sudf/dev+ja+configurada.7z Siga os passo de como você conhece (não precisa configura boost nem nada disso, pois é um dev-CPP pré configurado para esse servidor. Se gerar um erro no final da compilação (Ignore) você pode compilar dnv sem erros, apenas compila não apague nada. ai você vai na pasta dev-cpp que o exe ta lá! As dll tá lá em cima do tópico para você usar. Entrando Senha 1/1 ATENÇÃO: Não USE sqlite para o servidor, pois você não vai conseguir entrar! USE o banco de dados de SITE MYSQL conjunto com account manager (Não tem salt de na criação via account manager e pode ser usado junto com o site sem problema!) (Não quero gente vendendo em ) Source DBZ.zip
  45. 1 point
    @josiassc alves peço que leia as regras do fórum, trate os outros membros com repeito e será respeitado: 1.1. Respeito Respeite os outros membros da comunidade. Nenhum membro do fórum é superior ou inferior a outro, independentemente do número de mensagens que já postou, do tempo de participação no fórum ou de qualquer outra coisa. Respeite as opiniões e expressões dos outros membros e, mesmo quando não concordar com um ponto de vista, não o agrida com palavras: opiniões sempre podem ser debatidas pacificamente e com responsabilidade. Ofensas não são toleradas. "Respeite as opiniões e expressões dos outros membros e, mesmo quando não concordar com um ponto de vista, não o agrida com palavras: opiniões sempre podem ser debatidas pacificamente e com responsabilidade."
  46. 1 point
    luangop

    [PEDIDO] Script Evento

    data/globalevents/scripts crie o arquivo cria_tp.lua function onTimer() local config = { pos_criar_tp = {x=XXX,y=YYY,z=Z}, pos_do_evento = {x=XXX,y=YYY,z=Z}, tempo_tirar_teleport = 2, -- Em minutos mensagem_quando_abre = "Zombie event foi aberto, portal fechará em 2 minutos.", mensagem_quando_fecha = "Zombi Event Começou !" } function removeTp() local t = getTileItemById(pos_criar_tp, 1387) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(pos_criar_tp, CONST_ME_POFF) doBroadcastMessage(config.mensagem_quando_fecha) end end doBroadcastMessage(config.mensagem_quando_abre) doCreateTeleport(1387, config.pos_do_evento, config.pos_criar_tp) addEvent(removeTp, config.tempo_tirar_teleport * 60 * 1000) return true end Acho que está bem fácil de entender e configurar. data/globalevents/globalevents.xml Adicione a tag: <globalevent name="CriaTeleport" time="08:00" event="script" value="cria_tp.lua"/> <globalevent name="CriaTeleport" time="12:00" event="script" value="cria_tp.lua"/> <globalevent name="CriaTeleport" time="17:00" event="script" value="cria_tp.lua"/> <globalevent name="CriaTeleport" time="22:00" event="script" value="cria_tp.lua"/> Tem como definir mais de um horario na mesma tag, mas n lembro como faz, entao cria uma tag para cada horario que deseja criar o teleport.
  47. 1 point
    sim, abre a lib(se você usa tudo por lua) do zombie ou no MODS e procure por essa linha: doCreateMonster(zombie_config.monster_name, pos, false, false, false) e troque por essa: doSummonCreature(zombie_config.monster_name, pos)
  48. 1 point
    Trick07

    Mudar IP do OTClient

    Salve galera bom dia! Eu to com problemas de TELA PRETA usando OTCLIENT no meu servidor POKETIBIA! È preciso fazer uma configuração específica para rodar no meu servidor? Por exemplo, ele veio com um OTCLIENT "próprio" porém fica aparecendo telas pretas, buga o char..duplica o char (in game) e as vezes deixa o char travado. Alguém já passou por isso e sabe me dar algum sinal a respeito? To me esforçando pelo servidor já procurei em tudo que é canto até vi um post parecido ao meu aqui no forum porem não foi respondido. Muito obrigado se você leu até aqui, sua atenção já me agrada! REP++ para quem puder me ajudar!
  49. 1 point
    Bom... decidi postar agora o script que eu fiz para barrar os botters de fast attack. Primeiro, crie um arquivo chamado "antiBot.lua" em "data\creaturescripts\scripts" e nele adicione o seguinte conteúdo: -- counts physicals, casts .... [player name : creature cid] playerAttacksMade = {} playerActivateTime = {} playerBlocked = {} function tablelength(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end function onLogin(cid) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, 'Loading Anti Bot... done.' ) playerAttacksMade[cid] = {} playerActivateTime[cid] = {} playerBlocked[cid] = false end return true end function onLogout(cid) if isPlayer(cid) then playerAttacksMade[cid] = nil playerActivateTime[cid] = nil playerBlocked[cid] = nil end return true end function onStatsChange(cid, attacker, type, combat, value) local maxAttacks = { 6, --pos 1 6, --pos 2 6, --pos 3 6, --pos 4 7, --pos 5 7, --pos 6 7, --pos 7 7, --pos 8 } if not type == STATSCHANGE_HEALTHLOSS or not isPlayer(attacker) then return true end if value <= 0 then return true end if playerAttacksMade[attacker][cid] == nil then playerAttacksMade[attacker][cid] = 0 playerActivateTime[attacker][cid] = os.time() end local currentTime = os.time() --TESTE --doPlayerSendTextMessage(attacker, MESSAGE_STATUS_CONSOLE_ORANGE, playerAttacksMade[attacker][cid] .. '________' .. attacker .. '_____' .. cid .. '______' .. currentTime .. '_______' .. playerActivateTime[attacker][cid] ) if currentTime >= playerActivateTime[attacker][cid] then playerActivateTime[attacker][cid] = currentTime + 1 playerAttacksMade[attacker][cid] = 0 else playerAttacksMade[attacker][cid] = playerAttacksMade[attacker][cid] + 1 end if playerAttacksMade[attacker][cid] > maxAttacks[getPlayerVocation(attacker)] then playerBlocked[attacker] = true doBroadcastMessage('O player ' .. getPlayerName(attacker) .. ' esta usando bot de fast attack. O seu ataque foi travado ate que ele relogue.', 21) doShowTextDialog(attacker,1952,"PARE DE USAR ELFBOT! Seu ataque foi bloqueado. Para destravar basta relogar. Obrigado. (Sistema exclusivo do ot)") return FALSE end return TRUE end function onCombat(cid, target) if isPlayer(cid) then if not playerBlocked[cid] then registerCreatureEvent(target, "AntiBot2") else return false end end return true end function onCast(cid, target) if isPlayer(cid) then if playerBlocked[cid] then return false end end return true end e em "creaturescripts.xml", encontrado em "data\creaturescripts" adicione: <event type="combat" name="AntiBot1" event="script" value="antiBot.lua"/> <event type="statschange" name="AntiBot2" event="script" value="antiBot.lua"/> <event type="login" name="AntiBot3" event="script" value="antiBot.lua"/> <event type="logout" name="AntiBot4" event="script" value="antiBot.lua"/> <event type="cast" name="AntiBot5" event="script" value="antiBot.lua"/> Agora vou explicar a parte configurável: local maxAttacks = { 6, --pos 1 6, --pos 2 6, --pos 3 6, --pos 4 7, --pos 5 7, --pos 6 7, --pos 7 7, --pos 8 } Aqui você vai modificar qual o número máximo de ações de combate (que dão dano) que certa vocação poderá dar. Posição 1 é Sorcerer, 2 é Druid, 3 é Paladin, 4 é Knight e assim por diante.... Escolha bem esses números! Caso você erre, ele irá ficar detectando erradamente. Por exemplo,vamos supor que o knight tenha o fastAttack em 500ms (logo ele executará 2 ataques por segundo) e que sua magia de dano de menor exhaust tenha um exhaust de apenas 600ms, logo o numero maximo de ataques dele por segundo será 4 (cuidado quando spells de dano diferentes puderem ser usadas ao mesmo tempo, daí você terá de acrescentar mais 1 ao número de ataques por segundo. Por favor, testem e me falem o que acharam. Espero que ajude a tirar os botters de seu server. P.S.: Não me importo que roubem meus créditos e/ou postem em outros fórums. É bom espalhar esse script uma vez que botters nos servers 8.6 é muito comum.
  50. 1 point
    Victor Fasano Raful

    Criar novos Mundos

    Amigo, abra o seu config/config.php (caso for gesior) Procure por $config['site']['worlds'] = array(0 => 'Bla bla bla'); Caso queira mais que 1, segue código: $config['site']['worlds'] = array(0 => 'Sv1', 1 => 'Sv2'); Atenciosamente
This leaderboard is set to Sao Paulo/GMT-03:00

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...