O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Como ter mais opções de velocidade disponíveis?

Iniciado por Kerazzk, 08/01/2018 às 18:48

No RPG Maker, você só tem 6 opções de velocidades. Muito muito lerda, Muito lerda, lerda, Normal, Rápida, e Muito Rápida. Porém, existe um pulo muito alto entre essas. Como por exemplo o rápida e muito rápida tem uma diferença absurda, enquanto o normal e rápida nem tanto. Existe como selecionar a sua velocidade por um valor mais maleável, e/ou com mais opções? Agradeço.

08/01/2018 às 18:54 #1 Última edição: 08/01/2018 às 18:56 por Virgyl
Boa tarde.
Bom, existe uma maneira sim:
Basta você abrir um comando de script dentro de um evento com
o comando "Definir rota de movimento", setar o evento/jogador que irá
receber a modificação, e digitar isto dentro do comando de script:

this._moveSpeed = (número)

Eu, por exemplo, deixei um evento com uma velocidade estúpida, e digitei
this._moveSpeed = 4000, porém você pode mudar o número à vontade.

         Abraços, Virgyl.


08/01/2018 às 19:15 #2 Última edição: 08/01/2018 às 19:16 por Caster
A princípio, funcionou, porém tem dois grandes problemas.
1- Velocidades acima de 7 não fazem diferença alguma em relação as anteriores.
2- Eu deixei o evento que estava fazendo o jogador se mover em Processo Paralelo, certo? Porém, o outro evento que estava no caminho que funcionava em Toque do Jogador, parou de funcionar assim que coloquei um número superior a 6.
Existe alguma forma de resolver estes problemas?

Estranho, funcionou perfeitamente pra mim, principalmente
por eu usar a velocidade além da sétima. De toda a forma, creio que o erro n. 2 se dê ao fato de, tendo
em vista que sou uma negação como um programador, por ser rápido demais pro evento detectar, ou
algo do gênero.

Recomendo que procure a ajuda de algum programador, ou até
uma busca mais profunda no Google.

        Abraços, Virgyl.


Então, em se tratando de velocidade de movimento, o buraco é mais embaixo. São muitas as funções que usam a velocidade de movimento, cada uma aplica uma fórmula diferente, então quanto maior a alteração de velocidade, quanto mais esse valor se distancia do zero, mais catastrófico é seu impacto. Por exemplo:

Game_CharacterBase.prototype.distancePerFrame = function() {
    return Math.pow(2, this.realMoveSpeed()) / 256;
};


Essa função calcula quantos tiles o evento se moverá em um frame. realMoveSpeed retorna a velocidade do jogador e + 1 caso ele esteja correndo. Assim sendo, a partir da velocidade 16 o evento estaria andando mais do que um tile por frame.

Game_CharacterBase.prototype.animationWait = function() {
    return (9 - this.realMoveSpeed()) * 3;
};


Já a função acima calcula quanto tempo perdurará um frame da animação de movimento. A partir da velocidade 9, o tempo seria nulo ou negativo, daí das duas uma: ou o jogo travaria, ou; o jogador não perceberia a animação.

Fora estas existem muitas outras funções que usam a velocidade de movimento, mas percebe o quão sensível é esta variável? Mudar um ponto já causaria uma anomalia muito grande, portanto, ao se visar ter mais velocidades e movimento, deve se ter ciência que muitas funções terão de ser rescritas para funcionarem sob as novas circunstâncias. Infelizmente não lembro de nenhum plugin que já faça isso.