É, ficou muito foda, curti pakas. Além de da vida pro RPG.. sdds Skyrim.
- Forums
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- Descobrir lugares ao caminhar (Skyrim)
Descobrir lugares ao caminhar (Skyrim)
By Lordfire, 23 de set. de 2016 in Actions e Talkactions
info
Group: Herói
Joined: 25/10/11
Posts: 2.2k
Reputation: +862
Gender: Masculino
Tibia Character: Sociopata

info
Group: Administrador
Joined: 08/07/05
Posts: 5.8k
Reputation: +1.4k
Gender: Outro

Grande evolução, não só pelo fato do código parecer chinês pra mim, mas pela ideia e aplicação. ![]()
info
Group: Herói
Joined: 14/02/14
Posts: 341
Reputation: +285
Gender: Masculino
Tibia Character: Night Wolf

ótimo código, só uma dúvida.. vc é mesmo o ranisalt?
O unico problema desse callback seria a complexidade.. muitos lugares, muitos players e muitos passos seria o suficiente pra comer a ram inteirinha da máquina. As vezes uma abordagem que parece mais porca (colocar uma dúzia de actionids nas areas que dão acesso à area a ser descoberta) acaba sendo infinitas vezes melhor do que um evento que é acionado a cada passo.
info
Group: Lenda
Joined: 03/10/06
Posts: 2.6k
Reputation: +309
Gender: Masculino
Tibia Character: Knight Orion

4 horas atrás, Night Wolf disse:ótimo código, só uma dúvida.. vc é mesmo o ranisalt?
O unico problema desse callback seria a complexidade.. muitos lugares, muitos players e muitos passos seria o suficiente pra comer a ram inteirinha da máquina. As vezes uma abordagem que parece mais porca (colocar uma dúzia de actionids nas areas que dão acesso à area a ser descoberta) acaba sendo infinitas vezes melhor do que um evento que é acionado a cada passo.
Sim sr, sou eu ![]()
O callback não é tão pesado, o onWalk só é ativado em players e ao completar o passo, ou seja, cada vez que o movimento é cancelado (ex. pisar num tile de level sem ter level suficiente), não dispara. A engine de Lua é bem leve, Lua é muito otimizado pra scripting embutido.
Na verdade, a última vez que eu vi isso sendo medido, 65% do tempo de processamento do TFS é gasto calculando os spectators de um dado tile, callbacks em Lua são uma parcela ínfima e tem muito espaço pra isso ![]()
info
Group: Herói
Joined: 14/02/14
Posts: 341
Reputation: +285
Gender: Masculino
Tibia Character: Night Wolf

43 minutos atrás, Lordfire disse:Sim sr, sou eu
O callback não é tão pesado, o onWalk só é ativado em players e ao completar o passo, ou seja, cada vez que o movimento é cancelado (ex. pisar num tile de level sem ter level suficiente), não dispara. A engine de Lua é bem leve, Lua é muito otimizado pra scripting embutido.
Na verdade, a última vez que eu vi isso sendo medido, 65% do tempo de processamento do TFS é gasto calculando os spectators de um dado tile, callbacks em Lua são uma parcela ínfima e tem muito espaço pra isso
O numero de checagens ainda seria significativo, isso é praticamente um onThink mas enfim, em todo caso acredito que possua um bug lógico na sua idéia: como ele só é ativado ao completar o walk, se o cara clicar no minimap e iniciar o walk passando pela área a ser descoberta e saindo dela, ela não será dada como descoberta, correto?
info
Group: Lenda
Joined: 03/10/06
Posts: 2.6k
Reputation: +309
Gender: Masculino
Tibia Character: Knight Orion

Será sim, ela dispara a cada movimento completo do player, no caso. Ativa cada vez que o player pisa em um tile diferente.
info
Group: Herói
Joined: 14/02/14
Posts: 341
Reputation: +285
Gender: Masculino
Tibia Character: Night Wolf

ah, eu pensei que vc tava usando dentro do onMoveComplete mas tá no onMove, esquece então. É q eu tava na aula quando fui ler o código então eu vi beem por cima e quando vc comentou que era só quando o walk fosse completo eu imaginei outra função.
Desculpe reviver o tópico mas teria como adaptar para TFS 0.3.6?
info
Group: Campones
Joined: 16/01/14
Posts: 19
Reputation: +1

tem para tfs 0.4?




info
Group: Lenda
Joined: 03/10/06
Posts: 2.6k
Reputation: +309
Gender: Masculino
Tibia Character: Knight Orion
Eu tava cansado do quão monótono é andar por aí no Tibia e eu tava jogando muito Skyrim nessa época e resolvi fazer um patch pra descobrir os lugares que nem no Skyrim, que aparece uma mensagem pro player e marca no mapa onde fica. Funciona na versão mais recente do The Forgotten Server que tiver no Github mas se alguém usa o 1.0 ou 1.1 me avisa que eu faço um rebase.
Link do patch:
https://gist.github.com/ranisalt/a075bdc4d87ed8572f869da15e200dee
Pra aplicar você vai na raiz do server (onde fica o diretório src/ e data/) e executa:
No Windows eu não faço ideia, mas se precisar faço um tutorial depois.
A configuração fica no arquivo data/global.lua, na variável locations:
locations = { [15000] = { name = "Initial Temple", pos = { x = 95, y = 122, z = 7 }, mapmark = MAPMARK_TEMPLE }}Edited Setembro 23 by Lordfire