Forums » RPG Maker VX Ace

Mega Lista de comandos por scripts para eventos

    • 206 posts
    28 de maio de 2015 15:03:19 ART

    Mega Lista de comandos por scripts



    Introdução

     

      Antes de falarem que era para estar na seção de scripts, devo lhes informar algo, o que vou colocar aqui pode ser usado por scripters sim, mas essa lista especificamente é para os Eventers e são para auxiliar na montagem de sistemas, com comandos cujo não foram disponibilizados pelos eventos, porém podem ser facilmente acessados pelo Chamar Script! E como o Chamar Script é um comando por evento, nada mais justo do que mostrar aqui :). Por isso qualquer scripter que quiser implementar a lista, o faça que será de grande ajuda a todos!



    O básico

     

      Antes de mostrar os vários comandos por scripts para usarem no Chamar Script, devo falar algumas coisas, os eventos e o Chamar script funcionam da seguinte maneira, eles criam um código embutido no executável do maker, e esse código é inserido na classe Game_Interpreter dentro dessa classe, acontece toda a programação por eventos, então mexer nessa classe, costuma mexer diretamente com os comandos por eventos.



    A lista

     

    Variável: a variável dos eventos quando vai pro Game_Interpreter é chamado de $game_variables[n], aonde o n é o número da variável. Logo eu posso fazer isso facilmente no chamar script.
    Chamar Script:
    $game_variables[5]=4
    façam o teste :), apenas estou mostrando esse antes porque será MUITO útil em vários daqui da lista ^^.

    Esperar: O comando esperar, como sabem tem um GRANDE problema, que é que não podemos colocar uma variável e sempre é um número constante, o comando dele é
    wait(t)
    mas, espera se eu pegar o valor lá em cima que citei da variável será que...
    Exatamente isso :), você pode colocar o wait de acordo com uma variável bastando, Chamar Script:
    wait($game_variables[3])
    Nesse código vou dar um Esperar com Frames igual ao valor da variável de ID 3 dos eventos xD.

    Estão pegando a ideia certo? Agora daqui para frente será mais fácil :)

    Tamanho da Tela: Para alterar o tamanho da tela o comando é bem simples.
    Graphics.resize_screen(x, y)
    x = tamanho da tela em pixels em x
    y = tamanho da tela em pixels em y

    Input.trigger O Condição tecla pressionada, serve justamente apenas para isso, verificar se a tecla está pressionada, e para fazer a verificação de clique, sabe como em vários jogos que para atacar tem que clicar e não segurar, pois bem não deixaram esse comando por eventos, mas é fácil!
    Condição, Script:
    Input.trigger?(:Key)
    Tem que manter o : na frente do nome da tecla, e o nome é em maiusculo e de acordo com as teclas do RPG Maker aquele X, Y... Exemplo
    Input.trigger?(:L)

    Load:
    SceneManager.call(Scene_Load)

    Qualquer Scene: olhe na lista de scripts com o nome Scene, você pode usar aquele nome para chamar qualquer scene do RMVXAce, seguindo a regra.
    SceneManager.call(nome_da_scene)

    Fadein Fadeout: Outro que não é configurável por padrão, o comando para isso é 
        Fiber.yieldwhile $game_message.visible     screen.start_fadein(t)     wait(t)
        Fiber.yieldwhile $game_message.visible     screen.start_fadein(t)     wait(t)
    aonde t é o tempo em frames, então você pode mudar o t para qualquer valor, inclusive a variável do modo que citei no começo da aula, lembrando que se olharem para o código, vão ver que ele tem o wait também!
    Exemplos:
        Fiber.yieldwhile $game_message.visible     screen.start_fadein($game_variables[7])     wait($game_variables[7])
        Fiber.yieldwhile $game_message.visible     screen.start_fadein(48)     wait(48)

    Fonte: Você pode mudar muita coisa na fonte no meio do jogo.
    Font.default_name ="nome da fonte"
    O nome da fonte sempre dentro das aspas.
    Font.default_size = n
    n é o número do tamanho da fonte.
    Font.default_italic =true/false
    coloque ou true ou false, para se for ou não italico.
    Font.default_bold =true/false
    coloque ou true ou false, para se for ou não bold.
    Font.default_color =Color.new(R, G, B)
    R, G, B são os números das cores, veja a tabela RGB na internet para mudar a cor da fonte para o que desejar.

    Switch Local:
    key =[@map_id,@event_id,switch] $game_self_switches[key]=true/false
    Basicamente, key = [n do id do mapa, n do id do evento, e a switch]
    A switch tem que estar entre aspas por exemplo a switch A, vou desligar essa switch local do evento de ID 3 do Mapa de ID 4.
    key =[4,3,'A'] $game_self_switches[key]=false


    Classe Math:
    A classe Math é uma que contém vários "corta caminhos" para cálculos matemáticos, por exemplo é muito fácil obter uma raiz quadrada de um número, cosseno, entre outros, vou colocar os mais simples e úteis.
    Constantes:
    As constantes são 2, elas tem um número muito preciso do .
    PI => Math::PI      e do
    E => Math::E
    Então é bem simples utiliza-los, exemplo
    Chamar Script:
    $game_variables[3]= $game_variables[3]*Math::PI
    MAS, cuidado, ao usar um número quebrado para fazer operações com as variáveis, como sabem as variáveis são números inteiros, vai fazer com que aquela variável deixe de ser inteira, então use com cautela.
    Para os mais avançados, colocar .to_i depois de uma variável faz ela ficar inteira de novo por exemplo.
    Chamar Script:

    Citar

    $game_variables[3] = $game_variables[3].to_i

    Ele vai igualar a ele mesmo, porém ao valor inteiro dele.

    Math.cos(x), Math.sin(x), Math.tan(x)
    Aonde x é em radianos, então pode ser uma boa ideia usar aquela constante Math::PI que citei lá em cima.
    Por exemplo, usando tudo que citei aqui.
    Chamar Script:
    $game_variables[2]=Math.cos(Math::PI/3)
    Aqui eu faço a variável 2, ter o valor do cosseno de Pi dividido por 3.

    Chamar Script:
    $game_variables[2]= $game_variables[2]*10)
    Aqui eu multiplico por 10, porque o resultado de um cosseno sempre será entre -1 e 1 oque não seria legal deixa-lo inteiro assim.

    Chamar Script:
    $game_variables[2]= $game_variables[2].to_i)
    Aqui retorno a variável 2 para um número inteiro.

    Math.hypot(x, y):
    Retorna o valor da seguinte maneira
    Raiz quadrada de x², y²
    Então é muito útil para achar distancias entre 2 pontos que podem ser variáveis de coordenadas por exemplo.
    Chamar Script:
    x2 = $game_variables[4] x1 = $game_variables[3] y2 = $game_variables[2] y1 = $game_variables[1] $game_variables[5]=Math.hypot(x2 - x1, y2 - y1)
    Veja que eu fiz x2 =... porque a porcaria do editor de scripts do Ace pula linhas sozinho  :facepalm: , e precisa fazer isso para que fique tudo bonitinho. Então a diferença de 2 coordenadas em x e a diferença de 2 coordenadas em y, vão resultar em um valor que será atribuido a uma nova variável.

    Math.log(num, base), Math.log10(num), Math.log2(num)(x, y):
    Retorna o valor do logaritmo tal, exemplo.
    $game_variables[2]=Math.log10(10)
    Fará com que a variável 2 tenha o valor 1.

    $game_variables[5]=Math.log(400,20)
    Fará com que a variável 5 tenha o valor 2.

    Comandos de Imagem:
    Mostrar Imagem:
    $game_map.screen.pictures[numero_da_imagem].show("Nome da Imagem", origem, x, y, zoom_x, zoom_y, opacidade, sinteticidade)
    então não darei exemplo aqui xD, todo lugar aonde tem um número nesse código, pode ser substituido por uma variável, e o mais interessante seria o zoom_x e zoom_y que você pode manipular com uma variável.

    Mover Imagem:
    Mesmo que acima, porém com esse código.
    $game_map.screen.pictures[numero_da_imagem].move(origem, x, y, zoom_x, zoom_y, opacidade, sinteticidade, duração)

    Rotacionar Imagem (girar imagem):
    $game_map.screen.pictures[numero_da_imagem].rotate(velocidade)
    você pode manipular a velocidade de rotação de acordo com uma variável, o que é especialmente útil para sistemas que mudam a velocidade da rotação.
    Exemplo, Chamar Script:
    $game_map.screen.pictures[2].rotate($game_variables[3])
    Vou rodar a imagem 2 na velocidade da variável de ID 3

    Mudar Tonalidade da Imagem:
    Mesmo que os acima.
    $game_map.screen.pictures[numero_da_imagem].start_tone_change(novo_tom, duração)

    Deletar Imagem:
    $game_map.screen.pictures[numero_da_imagem].erase
    Especialmente interessante para deletar uma imagem de acordo com o valor de uma variável :).

     

    O básico

     

      A lista será atualizada com mais comandos, mas o que mandei aqui é para que não pensei aah não gosto de scripts e não vou usá-los! E sim que os 2 foram feitos para trabalharem juntos, os eventos pela sua rapidez de criação, facilidade e com a maioria dos comandos importantes é muito importante no RPG Maker, e os scripts para adicionarem e facilitarem a vida dos makers u_u. Qualuqer dúvida, ou código que queira adicionar, fique a vontade :).



    Agradecimentos ao
    FPR por sugerir a classe Math, em especial a hipotenusa.
    cristianoforce por indicar os comandos de imagens :D 

    • 20485 posts