Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. 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
    8 pontos
  2. 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
    5 pontos
  3. 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.
    3 pontos
  4. 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
  5. 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
  6. 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
  7. 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
  8. rafersiq

    Duvida Roleta

    bom a chance e o msm estilo de chance de loot dos monster
    2 pontos
  9. 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
  10. 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
  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. 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
  14. Nysman

    Base PokeNumb (Open-Source)

    ERRO DO look.lua remove toda essa parte em creaturescript/scripts/look.lua
    1 ponto
  15. 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
  16. 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
  17. o servidor e tranquilo compilar so o client que e um pouco chato de compilar
    1 ponto
  18. Estou afim de fazer um poketibia do 0 (sem pegar nada de PDA / DXP) Tenho conhecimento mediano em C++, C#, Lua e PHP Não sei qual versão vou fazer ainda, será discutido com a equipe Em pauta: TFS 1.4 10.98 / 1.5 8.60 No momento preciso de alguém que me ajude com adição de itens de poketibia no tibia cru para fazer e ficar testando os sistemas. Envie os seguintes dados: Nome: Idade: Contato (Discord ou Whatsapp): Experiência: (Fale sobre algum conhecimento que voce tem)
    1 ponto
  19. 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
  20. 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
  21. JulianoZN

    ERRO AO ABRIR RME

    Na mesma pasta onde ta as spr.zip > Tibia.otfi para o signature
    1 ponto
  22. 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
  23. 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
  24. 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
  25. rafersiq

    Base PokeNumb (Open-Source)

    se for o client mobile vc presisa de um app pra isso
    1 ponto
  26. MixLort

    Base PokeNumb (Open-Source)

    Olá sem nome, o site utilizado na numb não necessitava de account sample, mas caso no site do masterx precise, é só renomear um dos characters de test para "Pokemon Trainer Sample"!
    1 ponto
  27. Olá galerinha do XTibia! Estava fuçando no Fórum e percebi que existem alguns tópicos deste gênero e várias reclamações de usuários que não conseguem liberar acesso aos players. Mas a questão é que são tópicos antigos ou então que ensinam os players meio por cima como deixar o servidor on-line, nada muito explicativo, então decidi criar este tópico para ajudar o máximo de pessoas possíveis. O tópico está dividido por partes para a maior compreensão possível. 1 - Detalhamento de sua rede 2 - Liberando portas no Firewall 3 - Liberando portas no Roteador 4 - Criando um DNS para seu OT (1) Detalhamento de sua rede (2) Liberando portas no Firewall (3) Liberando portas no Roteador (4) Criando um DNS para seu OT Pronto, agora as portas estão liberadas e seu servidor está com 'Ip Fixo'! É so chamar a galerinha e se divertir! GOSTOU DO CONTEÚDO? Clique em GOSTEI!!!
    1 ponto
  28. Mobile Modificado sem arquivos data/modules etc >> o mesmo ja conta com o sistema de rotação de tela scan// https://www.virustotal.com/gui/file/596ea29e221af84af5771c94b6160531f681975f8727410060e2d474cd0ab679/detection --> Com extensão de tela sem bordas preta requer extensão de tela para mobile >http:// https://www.mediafire.com/file/jumo15q39gc9n4d/liberado+extendido.apk/file 29/2 > 14 17/2 > 8 Possui cor nos nome procurando as tag \/ no nick do player 0 [ADM], [GOD], [GM], [CM], [Tutor], [Help], [YT], [Youtuber] Cor nos nome dos monstro que possuir genero Male > Azul Female > Rosa Indefinido > Amarelo --> Sem Extenção de tela Bordas Preta > https://www.mediafire.com/file/fnzhwciwws1om26/liberado.apk/file padrao do tibia 8 6 Possui cor nos nome procurando as tag \/ no nick do player 0 [ADM], [GOD], [GM], [CM], [Tutor], [Help], [YT], [Youtuber] Cor nos nome dos monstro que possuir genero Male > Azul Female > Rosa Indefinido > Amarelo
    1 ponto
  29. Hirxzsxop

    [Base] Pokémon Mythology [2023]

    Ótima base, comunidade agradece por essa contribuição!
    1 ponto
  30. rafersiq

    Base PokeNumb (Open-Source)

    qual bug visual do fly? vou ver o local que vc aruma o shiny cham aqui
    1 ponto
  31. GamerGoiano

    Vault

    Não sei quanto é 200kkk, vou supor que o valor é 2 000 000 000 Experimenta ai o código pra ver se funciona function onUse(cid, item, fromPosition, itemEx, toPosition) local cidMoney = getPlayerMoney(cid) local vaultmoney = getItemAttribute(itemEx.uid, "money") if (getItemAttribute(itemEx.uid, "money") == 0) then doSetItemAttribute(itemEx.uid, "money", math.min(cidMoney, 2000000000)) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce depositou "..math.min(cidMoney, 2000000000).." dolares!") if getPlayerMoney(cid) >= 1000000 and getPlayerMoney(cid) < 10000000 then item = doPlayerAddItem(cid, 7896, 1) doItemSetAttribute(item, "money", math.min(cidMoney, 2000000000)) doPlayerRemoveItem(cid, itemEx, 1) doRemoveItem(itemEx.uid, 1) end if getPlayerMoney(cid) >= 10000000 and getPlayerMoney(cid) < 100000000 then item = doPlayerAddItem(cid, 7897, 1) doItemSetAttribute(item, "money", math.min(cidMoney, 2000000000)) doPlayerRemoveItem(cid, itemEx, 1) doRemoveItem(itemEx.uid, 1) end if getPlayerMoney(cid) >= 100000000 and getPlayerMoney(cid) <= 2000000000 then item2 = doPlayerAddItem(cid, 7898, 1) doItemSetAttribute(item2, "money", math.min(cidMoney, 2000000000)) doPlayerRemoveItem(cid, itemEx, 1) doRemoveItem(itemEx.uid, 1) end doPlayerRemoveMoney(cid, math.min(cidMoney, 2000000000)) else item2 = doPlayerAddItem(cid, 7895, 1) doItemSetAttribute(item2, "money", 0) doPlayerRemoveItem(cid, itemEx, 1) doRemoveItem(itemEx.uid, 1) doPlayerAddMoney(cid, math.min(vaultmoney, 2000000000)) end return true end
    1 ponto
  32. Yan Oliveira

    Vault

    Substitua o código por: function onUse(cid, item, fromPosition, itemEx, toPosition) local cidMoney = getPlayerMoney(cid) local vaultmoney = getItemAttribute(itemEx.uid, "money") if (getItemAttribute(itemEx.uid, "money") == 0) then doSetItemAttribute(itemEx.uid, "money", cidMoney) if getPlayerMoney(cid) >= 1000000 and getPlayerMoney(cid) < 10000000 then item = doPlayerAddItem(cid, 7896, 1) doItemSetAttribute(item, "money", cidMoney) elseif getPlayerMoney(cid) >= 10000000 and getPlayerMoney(cid) < 100000000 then item = doPlayerAddItem(cid, 7897, 1) doItemSetAttribute(item, "money", cidMoney) elseif getPlayerMoney(cid) >= 100000000 and getPlayerMoney(cid) <= 2000000000 then item2 = doPlayerAddItem(cid, 7898, 1) doItemSetAttribute(item2, "money", cidMoney) end doPlayerRemoveMoney(cid, cidMoney) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce depositou "..cidMoney.." dolares!") else item2 = doPlayerAddItem(cid, 7895, 1) doItemSetAttribute(item2, "money", 0) doPlayerAddMoney(cid, vaultmoney) end doPlayerRemoveItem(cid, itemEx, 1) doRemoveItem(itemEx.uid, 1) return true end Otimizei o código, porque tinha muita repetição nos blocos condicionais
    1 ponto
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  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. 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
  41. 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
  42. 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
  43. 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
  44. Administrador

    Daniel Sprites (free)

    Resultados dos meus treinos hihi Fiquem a vontade para usar!
    1 ponto
  45. 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
  46. eduardo190696

    Auto Loot

    CRIADOR : JANO Retirado: Outro forum Script: Auto Loot *-* creaturescripts.xml <event type="login" name="aloot_reg" event="script" value="aloot.lua"/> <event type="kill" name="aloot_kill" event="script" value="aloot.lua"/> creaturescripts/scritps aloot.lua function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end talkactios.xml <talkaction words="/aloot" hide="yes" event="script" value="aloot.lua"/> Talkaction/scrips local stor, limit = 7575, 5 --storage, limit to add. local allow_container = false --empty! not looted with items, atleast for now. function onSay(cid, words, param) local expl = param:explode(':') local action, rst = expl[1], expl[2] if (action:lower() == 'check') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):explode(',') end local txt = 'Autoloot List:\n' if (#list > 0) then for k, id in ipairs(list) do id = id:gsub('_', '') if tonumber(id) then txt = txt .. getItemNameById(tonumber(id)) .. ((k < #list) and '\n' or '') end end else txt = 'Empty' end doPlayerPopupFYI(cid, txt) elseif (action:lower() == 'add') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not allow_container and isItemContainer(item) then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end local attrs = getItemInfo(item) if not attrs then return doPlayerSendCancel(cid, 'not valid item.') elseif not attrs.movable or not attrs.pickupable then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end if isInArray(list, item) then return doPlayerSendCancel(cid, 'already added.') end table.insert(list, tostring(item)) local new = '' for v, id in ipairs(list) do new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< has been added to the autoloot list.') elseif (action:lower() == 'remove') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list == 0) then return doPlayerSendCancel(cid, 'You dont have any item added.') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not isInArray(list, item) then return doPlayerSendCancel(cid, 'This item is not in the list.') end local new = '' for v, id in ipairs(list) do if (tonumber(id) ~= item) then new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< removed from the autoloot list.') end return true end Usando /aloot check Cheka a Lista dos Loots /aloot add:itemid ou nome do item Exemplo /aloot add:worm /aloot add:2170 16:42 Item >>worm<< has been added to the autoloot list. Para remover /aloot remove:worm /aloot remove:2170 Exemplo Testado: 16:41 Looted 2 gold coin. 16:41 Looted 1 cheese. é isso pessoal gosto da + Rep
    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...