Faz por storages então, creio que seja bem mais facil de manipular, ai tu cria um onSpawn() que seta no monstro o storage com o level, cria uma função na Lib que retorne esse storage. Simples assim.
- Fórum
- OTServ
- Suporte
- Programação
- Duas funções do Monster Level
info
Grupo: Visconde
Registrado: 19/11/08
Posts: 364
Reputação: +104
Gênero: Masculino
Char no Tibia: Avronex Shiolalon

info
Grupo: Conde
Registrado: 14/04/15
Posts: 956
Reputação: +333
Gênero: Masculino

Creio que seja melhor, setar está storage direto no code do Monster Level e o value da storage seria o level do monster... se alguem souber setar a storage e puder explicar pra min... agradeceria mt e já seria o bastante para o segundo pedido ![]()
info
Grupo: Visconde
Registrado: 19/11/08
Posts: 364
Reputação: +104
Gênero: Masculino
Char no Tibia: Avronex Shiolalon

Creio que seja melhor, setar está storage direto no code do Monster Level e o value da storage seria o level do monster... se alguem souber setar a storage e puder explicar pra min... agradeceria mt e já seria o bastante para o segundo pedido
Pega a função de setar o storage na source do passive system onde seta a storage "hostile". Ai vc retira do level system a parte que modifica o nome e adiciona a função de setar o storage, entendeu?
info
Grupo: Conde
Registrado: 14/04/15
Posts: 956
Reputação: +333
Gênero: Masculino

Como vc já sabe o código em si, do Passive System nas sources se resumi a este aqui:
bool isHostile() const {
std::string value;
if(!getStorage("hostile", value))
return mType->isHostile;
return booleanString(value);
}
E em nenhuma parte está setando storage...
Tópico atualizado!
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
info
Grupo: Conde
Registrado: 14/04/15
Posts: 956
Reputação: +333
Gênero: Masculino

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
Manow, se eu soube-se fazer isto... mas só sei mexer em lua ![]()
Este sistema está completinho, alternando dano, defesa e o nick por level, porem eu queria uma função extra, que retorna o level do monstro e a outra é para não alterar o nick... então se puder ajudar ![]()
@Topic
Iai pessoa, eu consegui resolver o problema de mudar o nome, eu li o code e achei um flag do próprio sistema que da hide no level...
Caso alguem tenha a mesma dúvida ta ai:
<flag hidelevel="1"/>
Então só preciso de ajuda no segundo pedido
se alguem puder ajudar...
Up
Up



info
Grupo: Conde
Registrado: 14/04/15
Posts: 956
Reputação: +333
Gênero: Masculino
Iai pessoal, blz? Eu adicionei o sistema de Monster Level do Oneshot(Garou), e ele está funcionando perfeitamente... porem, está com alguns problemas e estou precisando de uma função nova para este code...
Problema:(RESOLVIDO)
gostaria que este code não edita-se o nome da criatura, tipo com este code adicionando, um Rat ao invés de ficar apenas o nome Rat, fica o nome Rat [2] (de exemplo), então gostaria de que não altera-se o nome do Monstro.
Pedido:
Então pessoal, gostaria de saber como posso setar uma storage na hora que da respawn, do mesmo jeito da função de mudar o nome...
Então, creio que com a explicação dê pra entender... qual quer dúvida, pode perguntar
Obg pela atenção e fuis 
Obs: Eu utilizo tfs 0.4 rev 3884
Editado Janeiro 5 por Drazyn1291