Descobrir lugares ao caminhar (Skyrim)

Lordfire
em Actions e Talkactions

Lordfire

TFS Maintainer
avatar
Lenda
Lenda

INFOS

Grupo: LendaRegistrado: 04/10/06Posts: 2605Gênero: MasculinoChar 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:

patch -p1 -i <nome do arquivo>

 

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

 

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata

É, ficou muito foda, curti pakas. Além de da vida pro RPG.. sdds Skyrim.

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

Administrador

xTibia 2017
avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 09/07/05Posts: 5780Gênero: Outro

Grande evolução, não só pelo fato do código parecer chinês pra mim, mas pela ideia e aplicação. :ok:

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

 

 

Night Wolf

Coordenador de Desenvolvimento
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/02/14Posts: 341Gênero: MasculinoChar 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. 

I9AtE9T.png
/NW

Lordfire

TFS Maintainer
avatar
Lenda
Lenda

INFOS

Grupo: LendaRegistrado: 04/10/06Posts: 2605Gênero: MasculinoChar 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 :D

Night Wolf

Coordenador de Desenvolvimento
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/02/14Posts: 341Gênero: MasculinoChar 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 :D

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?

I9AtE9T.png
/NW

Lordfire

TFS Maintainer
avatar
Lenda
Lenda

INFOS

Grupo: LendaRegistrado: 04/10/06Posts: 2605Gênero: MasculinoChar 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.

Night Wolf

Coordenador de Desenvolvimento
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/02/14Posts: 341Gênero: MasculinoChar 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.

I9AtE9T.png
/NW

PuW

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/06/16Posts: 40Gênero: Masculino

Desculpe reviver o tópico mas teria como adaptar para TFS 0.3.6? 

NelsonMaldonado

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/01/14Posts: 19

tem para tfs 0.4?