Ir para conteúdo

WooX

Héroi
  • Registro em

  • Última visita

Tudo que WooX postou

  1. Manda o XML do monstro completo.
  2. Me manda a tag do script no creaturescripts.xml e também como ficou o XML do monstro.
  3. Agora eu entendi exatamente o que tu quer, seu script original está correto e funcional. Tenta fazer o seguinte, pega o XML do Dragon em data/monsters e adiciona isso. <script> <event name="NOME_DO_SCRIPT_NO_CREATURESCRIPTS.XML"/> </script> E testa somente com o Dragon.
  4. Tinha esquecido uma coisa. local config = { weapons = { -- [ID] = LIFE STEAL %, [8602] = 10, }, -- Vocations number -- 1, 5 = Druid, Elder Druid -- 2, 6 = Sorcerer, Master Sorcerer -- 3, 7 = Paladin, Royal Paladin -- 4, 8 = Knight, Elite Knight -- others vocations = {4, 8}, } function onLogin(cid) registerCreatureEvent(cid, "LifeSteal") return true end function onStatsChange(cid, attacker, type, combat, value) if not isCreature(attacker) then return true end for slot = 0, 9 do for id, perc in pairs(config.weapons) do if (getPlayerSlotItem(attacker, slot).id == id) then return doCreatureAddHealth(attacker, math.ceil(value / perc)) end end end return true end Acabei postando o mesmo código sem a edição que fiz. Editei o post agora, tenta novamente.
  5. local config = { weapons = { -- [ID] = LIFE STEAL %, [8602] = 10, }, -- Vocations number -- 1, 5 = Druid, Elder Druid -- 2, 6 = Sorcerer, Master Sorcerer -- 3, 7 = Paladin, Royal Paladin -- 4, 8 = Knight, Elite Knight -- others vocations = {4, 8}, } function onLogin(cid) registerCreatureEvent(cid, "LifeSteal") return true end function onStatsChange(cid, attacker, type, combat, value) if not isCreature(attacker) then return true end for slot = 0, 9 do for id, perc in pairs(config.weapons) do if (getPlayerSlotItem(attacker, slot).id == id) then return doCreatureAddHealth(attacker, math.ceil(value / perc)) end end end return true end
  6. Provavelmente é isto, tente utilizar OTX.
  7. Manda o seu weapons.cpp
  8. Dei uma olhada aqui e essa alteração é feita diretamente na source, que distro está utilizando?
  9. Provavelmente. Vou dar 1 olhada aqui e já já respondo.
  10. Isso é normal, sempre foi possivel puxar da porta.
  11. void Player::sendCritical() const { Creature* target = getAttackedCreature(); if(g_config.getBool(ConfigManager::DISPLAY_CRITICAL_HIT)) g_game.addMagicEffect(target->getPosition(), MAGIC_EFFECT_MIRRORVERTICAL); }
  12. Me manda como ficou o script.
  13. Erro meu, tenta assim. if exhaustion.get(cid, 3305) then doPlayerSendCancel(cid, 'Wait '.. exhaustion.get(cid, 150) ..' seconds, before using this spell again.') return false end exhaustion.set(cid, 3305, 10)
  14. Algum erro? ou simplesmente não mostra?
  15. Posta como ficou o script ai.
  16. Não, são diferentes. Dependendo da versão da sua source é recomendável um e não o outro. Qual a versão da source?
  17. Entendi sim. config.lua onePlayerOnlinePerAccount = false
  18. Cria 1 script com isso dentro e registra no creaturescripts.xml. <event type="login" name="nomescript" event="script" value="nomescript.lua"/>
  19. Testa ai. local maxPlayersPerAcc = 2 function onLogin(cid) if #getPlayersByAccountId(getPlayerAccount(cid)) >= maxPlayersPerAcc then return false end return true end
  20. void addCastViewer(ProtocolGame* pg) { cSpectators[nextSpectator] = pg; nextSpectator++; std::stringstream ss; ss << "Spectator [" << cast.curId << "]"; pg->viewerName = ss.str().c_str(); cast.curId++; } Pra falar laranja depois eu dou 1 olhada com calma e posto aqui.
  21. Acredito que seja em player.h, testa ai. void addCastViewer(ProtocolGame* pg) { cSpectators[nextSpectator] = pg; nextSpectator++; std::stringstream ss; ss << "Spectator" << cast.curId; pg->viewerName = ss.str().c_str(); cast.curId++; }
  22. Após isso: function onCastSpell(cid, var) Adicione isso: if exhaustion.get(cid, 3305) then doPlayerSendCancel(cid, 'Wait '.. exhaustion.get(cid, 150) ..' seconds, before using this spell again.') return true end exhaustion.set(cid, 3305, 10)

Informação Importante

Confirmação de Termo