Ir para conteúdo

WooX

Héroi
  • Registro em

  • Última visita

Tudo que WooX postou

  1. 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.
  2. Esse sistema só funciona corretamente com alterações na source.
  3. 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
  4. 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.
  5. ? to de saída agora, mas amanhã te mando aqui.
  6. 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ê.
  7. 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.
  8. 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
  9. Leia o spoiler, precisa alterar o arquivo quests.cpp da source.
  10. WooX postou uma resposta no tópico em Suporte Tibia OTServer
    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.
  11. WooX postou uma resposta no tópico em Suporte Tibia OTServer
    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.
  12. WooX postou uma resposta no tópico em Suporte Tibia OTServer
    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.
  13. 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
  14. Sem algum tipo de log é difícil analisar o que possa estar causando isso.
  15. WooX postou uma resposta no tópico em Suporte Tibia OTServer
    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.
  16. Isso chama-se Global Save, ele fecha o servidor para salvar. Você vai precisar de um restarter pra windows ou desativar o sistema (o que não é recomendado).
  17. WooX postou uma resposta no tópico em Suporte & Pedidos
    Eu tenho certeza que o ElfBot funciona no protocolo 8.61, a diferença é minima, me recordo que quando parei no global na versão 8.7 ainda funcionava. Eu curti essa ideia de o servidor ser baseado em eventos, tem tudo pra dar certo, estou acompanhando o projeto.
  18. 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.
  19. Sem algum tipo de log fica difícil te dizer o que pode ser, conheço servidores online utilizando esta distro com uptime superior a 400 horas.
  20. Não, é uma função Lua. Você pode fazer um script com ela pra exibir as storages.
  21. Achei que você tinha parado com otserver kkk, me cobra depois que eu faço.
  22. 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()
  23. WooX postou uma resposta no tópico em Spriting Show Off
    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.
  24. WooX postou uma resposta no tópico em Suporte & Pedidos
    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.
  25. 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.

Informação Importante

Confirmação de Termo