Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 01/16/16 em todas áreas

  1. kaleudd

    [NEW][MODULE]Store_module

    Descrição: Loja de servidor Tibia / personalizada. Ele permite o jogador comprar itens com pontos de prémios / tokens. <------------------------> Como usar: 1. Arraste e solte o conteúdo do arquivo zip baixado no final do tópico para a pasta modules do OTC. 2. Vá para a store_module e abra o arquivo configs.lua 3. Altere COMMAND_BUYITEM para comandar a compra do item. 4. Altere comando COMMAND_TRANSFER para comandar a transferência de pontos. 5. Altere WEBSITE_GETCOINS a página onde você pode comprar pontos. 6. Altere COINS_OPCODE mudança,opcode para qualquer número que você vai usar. 7. Salve,e pronto. Como adicionar novos items: storeIndex = { [1] = { id = '1', name = 'Premium Time', description = 'Buy low-priced Premium Time to add it to your own account.', image = "/images/shop/premium_time", imageList = '/images/shop/premium_time_small' }, } ID - ID do categoria(usado para comando). nome - Nome da categoria. Descrição - descrição da categoria. - Imagem da categoria na Descrição Painel (tamanho 64x64px). imageList - Imagem da categoria no Painel List (tamanho 32x32px). Como adicionar produtos à categoria: storeProducts = { { name = "30 days", id = '1', category_id = "1", description = 'Do you really want to buy "30 days" of premium time?\n\nNote: Once you have purchased Premium Time, your account\ninstantly receives premium status - no relog necessary!', tooltip = "", price = 250, image = "/images/shop/offer/30days" }, } Nome - Nome do jogador artigo será capaz de comprar. ID - Id do item (usado para comando). category_id - Id da categoria na qual o item será exibido. Descrição - Descrição do jogador artigo quer comprar, exibido na janela pop-up. dica - Se o nome tiver mais de 12-13 caracteres, digite o nome do produto aqui. Ele será exibido em foco. preço - Preço do item. imagem - ícone do item de jogador quer comprar (tamanho 88x70px). Como enviar Tibia valor Coins para o cliente: Abrir em seus TFS (estou usando o TFS 1.2) dados / scripts de criatura / scripts / extendedopcode.lua adicione: local tibiaCoins = getPlayerStorageValue(player, 999999999) player:sendExtendedOpcode(52, tibiaCoins) Todo o arquivo deve ser semelhante a este: function onExtendedOpcode(player, opcode, buffer) local tibiaCoins = getPlayerStorageValue(player, 999999999) player:sendExtendedOpcode(52, tibiaCoins) return true end Download: MEGA Nota: Comando para a compra de item deve seguir modelo: !storebuy CATEGORYID, ITEMID Comando para a transferência de moeda deve seguir modelo: !transferpoints PLAYERNAME, VALUE Créditos: obs:não testado em tfs abaixo de 1.2.
    2 pontos
  2. Oneshot

    Vamos Programar? - Introdução

    Vamos Programar? Introdução Olá, pessoal. Acredito que ninguém aqui me conheça, mas sou Oneshot, ou Bruno Lopes, um programador por passatempo. Desenvolvi muitos trabalhos para fóruns em geral, principalmente o XTibia, até que levei uma flecha no joelho... ... Brincadeiras a parte, eu gostaria muito de voltar a escrever tutoriais e quem sabe desenvolver novos recursos para a comunidade, depende muito do meu tempo disponível. Para essa primeira parte do tutorial, eu gostaria de tratar de um assunto que é subestimado por muitos... Não, eu não vou falar de lógica da programação, de Lua, ou de C++... eu vou falar sobre o editor de texto, a principal ferramenta de um programador. Muitos aqui, provavelmente começam sua vida de scripter utilizando o Notepad++ no Windows, ou talvez um gedit em alguns flavors do Linux, talvez até o vim, se você for muito hardcore Eu já usei vários editores de texto, e ultimamente tenho recomendado um editor de texto excelente, desenvolvido pela equipe do Github, chamado Atom. Eu poderia muito bem fazer deste tópico, um comparativo entre os editores de texto e até alguns IDEs (ou Integrated Development Environment), mas vou fazer deste, um tutorial para configuração do Atom e espero que vocês gostem. Atom Atom, conforme o criador, é um editor de texto totalmente personalizável, você pode editar todos os tipos de configurações dentro dele, mas também se não quiser, não é necessário. E acho que esse é o diferencial do Atom, existem muitos plugins de excelente qualidade, e você não vai precisar usar ele só para programar Lua, pode usar ele em um monte de sintaxes diferentes e se ele não tiver uma sintaxe, basta baixar um plugin que certamente existirá com a sintaxe, snippets (trechos de código pré-configurados), entre outros. Você vai baixar o Atom no site deles, http://atom.io/, no momento que escrevo esse artigo/tutorial, estou no Windows 10 (Ao invés do Fedora), então veja abaixo: Depois de baixar o instalador para sua plataforma (Ele está disponível para Windows, Linux e Mac), basta instalar o aplicativo, conforme os padrões do seu sistema (Next, Next, Next no Windows e por aí vai) Depois disso o Atom é apresentado da seguinte forma: Não tão dessa forma... estou com o tema da interface Seti-UI. Se você for curioso, pode então ler a documentação do Atom, e eu recomendo, pois você vai aprender muito lá, e se tiver noções de programação, já poderá aprender a personalizar seu Atom. Vamos baixar alguns plugins, para isso você pode ir no menu Packages > Settings View > Install Packages/Themes ou pressionar Ctrl+Shift+P (No caso do Windows), digitar Install e escolher a opção, e eu uso muito essa segunda forma: No menu que irá abrir, você pode procurar diversos plugins e temas, na página inicial ele mostra os plugins em destaque: Daqui não tem segredo, pesquise o nome do plugin, ele vai aparecer e então clique em Install, abaixo deixo alguns plugins que eu uso, e nem todos são voltados para Open Tibia. Plugins​Open Recent - Abre arquivos recentes Minimap - Mostra um minimapa com todo o código do arquivo Highlight Selected - Quando você seleciona uma palavra, ele seleciona todas as ocorrências Pigments - Voltado para Front-End, mostra a cor de um código hexadecimal de um arquivo CSS Linter* - Uma função muito presente em IDEs, que mostra algum erro no código, como um ';' faltando Auto-Detect-Indentation - Detecta a indentação de um arquivo e configura a indentação do seu TAB automaticamente) Atom-Beautify - Um "embelezador" de código Emmet - Para front-ends preguiçosos. language-lua - Para adicionar a sintaxe Lua no atom ​Temas​Seti-UI - Um excelente tema com ícones para cada tipo de arquivo. Atom-Monokai - Um tema de sintaxe bem parecido com o Sublime. E tem muitos outros plugins excelentes... No caso do Linter, você precisa baixar o plugin principal, e então o plugin secundário para a linguagem que você pretende utilizar (Não sei se existe um Linter para Lua) Depois disso, você pode ir na opção Themes e mudar o tema de interface e de sintaxe: E por último, mudar algumas configurações a seu gosto: Cada configuração tem sua explicação em inglês. Esse é o Atom, configurado com os plugins do tutorial, com sintaxe Lua, a linha branca cruzando o arquivo é um separador que delimita 80 caracteres e quebra o código que passar disso, dando mais legibilidade. E o mais legal é que o Atom tem um modo de identificar funções diferente do Notepad++, então ele identifica até as funções Open Tibia no seu código. Legal, né? Conclusão Bom, é isso aí, esssa foi a primeira parte de uma sequência de tutoriais que pretendo fazer quando tiver tempo livre, afinal não consigo largar o Open Tibia. Espero que gostem. Abraços.
    2 pontos
  3. Erimyth

    Novidades - Tibia 2016

    Ola Xtibianos. Venho hoje trazer as ultimas novidades desta semana da Cipsoft. Cipsoft lança o trailer oficial 2016! Em um pequeno vídeo a empresa vem mostrando as ultimas novidades do jogo, seria um convite para chamar atenção de novos jogadores? ou um novo método de mostrar suas atualizações além das News! Confira o Vídeo abaixo e deixe sua opinião! No dia 15 de Janeiro todos os mundos do jogo foram tirado do ar por alguns minutos a tarde para implementar uma correção de bug de emergência para um problema com o novo Ferumbras. A Cipsoft pede desculpas oficialmente em seu site para todos os Jogadores. Correções de conteúdo e Alterações No Server Save do Dia 12 de janeiro de 2016 a Cipsoft lança correções e alterações em algumas funções, acompanhe as novidades abaixo: Resolvido o problema de mortes na arena. Onde os players estavam sendo prejudicados incorretamente com mortes injustificadas. Correção em um problema com a "Revolt of the Goblins" quest. A missão A Santa Arma agora deve ser repetível. Correção em mais um problema com a Quest "Blood Brothers": Agora usando uma estaca de madeira abençoada sobre os cadáveres de Boreth e seus irmãos devem agora dar-lhe os itens corretos da missão. Uma alavanca quebrada no "Realm of Dream" quest foi corrigida. Negociação através do menu de contexto devem agora também ser possível no DP em Krailos. Além disso, os jogadores não devem continuar a ser capaz de lutar uns com os outros neste DP. Um uso repetitivo do painted gourd na quest "The Great Hunger" agora deve ser prevenida. Além de todas essa modificações muitas outras correções aconteceram deste Update, uma das prinipais foram correções em Mapas. Fique por dentro de todas as Novidades aqui! Xtibia, com as melhores noticias traduzidas oficialmente direto da Cipsoft.
    2 pontos
  4. Skulls

    OpenTibia e o Socialismo

    Valeu Daniel. Queria adicionar mais uma coisinha ao meu ponto de vista: 1.Tenho grande admiração pelo ambiente acolhedor de um fórum open tibia da forma dita como socialista/colaborativa, onde as pessoas são sempre amistosas e você vê na forma como falam a vontade de te ajudar/acrescentar algo. Na minha breve volta aomenos xtibia de cara encontrei dois perfis assim (tem vários outros, mas foram os dois primeiros que notei) Caronte e Daniel. Tenho medo de que, com uma mudanca de colaboração para mercado se troque esse clima amistoso por um clima de competição, todo mundo tentando vender seus produtos, seu espaço, se esquecendo de tratar bem o usuários com duvida,e tratando colegas de fórum como adversarios prestes a "roubar" um cliente. 2. Parece que não, mas o universo openasource em geral é um grande incentivador de novos talentos e otimizador de potencial. Transformar isso em mercado quebra esse ciclo. Perde-se a oportunidade de pegar um cara motivado e transformar ele em uma pessoa qualificada apta a fazer parte de algum projeto, por exemplo. Assim como perde a oportunidade de dar a essa pessoa experiências que podem ser cruciais para escolhas de vida no futuro. O xtibia foi fundamental nao so para minha formação, mas para minhas escolas de vida e perspectivas profissionais. Se hoje sou quase formado em eng eletrica com ênfase em computação e tenho gosto pela area de engenharia e desenvolvimento de software (tendo trabalhado nela nos últimos 5 anos) devo muito ao que vi e desenvolvi aqui 7/8 anos atrás e aos cursos de programação que fiz por conta do que vi também no fórum. Nao acho justo quebrar um ciclo tão bonito e virtuoso como esse e quero muito que a garotada que frequenta a comunidade tenha crescimentos e oportunidades como eu e outros tivemos. Bom ate agora dei meu ponto de vista, vamos falar de pontos práticos, afinal eu tenho um ponto de vista que podemos dizer que representa um extremo e o criador do tópico representa o outro extremo. Talvez se nos (nao so nos dois, mas todos que estao aqui discutindo) ponderarmos nossas perspectivas de mudanças com esses dois extremos pode ser que saiam sugestões práticas de mudança que acrescentem, reformulem e recoloquem o open tibia nos eixos. Abaixo escreverei o que eu enxergo que pode mudar,sem perder a minha perspectiva de aprendizado e troca de conhecimento gratuita: Incentivar a elaboração de cursos bem estruturados visando formação da galera. Criar incentivos que estimulem sim a participação da comunidade nos cursos, tanto dos alunos quanto dos mentores, parcerias com empresas e instituições que consigam tornar cursos dentro do forum algo certificado e que acrescente no currículo, bem como certificação da experiência profissional de quem lecionou. Talvez uma reformulacao da area de aprendizado do forum, retirando a sessao de pedidos e se limitando a sessao de cursos, ensino e tira dúvidas. Os pedidos de sistemas prontos sairiam daqui pois nao condizem com uma ideologia de aprendizado. Ninguém aprende recebendo pronto no colo. Isso abriria espaco para compra e venda de sistemas. Você nao quer aprendernem compartilhar nada com ninguém? Quer so melhorar o seu produto e cascar fora, sem acrescentar nada a comunidade? Pois bem, que faça um anúncio bem estruturado do pedido, com todas as especificações e pague por isso. Membros com permissão poderão anunciar sistemas e responder anúncios de pedidos com propostas. Que vender sistemas ou fazer propostas de vendas aos pedidos? Faça por merecer, ajude na parte de aprendizado gratuito, responda dúvidas, traga conteúdo, ministre cursos e chegue la. Uma avaliação quinzenal ou mensal da staff poderá ser feita para eleger novos produtos com base no desempenho ajudando ao outro e o rebaixamento daqueles que esqueceram o papel de auxiliador e passaram a focar so nas vendas. Me parece um bom começo de tentativa em conciliar comércio e aprendizado. Obviamente tem que se pensar em regras e limites que evitem competição exagerada e monopólios, dentre outras coisas, mas é um começo. Abraços,
    2 pontos
  5. Bruno

    Compilando TFS 1.3 com vídeo-aula

    Compilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Platadorma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo
    1 ponto
  6. Kiing Creed

    Styller HardLand [8.60]

    Apresento a vocês, o styller mais completo feito até hoje. Ele é o HardLand Styller [8.60] .: Mapa base - Yourots 1.2 (Créditos LeozeraRox) • O mapa estava pronto a muito tempo, porém, eu abria meu servidor com este mesmo mapa, só que de um tempo pra cá, não tive mais tempo para ficar correndo atrás disso. Um pecado eu ter deixado um mapa tão bem feito guardado e não divulgado pra vocês que ainda gostam de jogar. Informações do otserv. (Obs: Servidor possui war-system, porém não é servidor de site, todas as informações são passadas pelo próprio jogo) • Versão 8.60 • Contém sistema de War System • Contém o War of Emperium • Cidade vip inserida: - Novas hunts - Novas quests - Novos trainers - Novas casas [Itens foram criados para as novas quests] • Cidade principal totalmente modificada: - Novos trainers - Novas casas - Novas hunts Façam bom proveito, lembre-se que qualquer dúvida, estarei aqui! Link para dowload: http://www.4shared.com/rar/ZSI3uFABce/HARDLAND.html • Templo cidade principal. • Local onde account managers aparece, junto com King (onde coloca promotion) • Lojas (pots por alavancas) • Quests (Cidade VIP) • Teleports free • Teleports vips • Traines
    1 ponto
  7. Bluester

    Sprites OTPokémon v12.11

    Eae XTibianos, hoje venho trazer o download das sprites dos Pokémons do OTPokemon do evento de Halloween, se estiver na área incorreta, peço que movam Aqui está alguns prints: Link de download: Link do Scan: Créditos: OTP e eu por retirar as sprites do Client deles REP+ por favor, não irá cair o dedo
    1 ponto
  8. Oneshot

    Monstros Passivos

    Monstros Passivos Muito bom dia, galera. Sabe, eu estava estudando como funcionam os servidores de pokémons, aqueles que ainda estão começando, embriões de bons servidores, não grandes servidores como o Poke Brasil Online (PokeBro). O problema de todos esses servidores, é que todos são dependentes de sistemas criados pelo brun123 (se não me engano) dentro das sources, ou seja, esses servidores são dependentes do executável compilado do PDA, entre outros. A pedido de um amigo, eu desenvolvi o sistema de monstros passivos. Sim aquele sistema que dá um upgrade na inteligência artificial das criaturas, onde algumas podem atacar o jogador assim que o ver, outras podem atacar apenas quando for atacadas. É um sistema muito básico mesmo, eu fiz com C++ e Lua por puro comodismo, e pretendo deixar mais avançado apenas com C++ e uso de flags nos XMLs. Se você quiser usar, sinta-se a vontade. No seu arquivo monster.h, procure por: bool isHostile() {return mType->isHostile;} Substitua por: bool isHostile() const { std::string value; if(!getStorage("hostile", value)) return mType->isHostile; return booleanString(value); } No seu arquivo monster.cpp, procure por: Monster::selectTarget Dentro da função, procure por: if(!isTarget(creature)) return false; Adicione abaixo: if(!isHostile()) return false; No diretório creaturescripts/scripts, crie um novo arquivo com nome passive.lua e adicione: PASSIVE_BEHAVIOR = {"Deer", "Rabbit"} -- Aqui ficam os monstros que não atacam, mesmo que atacados. function onCombat(cid, target) if isMonster(target) then if not isInArray(PASSIVE_BEHAVIOR, getCreatureName(target)) then doCreatureSetStorage(target, "hostile", 1) end doMonsterSetTarget(target, cid) end return true end No mesmo diretório, abra o arquivo login.lua e adicione: registerCreatureEvent(cid, "PassiveSystem") No diretório creaturescripts/, abra o arquivo creaturescripts.xml e adicione: <event type="combat" name="PassiveSystem" event="script" value="passive.lua"/> Agora é só compilar seu servidor, sem a pasta obj, ou seja, dê um Rebuild All e correr pro abraço com seu sistema de monstros passivos. Abraços, Oneshot.
    1 ponto
  9. deglorio

    Pokemon PDA XTIBIA

    SERVIDOR ATUALIZADO 29/12/2015. -Bug TV Corrigido - Bug loot Corrigido E muito mais que esqueci Para corrigir o Bug dos pokemons sumirem ao evoluir. Vá em data/lib e troque seu level system.lua por este abaixo. Olá pessoal do XTibia! Há algum tempo estou criando este servidor, ele é o PDA com source, devido a compromissos pessoais, estou deixando para quem quer continuar o projeto, caso alguém tenha interesse aqui no tópico de terminar o servidor, postarei as sources, não coloquei ainda porque tem muita gente que quer tudo pronto,e um servidor desse não existe em lugar nenhum. Andamento do servidor Level System: 100% Addon Pokemons: 100% Caught System: 100% Go-Back System: 100% Portrait System: 100% Evolution System: 100% NPC Nurse System: 100% Pokedex System: 100% Ghost System: 100% Wild Pokemon Passive: 100% Icon System: 100% Liders de Ginásio: 100% Moves System: 100% Limite de 6 Pokemons: 100% Duel System (Pela Party) 100% Tv / Cam System 100% Order 100% e MUITO MAIS. OBS: Servidor mysql, use a database dash2015.sql (dentro da pasta schemas) Senha do ADM: Account: 4926151 Password: dagst4926151guto Prints: Em Breve Downloads: Servidor > https://drive.google.com/file/d/0B9RdNFevGojkTThHdE1YV05PNnM/view?usp=sharing Cliente: http://www.mediafire.com/download/rkv0xwpp2ac92f3/Client_Pounc_Limpo_Sem_Erros.rar Créditos: Deglorio Brun 123 Gabrieltxu Slicer Aberos Se eu esqueci alguém me avise
    1 ponto
  10. Killua

    [Blood Castle] Evento Otimizado![12/04/14]

    Últimas atualizações: 16/12/2013: [ATUALIZADO 12/04/2014] Introdução: Eai gente, vcs conhecem o evento Blood Castle que tem no jogo MU? Então, eu resolvi criar esse evento para OpenTibia e ficou bem legal Informações: OBS: NÃO é obrigatório o uso do mapa que vou por aqui, ele serve somente para exemplo. #Dica: Acho que fica legal o premio do evento ser um item que da double exp por um tempo. Atualização: Resolvi refazer o código, para facilitar a instalação e melhorar o funcionamento do evento. O que mudou? Instalando o evento: Lib: Movements: Creaturescripts: Monsters: O evento pode acontecer de duas maneiras: automática ou manualmente. Vou por as duas possibilidades: Automático: Manual: Como Configurar: * Se você for colocar, dentro do evento, um teleporte para as pessoas que não quiserem mais participar, coloque o Action ID 9371 nele. * Lembre-se de por NO-LOGOUT tool e NO-PVP tool em toda área do evento!! Todas as demais explicações estão na lib, mas vou demonstrar como configurar os mais "confusos". No modo automático, você configura de quanto em quanto o tempo o evento vai acontecer. Nessa tag: <globalevent name="Blood Castle" interval="3600" event="script" value="BloodGlobalEvent.lua"/> Aqui está 3600 segundos, ou seja, 1 hora. * Se seu servidor for em milisegundos, multiplique o número por 1000, assim: 3600 segundos * 1000 = 3600000 milisegundos = 1 hora. No modo manual, para iniciar o evento, basta usar a talkaction /blood-start com seu god. Em posGuarda, vc deve colocar a posicao do Guarda do Portao, como mostrado abaixo: As posPedras são onde ficam as pedras que tampam a passagem enquanto o evento não esta aberto, conforme na imagem abaixo: Em estátua, vc deve colocar a posição em que o arcanjo vai ser criado, conforme na imagem abaixo: Nas posParedes, vc deve por a posição das paredes que bloqueiam a entrada do castelo e que são removidas quando o guarda morre, conforme abaixo: Em fromPos e toPos, você vai por o canto superior esquerdo e o canto inferior direito do mapa do seu evento, respectivamente. Dessa maneira: As outras configurações eu acredito que já estejam bem explicadas. Espero que gostem dessa nova versão. Recomendo a todos que já usam o evento, reinstalar com essa nova versão. Qualquer dúvida ou bug, postem que irei responder. Download do mapa exemplo: Blood Castle.rar
    1 ponto
  11. Global Full [CLIENTS COMPATÍVEIS] 10 e 11.5. [BUGS E DOWNLOAD] BAIXEM E REPORTEM EM: OTXGlobal Full [FEATURES] NEW DEPOT, NEW SPAWN, NEW CAST SYSTEM, NEW NPC SYSTEM VIA BANK BALANCE, NEW CRITICAL BOOST SYSTEM, NEW POTIONS, REWARD SYSTEM, PREY ... [MAPA] FULL GLOBAL MAP WITH FEYRIST TODAS CIDADES E NOVAS AREAS TODAS QUESTS FUNCIONANDO! [EVENTS] WAR-ANTIENTROSA [CONTATO] SKYPE: onjogos WHATSAPP: (66) 998427-4493 [Créditos]Tfs 1.2 Developers -Zbizu - Pitis91 - MatheusMkalo - Gesior - Lundrial - M4G0 - Fish04k - Printer - Djarek - Ninjalulz - Slavidodo - Thexamx - Socket2810 - Ciroc -Absolute - Gordonbay - Mitsuig - Alissonfgp - Gunz - Bruno Minervino - Comedinha -Hirako - Maya - Mattyx14 – Darkjav - Viking Tibia
    1 ponto
  12. Será possível o uso de opcodes em servidores sem o código fonte? Agora é sim com esse novo mod que eu fiz e disponibilizarei à vocês! Conversação de servidor para client! Muito fácil de usar e de instalar! Sem mais delogas, vamos logo ao conteúdo! 1. Crie um arquivo com o nome ModOpcodes.lua na pasta lib do seu servidor; 2. Coloque o seguinte código dentro dele: -- By Hopus -- function doPlayerSendModOpcode(cid, port, param) doPlayerSendCancel(cid, '#<=>#ModOpcode#<=>#'..port..'#<&>#'..param) end 3. Agora coloque a pasta mod_opcodes na pasta modules de seu client; 4. Abra o arquivo textmessage.lua, localizado na pasta modules/game_textmessage de seu client; 5. Procure esse código: elseif string.find(text, '12&,') then modules.cdBar.cdBar.toolTipChange(text) return end 6. Adicione, logo abaixo, essa linha: if text:find('#<=>#ModOpcode#<=>#') then return end 7. Opcodes instalados com sucesso! Como usar? Simples! [Obs.: A função a ser conectada deve ter UM PARÂMETRO, seja ele nomeado como quiser.] Bom, é isso... Espero que seja de grande utilidade e ajude muita gente! Abraços e até a próxima! ^^ [Obs.: Seria legal criar uma área no site exclusiva para otclients!]
    1 ponto
  13. totonho18

    Quest Inovadora, CONFIRA!

    É um script de quest feito 100% por mim O que ela retorna? Essa quest simplesmente te fornece um conjunto de itens dentro de uma bag, itens básicos, porém os itens recebidos da quest são diferentes para cada vocação, e detalhe, ela fornece uma sword ou um axe ou um club para o jogador caso ele seja knight, o tipo da arma dependerá do skill do mesmo, se seu maior skill for axe, ele receberá um machado, e o maior skill for club ele recebe uma clava e se o maior for sword ele recebe uma espada, é um sistema de fácil configuração e acredito que pode ser útil de alguma forma principalmente aos programadores iniciantes. Implementação; Abra a pasta data/actions/scripts -> copie e cole um arquivo qualquer e o renomeie para recompensa.lua Apague tudo que tiver dentro e cole o seguinte código: function onUse(cid, item, frompos, item2, topos) --A Configuração abaixo local config = { level_min = 20, -- level mínimo Premium = true, -- Necessita P.A? true para sim ou false para não Club = 7381, -- id da clava caso o suposto knight tenha skill club superior Sword = 7385, -- id da espada caso o suposto knight tenha skill sword superior Axe = 2435 -- id da machado caso o suposto knight tenha skill axe superior } -- Fim da config OBS Configure dessa linha pra baixo se e somente se souber o que está fazendo local SkillClub = getPlayerSkillLevel(cid, 1) local SkillSword = getPlayerSkillLevel(cid, 2) local SkillAxe = getPlayerSkillLevel(cid, 3) local level = getPlayerLevel(cid) local Voc = getPlayerVocation(cid) local QuestStatus = getPlayerStorageValue(cid,13139) if config.Premium and not isPremium(cid) then doPlayerSendTextMessage(cid,29,"Apenas para jogadores premium accounts") return 0 end if Voc == 4 or Voc == 8 then if level >= config.level_min then if QuestStatus == -1 then if (SkillClub > SkillSword) and (SkillClub > SkillAxe) then doPlayerAddItem(cid,config.Club,1) elseif (SkillSword > SkillClub) and (SkillSword > SkillAxe) then doPlayerAddItem(cid,config.Sword,1) elseif (SkillAxe > SkillClub) and (SkillAxe > SkillSword) then doPlayerAddItem(cid,config.Axe,1) end local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 2463, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 3 or Voc == 7 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8872, 1) doAddContainerItem(bag, 2457, 1) doAddContainerItem(bag, 2661, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 7438, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 1 or Voc == 5 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2188, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end elseif Voc == 2 or Voc == 6 then if level >= config.level_min then if QuestStatus == -1 then local bag = doPlayerAddItem(cid,3939,1) doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis") doAddContainerItem(bag, 2152, 50) doAddContainerItem(bag, 2323, 1) doAddContainerItem(bag, 2185, 1) doAddContainerItem(bag, 2647, 1) doAddContainerItem(bag, 8892, 1) doAddContainerItem(bag, 2525, 1) doAddContainerItem(bag, 2661, 1) setPlayerStorageValue(cid,13139,1) else return doPlayerSendTextMessage(cid,29,"Vazio") end else doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+") end end return true end feito isso salve e feche o arquivo. Agora vá na pasta data/actions/actions.xml e cole a seguinte tag abaixo: <action uniqueid="7111" script ="recompensa.lua" /> Feito isso basta abrir seu map editor e colocar o unique id no local onde o player vai clicar pra fazer a quest, seja lá o que for, um baú, uma estátua, uma parede,etc. Gostou? REP+ Analíse, critique, elogie, comente, me ajude a crescer. By Totonho 18, autor do código :smile_positivo:
    1 ponto
  14. Skulls

    OpenTibia e o Socialismo

    Outras coisas que eu acho que devem ser consideradas para virar um 'produtor': atividade no fórum, principalmente na área na qual ele quer ser produtor. Comentando em outros projetos, outros produtos e dando feedbacks. É muito frustrante você apresentar conteúdo e trazer coisas legais e não ter feedbacks. Os produtores poderiam se tornar, depois de x tempo ativos e cumprindo as obrigações, 'permanentes', sendo mais dificil ser rebaixado mas ainda tendo que ajudar na parte gratuita. Além disso, o rebaixamento não seria aplicado a produtores inativos (afinal, ele pode ter problemas pessoais e abandonar o forum por um tempo), nesse caso se tornaria só inativo. Mas, se o cara continuar ativo mas dando só atenção a área paga ele seria rebaixado. Uma outra coisa legal seria destinar uma porcentagem das vendas para o proprio fórum visando a organização de concursos. Mas não concursos como eles são feitos hoje. Por exemplo, de scripts: O melhor script. Não, chama o concurso de os melhores scripters, da um tema e avalia cada detalhe dos scripts que foram feitos: - Criatividade - Complexidade - Codificação (se o cara foi sucinto, não escrevou coisa que não precisava, se ele pensou da melhor forma possivel para aquilo, etc) - outros critérios. E ai fazer uma lista classificando os scripters daquele concurso com base no desempenho deles em cada quesito. Seria uma forma de mostrar/provar a competência e também medir evolução. E o melhor scripter, isso é, aquele que foi melhor na soma dos quesitos seria o vencedor (ou os 3 melhores seriam premiados, por exemplo). Incentivaria todos a participar não só pelo premio, mas pelo feedback. Enfim, tem outras ideias aqui mas vou esperar os feedbacks para continuar a discussão. Up. Po agora que eu achei que a discussão tava tomando um rumo legal, cade a galera?
    1 ponto
  15. Elorien Server Baseado no Bronson Server Características do servidor: - Mapa da Terra Média (Senhor dos Anéis). 50MB de mapa cheio de RPG - Servidor baseado na história do Senhor dos Anéis e World of Warcraft - 12 cidades e mais de 500 casas - Balanceamento de vocações. - Novas vocações, raças e promotions. - Monstros novos exclusivos do servidor - Várias invasões de bosses diárias - Magias e Runas novas exclusivas do servidor - Mais de 130 Quests exclusivas e desafiadoras para você se aventurar. - Vários sistemas próprios - Versão 8.60 O Elorien Server tem muito RPG mas também visamos muito a questão PvP. Aqui vai um vídeo promocional feito por um de nossos players http://www.youtube.com/watch?v=jhGLYgw3YyU&list=UUOTvFtyTcftUzi1oez5Mk0g Raça - Humanos Sorcerer > Master Sorcerer (level 35) > Archmage (level 101) > Arcane Wizard (level 200) Druid > Elder Druid (level 35) > Celtic Druid (level 101) > Spirit Healer (level 200) Paladin > Royal Paladin (level 35) > Spearman (level 101) > Spartan Spearman (level 200) Knight > Elite Knight (level 35) > Templar Knight (level 101) > Chaos Knight (level 200) Miner > Blacksmith (level 25) > Weaponsmith (level 50) > Artisan Weaponsmith (level 150) Raça - Elf Elf > Elf Ranger (level 30) > Elf Sentinel (level 60) > High Elf (level 90) > Elven Elite (level 150) Raça - Orc Orc > Orc Warrior (level 30) > Orc Berseker (level 90) > Orc Leader (level 101) > Orc Warlord (level 150) > Orc General (level 200) Explicação breve das novas vocações: Sorcerer: forte poder de ataque em magias (wave, ue); Druid: forte poder de ataque em magias (menos que sorcerers), podem healar os amigos e a si próprio com a vantagem de não ter exhausted em usar exura sio + exura vita; Paladin: Quase indestrutível, tem uma defesa (shield) boa, heala bastante com suas magias de heal, e pode usar paralyze. Usam spear e shield; Knight: Uma vocação um pouco esquecida, são especialistas em uso de espadas e são ótimos blockers. Tem muita vida; Miner: Um knight com uma tendência maior para a guerra (war), mas com um poder de fogo menor que o de um ORC; Orc: Dos knights é o melhor na questão PvP, tem as melhores magias de ataque, porém ele não consegue healar muito bem sozinho; Elfs: São também quase indestrutíveis como os Paladins, mas não tem defesa boa (shield). Em compensação seu dano mágico é superior ao dos paladins. Usam arco e flecha; O site e IP estão na minha assinatura para quem quiser ou tiver a curiosidade de ver o servidor.
    1 ponto
  16. Olá caros xTibianos. Venho aqui anunciar (e explicar) as reestruturações feitas nos cargos e na hierarquia do xTibia. Antes de mais nada, vale ressaltar que todas as seguintes modificações foram feitas pensando na melhor maneira de proporciona-lhes uma experiência agradável no fórum, pois isso afeta todos nós. Então sem mais delongas: Mudanças Hierarquia & Equipe Remoção do cargo Colaborador (antigo Estagiário): Há uma série de assuntos que já foram discutidos antes na comunidade, a respeito de cargos. Isso também reflete na usabilidade da comunidade, para os membros normais, para os visitantes e para os membros da equipe. Achamos que um cargo de avaliação não é necessário quando o membro passa naturalmente por uma série de avaliações antes e/ou depois do processo de ingressamento na equipe. Sendo assim, a nova hierarquia é dada na seguinte ordem: Moderador | Coordenador | Administrador Seguindo um modelo básico, os moderadores do fórum estão divididos no mesmo cargo como: Moderador Local | Moderador Global com responsabilidades diferentes. Veja abaixo a nova resolução para a equipe atual: @@Aberos Moderador Clients @@Caronte Moderador Scripting e Programação @ Moderador Design @@Lumus Moderador Scripting @@SamueLGuedes Moderador Mapping Então, basicamente, ao ingressar na equipe o membro já será designado a moderar um área específica. E quando se fizer necessário, este receberá um convite a subir na hierarquia. Mudanças Cargo Herói Acesse este tópico e veja o que mudou. Por hoje é isso, xTibianos. Quaisquer questionamentos/sugestões sobre estes assuntos podem ser feitos neste tópico mesmo. Abraços.
    1 ponto
  17. Bluester

    [Pokemon] Servidor PokeStage

    As sprites você poderia encontrar várias aqui: http://www.xtibia.com/forum/topic/236040-spr-e-dat-pxg-22032015-descompilado/Aqui está um tutorial de como adicionar Pokémons nessa base sem nenhum erro: https://m.youtube.com/watch?v=AUlpi33gsgk Esse erro deve ser de seu RME. Ta usando as sprites de data/imagens/topbuttons/ui/854 ?
    1 ponto
  18. Strogman

    Perfect nick system 100%

    exclusividade xtibia porfavor não postar em outro forum system exclusivo para o xtibia Bom vi muito gente a traz desse sistema e, então resolvi fazer esse nick para ajudar a galera que quer sair do Lixo do pda e começar um projeto bom com os open source. para quem não sabe, nick system é um system muito popular na família dos poketibias, é um system que muda o nome/adiciona um apelido no personagem, muda o nome de exibição no client o nome que fica em cima do personagem no jogo. fulano: Gristony como essa função funciona? Gristony: exatamente igual a do pda! Em ProtocolGame.cpp em baixo de: void ProtocolGameAddShopItem(NetworkMessage_ptr msg, const ShopInfo item){ const ItemType& it = Itemitems[item.itemId]; msg->AddU16(it.clientId); if(it.isSplash() || it.isFluidContainer()) msg->AddByte(fluidMap[item.subType % 8]); else if(it.stackable || it.charges) msg->AddByte(item.subType); else msg->AddByte(0x01); msg->AddString(item.itemName); msg->AddU32(uint32_t(it.weight * 100)); msg->AddU32(item.buyPrice); msg->AddU32(item.sellPrice);} adicione: void ProtocolGamereloadCreature(const Creature* creature){ if(!canSee(creature)) return; // we are cheating the client in here! uint32_t stackpos = creature->getTile()->getClientIndexOfThing(player, creature); if(stackpos >= 10) return; NetworkMessage_ptr msg = getOutputBuffer(); if(msg) { TRACK_MESSAGE(msg); stdlist<uint32_t>iterator it = stdfind(knownCreatureList.begin(), knownCreatureList.end(), creature->getID()); if(it != knownCreatureList.end()) { RemoveTileItem(msg, creature->getPosition(), stackpos); msg->AddByte(0x6A); msg->AddPosition(creature->getPosition()); msg->AddByte(stackpos); AddCreature(msg, creature, false, creature->getID()); } else AddTileCreature(msg, creature->getPosition(), stackpos, creature); }}void ProtocolGamesendCreatureNick(const Creature* creature){ reloadCreature(creature);} Em ProtocolGame.h em baixo de: void sendQuestInfo(Quest* quest); adicione: void reloadCreature(const Creature* creature);void sendCreatureNick(const Creature* creature); Em Player.h em baixo de: void sendCreatureShield(const Creature* creature) {if(client) client->sendCreatureShield(creature);} adicione: void sendCreatureNick(const Creature* creature) {if(client) client->sendCreatureNick(creature);} Em Creature.cpp em baixo de: partyShield = SHIELD_NONE; adicione: Nick = ""; Em Creature.h em baixo de: virtual const Monster* getMonster() const {return NULL;} adicione: stdstring Nick; Luascript.cpp em baixo de: //doPlayerSendCancel(cid, text) lua_register(m_luaState, "doPlayerSendCancel", LuaScriptInterfaceluaDoPlayerSendCancel); adicione: //doCreatureSetNick(cid, nick) lua_register(m_luaState, "doCreatureSetNick", LuaScriptInterfaceluaDoCreatureSetNick); em baixo de: int32_t LuaScriptInterfaceluaDoPlayerSendCancel(lua_State* L){ //doPlayerSendCancel(cid, text) stdstring text = popString(L); ScriptEnviroment* env = getEnv(); if(const Player* player = env->getPlayerByUID(popNumber(L))) { player->sendCancel(text); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1;} adicione: int32_t LuaScriptInterfaceluaDoCreatureSetNick(lua_State* L){ //doCreatureSetNick(cid, nick) ScriptEnviroment* env = getEnv(); stdstring nick = popString(L); Creature* creature = env->getCreatureByUID(popNumber(L)); if(creature) { SpectatorVec list; g_game.getSpectators(list, creature->getPosition()); Player* player = NULL; creature->Nick = nick; for(SpectatorVecconst_iterator it = list.begin(); it != list.end(); ++it) { if(player = (*it)->getPlayer()) { player->sendCreatureNick(creature); break; } } }else{ lua_pushnil(L); } return 1;} Em Luascript.h em baixo de: static int32_t luaDoRemoveItem(lua_State* L); adicione: static int32_t luaDoCreatureSetNick(lua_State* L); Em Protocolgame.cpp procure por: void ProtocolGameAddCreature(NetworkMessage_ptr msg, const Creature* creature, bool known, uint32_t remove){ if(!known) { em baixo de: msg->AddU32(creature->getID()); adicione: stdstring nick = creature->getName(); if (creature->Nick != "") nick = creature->Nick; substitua: msg->AddString(creature->getHideName() ? "" : creature->getName()); por: msg->AddString(creature->getHideName() ? "" : nick); Obs: compilar em rebuild all ou sem os arquivos .obj exemplo de uso: doCreatureSetNick(getCreatureSummons(cid)[1], "Gristony") Creditos Gristony façam bom uso do code pequenos grilos
    1 ponto
  19. rDs7008

    OpenTibia e o Socialismo

    Gostei dessa possível solução @Skulls Quem sabe o povo não se anima pra voltar.
    1 ponto
  20. Bluester

    [Pokemon] Servidor PokeStage

    1° não tem nada corrompido, demora pra carregar mesmo.2° teria sim, tem tópicos aqui no XTibia explicando como, só procurar. 3° sim, dá. 4° não está configurada completamente, só tem o módulo no Client. 5° na lib e item otb. 6° atribua a opção no otb e na SPR do Client. 7° deve ter alguma vírgula ou algo do tipo faltando no script, só olhar e arrumar. 8° só você configurar o script com os itens e tal...
    1 ponto
  21. Skulls

    formula spell

    Erro meu, no meu servidor tem um bug e o factor eh um parâmetro a mais. Troca function formulaByWeaponDmg(cid, level, skill, attack, p, factor) por function formulaByWeaponDmg(cid, level, skill, attack, factor)
    1 ponto
  22. Aberos

    [NEW][MODULE]Store_module

    Muito Bom! Parabens por Compartilhar
    1 ponto
  23. Bluester

    [NEW][MODULE]Store_module

    Muito bom, como sempre esses bons conteúdos ! REP +
    1 ponto
  24. @@lokoga, É bom ver às vezes alguém com vontade de aprender. me manda uma PM (para eu me lembrar), porque eu não to achando os meus tópicos preferidos. Qualquer dúvida, passo meu skype por lá...
    1 ponto
  25. Primeiramente procure entender o que é a 'Logica de programação', é o mais básico e necessário que você irá precisar. Após isso aprenda sobre lua, existe o manual de referencia de lua e o luausers que é um forum que tem diversos exemplos, tutoriais e implementações. Somente após ter entendido o minimo necessário de lua vá para os scripts de otserv, entenda que lua é uma linguagem de script, ela geralmente é usada para implementar coisas auxiliares, não é aconselhável criar sistemas imensos e complexos somente através de lua, claro que isso varia muito de sistema pra sistema mas no geral começe com coisas simples, como actions e talkactions, spells e etc. Leia muito, veja exemplos dentro do otserv, modifique o que ja existe para testar e ver o que acontece, aprenda a ler erros de console, geralmente eles te dizem exatamente o que está errado e onde está o erro(a linha). E prática cara, não tenha medo de errar, é perfeitamente normal fazer gambiarras e cometer diversos erros no inicio. Pode ser que nada funcione bem quando ta começando, mas não desanima que você aprende. Vou deixar alguns links referentes a linguagem lua para que de uma olhada: http://www.lua.org/manual/5.1/pt/manual.html http://lua-users.org/ Já as coisas relativas a otserv aconselho a procurar por aqui mesmo, tem bastante conteúdo util, códigos interessantes, e caso não ache o que procura, pergunte que certamente terá alguém para lhe ajudar.
    1 ponto
  26. Administrador

    Cargo, heroi²

    É só ler o tópico postado em regras, se realmente ler, vai entender e não ficar procurando encrenca que não precisa. Você está fazendo teatrinho com uma dúvida que você não tem pra provocar, porque eu já respondi essa dúvida, enfim, conseguiu.
    1 ponto
  27. function onStepIn(cid, item, position, lastPosition, fromPosition) local itemsProibidos = {2160, 2050} for _, v in pairs(itemsProibidos) do if getPlayerItemCount(cid, v) >= 1 then doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "Voce nao pode entrar com esses items") end end return true end
    1 ponto
  28. A versão dessa biblioteca instalada em seu SO não é a mesma versão que foi compilada, ou até mesmo você não possui essa lib. Você pode pegar as sources e recompilar no seu SO atual (recomendado). Ou pode tentar instalar a biblioteca na versão no qual o server foi compilada (libcrypto.so.0.9.8).
    1 ponto
  29. Caronte

    erro script action

    Esse deu errado? MAX_FOOD = 1200 size = 50 function onUse(cid, item, fromPosition, itemEx, toPosition) if (getPlayerFood(cid) + size > MAX_FOOD) then doPlayerSendCancel(cid, "You are full.") doSendMagicEffect(fromPosition, CONST_ME_POFF) return true end doPlayerFeed(cid, size) doCreatureSay(cid, "Delicious", TALKTYPE_MONSTER) doPlayerFeed(cid, size) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_GREEN) -- Deletei aqui sem querer kkkkk doTransformItem(item.uid, (item.itemid == 1945 and 1946 or 1945) ) return true end
    1 ponto
  30. Skulls

    OpenTibia e o Socialismo

    Pedindo licença para usar a última frase do caronte: "Eu dou conteúdo de graça porque um dia já me deram, eu aprendi e retribui" Eu acho um tanto injusto e ate hipócrita você vir falar de vender conteúdo na comunidade open source. Você usa linguagens e apis de desenvolvimento gratuitas, grande parte das pessoas ou usam Linux (SO open source e gratuito) ou windows pirata, usamos programas crackeados, vemos filmes online e poderia citar infinitas coisas que "sugamos" nao so do mundo open source mas so mundo todo em geral. E, com tudo isso, você nao pode contribuir postando algumas dicas e coisas que vc descobriu e cortando erros ridículos que nao te consomem 5 minutos? Não estou te pedindo para doar seus sistemas aqui no fórum,mas ajudar retribuindo de alguma forma o que ja recebeu. Seu servidor continuará la, te dando lucro, mas a sua motivação aqui não seria dinheiro e sim gratidão, enxergar algo maior do que o próprio umbigo e ver que você está contribuindo para levar a outros o que vive já recebeu aqui e de outras comunidades open direta ou indiretamente. E outra, mesmo que você compartilhe sistemas inteiros (e nao eatou pedindo que faca isso) eu tenho certeza que isso nao tornaria seu servidor menos rentável, pq o que faz o servidor não é o sistema. Sistemas inovadores tem aos Montes por ai, mas a capacidade de sempre se reinventar, a criatividade e competência de manter um servidor decente é que são os diferenciais. Bom, eu acho impossível com a mentalidade que se tem hoje de individualismo e lucro a comunidade open tíbia se manter com conteúdos decentes. O que você ta propondo acho que ate funcionaria sim,mas deixaria de ser open tibia. Você não pode falar de open source quando voce vende um código.
    1 ponto
  31. Skulls

    erro script action

    Coloca assim logo depois da linha onUse: If item.itemid == 1945 then doTransformItem(item.uid, 1946) else doTransformItem(item.uid, 1945) end
    1 ponto
  32. É simples, abra a pasta data/actions/scripts/liquids e abra o arquivo potions.lua ou apenas potions, provavalmenta estará escrito apenas potions, dê um Ctrl+f e digite doCreatureSay(itemEx.uid, "Aaaah..." ou pesquise apenas "Aaaah" Voce chegará em uma linha onde a expressão Aaaah estará escrito, agora apague essa linha e substitua pela linha que citei abaixo: doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) Salve e de reload, isso resolverá o problema, qualquer duvida manda msg! OBS --> É provavel que a tática acima resolva o problema, maaas se por acaso der alguma zebra, vc vai ter que fazer o seguinte, nesse caso dentro dessa mesma pasta liquids você vai ter que abrir os arquivos das potions uma por uma e editar separadamente todas elas, great_mana,strong_mana,etc.A edição parte do mesmo pré suposto do caso acima, vc procura a frase Aaaah dentro do código e apaga toda a linha que tem essa frase e subistitua pela tag que mostrei acima --> doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) Ajudei? REP+
    1 ponto
  33. Poderia postar o script desse potion que fica em actions ?
    1 ponto
  34. Mega Bomb

    [Show Off] Mega Bomb s2

    Vlw amigo!!! agradeço o elogio hehehe Mapa novo,diferente dos outro tentei fazer algo mais "clean".
    1 ponto
  35. Skulls

    Monstros se matando

    Wolf tu já me ajuda muito. Eu tenho esse post seu no meu favoritos, sempre que preciso de um callback novo recorro a ele. Infelizmente, onTarget não serve para monstros. Eu nunca testei onFollow, mas acredito que não funcione pq o follow que ele da é de Target. O onAttack é o que eu estou usando, não resolve o problema. Vou postar sim, criei um tópico nos showoffs com o gif do que já fiz e a cada avanço vou compartilhar os resultados. Ao final eu posto o código completo em downloads. Você me ajudando com ideias e possíveis caminhos já ta ótimo, eu vou implementando o que formos pensando e vendo se funciona.
    1 ponto
  36. zorddella

    Poke tournament (pokemon)

    Ae cara beleza?! A minha opinião sobre o eu projeto é a seguinte: Pela parte MOBA eu imagino tipo no tipo dota, lol, etc.. Se for isso eu acho bem estranho e EU provavelmente não me interessaria já que pra mim o tibia não se encaixa muito nesse meio, mas como eu disse é só uma opinião minha a respeito. Agora se tu está pensando em fazer um server PVP onde você pode escolher entre os 151 pokemons e entra pra meter o pau em todo mundo, isso eu acho daora. Seria interessante e divertido, eu acho isso porque só de imaginar uma treta com vários jogares e cada um sendo um pokemon me parece divertido e com certeza no mínimo jogaria para ver como é sobre a minha primeira opinião eu imagino algo como uma arena, 5 jogares, cada um com o seu papel no time e tem que ficar empurrando o game até o gg isso eu acho que ficaria bem estranho já que o tibia não é um jogo de aparência suave Novamente, eu entendi que o teu projeto é parecido um dos dois jeitos que imaginei, não estou querendo desmerecer, só que uma delas não me desperta interesse já a outra bastante! abs,
    1 ponto
  37. Sickcunt

    Conteúdo Removido!

    Então amigo, você deve ter o mínimo conhecimento em Linux para instalar o apache, coloque tudo na pasta www, abra a pasta do site e configure como o seu gosto. Em breve farei tutorial em video de como instalar o servidor, e isso inclui o website também. Qualquer dúvida é só falar :lolz:
    1 ponto
  38. Olá Xtibia.com, Estou aqui para-lhes disponibilizar em torno de 30 Sprites BEM desejadas por todos da autoria do Pokexgames,Motivo da liberação? R:Não curto Muito Pokémon e descompilei o Client da pxg a pedidos esses dias e resolvi postar mais algumas Sprites deles,cheguei a liberar em um outro forum conheçido porém levei ban lá,azar dos usuarios deles neh. Créditos:Eu: pela descompilação,descriptografia,Ripe do Novo gyarados deles e pela liberação. Pokexgames:Pela Criação de todas Spr presente dentro desse pacote. Pretende atualizar? R:Sim. O que contém nesse pacote? R:Corpos,Habilidades e LookType de em torno 30 Pokémons remakes. Uma prints de alguns pokemons no final do topico. Download + Scan: Tudo que contém.
    1 ponto
  39. Mega Bomb

    [Show Off] Mega Bomb s2

    Opa.. agradeço, não sei como funciona esse negocia de iluminação.. mas agradeço hahah Talvez um pouco menos dessa frozen mud fique melhor mesmo.. agradeço os elogios Pra comemorar a volta do fórum... hehehe Mapinha novo(eu não sei fazer essas arvores gigantes então deixei inacabado) ESPERO QUE GOSTEM!!
    1 ponto
  40. Killua

    Sistema de Cultivo (plantação)

    Olá, amigos. Hoje é terça, portanto, venho trazer mais um script do SDT, para ver todos os scripts, clique aqui. Sistema de Cultivo Vídeo de como o sistema funciona: Resumindo: Você ara o solo com uma enchada e depois planta uma semente no solo arado. A semente brota e pode crescer, virando uma planta que dará origem a um fruto, ou morrer. As plantas também podem ser removidas usando a enchada. Eu me certifiquei de não deixar nenhum bug, como: plantar uma semente em cima da outra, arar solo com item em cima, remover plantas fora dos solos e etc. Ainda assim, caso encontrar algum bug, poste aqui. Crie cultivo.lua em data/actions/scripts e coloque: Em data/actions/actions.xml, coloque essas TAGs: <action itemid="2552" event="script" value="cultivo.lua"/> <action itemid="7732" event="script" value="cultivo.lua"/> Para configurar, basta editar as variáveis de acordo com os comentários dentro do script. Abraços e continuem acompanhando o SDT.
    1 ponto
  41. Mega Bomb

    [Show Off] Mega Bomb s2

    Vlw as dicas parça, mas os mapas não são para serem jogáveis... e tmb não utilizei auto border, nas próximas eu boto telhado(srry) continue dando dicas ae, vlw... ABS!! Vlw cara... tu é inspiração para mapear... ABS! Vai um mapinha novo ae... um vale das flores ! ficou meio bugadinho... foi mal clã
    1 ponto
  42. Mega Bomb

    [Show Off] Mega Bomb s2

    Ps: dei os créditos na ultima imagem Caverna de gelo :
    1 ponto
  43. Dark-X

    Deixando Seu Ot On 24horas

    Deixe Seu Server Online 24 Horas!, Acabe com os problemas do Auto-Restarter Com esta técnica, não irá aparecer mensagem de erro entende? irá apenas cair e rapidamente voltar o ot... realmente muito útil pra qm qr deixar o OT 24horas on com Auto-Restarter e tem q ficar no PC... fechando as janelinhas de erro . E ai pessoal eu estava mexendo na net atras de um NPC e vi um topco em um forum q tinha esse tutorial e grassas e esse tuto meu servidor pod ficar 24h online sem akeles erros chatissimos q acabao com os OTS. Então começando: Mesmo que voce tenha um reestarter sempre da akele errozinho que trava seu OTServ, para tirar akele errinho que enche o sako aki vai a resposta: Entre no painel de controles/sistema/avançados/relatorio de erros/escolher programa/adicionar/procurar Agora ache seu OTServ.exe e ponha lá e de OK Pronto Nao inviara + ralatorio de erros Mas ainda tera a possibilidade de aparecer erros criticos ai seja mais radical Mande desativar o relatorio de erros e dismarque o "notificar-me quando ocorrerem erros criticos" na pagina do ralatorio de erros Esse tutorial creio que vai ajudar mta gente ~Agora crie seu Auto-restarter~ aew pessoal... vo ensina a faze seu proprio Auto-Restarter.. isso mesmo.. akele q qndo seu server fecha ele volta sozinho x)~ Vamos começar Vow da um exemplo aki do MEU Auto-restarter.bat: CODE@echo off title OTserv Auto-restarter echo ========================================= echo --- OTserv Restarter --- echo --- Por: Fvox --- echo ========================================= echo :begin OTserv.exe echo echo ========================================= echo --- O Sever caiu, volta ja ja --- echo ========================================= echo goto begin :goto begin Agora faça o seu: 1°)Abra um bloco de notas 2°) escreva nele (Naum esqueça de tirar o "CODE" se vc for Copiar e colar): CODE@echo off title OTserv Auto-restarter echo ========================================= echo --- OTserv Auto-Restarter --- echo --- Por: Seu nick aki --- echo ========================================= echo :begin Nome do Executavel.exe echo echo ========================================= echo --- Mensagem de quando o server cai--- echo ========================================= echo goto begin :goto begin Agora eh soh renomeia as coisas q eu colokei la tpw: Por: Seu nick aki Nome do executavel.exe (Exemplo: OTserv.exe) Mensagem de quando o server cai (Exemplo: o Server caiu.. volta ja) 3°) depois de ter feito salve o seu bloco de notas o arquivo.bat (Exemplo: Auto-Restarter.bat) 4°)Abra seu server e divirta-se pq ja acabo xDDDD - - - - - - - - - - - - - - - - - - - - - - - - - - - - Agora sempre q seu server cair ele vai cair direto... e o Auto-Restarter o abrirá normalmente!!! Espero q eu tenha ajudado alguem neh!!! vlw pessoal! Dark-X
    1 ponto
  44. Benny

    Conquista, herói

    Qual o sentido de marcar sua resposta como "resolvido". Quem decide sou eu. Ainda sim, quero saber. Vocês mudaram isso ou estão tentando manter a mesma ideia do começo? Abraços.
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...