É, ficou muito foda, curti pakas. Além de da vida pro RPG.. sdds Skyrim.
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- Descobrir lugares ao caminhar (Skyrim)
Descobrir lugares ao caminhar (Skyrim)
Por Lordfire, 23 de set. de 2016 em Actions e Talkactions
info
Grupo: Herói
Registrado: 25/10/11
Posts: 2.2k
Reputação: +862
Gênero: Masculino
Char no Tibia: Sociopata

info
Grupo: Administrador
Registrado: 08/07/05
Posts: 5.8k
Reputação: +1.4k
Gênero: Outro

Grande evolução, não só pelo fato do código parecer chinês pra mim, mas pela ideia e aplicação. ![]()
info
Grupo: Herói
Registrado: 14/02/14
Posts: 341
Reputação: +285
Gênero: Masculino
Char no Tibia: 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
Grupo: Lenda
Registrado: 03/10/06
Posts: 2.6k
Reputação: +309
Gênero: Masculino
Char no Tibia: 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
Grupo: Herói
Registrado: 14/02/14
Posts: 341
Reputação: +285
Gênero: Masculino
Char no Tibia: 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
Grupo: Lenda
Registrado: 03/10/06
Posts: 2.6k
Reputação: +309
Gênero: Masculino
Char no Tibia: 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
Grupo: Herói
Registrado: 14/02/14
Posts: 341
Reputação: +285
Gênero: Masculino
Char no Tibia: 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
Grupo: Campones
Registrado: 16/01/14
Posts: 19
Reputação: +1

tem para tfs 0.4?




info
Grupo: Lenda
Registrado: 03/10/06
Posts: 2.6k
Reputação: +309
Gênero: Masculino
Char no Tibia: 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 }}Editado Setembro 23 por Lordfire