Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 01/06/16 em %

  1. Bom tarde galera, venho por meio deste tópico, anuncar que, estou terminando de desenvolver um ATS derivado de Tibia.. Um pokémon server.. Bom, vou postar ShowOff, apenas dos sistemas no qual tem no servidor.. Irei resolvendo os Bugs, e então, quando achar que está bom, liberarei o Download do servidor, junto com as devidas sources. Eu tambem, colocarei uma lista do que foi feito no servidor.. Desde bugs, até novos sistemas. enfim.. Bom, como todos sabem, esse servidor contem os sistemas básicos.. Mas ainda não parei para mexer nos sistemas mais simples.. Changelog: Adicionado nas sources: - DoCreatureSetNick - AutoStacking - Modificado a função AddItem (estava bugando por causa do autostacking..) - Adicionado todas as races pokémons. - Modificado a cor da fala dos groups nos channels. - Adicionado Passive e Agressive, igual o PokeXGames. - Adicionado OnSpawn - Adicionado Pokémon Ghost System - Adicionado GetCreaturePathTo - Adicionado CastSpell Adicionado no servidor: - Novo NPC de mudança de Nick do pokémon; - Peguei função do PDA para alterar nomes dos pokémons shinys, e deixado normal. Ex: Antes: Shiny Tangela. Agora: Tangela. - Adptado/Adicionado sistema de vantagem e desvantagem do PDA. - Copiei as passives do PDA e adpatei para o servidor. - Copiei sistema de vantagem e desvantagem do PDA e adpatei para o servidor. - Adptado/Adicionado o Clan System do PDA. - Sistema de Icon (acabei de adicionar só adicionei 1 icon pra testar mesmo) ^^ - Retirados o S no final dos pokémons selvagens. - Ao morrer, aparece descrição no corpse, indicando o monstro que matou e o nome de quem morreu. - Sistemas basicos (surf, ride, blink etc.) por order Mudanças nas configurações do servidor: -Adicionar/fazer moves, basta fazer igual o PDA. Porem, se você baixar um servidor PDA e pegar a script de "pokémon moves" da LIB, e jogar nesse servidor, não irá funcionar ^^ -Adicionar pokémons, tambem é só adicionar como se fosse um PDA. -Adicionarfazer novas evoluções igual o PDA. -Adicionar/fazer novas passives igual o PDA. Otclient: Peguei OTClient na versão 0.6.5; - Fiz a barrinha de moves funcionar.. - Não vou adicionar pokebar - Transparency funcionando Obs: O Old cliente ainda está usavel, pois não extendi o cliente, nem pretendo extender.. Faltando/Em andamento: Arrumar alguns moves Refazer nurse joy Configurar todos os pokémons e balancear Configurar o Clan Sistema Configurar Spells Confgurar sistema de ovos Retirar uns duplicad Itens Arrumar os sistemas basicos(hoje ainda deixo 100%) OBSERVAÇÕES: Eu não irei postar ainda, pois o mesmo está em andamento, tem muitos bugs na qual estou resolvendo. ***Se alguem quiser me ajudar, basta deixar seu contato. ** Não me precionem plis. * Sou lindo - Irei atualizar todos os dias, e colocar prints e atualizações e modificar o nome do topico com a data de atualização. - NÃO irei mexer no mapa, se alguma alma quiser ajudar, pois bem, deixe seu contato e.e - NÃO tem level sistema. e NÃO é PDA. CREDITOS: Zipter OrochiElf Arkz Elwyn GabrielTxu Sobre os creditos, *Eu peguei um ou mais sistemas, alguns destes me tiraram duvidas e sou grato*. PRINTS: Estou desenvolvendo esse servidor exclusivamente para o XTIBIA, e tambem porque quero ver a galera sair da mermisse do PDA..Durante muito tempo, vi gente criando topicos, pra geral juntar e fazer os sistemas do PDA, ou fazer um servidor que chegue no rastro do PDA.. Então, se alguem quiser me ajudar.. Basta me comunicar.. OBS: Sempre verifiquem as atualizações abaixo, que é onde eu irei editar sempre e postar atualizações, abram os spoilers. ATUALIZAÇÕES: 11/10/2015 00:16 Parei para mexer no Design do Client. novo entergame: Atualização *11/10/2015* Atualização *12/10/2015* *Vou upar os Prints das atualizações e colocar no tópico*
    2 pontos
  2. Bom gente este sistema foi desenvolvido propriamente para o servidor Pokemon Imperium, porém devido á chegada de novas ideias o sistema acabou sendo deixado de lado e aqui está a demonstração de seu uso. Provavelmente postarei este sistema logo mais. O DESIGN UTILIZADO FOI O TESTE ENTÃO NÃO REPAREM
    2 pontos
  3. Deadpool

    [Tutorial] Mudar miniwidow

    Boa tarde galera, eu mostrei no meu showoff a tela do meu cliente, que pretendo liberar para a galera, porem, recebi mensagens de como fazer aquilo, e como eu vou postar o cliente com o module, resolvi fazer esse tutorial e liberar o module.. Esse module é para mudar a Game Window, para que não conhece, veja um print: Então, vou liberar o entergame já feito, e também vou ensinar como modificar. *Download no fim do topico*, vamos ao tutorial: Tenha em mente a imagem, e então, veja o tamanho dela, feito isso, va no entergame.lua e procure a linha que seta o IP do seu servidor, va está assim: EnterGame.setUniqueServer("127.0.0.1", 7877, 854, 361, 356) Vou explicar a linha toda para que entendam: 127.0.0.1 = IP do server 7877 = port do servidor, no meu caso ta 7877, porque é a porta Linnux. 854 = Versão do cliente/servidor. 361 = Tamanho da game window 356 = largura da game window em outras palavras, 361 e 356 é onde vamos modificar.. Você pega as dimensões da imagem, e coloca no lugar dos mesmos(361 e 356).. Feito isso, salve o entergame.lua e feche. Agora vamos editar a OTUI.. Abra o Entergame.otui e na primeira linha temos isso: EnterGameWindow < MainWindow !text: tr('Enter Game') size: 236 274 Bom, vamos modificar.. Retire essa linha: !text: tr('Enter Game') Nessa função modifique esse tamanho "236 274" para as dimensões da imagem *no caso seria (361 e 356): Antes: size: 236 274 Agora: size: 361 356 Adicione isto em baixo dessa função acima: image-source: enter.png *enter.png é a imagem que estamos usando para colocar no game window, a mesma que a gente pegou as dimensões e modificamos no entergame.lua*, *ela tem que está dentro da pasta onde se localiza o entergame.lua*. pronto, seu cliente já vai ler sua nova window com imagem. *Terá que mudar os lugares de onde coloca senha e conta* É bem simples, basta ir na OTUI e mudar os margin-top* DOWNLOAD ENTERGAME COM NOVA WINDOW: Download OBS: Deixei uns 3 Entergame dentro, se vocês quiserem usar como base, não me importo.. POR FAVOR, NÃO POSTE ESSE TUTORIAL EM OUTRO FÓRUM SEM OS DEVIDOS CRÉDITOS. FUNCIONA EM QUALQUER VERSÃO DO OTCLIENT. OBS: se vocês não souberem editar o entergame, irá bugar. É melhor baixar o que estou disponizilizando, e então mudar somente as dimensões..
    1 ponto
  4. Lordbaxx

    [TFS 0.3.6] Player::canWalkthrough

    Bom muita gente procura esse código, e ao olhar na internet só vi disponível em um fórum porém incompleto então decidi pegar o código e postá-lo com oque faltava. Esse código é utilizado para que um player passe por outro player evitando tantas reclamações por "trapar" caminho ou algo parecido, vamos lá! Ah mais uma coisa, para funcionar é preciso que o servidor esteja em NON-PVP. OBS: Testado em tfs 0.3.6 somente! Player.cpp procure por: bool Player::canWalkthrough(const Creature* creature) const Substitua todo o código por: bool Player::canWalkthrough(const Creature* creature) const { if(creature == this || hasCustomFlag(PlayerCustomFlag_CanWalkthrough) || creature->isWalkable() || (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster()))) return true; const Player* player = creature->getPlayer(); if(!player) return false; if((((g_game.getWorldType() == WORLD_TYPE_NO_PVP && player->getVocation()->isAttackable()) || player->getTile()->hasFlag(TILESTATE_PROTECTIONZONE) || (player->getVocation()->isAttackable() && player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL))) && player->getTile()->ground) && (!player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges) || player->getAccess() <= getAccess())) return true; return (player->isGhost() && getGhostAccess() < player->getGhostAccess()) || (isGhost() && getGhostAccess() > player->getGhostAccess()); } Depois vá em const.h e procure por: PlayerCustomFlag_CanWearAllAddons, //2^23 = 8388608 E em baixo coloque: PlayerCustomFlag_IsWalkable, //2^24 = 16777216 PlayerCustomFlag_CanWalkthrough, //2^25 = 33554433 Provavelmente em muitas sources do tfs 0.3.6, dê não exatamente um erro mais um aviso no player.cpp na função: void Player::updateInventoryWeight() Se o aviso ocorrer substitua a função citada acima por essa: void Player::updateInventoryWeight() { inventoryWeight = 0.00; if(!hasFlag(PlayerFlag_HasInfiniteCapacity)){ for(int i = SLOT_FIRST; i < SLOT_LAST; ++i){ Item* item = getInventoryItem((slots_t)i); if(item){ inventoryWeight += item->getWeight(); } } } } Só utilize o código acima se ocorrer o "warning/aviso" sobre a função. Abraço. Os créditos ficam até o momento só ao Bruno Minervino e a fireelement. Qualquer outro envolvido será creditado.
    1 ponto
  5. jvcasarin

    [GESIOR] 2012 modificado por Sekk

    BOAAS galera!!! Então, baixei um Gesior algum tempo atrás(não lembro onde), e vi que faltavam coisas interessantes nele, então resolvi tentar adicionar(tudo isso esse ano kkk) e CONSEGUI! Não quero enrolar, então vamos ao que interessa: Bom, algumas imagens: Latest News com Featured Article: Menu editado: Who is online? MOSTRANDO OUTFIT COM COR ATUAL!!!: Characters mostrando OUTFIT(COR ATUAL DO PLAYER), HP, MP, EXP, LEVEL e ITEMS!!!: Top guilds: Guild Wars: Downloads arrumados: Battlefield: Trade OFF: Zombie Event: Bom galera, eu adicionei: - Zombie Event page - Battlefield page - Trade Off - Arrumei a page Downloads - Featured Article - Top Guilds page - Guild Wars page - Modifiquei Who is online? e characters.php(outfit, mp, hp, exp, level) - Advanced Admin Panel - Background diferente - Menus novos - Arrumei o sistema de enviar e-mails no cadastro e lost account(falta apenas configurar) Download: https://github.com/s3kk/Gesior/archive/master.zip Scan: https://www.virustotal.com/pt/file/571b26e823c8b209daaf603313bee8d0a7dcfb962747e0c19f4f47dd42781e42/analysis/1452061171/ Database TOTALMENTE LIMPA E COMPATÍVEL: https://github.com/s3kk/Heromassa/blob/master/schemas/war_cast_mysql(gesior).sql Bugs: Obs.: Na página Downloads, se você possuir client próprio, edite em downloads.php o link para download do mesmo! Compátivel com OTS 8.6 e TFS 0.4. Créditos:
    1 ponto
  6. kaleudd

    [PXG]As Novas Remakes.

    Olá Xtibia.com, Estou aqui para-lhes disponibilizar em torno de 120 Sprites BEM desejadas por todos da autoria do Pokexgames,Motivo da liberação? R:Sou uns (Se não o unico) que traz Sprites da Pokexgames,então resolvi traze-las para vocês. Créditos:Kaleudd(Eu): pela descompilação e liberação. Pokexgames:Pela Criação de todas Spr presente dentro desse pacote. Caso postar em algum outro lugar,postar os créditos a min e a pxg,Obg =) O que contém nesse pacote? R:Corpos,Looktypes e alguns Itens do Halloween da pxg. Umas prints de alguns pokemons e corpses. Download + Scan: Gostou Rep+,quem sabe eu traga mais quando sair novas?
    1 ponto
  7. Uddy

    PokeKalos Sprites Official Project

    Olá Bem vindo ao tópico de Sprites que eu estarei fazendo (Não tenho projeto confirmado mais se fica bom quem sabe) Não liberarei para uso por inquanto depende se o projeto der certo ou não! As sprites serão TOPDOWN Bom em breve as sprites!
    1 ponto
  8. Caronte

    Ajuda com esse script.

    Sim, só copiar a tabela do monstro, e colocar no final, com uma vírgula separando: {["rat"] = {level = 10, mana = 20}, é só colocar dentro da tabela summons. vou editar um negócio no meu post, é que o script só vai funcionar se o parametro estiver em minúsculo. quando eu editar você substitui lá.
    1 ponto
  9. Eu ja atualizei o tópico, você tem que por o seguinte código dentro do Creature.h também, lá no começo do código junto com os includes #include "creaturePerfectInfo.h"
    1 ponto
  10. Caronte

    Ajuda com esse script.

    local storage = 79845 --storage para o exhaustion local tempo = 5 --em segundos local monsters = { [1] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 2 }, [2] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4 }, [5] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4 }, [6] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 6 }, } function onSay(cid, words, param, channel) if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, 22, "You are exhausted.") return true end --Player Status local playerpos = getPlayerPosition(cid) param = string.lower(param) for k, v in pairs(monsters[getPlayerVocation(cid)].summons) do if (param == k)then if (monsters[getPlayerVocation(cid)]) and #getCreatureSummons(cid) >= monsters[getPlayerVocation(cid)].maxSummons then return doPlayerSendCancel(cid, "Você já tem sumons demais.") else --Summon if getPlayerLevel(cid) < v.level then return doPlayerSendCancel(cid, "Level insuficiente.") elseif getCreatureMana(cid) < k.mana then return doPlayerSendCancel(cid, "Mana insuficiente.") end doConvinceCreature(cid, doCreateMonster(param, playerpos)) doPlayerAddMana(cid, -k.mana, false) exhaustion.set(cid, storage, tempo) doSendMagicEffect(playerpos, 2) return true end else doPlayerSendCancel(cid, "You can't summon this monster.") end end return true end
    1 ponto
  11. Uma pre-view da update:
    1 ponto
  12. Developer Berg

    [Encerrado] Target Igual PXG

    http://www.xtibia.com/forum/topic/238641-erro-no-cmake-288-ao-compilar-otclient/ Up
    1 ponto
  13. 1 ponto
  14. Faz assim vai na source src/client/creature.cpp e troca int Creature::getStepDuration(bool ignoreDiagonal, Otc::Direction dir) { int speed = m_speed; if(speed < 1) return 0; por int Creature::getStepDuration(bool ignoreDiagonal, Otc::Direction dir) { int speed = m_speed; if(speed < 1) speed = 150; se nao der certo vc tbm tenta mudar void Creature::setSpeed(uint16 speed) { uint16 oldSpeed = m_speed; m_speed = speed; // speed can change while walking (utani hur, paralyze, etc..) if(m_walking) nextWalkUpdate(); callLuaField("onSpeedChange", m_speed, oldSpeed); } por void Creature::setSpeed(uint16 speed) { if(speed < 1) speed = 150; uint16 oldSpeed = m_speed; m_speed = speed; // speed can change while walking (utani hur, paralyze, etc..) if(m_walking) nextWalkUpdate(); callLuaField("onSpeedChange", m_speed, oldSpeed); }
    1 ponto
  15. Lordbaxx

    Sistema de pokemons iniciais - SHOW OFF

    Obrigado rs, sou fanático por pokemon e músicas eletrônicas ai achei essa. Abrç!
    1 ponto
  16. possui a source ? caso possua vá em creature.cpp e remova esse código.
    1 ponto
  17. falar que o tibia nunca evoluiu ou cresceu eh tipo ignorar toda a histori tibiana, o tibia cresceu tnto que eu nao conseguiria jogar por exemplo um ot 8.6- pq falta coisas!
    1 ponto
  18. Que gambiarra de storage o que vei, cria a variavel level dentro da classe Monster, dai faz metodos get/set e faça também uma versao para lua, onde tu possa pegar e definir o level Quando eu fiz um sistema semelhatne a esse eu fiz o seguinte, modifiquei o read do xml do monster, pra colocar uma range de levels para x criatura, dai quando criava ela lia esses dados, fazia um math.random e definia o level ainda na instancia da classe.D Dai com a função lua de pegar o levle do monster, tu pode fazer inclusive as magias variando os damages de acordo com isso, fica bacana
    1 ponto
  19. O certo é Lua não LUA. http://www.lua.org/about.html#name Links: http://lua-users.org/wiki/TutorialDirectory http://www.lua.org/manual/5.1/pt/manual.html
    1 ponto
  20. Lordbaxx

    [TFS 0.3.6] Player::canWalkthrough

    Para usar em modo pvp é bem simples ao invés de usar o primeiro código que citei acima, utilize este: bool Player::canWalkthrough(const Creature* creature) const { if(creature == this || hasCustomFlag(PlayerCustomFlag_CanWalkthrough) || creature->isWalkable() || (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster()))) return true; const Player* player = creature->getPlayer(); if(!player) return false; if((((g_game.getWorldType() == WORLD_TYPE_PVP && player->getVocation()->isAttackable()) || player->getTile()->hasFlag(TILESTATE_PROTECTIONZONE) || (player->getVocation()->isAttackable() && player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL))) && player->getTile()->ground) && (!player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges) || player->getAccess() <= getAccess())) return true; return (player->isGhost() && getGhostAccess() < player->getGhostAccess()) || (isGhost() && getGhostAccess() > player->getGhostAccess()); }
    1 ponto
  21. Bluester

    Base Otpokemon V1

    Aqui está, só extrair e renomear ! Não esquece de olhar o login e senha do GOD no SQLite/MySQL ^^
    1 ponto
  22. Lordbaxx

    [TFS 0.3.6] Player::canWalkthrough

    Disponha.. Quanto aos sistemas citados, clãn system já tem no fórum, os demais eu posto outra hora, utilizando a função que o caotic postou para o Nick.
    1 ponto
  23. Lordbaxx

    [TFS 0.3.6] Player::canWalkthrough

    Dá pra você utilizar a tag walkStack no id do tile no items.xml.. Exemplo: <attribute key="walkStack" value="0" /> Mas antes você precisa modificar mais algumas coisas nas sources: items.cpp procure: moveable = true; Troque por: moveable = walkStack = true; ainda em items.cpp procure: else if(tmpStrValue == "transformto") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.transformToFree = intValue; } Logo embaixo coloque: else if(tmpStrValue == "walkstack") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.walkStack = (intValue != 0); } items.h procure: lookThrough, troque por: lookThrough, walkStack, Na função canWalkThrough no player.cpp troque por: bool Player::canWalkthrough(const Creature* creature) const { if(creature == this || hasCustomFlag(PlayerCustomFlag_CanWalkthrough) || creature->isWalkable() || (creature->getMaster() && creature->getMaster() != this && canWalkthrough(creature->getMaster()))) return true; const Player* player = creature->getPlayer(); if(!player) return false; if((((g_game.getWorldType() == WORLD_TYPE_NO_PVP && player->getVocation()->isAttackable()) || player->getTile()->hasFlag(TILESTATE_PROTECTIONZONE) || (player->getVocation()->isAttackable() && player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL))) && player->getTile()->ground && Item::items[player->getTile()->ground->getID()].walkStack) && (!player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges) || player->getAccess() <= getAccess())) return true; return (player->isGhost() && getGhostAccess() < player->getGhostAccess()) || (isGhost() && getGhostAccess() > player->getGhostAccess()); }
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...