🤔 Para Refletir :
"O que e um game dev? Uma miseravel pequena pilha de projetos !"
- codingkitsune

Curiosidade boba para eventos em RMMV

FabioSmuu Masculino

Plebeu
Membro
Membro
Avisa ao recaptcha da google que eu não sou um robô
Juntou-se
11 de Abril de 2021
Postagens
27
Bravecoins
33
Área
Programação
Motor de jogo
Outros
Bom dia/tarde/noite pessoal do CB ^^

Estava brincando com scripts em eventos para desenvolver algum plugin atoa, quando resolvi da um console.log(this) dentro do evento né para ver se a Interpreter era de fato a class chamada ou se existiria um "encapsulamento", oque de fato não ocorreu...

Então para aqueles que não desenvolve plugin, resolvi demonstrar como pegar informações do próprio evento através de scripts ^^

Já avisando que é algo relativamente bobo e que pode não lhe ajudar em anda hehe 😬

Basicamente usando: const id = this.eventId() Isso fará com que seja criado uma variável id contendo o id daquele evento, então podemos manipular este evento com qualquer prototype global.

Mas para quem não entende de desenvolvimento de plugin não vai saber achar prototypes globais né ^^
então estarei mostrando hehe :)

Basicamente você terá de ir na pasta do projeto e vasculhas a pasta js, especificamente os arquivos que começam com rpg_.

Estes:
1618776815228.png


Aqui que esta toda a "runtime" do jogo ou core, como queira chamar, eu a chamo de Gustavin ^^

Enfim, indo até o arquivo rpg_managers.js, você terá diversas class/funções/prototypes logo no inicio.
1618776921829.png


Agora rodando o jogo e dando um F12 (tem outras teclas, mas esta é a mais rapida kk), então clique na aba console 🤤
Cole qualquer um destes globais lá ç.ç e veja a magica!

Eu vou usar como exemplo a $gamePlayer.
Apos dar enter e clicar na setinha que aparece ao lado, irá aparecer todas as propriedade ligadas a esta prototype, mas oque queremos é descer até o final desta lita e clicar na setinha do proto ^^
1618777331498.png


Tadaaaam 🎉, ai esta as funções das quais você poderá usar nesta class.

Eu irei usar a função reserveTransfer, que basicamente transfere alguma coisa ç.ç
1618777455312.png

Esta função recebe como parâmetro o id do mapa, posição, direção e bla bla bla... (vai testando ^^ é divertido)

Então o código ficará assim: $gamePlayer.reserveTransfer(...bla bla bla...)
Dentro deste bla bla bla iremos colocar as coordenadas próxima ao evento hehe, então borá usar a variável constante id ^^
E o evento ficará com isso:

const id = this.eventId()
$gamePlayer.reserveTransfer(2, 15, $gameMap.event(id).y)

Para quem ainda não entendeu, eu usei mais uma das prototypes globais pra buscar o evento de acordo com o id, então eu peguei exatamente a posição Y deste evento, por fim o resultado será o jogador será teleportado para o mapa 2 na posição 15 e no mesmo y do evento que ele ativou.

1618777986596.png


É basicamente isso... ç.ç eu disse que seria bobo 🤭

Agora para quem quiser entender oque raios são estas prototype, basta fuçar os arquivos e procurar a atribuição dos valores que elas recebem.
Em algum momento a $gamePlayer recebe a class Game_Player

1618778163916.png


Então indo para o arquivo rpg_objects.js e procurando esta class, aqui esta ela 😬

1618778237046.png


Então por hoje foi isso hehe, queria só mostrar que da para brincar um pouco com os scripts de forma simples e logico, explorando da para fazer bem mais 🤗

Javascript:
//Evitei usar a BBCode para scripts por gostar de mudar as cores hehe.
 
Voltar
Topo Inferior