Ir para conteúdo
  • 0

Monstros se matando


Skulls

Pergunta

Alguma chance de fazer dois monstros selvagens brigarem entre si, sem ter que mudar na source a AI dos monstros?

onTarget não serve pra monstros e, aparentemente, o setTarget não funciona para 2 monstros, nem o challengeCreature.

 

Alguma ideia?

 

Edited: Descobri que é possível fazer isso usando combat, mas ainda procuro uma solução mais simples do que refazer toda a iteração dos monstros via combat rs.

Editado por Skulls
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

@@Skulls, funcionou? não era pra funcionar.. funções de storage são restritas à players pois envolvem modificações na database. Acho q se pá vc tá pegando o uid de um monstro e na hora de salvar na database deve estar com o mesmo numero (uid) de um player existente. Mas sei lá né, pelo menos no 0.4 que eu mexo é assim, não sei se alguma source tem suporte pra storage em monstros

Link para o comentário
Compartilhar em outros sites

  • 0

Mas engraçado, na teoria cada criatura tem um uid e é nesse uid que vai armazenar o storage, nao? E de qualquer forma, se estiver sobrescrevendo, nao tem problema desde que eu nao use esse storage para players, correto? Tem so que ver se vai funcionar sempre.

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade as storages são utilizadas nas criaturas em geral, tanto que a função original é doCreatureSetStorage/getCreatureStorage (na versão 0.3.6 e 0.4).

A única diferença de colocar no player é que salva no banco de dados no save, já no monstro/npc não salva quando ele morre ou desaparece.

E também não tem como uma storage no monstro sobrescrever uma no player, como você disse a storage vai estar vinculada a um uid. No máximo, em alguns casos, você vai precisar checar se a criatura é um monstro, npc ou player nos scripts.

Editado por kydrai
Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade as storages são utilizadas nas criaturas em geral, tanto que a função original é doCreatureSetStorage/getCreatureStorage (na versão 0.3.6 e 0.4).

A única diferença de colocar no player é que salva no banco de dados no save, já no monstro/npc não salva quando ele morre ou desaparece.

E também não tem como uma storage no monstro sobrescrever uma no player, como você disse a storage vai estar vinculada a um uid. No máximo, em alguns casos, você vai precisar checar se a criatura é um monstro, npc ou player nos scripts.

Valeu, me esclareceu um pouco. O melhor seria usar o creature, mas quando usei o CreatureStorage não deu certo, rs. Não queria que salvasse na db não :(

Na verdade, pra ultima versao que fiz substitui e funcionou. xD

Editado por Skulls
Link para o comentário
Compartilhar em outros sites

  • 0

Fazer isso pela source é muito simples, em lua é mais complicado, o problema de fazer isso em lua é, isso em grande escala ( 1000 - 5000 ) monstros executando um creaturescripts vai consumir MUITO do servidor, então tem que avaliar o custo de criar isso em lua, e fazer em c++



E sobre compilar o servidor, isso é a coisa mais simples do mundo.



1° baixe o Stian's Repack Dev-Cpp 0.2, 64bit


2° abrir o arquivo .dev


3° aperte ctrl + f9



pronto, agora você compilou seu tfs 0.3 / 0.4, mas eu recomendo usar o TFS 1.1 assim você tem uma source atualizada, e que consegue compilar usando Visual Studio.


Link para o comentário
Compartilhar em outros sites

  • 0

 

Fazer isso pela source é muito simples, em lua é mais complicado, o problema de fazer isso em lua é, isso em grande escala ( 1000 - 5000 ) monstros executando um creaturescripts vai consumir MUITO do servidor, então tem que avaliar o custo de criar isso em lua, e fazer em c++

E sobre compilar o servidor, isso é a coisa mais simples do mundo.

1° baixe o Stian's Repack Dev-Cpp 0.2, 64bit

2° abrir o arquivo .dev

3° aperte ctrl + f9

pronto, agora você compilou seu tfs 0.3 / 0.4, mas eu recomendo usar o TFS 1.1 assim você tem uma source atualizada, e que consegue compilar usando Visual Studio.

 

Not that simple, aqui da pau. Sempre da pau.. auehuauhehau :(

Será que o custo é tão alto assim? Pq eu já rodei ele com algo proximo de mil monstros e ficou sussa, mas eu to sozinho no server né? xD

 

" C:\Users\lucas\Downloads\forgottenserver-trunk.r3884\trunk.r3884\dev-cpp\gcc TheForgottenServer_private.rc: No such file or directory. "

Editado por Skulls
Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade as storages são utilizadas nas criaturas em geral, tanto que a função original é doCreatureSetStorage/getCreatureStorage (na versão 0.3.6 e 0.4).

A única diferença de colocar no player é que salva no banco de dados no save, já no monstro/npc não salva quando ele morre ou desaparece.

E também não tem como uma storage no monstro sobrescrever uma no player, como você disse a storage vai estar vinculada a um uid. No máximo, em alguns casos, você vai precisar checar se a criatura é um monstro, npc ou player nos scripts.

Kydrai desculpa fugir um poco do assunto, mais seu systema vip 1.0 teve algum update para tfs 0.4?

 

ou alguma maneira de conseguir fazer a compatibilidade?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...