
Tudo que WooX postou
-
[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.
-
(Resolvido)[PEDIDO] Skull infinita
Esse sistema só funciona corretamente com alterações na source.
-
Baiak-PvP [8.60] - Watch System + Cast Look
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 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 Site
-
Depot Locker System
Faça essas alterações nos arquivos pra funcionar com o ID do piso ao invés de com ActionID. No arquivo lib_depotlocker.lua remova a variável depotTile da seção de action ids e adicione junto as outras variáveis de configuração depotTileID, deve ficar assim: No arquivo locker_creature.lua onde estiver getTileInfo(getThingPos(cid)).actionid altere para getTileInfo(getThingPos(cid)).itemid e onde estiver depotLocker.config.actionIDs.depotTile altere para depotLocker.config.depotTileID, a função onTextEdit deve ficar assim: E por ultimo mas não menos importante, altere as tags XML do arquivo locker_movement.lua de: <movevent type="StepIn" actionid="9992" event="script" value="locker_movement.lua"/> <movevent type="StepOut" actionid="9992" event="script" value="locker_movement.lua"/> para: <movevent type="StepIn" itemid="9992" event="script" value="locker_movement.lua"/> <movevent type="StepOut" itemid="9992" event="script" value="locker_movement.lua"/> Eu refiz o NPC também, sim aquele lá já estava funcional mas desde aquela época eu queria adicionar essas outras funções, por isso fiz aquela lib gigante na época kkk. Valeu, tamo junto.
-
Depot Locker System
? to de saída agora, mas amanhã te mando aqui.
-
Depot Locker System
Daria sim, eu até pensei em fazer isso mas tenho certeza que vai ter casos em que é usado algum piso comum ali e ai já viu. Mas se você quiser assim, eu posso alterar pra você.
-
Depot Locker System
kkkkkk quem testou o código inicial foi o @Yan Liima também, mas ok, adicionei seu nome, valeu pela ajuda. ✌️ Quem tinha ficado de postar era eu kkkk, mas aqui na Bahia nessa quarentena tava passando todos os dias na minha rede, foi mal a demora.
-
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, para utilizar a função doShowTextDialog da maneira como está no sistema no TFS 0.4 e inferiores é necessário uma alteração na source, link abaixo. 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
- Classic-Yurots [8.60] - Push Cruzado + Cast com Setas
-
[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.
-
[PEDIDO] Host BR
O que um proxy faz é basicamente alterar a rota do jogador ao servidor, isso pode sim reduzir um pouco a latência, mas nada milagroso. Jogar com 170ms ou 150ms pelo menos pra mim é o mesmo: lag.
-
[PEDIDO] Host BR
Isso vale pra quase tudo se comparado valores do exterior e aqui, não apenas hardware de servidores. Chega sim, principalmente quando se joga em alta performance. Esta é uma cena de vídeo em servidor enforced 7.4 onde é possivel realizar jogadas com pots e magic walls simultaneamente (se o jogador for rápido e habilidoso o suficiente). É praticamente impossível realizar uma jogada como essa com latência superior a 100ms e não são todos com a mesma latência porque a possibilidade de todos jogadores serem da mesma localidade é quase nula.
-
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
-
Problema em Amuletos e Charges no Shop
Sem algum tipo de log é difícil analisar o que possa estar causando isso.
-
[PEDIDO] Host BR
Servidor com data center no Brasil confiável e a preço razoável não existe. Claro que não da pra comparar a estrutura Brasileira com a Canadense mas há algumas opções que se assemelham muito a gigantes estrangeiras como OVH, a questão é que isso pode custar até 20x mais caro. Essa latência atrapalha e muito quem está acostumado a jogar lizo, principalmente quando se envolve PvP. Gastar mais recursos por utilizar windows não afeta em nada a latência (a não ser que o cpu esteja travado em 100%), hostiar em linux não mudaria nada. O problema dele acredito eu que não seja os recursos físicos da maquina mas sim a latência mesmo.
- Classic-Yurots [8.60] - Push Cruzado + Cast com Setas
- Servidor WAR 8.6
-
Classic-Yurots [8.60] - Push Cruzado + Cast com Setas
Eu não consigo reproduzir esse problema, aqui os teleportes funcionam normal. Mas de qualquer maneira, acho que cheguei a citar antes que o autor do projeto "clonou" muitos items que ao meu ver foi desnecessário, quando eu tiver um tempo posso fazer uma conversão do mapa para uma versão clean do items.xml e otb.
- Classic-Yurots [8.60] - Push Cruzado + Cast com Setas
-
Push com exhaust com outras actions
Não, é uma função Lua. Você pode fazer um script com ela pra exibir as storages.
-
(Resolvido)Proteção nas houses
Achei que você tinha parado com otserver kkk, me cobra depois que eu faço.
-
Push com exhaust com outras actions
Actions é de items que para uso é necessário apenas 1 click, como foods, portas e outros. ExActions é de items que para uso é necessário 2 clicks, potions, rope, shovel e outros. Para ver as storages em uso você pode usar a função getStorageList()
-
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.
-
Servidor WAR 8.6
Eu sou um amante da mecânica de PvP do Tibia e consequentemente de servidores de war, desde que parei com global em 2009 servidores de war é o que eu mais jogo desde então, porque não exige muito tempo de dedicação já que não é necessário upar, é só entrar e partir pra diversão. Este amor todo por esse tipo de servidor me fez ter meu próprio servidor de war 8.60 a alguns anos atrás, mas algo que me afastava desses servidores é quando era daquele tipo com divisão de times, eu sempre achava mais interessante quando indivíduos formavam seu próprios times. Outra coisa que é mais um gosto pessoal, isso me fez abandonar de vez a versão 8.60: BOTs. É basicamente obrigatório o uso de BOTs para jogar competitivamente nesta versão, eu sou uma pessoa que nunca gostou de bots, foi isso que me fez parar de jogar Tibia global na época. Desde então eu abri um servidor de war old school, onde tudo é manual o que faz com que a habilidade do jogador realmente importe, onde a quantidade de jogadores contra você pouco importa se não souberem jogar.
-
Push com exhaust com outras actions
1. Você precisa apenas adicionar exaust diretamente nos script desses items. 2. Dar até da, mas vai te causar mais trabalho. Você pode reduzir o timeBetweenExActions para 0, isso vai remover o exausted de todos os items, assim você vai ter que adicionar manualmente em todos ao invés de só aqueles selecionados na source.