Ir para conteúdo

Líderes

Conteúdo Popular

Mostrando conteúdo com a maior reputação desde 05/08/23 em todas áreas

  1. MixLort

    Base PokeNumb (Open-Source)

    ---------------------------------------------------------------------------------------------------------------------------------------- Um pouco da minha história na comunidade e a história da base: Anos atrás, eu comprei uma base chamada Poke-VKS, de um cara chamado Viktor. Paguei, na época, R$1000 e fiz um projeto com ela chamado PokeNumb. Trabalhei dois anos em cima desse projeto, editei muitas coisas nela, mexi muito, adicionei sistemas, removi diversos bugs e refiz o balanceamento geral várias e várias vezes. Depois de meses e meses editando, consegui uma base ao meu ver completamente balanceada e estável, diferente de todas com as quais já tinha trabalhado. Era uma base realmente muito boa, gastei muito tempo e esforço nela, mas, no final, gostei muito do resultado. Bom, com o projeto online, eu acabei seguindo outro ramo na vida e não tinha tempo para ficar editando e lançando atualizações. Abri uma loja de estofados e meu tempo ia todo para a loja. Então, resolvi encerrar o projeto e vender algumas cópias da base PokeNumb, para que as pessoas que gostassem da base pudessem continuar o projeto. A minha ideia era vender poucas cópias dessa base, para que a chance dela vazar fosse mínima. Mas, como essa comunidade é excelente e claramente não existe nenhum ladrão nela, eu suspeito que os compradores tiveram dificuldades para editar, estavam querendo ajuda e, assim, passaram a base para algum programador fulera, que roubou a base e começou a espalhá-la por aí. Para todos que compraram, sempre falei que daria suporte vitalício e qualquer sistema ou serviço podia me chamar que eu mesmo faria, porque não confio em quase ninguém dessa comunidade e acho que a maioria que quer "ajudar" só tem interesse em roubar bases dos outros e usá-las para benefício próprio. Eu não tenho o mínimo interesse em saber quem foi o comprador da base que confiou em outra pessoa com ela, e essa pessoa começou a distribuir. Isso já é passado e não tenho tempo para perder com isso. Mas, estou aqui nesse fórum para falar a vocês o seguinte: não confiem em ninguém da comunidade. A maioria aqui só quer saber de falsidade, furto para benefício próprio e tem más intenções. Eu mesmo já passei anos trabalhando junto com um membro da comunidade, ouvindo sobre seus problemas pessoais, ajudando em tudo que dava e o mesmo me apunhalou pelas costas, inventando inúmeras mentiras e manipulando outras pessoas. Enfim, não vou citar nomes nem prolongar mais esse assunto. Só estou falando que pela minha experiência, 90% da comunidade hoje é tóxica e não ajuda sem segundas intenções. Claro que existem grandes nomes confiáveis e pessoas incríveis, como o mapper Quinn, o designer Gabriel Pedro, o Italo, Ryuk, que tenho certeza que fazem um ótimo trabalho. ---------------------------------------------------------------------------------------------------------------------------------------- O motivo pelo qual estou divulgando: Bom, como já falei, vendi poucas unidades da base e, mesmo assim, algum programador com segundas intenções acabou pondo as mãos na base e começou a vendê-la. Até que a base chegou em um tal de "zeon" do Discord. Ele é famoso por fazer trocas de bases. O cara parece que quer um estoque infinito de bases de Poketibia e faz trocas com outras pessoas. Acabou que a base PokeNumb virou a principal moeda de troca dele, então ele passou para diversas pessoas. Até então, eu já estava ciente disso e não é algo que possamos evitar, e até então não dei muita bola. Até que um dia, um cara que não tinha comprado a base comigo chegou pra mim perguntando se eu faria um serviço pra ele na base vazada. Eu, obviamente, falei que não faria nada, pois o cara não comprou a base comigo. Ele conseguiu ela por terceiros. Então, mesmo que pagasse, não iria editar algo meu fornecido por terceiros. Uns dias depois, meu privado começou a lotar de mensagens de pessoas que viram a mesma base sendo vendida por um dos membros da comunidade. O membro em questão se chamava Whiss, ou Thalisson, e tinha entrado em contato com outro membro chamado Thalles para os dois juntos anunciarem a base. Assim que o povo me avisou, já entrei em contato com os dois. O Thalles mesmo já tirou o anúncio da base do ar e me falou que não sabia que era minha, que esse tal Whiss só chegou nele e queria vender. O Thalles me pediu desculpas e por aí ficou, já o outro cara persistiu que isso não tinha nada a ver com ele, que a partir do momento que ele teve acesso à base, ele podia vendê-la pra quem quisesse e não tinha nada de errado nisso. Falei pra ele que realmente ele tinha um ponto, mas ia do código moral e ético de cada um saber o que é certo e o que não é. Estou divulgando essa base, pois sei que ele não é o único vendendo-a, os vendedores lucrando em cima do suor e trabalho dos outros. Então, deixo aqui minha última contribuição para a comunidade. Essa é minha base favorita e eu considero ela perfeita e pronta para um projeto! ---------------------------------------------------------------------------------------------------------------------------------------- Sobre atualizações futuras: A base em si já tem uma atualização que traz compatibilidade em Windows e correções de algumas coisas, como bug visual do fly e remoção de alguns sistemas inúteis que pesavam na base. Essa e possíveis atualizações futuras da base serão liberadas somente para compradores passados e para pessoas que tenham interesse em comprar as atualizações e suporte vitalício da base. Deixarei minhas redes sociais abaixo. Podem entrar em contato comigo. ---------------------------------------------------------------------------------------------------------------------------------------- Bugs e outros: ---------------------------------------------------------------------------------------------------------------------------------------- Sistemas: ---------------------------------------------------------------------------------------------------------------------------------------- Fotos: ---------------------------------------------------------------------------------------------------------------------------------------- Vídeos: ---------------------------------------------------------------------------------------------------------------------------------------- Créditos: ---------------------------------------------------------------------------------------------------------------------------------------- Download e Scam: ---------------------------------------------------------------------------------------------------------------------------------------- By: Mixlort Espero que gostem!! CONTATO DISCORD: Mixlort#2111
    3 pontos
  2. Após anos contribuindo pro desenvolver do DB.D, venho com muita dor no coração, disponibilizar para todos essa base(2018) que por anos fez a felicidade de muitos players e que com certeza trás nostalgia só de citar o nome. Infelizmente tem algumas pessoas usando o nome do Moz# e o meu (Abreu) e o nome D.UD em outros servidores, oportunismo e coisa de retardado (sinceramente). O servidor tem bastante gambiarras e coisas a ser arrumada, mas é um bom ponto de partida pra quem quer um bom servidor. Espero que façam bom proveito.
    3 pontos
  3. Olá galera do xTibia ! Venho por meio deste tópico, publicar a ultima versão do meu servidor derivado de Tibia NTO Battle. deixei para brincarem e verem sistemas, as sources não disponibilizarei nem o site. afinal é um projeto que fiz com carinho e está a venda as sources. Thogo#9713 O que tem de diferente no NTO Battle ? Aura System e Wings Healthbar Monster Bar Healthbar vocation Sistema Raridade Shaders Dungeons e Tasks Game Shop Entre outros Veja algumas Imagens ! O que tem nesse Pacote de Arquivos NTO Battle? Datapack mais recente e completa do servidor. ( compilada pra windows Client Compilado SQL ACC GOD - god/god QUALQUER MSG NO DISCORD Thogo#9713 -source client e otserv e site. DOWNLOAD & SCAN Client: https://mega.nz/file/hbgnSDRJ#xQT-qQHWLUV2Dn8jalwMGblCWnmL0_s3rZfqbxO7znw Server: https://mega.nz/file/sSZXlZ6a#gow-Db6diNVrnnPIH7qyBqP8WmVLFxWy85-yub_f32Y Scan https://www.virustotal.com/gui/file/86da72135d75d826c2665bb572084c30288eea843c2cfe2f7a405cfe1ea2f59c/detection https://www.virustotal.com/gui/file/cfa4d83c8b6c12fa0daf28cefd6762a053aee7245e6be8f5c02594825a2e2c1e?nocache=1
    3 pontos
  4. Poke Hero

    [OPEN-SOURCE] ONE PIECE 2023

    rapaziada tem gente vendendo a base então tô postando aqui para vocês Link: https://www.mediafire.com/file/h0q7ll4ugdkpp87/ONE_PIECE.rar/file
    3 pontos
  5. Neste tutorial, irei ensinar configurar o Docker no windows e rodar seu otserver - Diferença entre Docker x Máquina virtual: Docker e Máquinas Virtuais (VMs) ambas são fundamentais usadas para isolar recursos em um sistema de computação, mas funcionam de maneiras muito diferentes. VMs são ambientes de computação completos, incluindo um sistema operacional (SO) completo, que simulam o hardware de um computador físico. Isso significa que cada VM é um sistema autônomo e independente. Já o Docker, usa a tecnologia de contêineres. Os contêineres compartilham o mesmo sistema operacional do host, mas mantêm seu próprio espaço de processo, arquivos e rede. Isso significa que eles são muito mais leves do que as VMs, pois não precisam de um SO completo, e podem ser iniciados e parados muito mais rapidamente. - Vantagens em utilizar o Docker O Docker oferece várias vantagens significativas: Eficiência de recursos: Como os contêineres Docker compartilham o SO do host, eles são mais leves e usam menos recursos do que as VMs. Portabilidade: O Docker permite que você "construa uma vez, execute em qualquer lugar". Uma vez criado um contêiner Docker, ele pode ser executado em qualquer sistema que suporte o Docker, independentemente das configurações subjacentes. Isolamento: Cada contêiner Docker é isolado do resto do sistema, o que ajuda a evitar conflitos entre diferentes aplicações e versões de software. Integração e entrega contínua: O Docker se integra bem com ferramentas de CI/CD (Integração Contínua / Entrega Contínua), permitindo a automatização de testes e implantação de aplicações. Escalabilidade e Orquestração: O Docker facilita a escalabilidade de aplicações, permitindo que múltiplos contêineres sejam implantados facilmente. Além disso, com ferramentas como Docker Swarm e Kubernetes, a orquestração de contêineres se torna eficiente e gerenciável Colocando a mão na massa Este tutorial será dividido nas seguintes etapas: Preparação do Windows Instalando o Docker Instalando imagens mariadb e phpmyadmin Realizando a build da imagem TFS 1º PASSO: Preparando o Windows com o subsistema Linux. AVISO: Essa Etapa será necessária somente caso ainda não possua o subsistema Linux ativado em seu windows Os comandos a seguir, serão todos utilizando o POWERSHELL do windows, na barra de pesquisa digite POWERSHELL e execute como administrador. Com o POWERSHELL aberto, execute os seguintes comandos: Habilitando subsistema Linux: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart Habilitando recurso de máquina virtual: dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart Baixe e instale Kernel do Linux: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi Após essa etapa, será necessário reiniciar o computador para atualização, após reiniciar, abra novamente o PowerShell Definindo o WSL 2 como padrão: wsl --set-default-version 2 Após esses passos, basta entrar na Microsoft Store e instalar o sistema Ubuntu: Após a instalação, abra o Ubuntu, como será a primeira vez, irá solicitar para que digite um nome de usuário e uma senha. Etapa 1 concluída. Fonte: https://learn.microsoft.com/pt-br/windows/wsl/install-manual 2º PASSO: Instalando Docker. este é um passo simples, apenas entre no site oficial do Docker, baixe e instale o Docker Desktop https://www.docker.com/ Etapa 2 concluída. 3º PASSO: Instalando imagens MariaDB e phpMyAdmin Assim como no passo 1, execute novamente o PowerShell como administrador e siga os seguintes passos: Primeiro vamos baixar as imagens necessárias, execute os seguintes comandos: docker pull mariadb docker pull phpmyadmin/phpmyadmin Agora iremos criar uma "Rede" para que o docker se comunique entre os containers que iremos utilizar. Execute o seguinte comando: docker network create mynetwork mynetwork é o nome que defini neste caso, você pode utilizar o nome que achar melhor, porém lembre-se desse nome que iremos utilizar nos próximos passos. Agora iremos iniciar essas imagens, utilizando os seguintes comandos: docker run --name mariadb --network=mynetwork -e MYSQL_ROOT_PASSWORD=your_password -d mariadb your_password = altere pela senha que deseja utilizar no mysql mynetwork = é o nome que criamos no passo anterior docker run --name myadmin --network=mynetwork --link mariadb:db -d -p 8080:80 phpmyadmin/phpmyadmin Lembrando novamente, mynetwork é o nome criado anteriormente Após esses passos, será possível ver seu container rodando no Docker Desktop: Etapa 3 concluída. 4º PASSO: Gerando Imagem do TFS e configurações necessárias: Baixe a TFS, nesse exemplo será o repositório oficial https://github.com/otland/forgottenserver Extraia os arquivos após baixar com o container mariadb e phpmyadmin rodando, acesse http://localhost:8080/ com o login root, e a senha que criou no passo 3, crie uma nova base de dados e importe o arquivo schema.sql do servidor edite o arquivo config.lua.dist -- MySQL mysqlHost = "mariadb" mysqlUser = "root" mysqlPass = "SUA SENHA CRIADO NO PASSO 3" mysqlDatabase = "NOME DA DATABASE" mysqlPort = 3306 mysqlSock = "" mariadb é o nome do container que estamos rodando o mysql ** Caso queira utilizar todo potencial do seu computador na hora de buildar a TFS, no arquivo Dockerfile, edite a linha 18: RUN cmake --preset default && cmake --build --config RelWithDebInfo --preset default para RUN cmake --preset default && cmake --build --config RelWithDebInfo --preset default -- -j 16 onde 16 é o numero de processadores lógicos que deseja ser utilizados, não é necessário utilizar 100% porém quanto mais melhor, porém caso utilize mais do que está disponível poderá travar, então utilize a quantidade mostrada pra menos. no gerenciador de tarefas aba desempenho, é possível visualizar a quantidade de núcleos e processadores lógicos do seu CPU Após isso, entre no Power Shell e execute o comando: docker build -t server . onde "server" é o nome da imagem que será gerada Após isso, é só iniciar o servidor com o seguinte comando docker run --name server --network=mynetwork -p 7171:7171 -p 7172:7172 -d server lembrando que mynetwork é o nome que geramos no passo 3, e o ultimo parametro é nome da imagem que geramos anteriormente. Você poderá ver seu sevidor ronando no Docker Desktop: caso queira parar algum servidor ou iniciar novamente, é só clicar no botão de ação: Caso precise fazer alguma alteração no server, basta utilizar os comandos de build e run citados anteriormente. Para ver os logs, basta clicar em "server" ou o nome que escolheu: Lembrando que isso é um tutorial básico para rodar o servidor na máquina local, qualquer dúvida ou sugestão, deixe comentário.
    3 pontos
  6. Desenvolvi por muito tempo uma base Pokémon do 0 (parti do TFS 1.2 e fui implementando tudo até chegar nessa versão que estou disponibilizando). O resultado é um servidor extremamente leve e estável (já testado com 100+ players e por mais de 1 mês sem cair). Basicamente, ele suporta tranquilamente 1k+ players e não tem nenhum bug conhecido que faça com que ele caia. Esse servidor ficou no ar por muito tempo (mais de 2 anos) e era conhecido como PokeDash. Acabei ficando sem tempo para administrar o servidor, o que fez com que a maioria dos players parassem de jogar e com que eu fechasse de vez. Pensei por muito tempo sobre o que fazer com ele, e decidi disponibilizar para a comunidade. Trata-se de algo único (eu ao menos nunca vi um servidor de Pokémon construído a partir do TFS 1.2)! Como desenvolvi todos os sistemas do 0, tomei cuidado para fazer tudo da melhor maneira possível e para que possa ser facilmente modificado e atualizado. Basicamente, os Pokémons podem ser criados a partir de um único arquivo XML (como monstros do Tibia), e nesse arquivo você pode especificar tudo, desde level máximo e mínimo de spawn, loots, tipos (fogo, agua, etc), se ele pode usar habilidades (surf, fly, etc), moves (quando alguém captura), ataques (quando selvagem), evoluções, chance de catch, etc. Exemplo de Pokemon Resumo de alguns sistemas (tem muita coisa, então coloquei os principais) ✅ Pokemons com level, status e boost. O level do player/boost também influencia no status dos pokes. ✅ Sistema de Love (seu poke fica mais forte que os demais quando upa de level matando pokemons mais fortes que ele). ✅ Base propria com Shinys e Ancients. ✅ Cada player pode conseguir ancient stone para evoluir 1 shiny para ancient através de quest. ✅ Moves bar e pokemon bar (troca de pokemon com 1 click). ✅ Autoloot agrupando em bags. ✅ Ganho de exp ao capturar/dar dex em pokes com um bonus adicional para o primeiro catch de cada poke. ✅ Mapa original com mais de 40 quests, incluindo outland com Ancients. ✅ Eventos diários automáticos: Futebol todo dia 19:30, arena PVP todo dia 20:00, golden arena aos sabados 17:00, bag premiada aos domingos/feriados 17:00. ✅ Profissões (facilmente customizáveis): Catcher: 3.5% mais chance de capturar um Pokemon. Hunter: 10% mais status de dano para o seu Pokemon (tanto magico quanto fisico). Blocker: 25% mais vida para seus Pokemons. Healer: 100% mais cura que aplica tanto em potions quando moves dos seus Pokemons. Explorer: 15% mais experiencia para seu personagem durante a caça. ✅ Task diária de catch/loot dando Tokens. Os tokens podem ser trocados por itens raros (dentre eles premier ball e bags personalizadas) além de pagar seu curso com o NPC Job Manager para aprender uma das profissões acima. Uma das maneiras de conseguir tokens é fazendo tasks diárias. ✅ Muito mais! Screenshots Download Baixe o pack contendo o servidor, cliente, site, editor de mapa e editor de itens clique aqui!. Caso considere minha contribuição interessante para a comunidade, considere realizar uma doação para a chave pix: server.pokedash@gmail.com GM account: gm/gmgmgm O projeto será atualizado em sua homepage: https://pokedashpota.vercel.app/ SCAN Sources Download sources SCAN ----- Edit Problemas e soluções GroupID não existe ao tentar logar no server. Erros ao importar o schema.sql. Comando /cb não funcionando.
    2 pontos
  7. rafersiq

    Duvida Roleta

    bom a chance e o msm estilo de chance de loot dos monster
    2 pontos
  8. Tungs

    [SOURCE DO PDA]

    Olá a todos, Recentemente, trabalhei em um projeto de desenvolvimento de uma source para PDA e fiquei muito satisfeito com os resultados. Depois de muito esforço e testes, consegui atingir cerca de 90% de sucesso na implementação da source em diversos PDAs. Agora, gostaria de compartilhar meu trabalho com vocês. A source é escrita em C++ e possui diversas funções, incluindo getDamageMapPercent, isPokeball e Order System (getDirectionToWalk). Adicionado raças (Crystal, Steel, Dark), função OnSpawn, Pokemon Passivos e agressivos. Além disso, é altamente compatível com a maioria dos PDAs, embora possa haver algumas adaptações necessárias dependendo do dispositivo específico. Para quem estiver interessado em testar a source, deixo aqui o link para todas as funções: https://pastebin.com/ewKUt9dH Ficarei muito grato por qualquer feedback que vocês possam me dar sobre a minha source. Compartilhar conhecimento e ajudar a comunidade é sempre muito gratificante e espero que minha source possa ajudá-los em seus projetos. Obrigado pela atenção e apoio! Atenciosamente, Tungs (kevick) a source se encontra anexada nesse tópico + link do mediafire para quem não conseguir baixar aqui. Download: https://www.mediafire.com/file/8irkqnrgxtuw1b9/Source.rar/file Download Atualização 052023: https://www.mediafire.com/file/nbf3ypdv8yaf903/Source_PDA_atualiza%C3%A7%C3%A3o_052023.rar/file PS. QUALQUER ERRO EU AJUDAREI, BASTA COMENTAR AQUI NO TÓPICO ATUALIZAÇÃO 052023 ADIÇÃO DA FUNÇÃO getDirectionToWalk (C++) após baixar e compilar a nova source que se encontra logo abaixo, adicione em 032-position.lua que se encontra na pasta lib a função abaixo: function getDirectionToWalk(p1, pos2) local dir = NORTH local pos1 = getCreaturePosition(p1) if(pos1.x > pos2.x) then dir = WEST if(pos1.y > pos2.y) then dir = NORTHWEST elseif(pos1.y < pos2.y) then dir = SOUTHWEST end elseif(pos1.x < pos2.x) then dir = EAST if(pos1.y > pos2.y) then dir = NORTHEAST elseif(pos1.y < pos2.y) then dir = SOUTHEAST end else if(pos1.y > pos2.y) then dir = NORTH elseif(pos1.y < pos2.y) then dir = SOUTH end end return dir end function getNextStepDelay(cid, dir) return tonumber(398) end DOWNLOAD DA SOURCE ATUALIZADA: https://www.mediafire.com/file/nbf3ypdv8yaf903/Source_PDA_atualiza%C3%A7%C3%A3o_052023.rar/file Source PDA atualização 052023.rar
    2 pontos
  9. Bom dia turma do Xtibia. Venho trazer um script que fiz para um usuário de outro fórum, abaixo seguem maiores informações sobre. Introdução: Bom, este script simula a máquina de Cassino conhecida como Cassino Slots, pra quem não conhece é a máquina que se encontra no spoiler abaixo: Como funciona? O jogador precisa escolher 1 (um) dos 10 (dez) itens disponíveis (da para configurar a quantidade de itens) como seu Item da Sorte, e após feito isso, terá que girar a alavanca e torcer para que a máquina sorteie 3 itens repetidos igual ao que o jogador em questão escolheu. Para tornar um pouco mais fácil de vencer, criei para que a máquina dê pequenos brindes à quem acertar 1 ou 2 itens dos sorteados (configurável). Como jogar? Para jogar é simples, como desenvolvi todo script em apenas um arquivo, para facilitar na criação, na instalação e até mesmo na jogabilidade, o jogo se baseia na posição em que o jogador está para identificar qual ação executar. Selecionar Item da Sorte: com seu personagem virado para baixo (sul), clique na alavanca e automaticamente o item da sorte aparecerá na mesa configurada no script, caso queira outro item, basta ir usando a alavanca até encontrar o item desejado. Como Jogar: Após ter selecionado seu item da sorte, que deve estar à mostra em cima da mesa própria, basta virar seu personagem para cima (norte) e clicar novamente na alavanca. E se virar esquerda ou direita?: Nada acontecerá, apenas uma mensagem ensinando como jogar será enviada para que o jogador se oriente. Dicas de instalação! Sugiro que quando for criar o mapa para o evento, não faça como do vídeo, pois os itens criados nas mesas não estão com atributos para que não possam ser movidos, sendo assim é provável que jogadores de má fé venham a roubar itens... Faça como a imagem abaixo: Instalando: Basta criar um arquivo na pasta “data/actions/scripts” chamado “cassino_slots.lua” e adicionar o código abaixo dentro: Agora em “actions.xml” adicione a tag abaixo: Agora basta configurar de acordo com as informações disponíveis no início do script. Vejam o vídeo demonstrativo do Sistema em funcionamento. Criado por: Adriano Swatt'
    1 ponto
  10. Provavelmente funciona com os outros jogos do quilante, basta substituir a pasta data na pasta do servidor e substituir os arquivos do cliente na pasta otclient/data/things/860 Eu não tenho créditos sobre o projeto, estou apenas postando aqui porque ja é de dominio público porém em todos os tópicos na internet o projeto está muito desatualizado Este aqui está configurado pra por online no pc. Download: (TFS 04 860 + OTCLIENT "Ultima versão x64", Htdocs "O site" e o Banco de dados Compativel. https://www.mediafire.com/file/bmponjci62txbxd/TIBIA+GTA+ARRUMADO.rar/file Scan: https://www.virustotal.com/gui/file/b6236579ad11201f3c01899a218f6ca8ef8e645cf3881f5de2af46a04837085d?nocache=1
    1 ponto
  11. Olá a todos, tranquilidade? Estou aqui para procurar uma equipe e uma base sólida para criar um Poketibia, tenho um servidor aqui em casa, então estaríamos livre de gasto com VPS, a seguir, coloco a configuração do mesmo. Também assumo o custo de pagamento anual do domínio e quaisquer manutenções com o servidor. Sou programador, formado pela Oracle. Precisaríamos de uma base minimamente aceitável para começar a editar e colocar o servidor online. Lembrando que caso algum dia tenhamos lucro com o servidor o valor será divido igualmente para todos os membros da equipe. Configuração do servidor: Processador: E5 2670 v3 - 12/24 (números de núcleos). Memoria: 16Gb - DDR4(podemos colocar até 32Gb). Armazenamento: 1 Terabyte1 Terabyte1 Terabyte(podemos colocar alguns ssd's). Internet: 500 Megas. Libero acesso total ao servidor, todas as configurações devem passar por todos os membros da equipe. +55 11 948552056 <- contato via Whatsapp, meu nome é Leonardo Patricio.. Grato.
    1 ponto
  12. Gengo

    [OtClient] Auto-Loot

    Fala ai galera do xtibia estou aqui trazendo mais um module para o otClient. Esses dias atras estavo jogando pokestorm e me deparei com o autoloot e decidi fazer um parecido com o deles e então pensei porque não trazer para a comunidade? Afinal não vejo muitos modulos de autoloot para otClient o unico que vi foi o autoloot da DxP, porem não é muito intuitivo comparado com modulo da pokestorm, bom sem mais enrolação vamos lá. Feito o download do arquivo, coloque-o na pasta do seu otClient em /modules/ e pronto já é possível "utilizar-lo", porem com algumas exceções de algumas configurações básicas que temos que fazer para poder utilizar-lo com algumas eficiências. 1º Na pasta do seu otClient/data/ crie uma pasta chamada items e coloque o seus arquivos items.otb e items.xml. 2º Vai até a pasta do seu otClient/modules/game_things abre o arquivo things.lua e procure a função load(), e coloque o seguinte: g_things.loadOtb ('/items/items.otb') g_things.loadXml('/items/items.xml') Obs: Não se assustem quando entrarem no client para logar, no inicio vai dar uma travada, mas depois de esperar uns segundos ele normaliza, pois o único problema é que o carregamento dos arquivos dos items eles são demorados. Também é preciso fazer umas configurações rápida na parte do servidor para poder funcionar. Copie e cole esse script e coloque na pasta do servidor em mods/ e de o nome de autoloot.xml Ainda na pasta do seu servidor abre o arquivo /data/creaturescripts/scripts/login.lua e coloque o seguinte script dentro da função onLogin: local loot = '' for i = 1, #getPlayerStorageTable(cid, info.Storages[1]) do loot = loot..getItemInfo(getPlayerStorageTable(cid, info.Storages[1])[i]).clientId..'-'..getItemNameById(getPlayerStorageTable(cid, info.Storages[1])[i])..'@' end doSendPlayerExtendedOpcode(cid, 157, loot) Feito todos os passos corretamente, configurado certo, deve ficar assim no game: Bom espero que tenham entendido e gostado, não sou muito de ficar escrevendo tutorial, até uma próxima. Download Créditos
    1 ponto
  13. Nysman

    Base PokeNumb (Open-Source)

    Isso é no mapa jovem ^^
    1 ponto
  14. Eu que fiz pra um amigo, créditos são meus Não fiz modificações na source, se quiserem pode pegar src e vc14 do edubart no github Download: https://www.dropbox.com/s/hxlekf4c5pmkvpo/OTC TIBIA STYLE.rar?dl=0 Scan: https://www.virustotal.com/gui/file/213f863233fe4f9443a5682f33037d6bfd685e454e0ba9855899224017d81c55/detection Tamanho: 6MB Como usar: 1. TrocarIP: modules/client_entergame/entergame.lua Alterar: EnterGame.setUniqueServer('127.0.0.1', 7171, 772, 270, 210) 127.0.0.1 = IP do SV, 772 = Versão do Client 2. Adicionar sua SPR e DAT Coloque em data/things/versão 3. Alterar Links dos botões na tela inicial client_background/background.lua 4. Alterar funções dos botões do cliente: game_inventory/inventory.lua
    1 ponto
  15. rafersiq

    Base PokeNumb (Open-Source)

    a web do PokeXmaster e compativel com o banco de dados da base
    1 ponto
  16. local txt = "Ex: %s matou o mostro [bazir] [%d] vezes" function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) local playerName = player:getName() local kills = player:getStorageValue(Storage.KillsToBazir) if kills < 0 then kills = 0 end local message = string.format(txt, playerName, kills) player:sendTextMessage(MESSAGE_INFO_DESCR, message) return true end Certifique-se de adaptar o script de acordo com a estrutura e as variáveis específicas do seu server. Além disso, certifique-se de que o armazenamento Storage.KillsToBazir seja atualizado sempre que o jogador matar o monstro "bazir" no jogo, é o principal.
    1 ponto
  17. Eu tive essa ideia a 10 anos kkk, meio q deu certo. um cara fez esse script pra mim, vou ver se acho por aqui. o meu funcionava de tal jeito, ao ficar full com items selecionados (helmet, armor, legs, shild e boots) o char ganhava um bonus editavel (ml, dist, cast, hp, e mp). mas ao meu ve, n ficou muito elaborado por ele fez em movements. Se eu achar aq compartilho com tu ! Boa sorte.
    1 ponto
  18. Nysman

    Base PokeNumb (Open-Source)

    ERRO DO look.lua remove toda essa parte em creaturescript/scripts/look.lua
    1 ponto
  19. Boa tarde, Parece que na hora que ele tenta buscar o valor de resets para comparar, está dando erro. (Variável cid), tomei a liberdade de organizar o código da linha 95 a 123: function resetPlayer(cid, description) local resets = getResets(cid) local newResets = resets + 1 if newResets < 0 then newResets = 0 end setPlayerStorageValue(cid, config.storage, newResets) if description then db.executeQuery("UPDATE `players` SET `description` = ' [Reset " .. newResets .. "]' WHERE `id` = " .. config.resetStatus.player) else db.executeQuery("UPDATE `players` SET `description` = '' WHERE `id` = " .. config.resetStatus.player) end doRemoveCreature(cid) -- Reset player's level and experience to initial values db.executeQuery("UPDATE `players` SET `level` = " .. config.resetStatus.lvlreset .. ", `experience` = 0 WHERE `id` = " .. config.resetStatus.player) end function teleportAndReset(cid) resetPlayer(cid, true) -- true indicates to update the player's description doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) return TRUE end function resetAndKeepLook(cid) resetPlayer(cid, false) -- false indicates not to update the player's description return TRUE end function getResets(cid) local resets = getPlayerStorageValue(cid, config.storage) return math.max(0, resets) end Nesse código revisado, as funções resetPlayer, teleportAndReset, e resetAndKeepLook foram criadas para realizar as operações de reset de forma mais organizada. A função resetPlayer realiza a atualização dos resets no armazenamento, a atualização da descrição do jogador e o teletransporte para o templo. As outras duas funções chamam resetPlayer com diferentes configurações. Certifique-se de chamar a função apropriada com base nas condições do jogo.
    1 ponto
  20. Boa tarde, Parece que o valor guild_id está vinculado a outra tabela. 1. Certifique-se de que o valor que você está tentando inserir na coluna "guild_id" da tabela "guild_ranks" corresponda a um valor existente na tabela referenciada. Em outras palavras, o valor de "guild_id" deve estar presente na tabela de guilds (ou qualquer tabela que seja referenciada por "guild_id"). 2. Verifique se a chave estrangeira (foreign key) foi definida corretamente na tabela "guild_ranks" e que ela está apontando para a tabela e coluna corretas na qual a chave estrangeira deve ser verificada.
    1 ponto
  21. o servidor e tranquilo compilar so o client que e um pouco chato de compilar
    1 ponto
  22. MercadoPago Retorno automatico (PIX) Abaixo Segue código PHP de pagamento via pix pelo mercado pago com retorno para quem quiser adaptar em seus sites ter uma direção de onde ir. testado em Znote e MyAcc. Below is the PHP payment code via pix for the paid market with return for those who want to adapt it on their websites to have a direction of where to go. tested on Znote and MyAcc. pix.zip
    1 ponto
  23. Quando o jogador completar a sequência correta clicando, ele será teleportado para a posição do boss. Se o jogador clicar nos pilares fora da ordem correta, a sequência do jogador será reiniciada e uma mensagem de erro será exibida. local bossPosition = {x = 100, y = 200, z = 10} -- Posição do boss local sequence = {} -- Sequência correta de IDs dos pilares sequence[1] = 1 sequence[2] = 2 sequence[3] = 3 sequence[4] = 4 local playerSequence = {} -- Sequência de IDs dos pilares que o jogador ativou function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray(sequence, itemEx.itemid) then local playerId = getPlayerGUID(cid) if not isInArray(playerSequence, itemEx.itemid) then table.insert(playerSequence, itemEx.itemid) end if #playerSequence == #sequence then local correctSequence = true for i = 1, #sequence do if sequence[i] ~= playerSequence[i] then correctSequence = false break end end if correctSequence then doTeleportThing(cid, bossPosition, false) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você foi teleportado para o boss!") playerSequence = {} -- Reinicia a sequência do jogador else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Sequência incorreta!") playerSequence = {} -- Reinicia a sequência do jogador end end end return true end Xml Actions itemid é o pilar e actionid é que vai no pilar pelo rme <action itemid="1" actionid="1000" script="activatePillar(1)"/> <action itemid="2" actionid="1001" script="activatePillar(2)"/> <action itemid="3" actionid="1002" script="activatePillar(3)"/> <action itemid="4" actionid="1003" script="activatePillar(4)"/>
    1 ponto
  24. JulianoZN

    ERRO AO ABRIR RME

    Na mesma pasta onde ta as spr.zip > Tibia.otfi para o signature
    1 ponto
  25. rafersiq

    ERRO AO ABRIR RME

    as partes de vermelho que sao sprites que esta bugada e apenas a verçao pra mudar vc aperta "ctrl+P" e a parte dos npcs vc vai terque importar eles pro remeres
    1 ponto
  26. Que eu saiba a última versão só suporta até 10.56, não sei pq ainda não atualizaram isso kkkkk edit: acabei de ver aqui que um cara atualizou o OB, tenta dar uma olhada: https://github.com/punkice3407/ObjectBuilder
    1 ponto
  27. DexShaadary

    Base PokeNumb (Open-Source)

    você tem que se dar permissões de equipe, vá para data/lib/configuration.lua e adicione seu nome na linha 8 staffAcess = {"TeuNome"}
    1 ponto
  28. rafersiq

    Base PokeNumb (Open-Source)

    se for o client mobile vc presisa de um app pra isso
    1 ponto
  29. Hirxzsxop

    [Base] Pokémon Mythology [2023]

    Ótima base, comunidade agradece por essa contribuição!
    1 ponto
  30. Olá pessoal, vocês provavelmente já deve ter visto este mesmo tutorial feito por mim postado nos tutoriais de mapping, bem, de fato, estou reformulando ele, acrescentando informações e arrumando o necessário. Modificando Seu Map Editor •Sumário• Grounds Grounds (z-order) Grounds (telhados) Doodads Doodads (efeito 3 em 1 [1]) Doodads (efeito 3 em 1 [2]) IMPORTANTE Faça um BACKUP do seu map editor antes de começar as modificações! GROUNDS Primeiramente, vou ensiná-lo a adicionar grounds ao seu map editor, siga os passos: PASSO 1: Abra seu map editor! PASSO 2: Escolher o que iremos modificar, no caso, vamos fazer um ground novo com auto-border. Vamos trabalhar com o TILE de ID: 11077, é um mais recente, se o seu não estiver com esse id procure por outro PASSO 3: abra a pasta do RME/data/8.6 e abra o arquivo grounds.xml (não esqueça de fazer um backup) PASSO 4: Vá até o final do script e antes da linha onde tem </materials> Adicione: <brush name="X1" type="ground" server_lookid="x2" z-order="4000"> <item id="X3" chance="2500"/> <border align="outer" id="999"/> <border align="inner" to="none" id="1"/> </brush> X1: Nome do seu novo ground x2: ID do ground X3: ID do ground Oresto nao mexa! se for adicionar outra ground so vai mudar esta linha <border align="outer" id="999"/> de 999 para 998, não pode ter igual no script PASSO 5: Agora na pasta do seu rme também e data/8.6 procure pelo script tilesets.xml, abra-o, aperte CTRL + F e coloque 'terrain', ele vai te levar até a linha, lá coloque na primeira linha: <brush name="NOME DO SEU ITEM"/> Salve e fexe junto com o ground. Vá em nature, e lá vai estar o seu item, no auto-border! PASSO 6: agora vamos adicionar borda ao ground. vá na pasta do rme em data/8.6 e abra o script borders. outra vez vá até o final do script e antes de </materials> Adicione: <border id="999"> <borderitem edge="n" item="a"/> <borderitem edge="e" item="b"/> <borderitem edge="s" item="c"/> <borderitem edge="w" item="d"/> <borderitem edge="cnw" item="e"/> <borderitem edge="cne" item="f"/> <borderitem edge="csw" item="g"/> <borderitem edge="cse" item="h"/> <borderitem edge="dnw" item="i"/> <borderitem edge="dne" item="j"/> <borderitem edge="dsw" item="k"/> <borderitem edge="dse" item="l"/> </border> Perceba que ali no border id foi colocado 999, que está também no group, isso serve para eles ficarem interligados. Agora é a parte mais complicada, mas eu resumi para voces, cada letra a cima represeta uma direção, norte, sul, leste, oeste, centroeste, etc.. Se o seu id for diferente procure pela imagem A= 11016 B= 11017 C= 11018 D= 11019 E= 11020 F= 11021 G= 11022 H= 11023 I= 11024 J= 11025 K= 11026 L= 11027 No meu caso usando esses ids meu script vai ficar assim: <border id="999"> <borderitem edge="n" item="11016"/> <borderitem edge="e" item="11017"/> <borderitem edge="s" item="11018"/> <borderitem edge="w" item="11019"/> <borderitem edge="cnw" item="11020"/> <borderitem edge="cne" item="11021"/> <borderitem edge="csw" item="11022"/> <borderitem edge="cse" item="11023"/> <borderitem edge="dnw" item="11024"/> <borderitem edge="dne" item="11025"/> <borderitem edge="dsw" item="11026"/> <borderitem edge="dse" item="11027"/> </border> Exemplo: Z-ORDER Agora mostrarei a função do Z-order Observem: <brush name="grass" type="ground" server_lookid="4526" z-order="3500"> <item id="4526" chance="2500"/> <item id="4527" chance="10"/> <item id="4528" chance="25"/> <item id="4529" chance="25"/> <item id="4530" chance="25"/> <item id="4531" chance="25"/> <item id="4532" chance="25"/> <item id="4533" chance="25"/> <item id="4534" chance="15"/> <item id="4535" chance="25"/> <item id="4536" chance="25"/> <item id="4537" chance="25"/> <item id="4538" chance="20"/> <item id="4539" chance="20"/> <item id="4540" chance="20"/> <item id="4541" chance="20"/> <item id="470" chance="0"/> <border align="outer" id="2"/> <border align="inner" to="none" id="1"/> </brush> Nos outros tutoriais eu não expliquei essa parta justamente para deixar mais simples agora, perceba que este é o grass com a borda pequena, ou seja, após adicionado o grass no piso e em seguida outros grounds ele vai ficar assim: Mas se mudarmos a z-order dele para 9000 vai ficar diferente: Isso acontece quando o z-order dele passa a ficar maior que o dos outros, então, fica por cima dos mesmos. Se mudarmos o z-order do grass de 9000 para 0, todas as outras bordas vão ficar por cima, por exemplo: Isso acontece por que o z-order dos outros tiles ficou maior que o grass. •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• •--• A próxima função é a friend name: <brush name="grass (alternate border)" type="ground" server_lookid="9044" z-order="5100"> <item id="9043" chance="2500"/> <item id="9044" chance="10"/> <item id="9045" chance="25"/> <item id="9046" chance="25"/> <item id="9047" chance="25"/> <item id="9048" chance="25"/> <item id="9049" chance="25"/> <item id="9050" chance="25"/> <item id="9051" chance="15"/> <item id="9052" chance="25"/> <item id="9053" chance="25"/> <item id="9054" chance="25"/> <item id="9055" chance="20"/> <item id="9056" chance="20"/> <item id="9057" chance="20"/> <item id="9058" chance="20"/> <border align="outer" id="120"/> <border align="outer" to="none" id="120"/> <friend name="grass"/> </brush> <friend name="grass"/> É bem simples! Ao adicionar este ground no grass normal, não vai criar borda, pois os dois são 'verdes' (iguais) e não é preciso, veja o que acontece quando tem essa tag e quando não tem: Agora algo mais simples chance="1"/> Que tem em todos os grounds, você ja deve saber o que seria, no caso, se tivermos um ground com 5 pisos diferentes: chance="100"/> chance="90"/> chance="80"/> chance="70"/> chance="60"/> O Maior numero (chance) vai ser o tile que mais vai sair no mapa. Caso encontre as seguintes tags: <border super="true" align="inner" ground_equivalent="777"> <border super="true" align="inner" to="none" ground_equivalent="777"> Não se assuste! Estas duas tags classificam ele, para que não aja outra borda na hora de adicionar no mapa, e sim o própio ground, é como se a borda fosse para dentro, veja na imagem: TELHADOS Vou lhes ensinar a construir grounds em forma de telhado, grounds normais ao adicionados no mapa 'escuro' não criam borda, mas os 'roofs' sim, é bem simples Novamente grounds.xml antes de: </materials> Adicione: <brush name="Telhado" type="ground" server_lookid="10884" z-order="8000"> <item id="10884" chance="1"/> <border align="outer" to="none" id="998"/> </brush> No server_lookid só ponha o id do seu telhado, no item id, o id do telhado também, perceba que no border align eu coloquei 998, lembra no tutorial 1 que era 999? não pode repetir então preste atenção pra não fazer 'cagada'. Após ter adicionado isso no script abra o borders.xml Vá até o final e antes da linha: </materials> Adicione: <border id="998"> <borderitem edge="n" item="x"/> <borderitem edge="w" item="x"/> <borderitem edge="s" item="x"/> <borderitem edge="e" item="x"/> <borderitem edge="cnw" item="y"/> <borderitem edge="cne" item="y"/> <borderitem edge="csw" item="y"/> <borderitem edge="cse" item="y"/> <borderitem edge="dnw" item="z"/> <borderitem edge="dne" item="z"/> <borderitem edge="dsw" item="z"/> <borderitem edge="dse" item="z"/> </border> Esta parte é igual ao outro tutorial, você vai substituir o x pela seguinte ordem: X: Y: Z: Após ter feito isso (se a ordem de IDS do seu map estiver igual ao meu) vai ficar assim: <border id="998"> <borderitem edge="n" item="10889"/> <borderitem edge="w" item="10891"/> <borderitem edge="s" item="10886"/> <borderitem edge="e" item="10892"/> <borderitem edge="cnw" item="10890"/> <borderitem edge="cne" item="10888"/> <borderitem edge="csw" item="10887"/> <borderitem edge="cse" item="10885"/> <borderitem edge="dnw" item="10896"/> <borderitem edge="dne" item="10895"/> <borderitem edge="dsw" item="10894"/> <borderitem edge="dse" item="10893"/> </border> Após ter feito isso vá em data/8.6 e abra o tilesets.xml de ctrl + f e digite: Roofs Na primeira linha coloque: <brush name="Telhado"/> Abra o RME, vá em terrain/roofs. Resultado: DOODADS Vamos Trabalhar com o grass tuft (morto) Procure pelo id: 10737-10740 ou veja pela imagem: Abra a data/8.6 do seu map editor e vá em doodad.xml, antes da linha: </materials> Coloque: <brush name="Nature Morta" type="doodad" server_lookid="x" draggable="y" on_blocking="false" thickness="25/100"> <item id="z" chance="4"/> <item id="z" chance="10"/> <item id="z" chance="10"/> <item id="z" chance="10"/> </brush> X: ID Do item, a imagem que vai aparecer la no auto-border Y: Esta opção vai dizer se o grass poderá ser colocado no escuro sem nada em baixo ou somente em cima de um ground, veja a imagem. (exemplo) Z: ID dos grass tufts marrons, coloque o id dos 4, no meu caso vai ficar assim ! <brush name="Nature Morta" type="doodad" server_lookid="10740" draggable="true" on_blocking="false" thickness="25/100"> <item id="10740" chance="4"/> <item id="10739" chance="10"/> <item id="10738" chance="10"/> <item id="10737" chance="10"/> </brush> Agora abra o tilesets.xml, de CTRL + F e digite 'nature' e desca até doodad Pronto já pode utilizar sua nova auto-border! Também no doodad.xml antes da linha: </materials> Adicione: <brush name="Nature Morta2" type="doodad" server_lookid="x" draggable="true" on_blocking="false" thickness="10/100"> <item id="y" chance="70"/> <item id="y" chance="60"/> <item id="y" chance="50"/> <item id="y" chance="40"/> <item id="y" chance="30"/> <item id="y" chance="20"/> <item id="y" chance="10"/> </brush> E Utilizando esses itens: Vai ficar assim: <brush name="Nature Morta2" type="doodad" server_lookid="10735" draggable="true" on_blocking="false" thickness="10/100"> <item id="10741" chance="70"/> <item id="10743" chance="60"/> <item id="10742" chance="50"/> <item id="10764" chance="40"/> <item id="10736" chance="30"/> <item id="10763" chance="20"/> <item id="10735" chance="10"/> </brush> Agora vá em tilesets.xml de ctrl + f 'nature' vá em doodad e adicione <brush name="Nature Morta"/> Abra o mapa editor e divirta-se ! DOODAD 3 EM 1 Como você viu, essa imagem ao lado do título é um item formado por vários outros itens posicionados estrategicamente pelo map editor, existe uma função que faz você criar um item que adicione tudo de uma vez: vamos trabalhar o item id 11385~11392 vá em data/8.6 e abra o doodads.xml Vá até a ultima linha e antes da linha: </materials> Adicione: <brush name="estatuanova" type="doodad" server_lookid="11387" draggable="true" on_blocking="true" thickness="15/100"> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11389"/> </tile> <tile x="1" y="0" z="0"> <item id="11387"/> </tile> <tile x="2" y="0" z="0"> <item id="11390"/> </tile> <tile x="1" y="0" z="-1"> <item id="11385"/> </tile> <tile x="0" y="-1" z="-1"> <item id="11392"/> </tile> </composite> </brush> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- •• <brush name="estatuanova" type="doodad" server_lookid="11387" draggable="true" on_blocking="true" thickness="15/100"> <composite chance="10"> Brush name: Nome do item que será adicionado no mapa editor! server_lookid: ID do item cuja a imagem aparecerá na palette. draggable: Avançado, será esplicado melhor em outro tutorial, não mexa. on_blocking: Será explicado em outro tutorial, não mexa. thickness: Será explicado em outro tutorial, não mexa. Composite chance: Não mexa. <tile x="0" y="0" z="0"> <item id="11389"/> </tile> <tile x="1" y="0" z="0"> <item id="11387"/> </tile> <tile x="2" y="0" z="0"> <item id="11390"/> </tile> <tile x="1" y="0" z="-1"> <item id="11385"/> </tile> <tile x="0" y="-1" z="-1"> <item id="11392"/> </tile> Perceba que o X=0 no momento isso significa que X=Y=Z quando X=0 Se X for Igual a 1 ele pularia um Piso a direita > / Se Y for igual a 1 ele pularia um piso a para baixo (sendo Y=\/ [1] e Y=/\ [-1] < / Se Z For igual a 0 ele permanece no mesmo andar (7), porém quando o Z for igual a -1 ele Subira um andar (6). OOOOO OOOOO OOOOO Se o item X for 0 ele permanecerá na posição: XOOOO OOOOO OOOOO Se o item X for 1 ele mudará para posição (>) OXOOO OOOOO OOOOO Se o item X for -1 ele mudará para a posição (<) X OOOOO OOOOO OOOOO Se o item Y for 0 ele permanecerá na mesma posição XOOOO OOOOO OOOOO OU OXOOO OOOOO OOOOO Se o item Y for 1 ele decerá um piso OOOOO XOOOO OOOOO Se o item Y for -1 ele subirá um piso X OOOOO OOOOO OOOOO Se o item Z for 0 ele permanecerá no floor autal (7) OOOOO OOOOO OOOOO Se o item Z for 1 ele decerá para o floor (8) -- Se o item Z for -1 ele subira para o floor (6) -- ItemID: Coloque o id do item conforme o X,Y,Z Vamos ver outro exemplo ! Sabemos que: X=0 - Permanece no Local X= -1 - Pula um piso a esquerda X=1 - Pula um piso a direita Então: X=0 - X=-1 < X=1 > Vamos pegar os IDS 11385-11392! O ID 11389 vai ser o primeiro o X dele seria X=0 - Y=nulo Z=nulo Ele é o primeiro mas não é o centro! O ID 11387 vai ser o segundo no X o X dele vai ser X=1 (lembrando que x pula uma casa a direita, veja a imagem) Y=nulo Z=nulo O ID 11390 vai ser o terceiro na ordem X o X dele deve ser X=2 (por que ele pulou dois pisos a direita) Y=nulo Z=nulo O ID 11385 vai ser o primeiro na Ordem X porém no floor (7) Sendo assim o X dele Sera X=2, pois ele esta depois do id 11389 Y=nulo Z=-1 (lembrando que o Z=-1 sobe um andar) O ID 11392 será o negativo na ordem Y porém positivo 1 Na ordem X Sendo que está para > (direita) X=1 Sendo que Y negativo sobe uma casa Y=-1 Sendo que ele está no mesmo floor que o id 11385 Z=-1 Por último abra o tilesets.xml, pressione Ctrl + f e digite TOWN, coloque a linha: <brush name="estatuanova"/> DOODAD 3 EM 1 [2] Dando continuidade ao Doodads vou lhes ensinar a fazer Doodads 'ALTERNATIVE', sabe alguns itens do mapa editor que você preciona a tecla 'Z' e o item muda de direção (lado)? É Praticamente isso. Vamos trabalhar com os seguintes itens : ID: 11868-11887 ID: 11868-11887 ID: 11915-11916 Vamos Começar com o mais simples ! Abra a pasta do Map editor e vá em data/8.6/doodads.xml Como sempre antes da linha: </materials> Adicione: <brush name="novo1" type="doodad" server_lookid="A" draggable="true" on_blocking="false" thickness="10/10"> <alternate> <item id="B" chance="10"/> </alternate> <alternate> <item id="C" chance="10"/> </alternate> </brush> A: id do item, o que vai ficar de imagem no palette B: id do item normal, quando for adicionado, vamos colocar o id da tocha apagada C: id do segundo item, ou seja, quando você apertar 'Z' vai aparecer este item. Vai ficar assim: <brush name="novo1" type="doodad" server_lookid="11915" draggable="true" on_blocking="false" thickness="10/10"> <alternate> <item id="11915" chance="10"/> </alternate> <alternate> <item id="11916" chance="10"/> </alternate> </brush> Vá em tilesets.xml de ctrl + f, digite town e coloque: <brush name="Nature Morta"/> Agora na hora de abrir coloque sua tocha no mapa, depois aperte Z, perceba que ela vai mudar ! Normal: Depois que apertou o Z: Agora vamos complicar um pouco: Abra o doodads.xml novamente e adicione o script: <brush name="novo2" type="doodad" server_lookid="XXXX" draggable="true" on_blocking="true" thickness="10/10"> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="XXXX"/> </tile> <tile x="1" y="0" z="0"> <item id="XXXX"/> </tile> <tile x="2" y="0" z="0"> <item id="XXXX"/> </tile> <tile x="0" y="1" z="0"> <item id="XXXX"/> </tile> <tile x="1" y="1" z="0"> <item id="XXXX"/> </tile> <tile x="2" y="1" z="0"> <item id="XXXX"/> </tile> <tile x="0" y="2" z="0"> <item id="XXXX"/> </tile> <tile x="1" y="2" z="0"> <item id="XXXX"/> </tile> <tile x="2" y="2" z="0"> <item id="XXXX"/> </tile> <tile x="0" y="3" z="0"> <item id="XXXX"/> </tile> <tile x="1" y="3" z="0"> <item id="XXXX"/> </tile> <tile x="2" y="3" z="0"> <item id="XXXX"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="XXXX"/> </tile> </composite> </alternate> </brush> O server_lookid como sempre é a imagem do item, qualquer item eu vou colocar o id 11856. Vamos trabalhar: Temos X=Y=Z sendo X=0 significa que se X=Y=Z permanece no local atual, então vamos adicionar o primeiro item Vamos usar os numeros 1-12 para representar cada ID O Item id 1 já está pronto ! Sendo que o itemid 2 está a uma posição a direita ele fica como X=1 Y=0 Z=0 Sendo que o itemid 3 está dois pisos a direita ele aumenta um X sendo: X=2 Y=0 Z=0 Sendo que o itemid 4 permanece na posição do itemid 1 porém uma casa abaixo ele fica X=0 Y=1 Z=0 Sendo que o itemid 5 permanece na posição Y porém uma casa a direita ele aumenta um X ficando: X=1 Y=1 Z=0 Sendo que o itemid 6 permanece na posição X e pula dois pisos a direita ele fica: X=2 Y=1 z=0 Sendo que o itemid 7 desce duas casas o Y dele é modificado porém ele permanece no X do primeiro item ficando: X=0 Y=2 Z=0 Sendo que o itemid 8 fica na mesma posição Y do itemid 7 só pulando uma casa a direita ele fica: X=1 Y=2 Z=0 Sendo que o itemid 9 fica na mesma posição X do itemid 7 pulando duas casas ele fica: X=2 Y=2 Z=0 Sendo que o itemid 10 permanece no X pulando ters casas para baixo o Y dele é o ultimo positivo ficando: X=0 Y=3 Z=0 Sendo que o itemid 11 permanece com o ultimo Y positivo pulando uma casa a direita só modifica o X ficando: X=1 Y=3 Z=0 Sendo que o itemid 12 é o ultimo na posição Y só modifica o X, que pula duas casas, ficando ! X=2 Y=3 Z=0 Modo avançado: [1] - x/y/z = 0/0/0 [2] - x/y/z = 1/0/0 [3] - x/y/z = 2/0/0 [4] - x/y/z = 0/1/0 [5] - x/y/z = 1/1/0 [6] - x/y/z = 2/1/0 [7] - x/y/z = 0/2/0 [8] - x/y/z = 1/2/0 [9] - x/y/z = 2/2/0 [10] - x/y/z = 0/3/0 [11] - x/y/z = 1/3/0 [12] - x/y/z = 2/3/0 O resultado fica: <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11868"/> </tile> <tile x="1" y="0" z="0"> <item id="11864"/> </tile> <tile x="2" y="0" z="0"> <item id="11873"/> </tile> <tile x="0" y="1" z="0"> <item id="11869"/> </tile> <tile x="1" y="1" z="0"> <item id="11856"/> </tile> <tile x="2" y="1" z="0"> <item id="11874"/> </tile> <tile x="0" y="2" z="0"> <item id="11870"/> </tile> <tile x="1" y="2" z="0"> <item id="11856"/> </tile> <tile x="2" y="2" z="0"> <item id="11876"/> </tile> <tile x="0" y="3" z="0"> <item id="11871"/> </tile> <tile x="1" y="3" z="0"> <item id="11856"/> </tile> <tile x="2" y="3" z="0"> <item id="11877"/> </tile> </composite> </alternate> Agora como estamos estudando utilizar o 'Z' vamos acrescentar no script: <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11878"/> </tile> <tile x="1" y="0" z="0"> <item id="11879"/> </tile> <tile x="2" y="0" z="0"> <item id="11881"/> </tile> <tile x="3" y="0" z="0"> <item id="11882"/> </tile> <tile x="0" y="1" z="0"> <item id="11865"/> </tile> <tile x="1" y="1" z="0"> <item id="11860"/> </tile> <tile x="2" y="1" z="0"> <item id="11860"/> </tile> <tile x="3" y="1" z="0"> <item id="11860"/> </tile> <tile x="0" y="2" z="0"> <item id="11883"/> </tile> <tile x="1" y="2" z="0"> <item id="11884"/> </tile> <tile x="2" y="2" z="0"> <item id="11886"/> </tile> <tile x="3" y="2" z="0"> <item id="11887"/> </tile> </composite> O Meu ja está feito, porém esse /\ é diferente do anterior não confunda ! Como eu ja fiz e expliquei em cima eu vou passar a formula do segundo ra vocês intenderem melhor: [1] - x/y/z = 0/0/0 [2] - x/y/z = 1/0/0 [3] - x/y/z = 2/0/0 [4] - x/y/z = 3/0/0 [5] - x/y/z = 0/1/0 [6] - x/y/z = 1/1/0 [7] - x/y/z = 2/1/0 [8] - x/y/z = 3/1/0 [9] - x/y/z = 0/2/0 [10] - x/y/z = 1/2/0 [11] - x/y/z = 2/2/0 [12] - x/y/z = 3/2/0 Juntando tudo e adicionando: <alternate> </alternate> O Script fica: <brush name="novo2" type="doodad" server_lookid="11856" draggable="true" on_blocking="true" thickness="10/10"> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11868"/> </tile> <tile x="1" y="0" z="0"> <item id="11864"/> </tile> <tile x="2" y="0" z="0"> <item id="11873"/> </tile> <tile x="0" y="1" z="0"> <item id="11869"/> </tile> <tile x="1" y="1" z="0"> <item id="11856"/> </tile> <tile x="2" y="1" z="0"> <item id="11874"/> </tile> <tile x="0" y="2" z="0"> <item id="11870"/> </tile> <tile x="1" y="2" z="0"> <item id="11856"/> </tile> <tile x="2" y="2" z="0"> <item id="11876"/> </tile> <tile x="0" y="3" z="0"> <item id="11871"/> </tile> <tile x="1" y="3" z="0"> <item id="11856"/> </tile> <tile x="2" y="3" z="0"> <item id="11877"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="11878"/> </tile> <tile x="1" y="0" z="0"> <item id="11879"/> </tile> <tile x="2" y="0" z="0"> <item id="11881"/> </tile> <tile x="3" y="0" z="0"> <item id="11882"/> </tile> <tile x="0" y="1" z="0"> <item id="11865"/> </tile> <tile x="1" y="1" z="0"> <item id="11860"/> </tile> <tile x="2" y="1" z="0"> <item id="11860"/> </tile> <tile x="3" y="1" z="0"> <item id="11860"/> </tile> <tile x="0" y="2" z="0"> <item id="11883"/> </tile> <tile x="1" y="2" z="0"> <item id="11884"/> </tile> <tile x="2" y="2" z="0"> <item id="11886"/> </tile> <tile x="3" y="2" z="0"> <item id="11887"/> </tile> </composite> </alternate> </brush> Agora abra o map editor, selecione o item e coloque no mapa, se você apertar a tecla Z vai mudar a ponte, pra cima ou pro lado
    1 ponto
  31. Opa eae galera, blz? deixarei logo a baixo algumas informações, de como compilar o tfs 0.3.6 pelo codeblocks. Veja o vídeo para entender melhor! 1º path para substituir o leaf 2º Download do projeto do CODEBLOCKS: TheForgottenServer.zip 3º Download do codeblocks já configurado 4º Caso sua source for dxp é necessário alterar o arquivo definitiuns.h
    1 ponto
  32. Tibia Server Mapa Global Eae pessoal, venho trazer a vocês um servidor de Tibia com mapa igualzissimo ao do Tibia Original. Com Rookgard e muito mais, claro não fui eu quem fiz este servidor magnifico. Mais venho traze-lo para vocês fazerem dele sua base e ter um servidor muito melhor de Tibia. Como nós sabemos nenhum servidor vem sem bugs, então é issu vo postar algumas imagems e espero que gostem. Muitas coisas ainda vocês terão de configurar como onde o player ínicial irá nascer e etc.. Este servidor estava sendo utilizado com site então você terá de fazer suas auterações. Cidades Newbie Island (Rookgaard) + Island of Destiny Ankrahmun Ab'Dendriel Carlin Darashia Edron Yalahar Kazordoon Liberty Bay Port Hope Svargrond Thais Venore Farmine Zao Cormaya Algumas imagems: Como eu ja disse este servidor não foi eu em que fui, mais venho pelo o menos trazer a vocês. Créditos Dener Diegoli Team e ao Membro Shekys do xtibia por contribuições enorme no projeto. Kurobisu (Por Trazer aqui pro Xtibia) Downloads OTServer Completo: >>( Kurobisu Download Otserv )<< Download Client Normal de Tibia 8.6: >>( Kurobisu Download Client )<< Download do SqliteStudio para quem for usar via account manager: >>(Kurobisu Download SqliteStudio)<< O 4Shared ja tem seu proprio ( Scanner ) então pelo visto não precisa. Estou também abrindo este tópico para caso alguém tenha alguma dúvida ou ache algum bug possa reporta-lo para mim, e eu concerteza tentarei ajuda-lo. Então como muitos sabem o tópico deve ter regras, e aqui não será diferente. Regras Poste suas dúvida aqui caso tenha alguma, caso acho algum bug poste aqui também. Tentarei ajudar o maximo possivel. Gosto do tópico? Lhe ajudei?Rep+ Não ajudei? Tentarei melhorar
    1 ponto
  33. Luga03

    Ditto e Shiny Ditto System 100%

    Eae pessoal blz?? eu peguei o ditto system postado pelo Wend e feito pelo Gabrielbsales(Featzen), então só mudei algumas tags e modifiquei um pouco e dei umas melhorias, bem pequenas só que vão ajudar, creio eu Então vamos parar de blábláblá em começar o tutorial! Primeiramente vá em Data/actions/scripts/order.lua e Procure por: -------- TRANSFORM ---------- Apague tudo aqui dentro, até o: -------- LIGHT ------------ Ai dentro ditto coloque isto: Pronto Agora esta transformando e copiando as habilidades e tudo! Agora Para o ditto e shiny ditto reverter a transformação . Crie um arquivo chamado dittorevert.lua em data/talkactions e coloque isto dentro: e em talkactions.xml coloque isto: <talkaction words="!revert" event="script" value="dittorevert.lua"/> Pronto sistema 100% só que ele está com nome, poder, força tudo igual! para resolver isto vamos em lib/level system.lua abra e procure por isto: e substitua por isto: Pronto Agora o Shiny ditto ta com 75% de força do poke transformado e o ditto com 50% de força do pokemon transformado Agora para identificar que é um ditto/shiny ditto vamos em creaturescript/scripts/look.lua, abra e procure por: table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename..".\n") substitua por: if getItemAttribute(thing.uid, "ehditto") == 1 then table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename.." (Ditto).\n") elseif getItemAttribute(thing.uid, "ehshinyditto") == 1 then table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename.." (Shiny Ditto).\n") else table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename..".\n") end Em actions/scripts/goback.lua procure por: e apague! em lib/Some Functions.lua procure por: e substitua por: function doAppear(cid) --Faz um poke q tava invisivel voltar a ser visivel... if not isCreature(cid) then return true end doRemoveCondition(cid, CONDITION_INVISIBLE) doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureSetHideHealth(cid, false) end Ainda em Some functions procure por: if getCreatureName(pokemon) == "Ditto" then if isTransformed(pokemon) then local left = getItemAttribute(pokeball.uid, "transLeft") - (os.clock() - getItemAttribute(pokeball.uid, "transBegin")) doItemSetAttribute(pokeball.uid, "transLeft", left) end end e apague e para finalizar procure por: if getCreatureName(pokemon) == "Shiny Ditto" then if isTransformed(pokemon) then local left = getItemAttribute(pokeball.uid, "transLeft") - (os.clock() - getItemAttribute(pokeball.uid, "transBegin")) doItemSetAttribute(pokeball.uid, "transLeft", left) end end e Apague!!!!!!! Pronto Agora sim Sistema 100% Esta Copiando Habilidades, força diminuida do pokemon normal e identificação do Ditto e Shiny Ditto! Acredito que vai ajudar a muitos! Créditos Gabrielbsales Por criar o Script Wend por fazer um tutorial mais completo Zet0N0Murmurou (Summer Slyer) por adaptar e melhorar o script para o Shiny Ditto! UP
    1 ponto
  34. kttallan

    PokeZring - Completo

    Vocês tem que ter noção dos gastos envolvendo o servidor, era bem visível que a base estaria cheia de problemas e que supostamente era um golpe que estavam levando. Aconteceu o mesmo com a base do PokéMaster X que está a disposição nos fórums, estava sendo vendida a R$300 a R$600, sendo que só o sistema de Market foi um investimento de R$500 e o OTcliente um investimento de R$600. O mais engraçado é que se assustavam quando eu cobrava (após o fechamento do servidor) o valor de R$5000 na versão original e completa sem falar do meu suporte, mas sempre estão disposto a pagar mais barato por qualquer merda, tá ai a versão (que nem oficial era) jogada no fórum, quase impossível de abrir por tantos bugs, source desatualizada, a source do otcliente não é aquela, em fim. É um aviso para vocês, se deseja investir e comprar uma base, se está sendo vendida por 300, 400 não é uma boa opção, um servidor precisa de muito investimento R$ e isso é resultado do que ela é, qualquer pessoa que perdeu tempo e dinheiro jamais venderia sua base por esse valor. Nunca vendi a versão oficial do Master X por não ter gente disposta a pagar o valor, como da mesma forma nunca abaixei o valor e também nunca postei. É trabalho, é suor, não será dado de graça ou vendido por pouco.. @TOPIC Em referência ao tópico, a base pode não ser utilizável, porém a parte gráfica dela está muito bem trabalhada, com uma excelência de qualidade é possível aproveitar bastante módulos e UI, sem falar também do sistema de criptografia que é ótimo!
    1 ponto
  35. WorstZoe

    O Tibia Faliu!

    Eu criei um grande texto e apaguei tudo pois era um desabafo desnecessário do quão triste eu fico vendo o estado atual do Xtibia. Muitas pessoas incríveis não só aprenderam aqui, como deixaram inúmeros ensinamentos nas páginas desse fórum. Todos esses tutoriais / ensinamentos AINDA ESTÃO nesse fórum, mas a maioria das pessoas aqui só vai ler se os tópicos forem movidos pra área de downloads. (Eu tinha uma conta lá de 2010 que perdi, mas felizmente pude ver esse fórum em seu auge.) --------------------------------------- É isso. Atenciosamente, Zoe.
    1 ponto
  36. LeoTK

    O Tibia Faliu!

    Realmente o problema é que muitos desses que estão esperando a base do momento são preguiçosos que não tem coragem nem de usar a barra de pesquisa do fórum para pesquisar prefere criar um tópico e esperar alguém mandar o link do tópico com a solução do problema etc... enfim é preciso mudar as atitudes também as pessoas querem então precisa aprender a estudar também não só depender do fórum para tudo claro que não sejamos hipócritas os fóruns são essenciais juntos com todos os seus conteúdos porém falta a vontade de aprender da comunidade também
    1 ponto
  37. Tenta fazer o seguinte procedimento: Abre o executar (Windows + R) e digita: %appdata% Depois procure pela pasta do Remere's, apague ela. E por fim, abra o Remere's e importa todos os monstros/npc do seu server e tenta abrir o mapa. Eu tive esse problema com a versão do remere's, pois nas base de poketibia que eu uso, trabalha com versão extendida ou transparência. Tem que ver seu sua base trabalha com essas versões e se seu remere's tem suporte a elas.
    1 ponto
  38. Darwiinxp

    [BASE] PokeRoxy

    algem pode me ajudar?
    1 ponto
  39. Deadpool

    [Resolvido] Erro web site

    apaga este xamp ai, e instala este: https://sourceforge.net/projects/xampp/files/XAMPP Windows/ desce la embaixo e escolhe a versão 5.6.35
    1 ponto
  40. No seu banco de dados, na tabela players existe um personagem com o nome Pokemon Trainer Sample ? Se caso não houver, crie um lá pois você irá precisar de um personagem para usar como base para os jogadores poderem criar os perso. E troque no seu config: $config['newchar_vocations'][0][1] = "Pokemon Trainer"; Por: $config['newchar_vocations'][0][1] = "Pokemon Trainer Sample";
    1 ponto
  41. Satou

    Nto Panzer V3

    Salve Salve Pessoal do Xtibia hj vim postar o servidor do NTO PANZER V3 com o client E o Servidor Nao Contem o Mapa Algumas Vocaçoes que o servidor possui Servidor - http://adf.ly/1OfRLs Client - http://adf.ly/1OfOvU Scan : https://www.virustotal.com/pl/file/a62f73e607aec299d1fe772727c44298e82809cf412c65e08e70a1dec1d06909/analysis/1442861532/ Creditos : Kazuya , Sirius(Satou)
    1 ponto
  42. No meu tbm tive erro na compilação .-. jfsdjfshf aí me toquei no que era. Mano é que na minha source está assim Note que se seguir o tutorial, essa parte g_painter->drawBoundingRect(Rect(dest + (animationOffset - getDisplacement() + 2)*scaleFactor, Size(28, 28)*scaleFactor), std::max<int>((int)(2*scaleFactor), 1)); Ela se encontra na minha pelo menos kkk aqui if(m_showTimedSquare && animate) { Seguindo como está falando lá, vai ficar assim Que na hora da compilação... Vai gerar um errinho e não vai compilar .-. Então eu mudei e fiz assim... joguei tudo na if(m_showStaticSquare && animate) { Com isso deu tudo certo... vejam ^^ É isso... Vlw pelo tutor ^^
    1 ponto
  43. Punchlines Nemmo

    World of Piece v2 Completo

    Parabéns cara gostei da iniciativa vou baixar para dar uma olhada quem sabe não trago um 2.5 ? GOSTEI TAMBÉM DISPONIBILIZA AI PRA NOS AMIGO CREIO QUE CONSEGUIRIAMOS CRIAR BASTANTE COISA COM ISSO
    1 ponto
  44. Bom Dia xTibianos.. O titulo já diz tudo, estou precisando de um script(quest) que dê items aleatorio (configuravel), se alguem puder me ajudar.. Grato desde já !
    1 ponto
  45. Administrador

    Daniel Sprites (free)

    Resultados dos meus treinos hihi Fiquem a vontade para usar!
    1 ponto
  46. pelo que eu entendi sua config.lua não ta configurada entra na config.lua da CTRL + F procura pro worldType deixa assim worldType = "pvp"
    1 ponto
  47. Nao precisa apagar o <script> <event name="inquisitionPortals"/> </script> é simple arrumar, no meu server pelomenos deu certo! Faz o seguinte: Vai na pasta do seu OT data\actions\scripts\inq Procura la o arquivo inquisitionPortals.lua agora vc copia esse arquivo (NAO RECORTE! SOMENTE COPIE!!) e cola ele na pasta: data\creaturescripts\scripts volta na pasta creaturescripts e abra o creaturescripts.xml e adicione a seguinte linha: <event type="death" name="inquisitionPortals" script="inquisitionPortals.lua"/> Ajudei?? REP + ae
    1 ponto
  48. Rikezenho

    Filtro De Palavrões

    ---Seu OT deve ter suporte a talkactions. EDIT: Agora a action está sem palavrões e mais fácil de editar. Não precisa baixar o script. Não aguenta mais os baderneiros no seu OT? Então aqui está a solução. Eu e meu amigo(Rafacin) criamos um sistema para filtrar palavras mal intencionadas. Já configurei com os principais palavrões... Você pode configurar as frases que serão usadas para substituir os palavrões. Então, lá vai... Crie um arquivo chamado filtro.lua: --------------Filtro by Rike and Rafacin---- function onSay(cid, words, param) ------------------------------Configuração(Configuration)------------------------------------------ ---Frases para substituir o palavrão frases = {"Ei cara, eu te amo, sabia?","Vem cá gostosão","Aaai nega!","Essa doeu amiguinho","Vamos passear no recreio?","Ai que delícia"} ---Não mexa nisso n = math.random(1,table.getn(frases)) frase = frases[n] ----Lembre-se: As frases que irão aparecer são randômicas(As frases da variável frases) ----------------------------Fim configuração(End Configuration)-------------------------------- doPlayerSay(cid,frase,1) end E no talkactions.xml: <talkaction words="######" script="filtro.lua" /> <talkaction words="######" script="filtro.lua" /> <talkaction words="vai tomar no ######" script="filtro.lua" /> <talkaction words="######" script="filtro.lua" /> <talkaction words="viado" script="filtro.lua" /> <talkaction words="######" script="filtro.lua" /> <talkaction words="#####" script="filtro.lua" /> <talkaction words="######" script="filtro.lua" /> <talkaction words="#####" script="filtro.lua" /> <talkaction words="######" script="filtro.lua" /> <talkaction words="pau" script="filtro.lua" /> <talkaction words="######" script="filtro.lua" /> <talkaction words="vai ######" script="filtro.lua" /> <talkaction words="vai se ######" script="filtro.lua" /> Para adicionar mais filtros de palavrões, você deve fazer o seguinte: -Adicione no talkactions.xml, adicione mais uma tag como essa: <talkaction words="O PALAVRÃO QUE VOCÊ QUER" script="filtro.lua" /> Agora, para adicionar mais frases, observe que cada frase está entre aspas duplas e separadas por vírgula. Por isso, não cometa erros aí. Por causa do filtro de palavras, você terá que renomear tudo... Mas lembre-se: Se você coloca um palavrão no talkactions.xml, você deve colocar ele também na action. Pronto, é isso. Espero que gostem. Flwwwww!
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...