SK
dúvida

Monstros se matando

Por Skulls, 14 de jan. de 2016 em Scripts

resolvido
script
25
5.8k
Night WolfN
18 de janeiro de 2016 às 14:30

@@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

SkullsS
18 de janeiro de 2016 às 17:39

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.

KydraiK
18 de janeiro de 2016 às 20:25

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 Janeiro 18 por kydrai

SkullsS
18 de janeiro de 2016 às 20:34

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 Janeiro 18 por Skulls

BananaFightB
18 de janeiro de 2016 às 20:41

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.


SkullsS
18 de janeiro de 2016 às 20:54

 

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 Janeiro 18 por Skulls

BananaFightB
18 de janeiro de 2016 às 21:07

Tenta com esses arquivos:



https://mega.nz/#!mstETBqK!u-ofcU3dBqrUPGuyEzOQin2IiPd6e8h32xAgLqNsy_0


SkullsS
19 de janeiro de 2016 às 02:59
Melhor resposta

Funcionou, porem deu erro na hora de executar: LIBMYSQL.dll missing..

Compartilhei o sisteminha que fiz em lua para tal:

http://www.xtibia.com/forum/topic/238899-monstros-duelando-entre-si/

DanihcvD
25 de janeiro de 2016 às 02:34

Tópico movido para dúvidas / pedidos resolvidos.

1 mês depois...
mikesaquaM
16 de fevereiro de 2016 às 00:30

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?