Ir para conteúdo

Skulls

Herói
  • Total de itens

    859
  • Registro em

  • Última visita

  • Dias Ganhos

    22

Tudo que Skulls postou

  1. Skulls

    Barra de ataque

    Você usa sources? Você tem que alterar as funções ProtocolGamesendBasicData() (do servidor) e void ProtocolGameparsePlayerInfo(const InputMessagePtr& msg) (do cliente). Se quiser postá-las aqui posso te ajudar a concertar.
  2. Ai quando você usa e não esta ao lado do player ele fala "Target is not reachable." ?
  3. Skulls

    Barra de ataque

    Em qualquer modulo lá, essa linha faz o player falar algo. Coloca na função de abrir/fechar seu modulo de barra de ataque, por exemplo.
  4. Skulls

    Barra de ataque

    Esse problema é um problema de comunicação entre o servidor e o cliente. No protocolgame.cpp do servidor o envio de info básicas do player para o cliente é feito em um modelo e a recepção dessas informações é feita em outro modelo no cliente, o que cria uma incompatibilidade e, no cliente, independente da vocação, se você der g_game.getLocalPlayer():getVocation() o valor será 255. Para mudar isso você tem que alterar na source do OTC e do TFS para sincronizar o envio de informação. Eu acredito que o problema seja esse, em todo caso, faça um g_game.talk(getLocalPlayer():getVocation()) com players de diferentes vocações e veja por si mesmo o resultado. Abraços, ps: Mais exatamente as funções são essas: Servidor void ProtocolGame::sendBasicData() { NetworkMessage msg; msg.addByte(0x9F); msg.addByte(player->isPremium() ? 0x01 : 0x00); msg.addByte(player->getVocation()->getId()); msg.add<uint32_t>(std::numeric_limits<uint32_t>::max()); msg.add<uint16_t>(0x00); writeToOutputBuffer(msg); } Cliente void ProtocolGame::parsePlayerInfo(const InputMessagePtr& msg) { bool premium = msg->getU8(); // premium int vocation = msg->getU8(); // vocation if(g_game.getFeature(Otc::GamePremiumExpiration)) int premiumEx = msg->getU32(); // premium expiration used for premium advertisement int spellCount = msg->getU16(); std::vector<int> spells; for(int i=0;i<spellCount;++i) spells.push_back(msg->getU8()); // spell id m_localPlayer->setPremium(premium); m_localPlayer->setVocation(vocation); m_localPlayer->setSpells(spells); } Veja bem que essas versões já estão arrumadas, no entanto, meu servidor é um tanto peculiar e fora do padrão em um monte de questões. Não recomendo copiar diretamente, recomendo ou postar as suas aqui ou, caso você entenda o que está fazendo, alterar aos poucos se baseando nas minhas mas sem copiá-las diretamente.
  5. Você substituiu todas? Nao faz sentido, vc usa tfs? Que loucura oO
  6. Skulls

    Sistema de EXAUST

    Já ia corrigir, mas o kawoszin foi mais rapido Agora vai funfar sussa.
  7. Você editou as funções? Pq eu reformulei elas, substitui todas pelas novas que coloquei no topico. Tem que funcionar.. ahehuaehuahue
  8. Realmente tinha um bug, mas agora acho que está resolvido. Porém, tem que definir a range da spell no script da magia agora. Vou explicar certinho no topico. Valeu! Abraços,
  9. Não serão disponibilizadas, foram encomendadas e o dono não permitiu divulgação, somente fotos.
  10. Engraçado, era pra funcionar.. posta a tag do spells.xml dessa magia, por favor?
  11. Mas esse broadcast e inútil, ele era de depuração pra eu testar. So tirar e pronto.
  12. Cara target not reachable eh pq bc ta usando com algo na frente ou a uma distância maior que a definida no script. Tenta usar em um alvo perto (3/4sqm) e sem obstáculos na frente
  13. Troca return toPosend Por return toPos end
  14. Onde ta escrito que so pode ter uma galeria.. hauehhahrua Valeu, best spell maker br
  15. Oneshoot spellslib. Na verdade ja fiz mta coisa, mas fiquei com preguica de criar um metadata kkk
  16. Não faço ideia.
  17. É pqno tópico ta a versão antiga kkk
  18. Skulls

    battle arena

    Bom, você vai ter que aprender a abrir e compilar se quiser resolver esse problema. Mas pra te ajudar, já vou te dizer onde e o que você tem que alterar, basta você aprender o resto. Abra combat.cpp e procure pela função (tem duas canDoCombat, então olhe direito pra não errar) Combat::canDoCombat(const Creature* attacker, const Creature* target, bool isAggressive) onde tem: if((g_game.getWorldType() == WORLDTYPE_OPTIONAL && !Combat::isInPvpZone(attacker, target) && !attackerPlayer->isEnemy(targetPlayer, true)) || isProtected(const_cast<Player*>(attackerPlayer), const_cast<Player*>(targetPlayer)) || (g_config.getBool(ConfigManager::CANNOT_ATTACK_SAME_LOOKFEET) && attackerPlayer->getDefaultOutfit().lookFeet == targetPlayer->getDefaultOutfit().lookFeet) || !attackerPlayer->canSeeCreature(targetPlayer)) return RET_YOUMAYNOTATTACKTHISPLAYER; Troque por: if((g_game.getWorldType() == WORLDTYPE_OPTIONAL && !Combat::isInPvpZone(attacker, target) && !attackerPlayer->isEnemy(targetPlayer, true)) || isProtected(const_cast<Player*>(attackerPlayer), const_cast<Player*>(targetPlayer)) || !attackerPlayer->canSeeCreature(targetPlayer)) return RET_YOUMAYNOTATTACKTHISPLAYER; Cara acabei de descobrir uma forma mais fácil de resolver isso, vou manter a sugestão anterior pq é util tb mas você pode simplesmente ir em config.lua e trocar: noDamageToSameLookfeet = true por: noDamageToSameLookfeet = false Espero ter ajudado. Abraços,
  19. Skulls

    battle arena

    A solucao do pronlema da bota e simples, uma linha que vc remove na source. So tenho que lembrar onde. O outro problema não entendi direito qual é.
  20. Estamos falando de uma acao ao clicar em um item, logo e uma action. Prega um exemplo no action.xml e mude o nome do script praquele q vc vai criar na padta actions/scripts e em troque o itemid pelo id dobitem que deseja.
  21. Você possivelmente implementou errado. Post aqui o que fez para que eu te ajude
  22. Tira a linha broadcastMessage(os.time... e testa
  23. Skulls

    battle arena

    Faz um teste pra mim, coloca outfit de cores diferentes porem a cor dos PÉS igual e vê se eles conseguem se atacar. Algumas versões do 0.4 tem essa definição ridícula na source e, caso isso seja comprovado no seu caso, somente alteração dessa linha na source resolveria.
  24. Posta o erro cara...
  25. Cara, seja mais específico. Cite o que ele deveria fazer, o que ele está fazendo, etc.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...