NO

[Tutorial] Ajustando andar diagonal

Por Noninhouh, 04 de out. de 2017 em Tutoriais de Programação

tutorial
programação
diagonal
walk
otclient
19
24.2k
NoninhouhN
04 de outubro de 2017 às 06:11

Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...

Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.

 

Em creature.cpp do server, procure pela linha:

if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1)
	lastStepCost = 3;

Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!

 

Em creature.cpp do client, procure as linhas que tem isso:

getStepDuration(true)

E deixe assim:

getStepDuration()

 

Agora procure por:

float factor = 3;
if(g_game.getClientVersion() <= 810)
	factor = 2;

Apague essa parte

 

Logo mais abaixo tem:

if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast ||
	m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast))
	interval *= factor;

Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.

 

Agora em localplayer.cpp no client, novamente procure por:

getStepDuration(true)

E troque por:

getStepDuration()

 

Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu. :D:

kttallanK
04 de outubro de 2017 às 06:20

Parabéns noni por contribuir com essa seção :p

KyoGronK
04 de outubro de 2017 às 11:47

Parabéns manin, ótimo conteúdo =] espero que ajude muitas pessoas, cheguei a disponibilizar minha dxp com uma parte do diagonal, mas como eu não sabia totalmente ficou dificil deixar 100% kkk 

NoninhouhN
04 de outubro de 2017 às 13:01

Obrigado gente kk, estarei tentando disponibilizar mais conteúdos do tipo, porém preciso primeiro entender como funciona os sistemas.

1 mês depois...
MatheusszimM
16 de novembro de 2017 às 08:08

onde fica a as pasta onde ta os arquivos que vc mencionou poderia me dizer?

 

NoninhouhN
16 de novembro de 2017 às 15:36

São as sources do servidor e do otclient, @Matheusszim

BennyB
16 de novembro de 2017 às 16:52

Valeu pelo conteúdo, xtibia agradece.

Cê tem algum contato pra eu falar cntg, noni?

 

MatheusszimM
16 de novembro de 2017 às 20:25

@Noninhouh eu uso a base pda open source não sei onde fica a source do otclient

 

NoninhouhN
17 de novembro de 2017 às 18:09
21 horas atrás, Matheusszim disse:

@Noninhouh eu uso a base pda open source não sei onde fica a source do otclient

 

 

Você deve ter baixado um otclient já compilado...

Procura no github as sources de acordo a versão do seu otclient!

MatheusszimM
18 de novembro de 2017 às 10:19
16 horas atrás, Noninhouh disse:

 

Você deve ter baixado um otclient já compilado...

Procura no github as sources de acordo a versão do seu otclient!

pode me ajudar com essa questão ai não entendo muito de programação e algumas linhas na creature.cpp da source do server que tão ai ta faltando :/

 

NoninhouhN
18 de novembro de 2017 às 20:15
9 horas atrás, Matheusszim disse:

pode me ajudar com essa questão ai não entendo muito de programação e algumas linhas na creature.cpp da source do server que tão ai ta faltando :/

 

 

Eu esqueci de avisar que a versão do tfs que eu fiz essas modificações foi a 0.4, veja se essa é a sua...

Eu nunca vi as sources de uma outra versão de tfs para saber se será do mesmo jeito as modificações

E em respeito as sources do seu client, só procurar cara, tenho certeza que em algum outro fórum ou até mesmo no github deve ter a mesma versão de acordo seu otclient

21 de novembro de 2017 às 17:14
Em 18/11/2017 at 20:15, Noninhouh disse:

Eu esqueci de avisar que a versão do tfs que eu fiz essas modificações foi a 0.4, veja se essa é a sua...

Eu nunca vi as sources de uma outra versão de tfs para saber se será do mesmo jeito as modificações

E em respeito as sources do seu client, só procurar cara, tenho certeza que em algum outro fórum ou até mesmo no github deve ter a mesma versão de acordo seu otclient

se que é possível source de tfs 0.4 para otclient ter extension do servidor o dbo?

NoninhouhN
21 de novembro de 2017 às 17:21
2 minutos atrás, Senju Saiyajin disse:

se que é possível source de tfs 0.4 para otclient ter extension do servidor o dbo?

Desculpa mas não entendi sua pergunta kk

Tá perguntando se da pra fazer um derivado de DBO a partir de uma source de TFS 0.4?

21 de novembro de 2017 às 17:23
Agora, Noninhouh disse:

Tá perguntando se da pra fazer um derivado de DBO a partir de uma source de TFS 0.4?

Sim. ter otclient extension?

NoninhouhN
21 de novembro de 2017 às 17:29
2 minutos atrás, Senju Saiyajin disse:

Sim. ter otclient extension?

Sim