Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 07/03/20 in all areas

  1. 11 points
    Baiak-PvP A algum tempo atrás este servidor esteve online e atingiu um grande numero de jogadores, foi projeto de um amigo meu, porem com o passar do tempo ele decidiu seguir adiante com outras coisas e abandonou este projeto. Eu nunca cheguei a olhar a fundo o conteúdo deste servidor, mas pelo pouco que vi me parece estar muito bem feito, e alem disto, o servidor conta com alguns sistemas que não eram públicos até o momento em que foi postado, então eu garanto que valê a pena dar uma olhada. Por que o servidor está sendo postado? No tempo em que ainda estava em desenvolvimento e até mesmo quando já estava online, ele investiu pesado no servidor, com sistemas, fixes e segundo ele até mesmo algumas otimizações. Quando ele decidiu abandonar o projeto, por um tempo ele tentou vender o servidor, mas nenhuma das ofertas que ele recebeu chegava perto do que ele havia investido no mesmo, frustado com isso ele decidiu postar gratuitamente pra comunidade. Mas ele acabou postando em grupos de Facebook e não nos forum de Open Tibia, alguns dias depois da postagem ela foi apagada e poucos tiveram a oportunidade de baixar os arquivos, devido a isto, recentemente alguns oportunistas vem tentando vender este conteúdo que a um bom tempo foi liberado gratuitamente. Como bom destruidor de sonhos de trambiqueiros, quando eu vi isso acontecendo eu decidi entrar em contato com o dono do projeto, e perguntar se eu podia postar o conteúdo aqui, sem surpresa alguma ele permitiu a postagem e aqui estou. É importante lembrar que todo este conteúdo foi postado pelo próprio dono do servidor gratuitamente. Informações sobre o servidor Como mencionei anteriormente eu não cheguei a analisar o conteúdo do servidor a fundo, então vou citar apenas algumas das features e sistemas que contem. Watch system: é um sistema que permite o jogador a assistir casts sem ter que deslogar o personagem, há poucos servidores online com este sistema mas ainda assim pode ser familiar pra alguns. Cast system: alem do cast com setas para realizar troca de um cast para outro de forma dinâmica, este servidor exibe informações extras no cast, como tempo de stream, vocação na lista de casts e também permite o espectador a utilizar a função de look além de adicionar um bônus de experiencia aos jogadores com cast aberto sem senha. Anti entrosa: a maioria já deve ser familiar com este sistema, o diferencial neste servidor é que possui limitador de level que reduz o level do player ao level definido incluindo status como life, mana e speed, alem disso também é possivel limitar a quantidade de knights e paladins. Anti divulgação: o servidor também conta com sistema anti-divulgação que faz quem está divulgando acreditar que suas mensagens estão chegando aos jogadores quando na verdade não estão. Party share: diferente do sistema comum que divide por igual a experiência entre dois ou mais jogadores, este sistema adiciona um bônus aos jogadores dependendo da quantidade de vocações diferentes na mesma party. Exhaust: a source do servidor possui alterações para impedir que algumas ações causem efeito em outras, tornando assim possivel que seja executado vários tipos de ações simultaneamente. Boosted creature: todo dia uma criatura é selecionada de forma randômica para dar mais XP e Loot. Enfim... este são apenas alguns dos sistemas e features que me recordo que o servidor possui, mas tenho certeza que além disso há muito mais. Algumas imagens: Aviso + Créditos Diferente do Classic-Yurots que eu trabalhei por um tempo no servidor, com este eu não estou familiarizado e não pretendo dar suporte a eventuais duvidas e problemas, só estou postando pra evitar que paguem por algo que pode ser obtido de graça então nem adianta vir me mandar mensagem privada pedindo ajuda que vai ser ignorado. O servidor vai acompanhado da source, e em breve irei postar também o site (que contém sistema de pagamento com entrega automática de pontos para serviços como PicPay e Mercado Pago). Créditos Nenhum dos sistemas contidos no servidor é de minha autoria, tudo foi adquirido pelo dono e idealizador do projeto Links para Download Servidor Download - Scan Source Download - Scan
  2. 11 points
    Este script realiza limpezas na database toda vez que o servidor é iniciado, com o intuito principal de não sobrecarrega-lá. Ele funciona conforme a configuração: - Deletando personagens inativos há X meses. - Deletando contas que estão vazias (que não tem personagens criados) há X meses. - Deixando as casas livres caso o seu dono não entre no jogo por mais de X dias. - Deletando os invites de casas feitos por ex-moradores caso a casa não tenha dono. - Deletando guilds que foram criadas há X dias e que tem menos de Y membros. Crédito: luanluciano93, Leu e Cjaker. -- <globalevent type="startup" name="CleanDatabase" script="cleanDatabase.lua" /> --[[ Este script realiza limpezas na database toda vez que o servidor é iniciado, com o intuito principal de não sobrecarrega-lá. Ele funciona conforme a configuração: - Deletando personagens inativos há X meses. - Deletando contas que estão vazias (que não tem personagens criados) há X meses. - Deixando as casas livres caso o seu dono não entre no jogo por mais de X dias. - Deletando os invites de casas feitos por ex-moradores caso a casa não tenha dono. - Deletando guilds que foram criadas há X dias e que tem menos de Y membros. Crédito: luanluciano93, Leu e Cjaker. ]]-- local inactiveMonthsToDeleteCharacter = 1 -- quantos meses o player precisa ficar inativo para ser deletado. local emptyAccountMonths = 1 -- quantos meses uma conta precisa ficar sem nenhum character criado para ser deletada. local inactiveDaysToCleanHouse = 7 -- quantos dias o player precisa ficar inativo para perder a house. local inactiveDaysToCleanGuildWithFewPlayers = 10 -- quantos dias após a criação da guild irá verificar a quantidade mínima de players. local minimumGuildMembers = 5 -- quantidade minima de membros para a guild não entrar na verificação. local function executeDatabase(fromClause) local totalClear = 0 local resultId = db.storeQuery("SELECT COUNT(*) AS `count` FROM ".. fromClause) if resultId ~= false then totalClear = result.getNumber(resultId, 'count') result.free(resultId) if totalClear > 0 then db.query("DELETE FROM ".. fromClause) end end return totalClear end local function doCheckInactivePlayer() -- deleta automaticamente o dados das tabelas "houses, player_items, player_depotitems, player_deaths, guilds, player_storage" local timeStamp = os.time() - (86400 * (inactiveMonthsToDeleteCharacter * 30)) local fromClause = "`players` WHERE `group_id` = 1 AND lastlogin <= ".. timeStamp return executeDatabase(fromClause) end local function doCheckEmptyAccounts() -- deleta automaticamente o dados das tabelas "player_viplist" local timeStamp = os.time() - (86400 * (emptyAccountMonths * 30)) local fromClause = "`accounts` WHERE `accounts`.`creation` <= ".. timeStamp .." AND NOT EXISTS (SELECT `id` FROM `players` WHERE `accounts`.`id` = `players`.`account_id`)" return executeDatabase(fromClause) end local function doCheckInactiveHouses() local timeStamp = os.time() - (86400 * (inactiveDaysToCleanHouse * 24)) local totalClear = 0 local resultId = db.storeQuery("SELECT `houses`.`owner`, `houses`.`id` FROM `houses`, `players` WHERE `houses`.`owner` != 0 AND `houses`.`owner` = `players`.`id` AND `players`.`lastlogin` <= " .. timeStamp .. ";") if resultId ~= false then repeat local owner = result.getNumber(resultId, "owner") local houseId = result.getNumber(resultId, "id") local house = House(houseId) if house and (owner > 0) then house:setOwnerGuid(0) totalClear = totalClear + 1 end until not result.next(resultId) result.free(resultId) end return totalClear end local function doCheckInactiveHouseLists() -- Apagando "house_lists" do player local fromClause = "`house_lists` WHERE EXISTS (SELECT `id` FROM `houses` WHERE `house_lists`.`house_id` = `houses`.`id` AND `houses`.`owner` = 0)" return executeDatabase(fromClause) end local function doCheckInactiveGuilds() -- deleta automaticamente o dados das tabelas "guild_invites, guild_membership, guild_ranks" local timeStamp = os.time() - (86400 * (inactiveDaysToCleanGuildWithFewPlayers * 24)) local fromClause = "`guilds` WHERE `guilds`.`creationdata` <= ".. timeStamp .." AND (SELECT COUNT(*) from `guild_membership` WHERE `guild_membership`.`guild_id` = `guilds`.`id`) < " .. minimumGuildMembers .. "" return executeDatabase(fromClause) end -- Executando as funções de limpeza ao iniciar o servidor. function onStartup() print("[[ DATABASE CLEAN ]]") local inactivePlayer = doCheckInactivePlayer() if inactivePlayer > 0 then print(">> ".. inactivePlayer .. " deleted inactive players.") end local emptyAccounts = doCheckEmptyAccounts() if emptyAccounts > 0 then print(">> ".. emptyAccounts .." empty deleted accounts.") end local inactiveHouses = doCheckInactiveHouses() if inactiveHouses > 0 then print(">> ".. inactiveHouses .." houses that were expropriated.") end local inactiveHouseLists = doCheckInactiveHouseLists() if inactiveHouseLists > 0 then print(">> ".. inactiveHouseLists .." deleted inactive house lists.") end local inactiveGuilds = doCheckInactiveGuilds() if inactiveGuilds > 0 then print(">> ".. inactiveGuilds .." deleted inactive guilds.") end addEvent(saveServer, 10000) end
  3. 7 points
    Olá galera do TK, tudo bem? Então, hoje venho trazer um Mini Pack de Sprites para a galera que mexe com derivado de Naruto. Essas sprites estão circulando por ai há algum tempo e alguns mau caráteres estão aproveitando para vendê-las para desavisados (como de costume). É isso, galera, em breve posto mais conteúdo. Scan: https://www.virustotal.com/gui/file/e53c83c236e32cdf5109b072de6cdb21997a193ab346910a4280b0671f402067 Download: Outfits e Efeitos.rar
  4. 7 points
    Witchmaker

    [DOAÇÃO] Client Nto Infinity

    Fala galera do TK, como vão? Então, estou compartilhando com vocês o acervo de clients que tenho salvo no meu PC. Desse modo, encontrei o client antigo do Nto Infinity, que como de costume está sendo vendido e anunciado por mau caráteres. Bom uso, pessoal! Scan: https://www.virustotal.com/gui/file/0205e7820bfaa8e870a3b49e1892c0f83daf12d2ae8a35a536940b0506285352 Client Sprites:NTOInfinity.rar
  5. 7 points
    WooX

    Algumas funções Lua

    Biblioteca de funções Lua Eu me recordo que alguns anos atrás quando iniciei meus estudos em Lua, a biblioteca de funções postada pelo @xWhiteWolf me ajudou muito com a escrita de alguns scripts, me fez economizar tempo e algumas linhas de código. Ter uma biblioteca de funções uteis é uma mão na roda para qualquer desenvolvedor pois poupa tempo que teria de ser gasto desenvolvendo algo que algum outro programador provavelmente já fez. Pensando nisso, hoje eu decidi trazer algumas funções Lua, tenho certeza que poderá ser útil pra alguém algum dia. Algumas dessas funções foram feitas por mim, outras por amigos meus e algumas eu já nem lembro mais onde encontrei. Irei postar aqui o conteúdo desta biblioteca porem ela também estará no final do tópico como anexo. As funções que me recordo a origem estará com os créditos do autor. Lib Explicação das funções: Por enquanto é isso... pretendo atualizar este tópico sempre que achar necessidade de escrever algo novo ou encontrar algo que possa ser útil a biblioteca. 090-woox_functions.lua
  6. 6 points
    Yinz

    Hati New AAC

    Olá, gostaria de saber a opinião de vocês sobre criar um novo AAC em NodeJS. sei que hoje a comunidade tem ótimos aacs como Znote, MyAAC, até o proprio gesior, mas desde que larguei o php, tenho pensado em fazer algo com javascript. Eu já vi algumas discussões sobre Apache, NGIX, Cache, pensei em fazer o back com o node e o front com React. Deixa sugestões aí, se vocês acham válido inciar um projeto c essas tecnologias. O projeto foi criado no Github, e será publico para quem quiser contribuir. O projeto vai ser estruturado em NodeJS e React. Express MySQL Axios Sequelize Bootstrap Bundle Sass Joi Crypto React e dependencies. Por enquanto o projeto tá bem crú, pois meu nível de javascript não é lá aquelas coisas, então qualquer sugestão, criticas construtivas, serão bem-vindas. https://github.com/pedrogiampietro/Hati
  7. 5 points
    BrazItzMe

    PokeAimar (Level System) 8.54 2020

    Me mandaram esse servidor e eu decidi deixar ele jogável porque muita gente tinha dificuldade em deixar online. Como deixar online: Basta criar um banco de dados com o xampp (use o xampp mais recente), com o nome poketibia e do lado onde está utf, escolhe Agrupamento (Colation) após isso é só importar o banco de dados que ta junto com o servidor. Ai é só abrir o servidor, esperar carregar e depois abrir o cliente e logar Conta god: GOD / 123456 Download: https://www.mediafire.com/file/3atv44omlf3f036/PokeAimar.rar/file Vem com Sources e SPR+Dat Editável Scan: https://www.virustotal.com/gui/file/828a6e443c29221b9cd46f3fffe5f65c63bbb8e8ffc109a4fc91554d9c10e752/detection Créditos: Kaboflow, PDA, Psoul, Pstorm, Gengo, TFS Team, Cipsoft, DxP, PokemasterX. É um mistão de scripts do fórum + scripts próprios, acima listados os responsáveis pela criação do datapack e servidor. Descrição: Level System 100% 1ª e 2ª geração completos Kanto e Ilhas Laranjas 100% Tv System 100% (Techinical Machine) Ensinar Moves pros Pokes 100% Daycare e Egg System 100% Duel System (PVP) 100% Gym System 100% Berries (Plantar, Colher e Usar) 100% Fly, Surf, Ride, Dive e Headbutt 100% Mastery System (Especializar em Elemento) 100% Tournament System 100% Saffari Zone 100% Poke Balls Effects 100% Pokemons na Character List 100% Poke Bar 100% Atravessar seu pokemon 100% Relógio In-Game 100% New Pokedex 100%
  8. 5 points
    Boa Noite Então teve essa postagem aqui da base do atom "atual" no caso essa nunca foi a atual publicação : Então essa base que estarei postando é a mais recente 10.06.2020 [+] Contém site otimizado [+] Shop Otimizado - Adicionando vocação/skin sem pergaminho *Não testei a parte da Skin, mas vocação funciona [+] Contém sistema Jinchuuriki *Obs: é bom da uma olhada porque esse sistema não é o atual, no dia que conseguir a base 1 hora depois, ele alterou o sistema ai não dava mais pra eu pegar. [+] Contém sistema de saga *Tem um error no sistema que o jogador consegue falar com outros npcs e consegue pegar outra storage fazendo avançar de saga sem fazer nada Quem quiser corrigir seria bom liberar pra comunidade arrumado [+] Mesmo Mapa [+] Mesmas Vocs [+] Database - Limpa e compativel com o site *Obs: Os Samples não são os mesmos do server, então é só alterar outfit e o id da vocação --Source ainda falta [Dependendo da quantidade de Voto Positivo estarei liberando uma identica ou a atual dependendo dos votos claro]. Conteúdo Exclusivo para o TibiaKing Downloads : Server/Site Cliente Database Source Scans: Server/Site Cliente
  9. 5 points
    WooX

    Depot Locker System

    Depot Locker System Escrevi esse sistema no ano passado a pedido de um amigo e finalmente deixei a preguiça de lado pra postar ele aqui. Aviso de antemão que o sistema é funcional apenas para OTX2 e TFS 0.4. O que faz? Este sistema consiste em adicionar um layer extra de segurança para o jogador, permitido criar uma senha para acesso do depot. Isso possibilita o jogador passar sua senha a amigos em que não confia totalmente e a estar precavido até certo ponto no caso de hacking. Vídeo Instalação Este sistema utiliza de funções contidas na lib do link abaixo, então antes de mais nada é necessário adicionar esta lib no servidor. Depois de instalado a lib, basta baixar os arquivos anexados no tópico, adicionar em seus respectivos locais e registrar as tags XML contidas nos mesmos. Após isso é necessário adicionar o action id configurado no piso dos depots em que o sistema deve funcionar. Toda configuração do sistema se encontra dentro do arquivo lib_depotlocker.lua, segue explicação da seção de configuração. config = { useBoard = false, passMinLength = 4, passMaxLength = 12, askPassOnlyOneTimePerLogin = true, boardIDs = {1811, 1818}, -- West/East and North/South depotIDs = {2589, 2590, 2591, 2592}, -- South, West, North and East typeYourPassMsg = "Digite sua senha: ", rightPassMsg = "Senha correta, depot liberado.", wrongPassMsg = "Senha incorreta, tente novamente.", wrongTries = { limitTries = true, triesBeforeBlock = 5, blockTime = 15 * 60, -- 15 Minutos triesLeftMsg = "Senha incorreta, você ainda tem %s tentativa.", blockMsg = "Depot bloqueado, tente novamente em %s." }, } useBoard: pode ser definido como true ou false, se definido como verdadeiro irá criar um quadro ao lado do depot para o player poder digitar a senha, da mesma forma que é mostrada no vídeo, (eu recomendo deixar esta opção ativada somente se utilizar paredes como separador entre um depot e outro). passMinLength/passMaxLength: definem o valor minimo e máximo de caracteres que uma senha pode ter. askPassOnlyOneTimePerLogin: pode ser definido como true ou false, se definido como verdadeiro irá pedir a senha novamente apenas se o jogador sair e entrar novamente. boardIDs: aqui é preenchido os IDs dos quadros em que o player deve digitar a senha, um ID para vertical e outro para a horizontal. depotIDs: aqui é preenchido os IDs dos depots na respectiva ordem, sul, oeste, norte e leste. typeYourPassMsg: esta é a mensagem que irá aparecer na caixa de texto orientando o jogador a digitar a senha. rightPassMsg: esta é a mensagem que irá aparecer quando o jogador digitar a senha correta. wrongPassMsg: esta é a mensagem que irá aparecer quando o jogador digitar a senha incorreta. limitTries: pode ser definido como true ou false, se definido como verdadeiro irá bloquear as tentativas do jogador caso ele digite a senha incorreta um determinado numero de vezes. triesBeforeBlock: quantidade de tentativas incorretas para realizar o bloqueio. blockTime: Tempo de bloqueio (valor é definido em segundos). triesLeftMsg: esta é a mensagem que será enviada para o jogador com a quantidade de tentativas que ele ainda possui. blockMsg: esta é a mensagem que será enviada para o jogador caso todas suas tentativas falhem e ele seja bloqueado. Lembrando que o action id configurado em depotTile deve ser o mesmo registrado no script de movement e deve ser adicionado no piso do depot. Créditos @Yan Liima pela idealização do sistema e vídeo de demonstração. @Baiakeiro por testar a versão final do sistema. locker_action.lua locker_creature.lua locker_movement.lua npc.lua npc.xml
  10. 5 points
    ian fontes

    Ian Fontes - Show Off

    Versão: 10.98 Tema: Diversos Servidor de testes: TFS 1.2 Descrição: Mapa de tema livre que estou criando por hobby. Não tenho intenção em colocar online, por isso, caso tenha interesse, pode entrar em contato via pm. Segue Mapas: Atualizando ~ 20/07/2020
  11. 5 points
    Bruxo Ots

    Npc Imbuiment item Seller

    Ola meus queridos, trago para vosas senhorias este belo npc vendedor de itens para imbuiment. Ele pode ser melhorado? sim claro. Esta funcionando? sim claro Bruxo você entende de programação? claro...que não. Esta por Gold, ja que curto coisas custons, o npc base usado foi a A Sweaty Cyclops. E isso pessoal espero que usem e abusem. Instalação: Dentro da pasta Npc de CTRL+C E CTRL+V em cima de algum dos arquivos .XML e renomeio o mesmo para Imbuiment. ou o nome que desejar e cole isso dentro. <?xml version="1.0" encoding="utf-8"?> <npc name="Imbuiment Seller" script="Imbuiment.lua" walkinterval="0" floorchange="0"> <health now="100" max="100" /> <look type="1078" /> </npc> Crie um arquivo na pasta Npc/Scripts chamado de Imbuiment.lua ou o nome que desejar e cole isso dentro!!! Essa é a linha que pede os golds e que remove o mesmo pela troca dos items if player:removeItem(2160,100) then. 2160, id do coin e 100 a quantidade. Já essa é a linha que vai adicionar os items ao player. Deixei comentado pra ficar facil a visualização. player:addItem(10602, 25) --Vampire Teeth player:addItem(10550, 15) --Bloody Pincers player:addItem(10580, 5) --Piece of Dead Brain É isso queridos até o proximo npc basicão.
  12. 4 points
    luanluciano93

    [ZNOTE] New Styller Layout

    Fiz um layout para um projeto que estou desenvolvendo ... usei como base o znote que é o melhor ACC na minha opinião. https://www,newstyller.com Gostaria de ideias, críticas, opiniões ...
  13. 4 points
    Zagaf

    kingdoms of the earth

    Show off kingdoms of the earth Bom galera , sou iniciante ainda em mapping , eu observei alguns show off e decidi tentar. 😄 Tive com inspiração essa imagem. Ainda não foi detalhada , ainda e somente um esboço .
  14. 4 points
    Bug da door Olá pessoal, hoje venho trazer um script pra vocês, que traz uma solução de um bug que está detonando muitos servidores e dando muita dor de cabeça! Visto que tem sido recorrente que muitos servidores, tem sido nukados, principalmente os derivados, digo isso porque é minha praia... Trata-se da door de level crashando o servidor, o nuker, ao dar use na door, ficar dentro dela, taca muitos itens (geralmente moeda e dolar), e ao sair, ela se fechará e pronto! Crashou o servidor! Funcionamento: soluciona o bug, e ainda o item que o nuker tacar, se ele sair da door e ela se fechar, ele perde os itens que ele tacar. Versão testada: TFS 0.4 - 8.60 (não garanto funcionamento em outras versões) A solução: Vá em data/movements/scripts, procuro por: "closingdoor.lua" e SUBSTITUA por: Como não é AddOn, é uma modificação de um script já existente, não é necessário adicionar tag! Espero que funcione no jogo de vocês, já que foi testado no meu projeto e deu certo! Obrigado ao @RicK Sanchez pelo vídeo provando a eficiência, o projeto dele se encontrava com o bug também! Se te ajudou? Rep+! Obrigado a todos até aqui! Video provando.mp4
  15. 4 points
    Nolis

    Resultado - Desafio de Mapping #001

    Praça de Cidade - Resultado Primeiramente gostaria de esclarecer que a demora para publicação do resultado se deu devido à imprevistos pessoais, por esse motivo decidi cancelar a avaliação dos juízes, eles podem eventualmente vir a comentar no tópico suas opiniões sobre os mapas posteriormente. Portanto, nesta edição estará valendo apenas a opinião publica, resultado da enquete publicada no portal. Confira os mapas enviados e o resultado da enquete aqui. Mapa Vencedor: Em Primeiro Lugar, com aproximadamente 80% dos votos, concedo ao membro @We11 TK o medalhão de 1º lugar no Desafio de Mapping #001. Em Segundo Lugar, com aproximadamente 20% dos votos, concedo ao membro @Delkdors o medalhão de 2º lugar no Desafio de Mapping #001. Devido ao empate entre @Underewar e @Genkkai, concedo aos dois o medalhão de 3º lugar no Desafio de Mapping #001; Os medalhões foram entregues, os pontos de reputação serão entregues durante a semana, obrigado pela participação de todos! Fiquem atentos para a próxima edição do DdM #002!
  16. 4 points
    Nolis

    Desafio de Mapping #002 - Montanhas!

    🌎TEMA: Montanhas. Para participar, envie uma ou mais imagens para @Nolis REGRAS! - O uso de gráficos e versões é livre. - O mapa não pode ser mostrado/compartilhado antes ou durante a votação. - Não é permitido usar mapas antigos (já feitos). 🏆 RECOMPENSAS ⭐ Tag de vencedor do evento no grupo Academia de Mapping no Discord. ⭐ Pontos de Reputação para primeiro, segundo e terceiro lugar (5, 3, 2). ⭐ Medalhão Evento de Mapping no TK (primeiro, segundo e terceiro lugar) • O mapa vencedor do desafio será aquele que conseguir o máximo de pontos em cada categoria de avaliação. Coerência & Jogabilidade. Temática & Detalhamento. Votação do Público. 🌎 TEMA: Montanhas. Prazo para envio: Até 21/07/2020 - 23:59 Início das votações: 22/07 - 28/07
  17. 4 points
    WooX

    WooX Spriting

    Muitos me conhecem como scripter/programador no fórum, mas poucos irão se lembrar que cheguei no fórum como spriter. Ver o novo show-off do @Nolis me motivou a criar este tópico e mostrar meus sprites antigos e eventuais novos sprites que pretendo rabiscar no futuro. No passado cheguei a receber ofertas do PxG e OT Pokemon, mas sprites sempre foram um hobby pra mim, devido a isto todo conteúdo postado aqui é livre para uso. Boa parte destas sprites foram feitas no ano de 2014, ano esse que cheguei no fórum do TibiaKing e iniciei com spriting. Armadura Robe Diamante e Ruby Moeda de Ouro Chapéu do Luffy Primeira arvore Remakes de Pokémon Outfit N (Pokémon) Outfit Red (Pokémon) (Este outfit foi um pedido do projeto Sprite-Sedex que houve aqui no TibiaKing em 2014, eu me lembro de ter feito um vídeo fazendo). Boneco de Neve Essa é a sprite mais recente que fiz. No ano passado eu vi um tópico aqui no TibiaKing lembrando sobre os antigos NTO que diferente dos atuais não utilizavam sprites top-down mas sim sprites com a mesma perspectiva do Tibia, foi nesta época que eu fiz este Kakashi. É isto, eu não pretendo atualizar com frequência este tópico mas sempre que me der vontade e saudade de fazer sprites eu irei postar o resultado aqui.
  18. 3 points
    Marcos Pacheco

    OTCv8-Mobile

    Hoje, a nova versão do Android foi lançada. Registro de alterações: - Adicionado suporte multitoque - Adicionado teclado (joystick) para caminhada manual - Barra de ação aprimorada - Painel de ação esquerdo aprimorado, ação extra adicionada ao clicar duas vezes - Outras pequenas correções de bugs Dicas para usuários mobile: - Clique duas vezes em Usar no painel esquerdo para usar o item em você - Clique duas vezes em Atacar / Seguir no painel esquerdo para atacar / seguir a primeira criatura da lista de batalhas - Clique duas vezes em Olhar no painel esquerdo para ver a primeira criatura na lista de batalhas. - Mantenha o dedo por 0,5s para clicar com o botão direito - Você pode ampliar / reduzir o mapa usando bot (guia Ferramentas) - Você pode ligar teclas de aumentar / diminuir volume como teclas de atalho - O botão de navegação traseira funciona como escape, você pode usá-lo para fechar as janelas O link para download é o mesmo de sempre: http://otclient.ovh/otclientv8.apk link suporte br: https://discord.gg/PXuzQ5P Mais atualizações estão chegando em breve! Divirta-se
  19. 3 points
    WooX

    Otmanager - nunca mais

    Sim, é. Seria legal, isso é o minimo que podem fazer. Exatamente isso, eles nem sequer escrevem sobre os datapack, só copiam e colam sem deixar qualquer tipo de crédito ou link de onde encontraram. https://chaitosoft.com/8-60-classic-yurots-push-cruzado-cast-com-setas/ Na época que postei o Classic-Yurots um amigo me disse que um tempo depois o sistema anti-entrosa do datapack estava a venda no site da ChaitoSoft, eu pedi pra ele entrar em contato e se dizer interessado no sistema, ele obteve respostas até o momento que questionou se seria o mesmo sistema disponibilizado gratuitamente aqui no TibiaKing. Umas imagens ae: Depois disso eu pedi pra ele perguntar se era o mesmo sistema do Classic-Yurots, e: @otmanager Já que se dispôs a responder as indagações, o que tem a dizer sobre isso?
  20. 3 points
    NelaMesmo

    Em desenvolvimento

    Bom pessoal, nunca postei nada aqui, mas gostaria de compartilhar com voces um projeto no qual estou trabalhando. Um mapa para aqueles que gostam de uma boa quest e alguns misterios :D.
  21. 3 points
    Yan Liima

    Depot Locker System

    É uma boa ideia utilizar uma pergunta de segurança. Mas acho que não há necessidade, ai vocês estão querendo ser bahiano de mais kkkkk A senha é armazenada no banco de dados, no valor da storage, como citado pelo WooX. Mas para quem perder a senha, basta conversar com a staff do servidor. Pra quem tem o talkactions /storage adicionado no servidor é muito fácil consultar e remover a senha, sem precisar acessar o banco de dados. Consultar: /storage NICK DO JOGADOR,42611 No console iria exibir: [Yan Liima - 42611] = yan Certo, minha senha é yan. Para remover a senha do jogador: /storage NICK DO JOGADOR,42611,-1 42611 seria o ID da storage configurada na LIB do sistema., o -1 irá remover a senha. Caso queira já setar uma nova senha pro jogador, só por no lugar do -1 a nova senha. OBS: tem um pequeno erro na função da LIB, na parte do caractere. Possivelmente vocês não iram conseguir criar senhas com + de 5 caracter. Correção, troquem: elseif string.len(password) > depotLocker.config.passMinLength then por: elseif string.len(password) > depotLocker.config.passMaxLength then
  22. 3 points
    Ackerzin

    ANSWERED [PEDIDO] Skull infinita

    Essas são as modificações que você ira precisar, basta alterar sua source, config.lua, creaturescript. Oque as alterações fazem, Black Skull pode soltar magia, ele não leva mais dano por estar Black, o Skull nao sai quando sai o Battle, se morrer RedSkull, BlackSkull não perde loot. no seu servidor em config.lua creaturescripts.xml depois criar um arquivo nomedoseuarquivo.lua E adicionar no login.lua combat.cpp condition.cpp player.cpp spells.cpp
  23. 3 points
    Bom galera hoje irei ensinar você como resolver o erro (luaDoCreatureExecuteTalkAction) Creature not found causado pela a função "doCreatureExecuteTalkAction" o erro é bem simples de resolver porem ainda tem gente que sofre com essa função. Função o que ela faz? doCreatureExecuteTalkAction = puxa um comando talkactions da talkactions.xml, ai toda vez que o player logar ou clicar ele vai chamar um script da talkactions.xml. Erro: [5:8:44.528] [Error - CreatureScript Interface] [5:8:44.530] data/creaturescripts/scripts/login.lua:onLogin [5:8:44.530] Description: [5:8:44.532] (luaDoCreatureExecuteTalkAction) Creature not found Porque acontece esse erro?? muitas vezes a função não é inserida corretamente, nesse caso a função foi usada nessa seguinte forma: Função Errada; doCreatureExecuteTalkAction("/t", true) Como não possui a função CID = verificar se é player então retorna o erro mostrado lá em cima o modo certo de usar essa função seria; Função Certa; doCreatureExecuteTalkAction(cid, "/t", true) assim ela funcionaria perfeitamente no login.lua ou em item, piso clicáveis, espero ter tirado essa dúvida de algumas pessoas que quebram a cabeça por algo bem simples
  24. 3 points
    LeoTK

    Pequena alteração (Nomenclaturas Guild)

    Salve galera dessa vez é uma pequena informação mas para quem é detalhista ou queira mudar os nomes das hierarquias da guilda no modern acc podendo funcionar em outros ACC é uma pequena modificação no banco de dados Após acessar a sua DB siga os passos Abra a tabela Guilds dentro dela clique em Estrutura procure a opção Detalhes procure a coluna Gatilhos dentro dela procure por oncreate_guilds clique no lápis para editar e o possível código que vai ter lá é parecido com esse DROP TRIGGER IF EXISTS `oncreate_guilds`// CREATE TRIGGER `oncreate_guilds` AFTER INSERT ON `guilds` FOR EACH ROW BEGIN INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Lider', 3, NEW.`id`); INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Vice-Lider', 2, NEW.`id`); INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Membro', 1, NEW.`id`); END // O seu vai estar Leader, Vice-Leader e Member modifique para outra nomenclatura que desejar depois salve e teste criando uma nova guilda para as guildas que já estiverem criadas antes dessa modificação vai ser necessário modificar manualmente Modo mais prático apenas executando no SQL UPDATE `guild_ranks` SET `name` = "Lider" WHERE `level` = 3; UPDATE `guild_ranks` SET `name` = "Vice-Lider" WHERE `level` = 2; UPDATE `guild_ranks` SET `name` = "Membro" WHERE `level` = 1; Créditos: @LeoTK @Yan Liima
  25. 3 points
    DdJs

    [Mapper] Thunder Baiak

    Falta de criatividade, hein parceiro...
  26. 3 points
    Fala tigrada trazendo a recuperação de dois mapas tenho salvo aqui e vi que foram pra lixeira. Primeiro este lindo e belo mapa do Noktuno Topico Original Imagem Download Agora esta bela sala de quest que o membro Werner trouxe com os devidos creditos ao criador Twine. Topico Original Imagem Download
  27. 3 points
    WooX

    [PEDIDO] Host BR

    Ele está utilizando Cloudflare no servidor web, isso mascara o IP do site, a Cloudflare possui vários servidores no Brasil e a localização mostrada ai é do ISP e não do host. Acredito que já tem tutorial sobre isso aqui no fórum se você quiser saber mais. Não da não, no global é pior ainda. A CipSoft não tem nenhum tipo de data center próprio e sim latência está diretamente ligado a distância, um servidor na Europa vai ter latência maior do que um servidor Americano. Sim, a maioria dos data centers brasileiros se concentram na região sudeste do pais (especificamente São Paulo), mas mesmo nestas condições a latência de um nordestino em um servidor em São Paulo é bem melhor do que se comparado a qualquer outro host fora do pais, eu tenho um servidor em São Paulo e uns amigos do norte e nordeste do pais jogam com 60ms. Este não é caso, a informação mostrada no whois está incorreta, está mostrando a localidade do ISP não do host em si, a Cloudflare possui muitos servidores no Brasil. É simplesmente Cloudflare pro servidor web, nada no lado no servidor.
  28. 3 points
    Bruxo Ots

    Compilar OTCV8 para celular

    Fala queridos, não sei se ja viram ou tentaram vender para vocês mas tibia ja esta acessivel no celular tutorial para android. Todos os creditos a equipe do OtcV8
  29. 2 points
    yelpz

    Dbo Absolut {Base}

    Bom Dia, Boa Tarde, Boa Noite Hoje trago para vocês uma base minha que usei para muitos projetos. É um excelente servidor e tem poucos bugs, algumas arrumadas por me. Estou soltando por motivos pessoais!!! --------------------------------------------------------------------------------------------------------------------- Servidor de DBO Contém diversas caves e quests espalhadas pelo o servidor. Servidor contem ele em si, Client (Com .exe, spr e dat). NÃO ACOMPANHA A SOURCE CASO QUEIRA USAR UMA UTILIZE A DO @Yan Liima. Link: https://tibiaking.com/forums/topic/96040-860-tfs-04-rev3996-war-cast/ CASO QUEIRA ALGUMA IMAGEM OU VIDEO SO COLOCAR NO YOUTUBE "DBO ABSOLUT" OBS: NÃO PERMITO QUE O MESMO SEJA POSTADO EM OUTRO FORUM, SEM MINHA PERMISSÃO !!!!!! --------------------------------------------------------------------------------------------------------------------- CRETIDOS: EU(trint, crazy, yelpz, como queira chamar) Download AND Scan
  30. 2 points
    Yinz

    Hati New AAC

    Bom, eu tenho feito algumas coisas no projeto, mas pouco tempo para fazer. Basicamente já funciona Login/Logout, criação de account/characters. Irei começar a criar componentes, e passar todo o layout de html p jsx, e é uma parada meio maçante, ctrl c e ctrl v. Irei aproveitar p usar styled components, pra limpar os assets do projeto. è isto, como estou fazendo por hobbie, estudos, não tenho pressa. você pode acompanhar um pouco mais aqui : https://github.com/pedrogiampietro/Hati
  31. 2 points
    Bem-vindo Vamos começar com o tópico sobre RME. Vamos começar com o fato de que basear-me-ei na versão: 3.0 Talvez possamos começar com o básico completo;) Botões: Existem apenas botões com os quais vou descrevê-lo em 2 1. "Terrain Palette" <- Essas são as paletas em que você está atualmente. 2. "Cave" <- paleta da paleta, é uma classificação mais precisa, ajuda muito;) 3. Borda <- Opção, para finalizar as bordas e depois escrever mais sobre ela. 4. Borracha <- Borracha, remove tudo, exceto ladrilhos ou substratos. 5. Porta normal <- Porta normal que abre e fecha sem problemas. 6. Porta trancada <- Porta fechada que não pode ser aberta. 7. Porta Mágica <- Portas normalmente usadas para missões, são os chamados "portões de nível". 8. Porta de missões <- Também são portas usadas principalmente para missões, com uma maçaneta brilhante. 1. "PZ Tool" <- Opção para definir os locais da Zona de Proteção. 2. "NO PVP Tool" <- Opção para definir locais onde ninguém pode ser morto, por exemplo, Rookgard. 3. "Nenhuma ferramenta de logout" <- Opção para definir locais onde é impossível fazer logout. (CUIDADO! Nem todos os motores funcionam!) 4. "PVP ZONE Tool" <- Opção para definir locais onde você pode se matar. 5. "Pincel quadrado" <- Um pincel, geralmente é usado no editor, 6. "Pincel de círculo" <- O mesmo que acima, apenas na forma de um círculo, bom se você não quiser um mapa muito angular. 7. "Tamanho do pincel X" Este ícone, e tudo à direita, tem essas opções para definir o tamanho do nosso pincel. Teclas de atalho São botões que nos ajudam no trabalho. Marcado em vermelho "+/-" - "Mais / Menos" Para alterar o piso. Marcado em azul "X" "e x" Para virar objetos. Amarelo marcado "Shift" "Shift" Para marcar mais caixas, como funciona? Por exemplo, você deseja criar muita água para iniciar seu mapa, se afastar, segurar a merda e marcar. Exemplo: E isso depois de parar de pressionar Shift. Vamos para outra paleta, a saber: "Doodad palette", que contém: Cadáveres - cadáveres. Exterior - extras, filas, fogueiras etc. Hangables - extras que podem ser pendurados na parede. Interior - acessórios que podem ser adicionados à casa, por exemplo, um guarda-roupa. Campos mágicos - armadilhas e elementos, por exemplo, fogo. Natureza - Natureza, por exemplo, árvores, etc. Neve - O mesmo que no topo, apenas na neve. Splash - Bebidas derramadas ou sangue. Estátuas - Estátuas. Lixo - Lixo. Ícones marcados roxo é o tamanho do pincel. A próxima paleta é: "Item palete" Existem coisas que carregamos. Nas categorias estão: Contentores - coisas como: Mochilas, barris, itens nos quais podemos guardar alguma coisa. Equipamento - Equipamento. Comida comida. Ornamentos - Amuletos Runas - Escudos Rúnicos - Ferramentas Escudos - Ferramentas, por exemplo, Martelo. Bugigangas - Bugigangas, efeitos, etc. Armas - Armas Escritas - coisas em que você pode escrever algo, por exemplo, um livro ou uma carta. A próxima paleta para "Paleta da casa" É usada para adicionar casas, de uma maneira bastante agradável e agradável;) Para adicionar uma casa, primeiro precisamos criar uma cidade e, em seguida, é claro, criamos a opção da cidade: Mapa => Editar cidades Ou pressionando Ctrl + T. Em seguida, é necessário preencher a caixa;) Primeiro, você precisa clicar no botão "Adicionar", e o nome "Cidade sem nome" aparecerá na parte superior, depois você precisará inserir o nome da nossa cidade no campo. Então, nas 3 caixas que marquei em azul, você deve inserir as posições do templo desta cidade. E pressione Ok. Agora podemos começar a criar casas. agora, na "paleta Casa", selecione Adicionar, Na caixa "Nome" , digite o nome da nossa casa, por exemplo, City Wall 1. Na caixa Aluguel, digite o preço da casa que o jogador pagará periodicamente pelo aluguel da casa. Em seguida, pressione o botão "Ladrilhos da casa", sublinhado em vermelho. Agora marque todas as caixas da casa, atenção! Faça com precisão, porque, por exemplo, um jogador pode perder itens após uma redefinição. ATENÇÃO! as paredes também devem ser marcadas! Que, por exemplo, as coisas penduradas nela não desapareceriam. Em seguida, selecione o botão "Selecionar saída", sublinhado em preto na janela da paleta. Agora clique na caixa antes de sair, ou seja, em frente à porta, é para isso: se, por exemplo, o proprietário da casa quiser expulsar outro jogador da casa, usando a opção "Anala sio" XXXX ". Neste ponto, o jogador aparecerá. Ele ficará assim: O local dessa água derramada é o local da opção "Selecionar saída". E é tudo, se quisermos adicionar uma nova casa, clique em "Adicionar" e, em seguida, nossa casa anterior muda de cor, significa que está concluída. próxima paleta é "Creature Palette". Existem monstros e NPCs lá. Ao contrário do SimOne Map Editor, você pode adicionar rapidamente monstros / NPCs lá. A opção marcada com um pino preto é: "Spawn Time". Quanto tempo dura o monstro "Respect"? O padrão é 60 segundos. A opção marcada em vermelho é: "Tamanho do Spawn" Esta é a opção para aumentar o reaparecimento dos monstros ou distritos onde você pode colocá-lo. Máximo 30. A opção marcada em amarelo é simplesmente colocar um monstro. Agora, como adicionar um monstro ou NPC à paleta? Nós vamos para: Arquivo => Importar => Monstro (s), em seguida, procure nossos monstros / NPCs e clique em Abrir, e agora os temos em nossa paleta; ) Você pode adicionar vários de uma só vez, mantenha pressionada a tecla Ctrl e clique na que deseja. A próxima paleta é "paleta RAW" Geralmente, existem itens que não se definem, mas são úteis para obter detalhes mais detalhados. Observe, no RME MP. Foram usadas identificações de porta pouco usadas, que não suportam a maioria dos motores. Mas esse é o conselho, vá para a pasta de dados do servidor e, em ações, encontre o arquivo door.lua ou doors.lua e adicione lá: elseif item.itemid == 5125 then se item.actionid == 0 then doTransformItem (item.uid, 5127 ) else doPlayerSendTextMessage (cid, 22, "It is locked.") end elseif item.itemid == 5127 then doTransformItem (item .uid, 5125 ) No local marcado em laranja, insira o ID da porta fechada e, no local marcado em azul, insira o ID da porta aberta. Em seguida, em actions.xml, adicione: <action itemid = " 5127 " script = " door .lua" /> <action itemid = " 5125 " script = " door .lua" /> No local laranja, insira o ID da porta fechada, no local branco, insira o ID da porta aberta e, no local verde, insira o nome do arquivo de script. Agora vamos fazer outra coisa, ou seja, editar o RME. O autor o criou para que o usuário possa entender tudo. Primeiro exemplo: é um pouco chato, certo? E agora após a correção do meu programa. Definitivamente parece melhor ... Como você faz isso? - SIMPLES! Entramos na pasta RME, depois em Dados e, em seguida, Pasta que desejamos alterar, em pasta que deseja alterar. Em seguida, edite o arquivo walls.xml ou qual quer outro e usando o Bloco de Notas adicione items inexistentes nos pallets. Em seguida, encontre algo como isto: <ID do item = "3361" chance = "1" /> <ID do item = "3366" chance = "0" /> <ID do item = "5519" chance = "0" /> Você pode fazer isso com tudo, você também pode criar borda de montanhas de inverno. Creditos : desconhecido
  32. 2 points
    Eu postei em outro forum e decidi postar aqui agora. Download: https://www.mediafire.com/file/duod883uo8ke35j/Servidor_tfs_1-3.rar/file Scan: https://www.virustotal.com/gui/file/4c6a8b986087cd39cc678e2c73146663863f8bca650e5c06c8a6179db6c69ea5/detection (Usem o banco de dados tibia.sql ele ja ta configurado com o ZnoteAAC) (Znote AAC Incluso) Contém: 1. Tfs 1.3 compilado em 32 bits + Sources 2. Otclient compilado em 32 bits + Sources 3. Aumentado Tamanho da Tela pra 19 Tiles 4. Adicionado X Y Z no minimap. 5. Interface padrão do OTCLIENT trocada pra transparente. 6. Removido painel direito e esquerdo do Otclient, 7. Limitado o Zoom (Não da pra bugar) 8. Removido Hotkey (CTRL + .) 9. Fixado o Login do OTCLIENT pra ip FIXO. (Troque em entergame.lua) Eu não ativei Transparency nem Extended, caso queira ativar: Dentro do things.lua na pasta game_things, abaixo de: function load() local version = g_game.getClientVersion() Coloque isso: g_game.enableFeature(GameSpritesU32) -- To extended the sprites g_game.enableFeature(GameSpritesAlphaChannel) -- To enable transparency Vai o print antigo mesmo pq é a mesma coisa
  33. 2 points
    em creature.h mude o numero ZERO, quanto mais alto, mas rapido, vai testando aos poucos. virtual bool isPushable() const {return getWalkDelay() <= 0;}
  34. 2 points
    Eu procurei aqui no TK um sistema pra vc "desativar" o proprio pvp, te impedindo de pegar pk e nao encontrei um bacana, os que encontrei nao serviram no meu server, entao tentei fazer um, e bom, eis o resultado: Como funciona: O jogador usa um comando(!pvp) e então, ele fica impossibilitado de causar dano à outro player, a não ser, que o outro player esteja com alguma skull(obs: isso não impede que ele seja atacado, só que pegue pz) Para adicionar: Abra o seu Combat.cpp e procure por if (attacker->getSkull() == SKULL_BLACK && attacker->getSkullClient(target) == SKULL_NONE) { return true; } return false; e troque por: if (attacker->getSkull() == SKULL_BLACK && attacker->getSkullClient(target) == SKULL_NONE) { return true; } int32_t value; if (attacker->getStorageValue(77777412, value) && attacker->getSkullClient(target) == SKULL_NONE) { if (value == 1) { return RETURNVALUE_TURNSECUREMODETOATTACKUNMARKEDPLAYERS; } } return false; Então vá para seu /data/talkactions/talkactions.xml e adicione a tag: <talkaction words="!pvp" script="pvp.lua"/> Aí no /data/talkactions/scripts/pvp.lua e coloque: function onSay(player) local switch = player:getStorageValue(77777412) == -1 and 1 or -1 player:sendTextMessage(MESSAGE_INFO_DESCR, 'PVP: (' .. (switch == 1 and 'OFF' or 'ON') .. ')') player:setStorageValue(77777412, switch) end obs: Não sei em quais versões isso funciona, no meu caso, eu usei no otservbr-global 12.31 e dá certo. E bom, é isso, espero que gostem, façam bom proveito 😃
  35. 2 points
    Eu adicionei mais de 365 itens customizados no meu servidor usando o cliente 10, se tem como fazer isso no 12 eu ainda não tentei. Assim que eu conseguir add itens no 12 eu posto aqui, pq quem sabe não divulga. Enquanto isso vou fazendo em tentativa e erro.
  36. 2 points
    WooX

    [Ajuda] função onDeath

    A resposta é não, pelo menos não uma função Lua. Vou tentar converter para TFS 0.4. Se alguem puder ajudar, eu agradeço. Tenta buscar pelo atributo "corpseowner" com a função getItemAttribute, pode ser que funcione. Eu não me recordo da existência dos parâmetros lastHitKiller e mostDamageKiller, pelo menos não no TFS 0.4. Mas se o callback realmente retornar estes valores, a solução pro problema ta ai, só utilizar o mostDamageKiller que vai retornar quem deu mais dano. Edit: me lembrei que um conhecido estava passando por este mesmo problema a algum tempo atrás, eu cheguei a postar a solução que ele encontrou em outro tópico, pode dar uma olhada.
  37. 2 points
    Nada meu rei ASUAHSUHAHSU, que nada meu rei
  38. 2 points
    GOOD D+ meu patrão!! Muito Obrigadoo!
  39. 2 points
    Okay, eu já entendi o erro, tive isso com um amigo. vamos lá! essa vai resolver todos os problemas. Vai na database>vai no shop_history e exclui TODOS os processos que tem lá. e reinicie o servidor e compre novamente.
  40. 2 points
    Yinz

    Resultado - Desafio de Mapping #001

    good, good, muito bonito os mapas, e parabéns ao new member @We11 TK, que brotou no nada com essa belezura! aos demais, muito bom tb, vi os mapas, e são promissores, um dia vocês vão mapear melhor que o dani, só foca. hahahahha E @Nolis bom rever o fórum movimentado com eventos de novo, good job.
  41. 2 points
    Nolis

    Ian Fontes - Show Off

    Belos mapas, gostei bastante da sala de elementos, ficou muito criativa! Acompanhando.
  42. 2 points
    Movie

    [TFS 1.X] Online Bonus System

    Olá a todos, e estou de volta pra postar alguns conteúdos... Fui atrás de um online bonus system para tfs 1.3 e não achei e portanto decidi fazer o meu, com a ajuda do @vankk. ================================================================================================================ Testado em TFS 1.3 na versão 8.60. ================================================================================================================ ================================================================================================================ No seu banco de dados, execute a seguinte query ALTER TABLE `players` ADD `online_time` int(11) NOT NULL DEFAULT 0 ================================================================================================================ O próximo passo é apenas para quem gostaria de que, a cada server save, o número seja zerado! ================================================================================================================ Em globalevents/scripts/startup.lua, após o inicio da função onStartup() adicione o seguinte código db.query("UPDATE `players` SET `online_time` = 0") ================================================================================================================ Agora crie um arquivo chamado onlinebonus.lua em creaturescripts/scripts com isso dentro local event = {} local function addOnlineToken(playerId) local player = Player(playerId) if not player then return false end if player:getIp() == 0 then event[player:getId()] = nil return false end player:addOnlineTime(1) player:getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Você ganhou 1 online token por permanecer online por 1 hora sem deslogar.") player:addItem(12543, 1) event[player:getId()] = addEvent(addOnlineToken, 60 * 60 * 1000, player:getId()) end function onLogin(player) player:registerEvent("OnlineBonus") if event[player:getId()] == nil then event[player:getId()] = addEvent(addOnlineToken, 60 * 60 * 1000, player:getId()) end return true end -- <event type="login" name="OnlineBonus" script="onlineBonus.lua" /> A tag XML está no fim desse código. ================================================================================================================ Agora, na pasta lib, crie um arquivo chamado onlineTime.lua e coloque isso dentro function Player.getOnlineTime(self) local resultId = db.storeQuery(string.format('SELECT online_time FROM `players` WHERE `id` = %d', self:getGuid())) if not resultId then return 0 end local value = result.getNumber(resultId, "online_time") result.free(resultId) return value end function Player.addOnlineTime(self, amount) db.query(string.format("UPDATE `players` SET `online_time` = `online_time` + %d WHERE `id` = %d", amount, self:getGuid())) end Não esqueça de registrar essa lib no lib.lua. ================================================================================================================ Agora, na pasta talkactions/scripts, crie um arquivo chamado onlinebonus.lua com o seguinte código dentro: function onSay(player, words, param) local skill = player:getOnlineTime(player) local message = "--------[+]------- [Online Bonus System] -------[+]--------\n\nGanhe um online token a cada hora que você passa online sem deslogar.\n\n---------------------------------------------------\n Total\n Desde o server save você já ganhou " .. skill .. " online tokens." doPlayerPopupFYI(player, message) end -- <talkaction words="!onlinebonus" script="onlineBonus.lua"/> A tag XML está no fim desse código. ================================================================================================================ O usuário irá receber um item a cada hora online sem deslogar. O item está no código de creaturescripts com o id 12543, que pode ser alterado para qualquer item que seja agrupável. ================================================================================================================ É isso por hoje.
  43. 2 points
    Tópico atualizado com database compativel
  44. 2 points
    @leozincorsair Para source 0.4 Para source 0.3.6 vou passar como esta no meu Data/Npc/Lib/npcsystem/npchandler.lua Procure por: -- Handles onBuy events. If you wish to handle this yourself, use the CALLBACK_ONBUY callback. logo abaixo vai ter as funções de compra e venda gerais de todo o sistema ai eu adicionei um cooldown nas duas código completo V
  45. 2 points
    exe 32 bits.rar Teste aí amigo! Se funcionar não esqueça de dar um rep+ Testando sprites adicionados. Quase 400 novos itens (custom) no server e client. Usando a base desse servidor e customizando!
  46. 2 points
    Delkdors

    Atlantis - Mapa Próprio

    Tem sim o RME e o Client que eu utilizei para fazer o mapa foi tirado do opentibiabr / tools (https://github.com/opentibiabr/tools)
  47. 2 points
    Delkdors

    Atlantis - Mapa Próprio

    Mapa - Atlantis Download: Atlantis.otbm Varredura RME e Client utilizado para fazer o mapa primeira vez que postar se tiver algo errado ou algo para corrigir no mapa me avise pfv
  48. 2 points
    Para quem tá precisando exe 64 bits windows. distro compilado 64 bits.rar SCAN Nova montaria 12.40
  49. 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 \/
  50. 2 points
    CONSEGUI PESSOAL! Hoje resolvi pensar numa forma da mana/life regenerar normalmente em protection zone. Então pensei que a solução estava na função manaGain/healthGain que é usado no items.xml. Dei uma fuçada nas sources e encontrei a função, localizada em condition.cpp Procure por esta função: bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) Em seguida troque isso: bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) { internalHealthTicks += interval; internalManaTicks += interval; if(creature->getZone() != ZONE_PROTECTION) { if(internalHealthTicks >= healthTicks) { internalHealthTicks = 0; creature->changeHealth(healthGain); } if(internalManaTicks >= manaTicks) { internalManaTicks = 0; creature->changeMana(manaGain); } } return ConditionGeneric::executeCondition(creature, interval); } Por isso: bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval) { internalHealthTicks += interval; internalManaTicks += interval; if(internalHealthTicks >= healthTicks) { internalHealthTicks = 0; creature->changeHealth(healthGain); } if(internalManaTicks >= manaTicks) { internalManaTicks = 0; creature->changeMana(manaGain); } return ConditionGeneric::executeCondition(creature, interval); } Em seguida é só compilar e já era, agora a mana e life irá regenerar em protection zone xd
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 começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário 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!

×
×
  • Create New...