Centro RPG Maker

Centro de Recursos => Sistemas por Eventos => Sistemas RPG Maker MZ/MV, VX/VX Ace e XP => Tópico iniciado por: Raizen online 15/02/2013 às 19:41

Título: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Raizen online 15/02/2013 às 19:41
[box class=windowbg2]
Mega Lista de comandos por scripts
[/box]

[box class=catbg4]
Introdução
[/box]
  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!

[box class=catbg4]
O básico
[/box]
   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.

[box class=catbg4]
A lista
[/box]

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.yield while $game_message.visible
    screen.start_fadein(t)
    wait(t)

    Fiber.yield while $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.yield while $game_message.visible
    screen.start_fadein($game_variables[7])
    wait($game_variables[7])

    Fiber.yield while $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 :).

[box class=catbg4]
O básico
[/box]
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 :).
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: cristianoforce online 15/02/2013 às 22:59
Está aí um tópico com conteúdo formidável  :<3:

Estes comandos podem ser úteis em diversas situações quando estamos programando por eventos, obrigado por compartilhar Raizen! Ótimo tutorial.

+gull
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Raizen online 15/02/2013 às 23:07
Ainda falta mais uns, vou levar para a MRM >.>, assim que eu lembrar de mais alguns k, vlws ai o comment force :D, se lembrar de algum pode falar aqui que eu adiciono xD.
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: cristianoforce online 15/02/2013 às 23:10
Citação de: Raizen online 15/02/2013 às 23:07
Ainda falta mais uns, vou levar para a MRM >.>, assim que eu lembrar de mais alguns k, vlws ai o comment force :D, se lembrar de algum pode falar aqui que eu adiciono xD.

O de mostrar imagem costuma a ser bem útil e utilizado. \o. Aproveita pra acrescentar os métodos relacionados a imagens :B

Posta lá sim =)
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Ureca online 16/02/2013 às 00:45
Muito boa a lista.
Raizen, adicione isso:
$game_map.setup(id_mapa)
$game_player.moveto(x_mapa,y_mapa)


O teleporte sem os fade in, out.
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Geraldo de Rívia online 17/02/2013 às 20:10
Uia, aí sim hein.
Realmente isso ajuda muito a vida de um eventer, muita coisa
pode ser feita por um atalho via um comando de scriptzinho...
Os que eu acho mais interessantes colocar mesmo, como o
cristiano citou, são os de imagens, depois que comecei a
usá-los... hummmm... é muito melhor.

Hum que eu até uso bem também, para colocar uma barrinha
de experiência é o da variável de experiência necessária para o
próximo level.

E esse, pra colocar contorno na fonte:


Font.default_outline = true/false

Não sei se tem como usar ele via "Chamar script"



Mas isso ajuda bem mano. Bom trabalho!  :ok:
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Raizen online 18/02/2013 às 18:02
Ufa, agora sim a lista está atualizada e pode ser chamada de Mega lista k, coloquei tudo que eu sabia e o que eu não sabia xD

Citação de: Ureca online 16/02/2013 às 00:45
Muito boa a lista.
Raizen, adicione isso:
$game_map.setup(id_mapa)
$game_player.moveto(x_mapa,y_mapa)


O teleporte sem os fade in, out.

Obrigado pela dica, mas antes de eu colocar no tópico xD, esse não seria a mesma coisa que no teleport colocar o "Desvanecer" Nenhum x]? só perguntando porque eu mesmo não tenho certeza.
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Ureca online 18/02/2013 às 18:16
kkkkkkkkkkk é mesmo, nem tinha visto/percebido essa função no Ace.
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Molotov Dias online 23/02/2013 às 18:55
Caraca isso é bem útil. Tanto para quem está começando a estudar RGSS, quanto pra galera que quer fazer um sistema mais flexível. Tentarei usá-los.
E espero que a galera aumente essa lista. *-*

Aliás, daria para fazer uma calculadora com aqueles comando Math. ? Talvez isso me ajude nas aulas de informática. -q

Safety and peace, brothers. \o
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Raizen online 24/02/2013 às 13:01
Citação de: Dias Anders online 23/02/2013 às 18:55
Caraca isso é bem útil. Tanto para quem está começando a estudar RGSS, quanto pra galera que quer fazer um sistema mais flexível. Tentarei usá-los.
E espero que a galera aumente essa lista. *-*

Aliás, daria para fazer uma calculadora com aqueles comando Math. ? Talvez isso me ajude nas aulas de informática. -q

Safety and peace, brothers. \o
Sim sim :D, aliás tem bem mais coisas se quiser, vou deixar o link aqui, todos podem ser usados no Chamar Script: Math.

http://www.ruby-doc.org/core-1.9.3/Math.html

Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Akira! online 24/05/2014 às 19:52
Belo Post @Raizen! :ok:
Vai nos ajudar muito na criação e otimização dos sistemas por eventos!
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: hategum rpg online 31/08/2014 às 22:52
ei @Raizen quando tiver um tempo atualiza a lista : )
Muito util esses codigos.
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: ThomasKiller670 online 10/10/2014 às 18:27
aff não da pa acessa da versão lite :T.T:
Título: Re:  Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: KertonGames online 10/10/2014 às 18:39
Citação de: thomas Kyller online 10/10/2014 às 18:27
aff não da pa acessa da versão lite :T.T:

Então baixe ou compre a versão completa do ACE.
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: ArrowPotter online 04/11/2014 às 21:44
Muito útil, já havia visto na MRM. Só uma coisa, você devia colocar alguns códigos extras, do tipo armazenar ID de Região e blabla bla. E algum tutorial daqueles que resolvem o problema de linhas do chamar script...
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Akira! online 07/04/2015 às 17:42
Mais um comando para nós:

Código (ruby:0) Selecionar
$game_map.events[id].region_idOnde id é o id do evento em questão no mapa.
Ele verifica a região que o evento está, semelhante ao
Código (ruby:0) Selecionar
$game_player.region_id, só que para eventos.
Achei bem útil para economizar as variaveis com valor de coordenadas dos eventos, principalmente em pluzzes.
Desfrutem à vontade.
Título: Re: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: Lima online 10/09/2015 às 16:50
http://forums.rpgmakerweb.com/index.php?/topic/25759-script-call-collection-for-vxace/#entry247427

Penso que adicionar esta lista seria bom também xp
Título: Mega Lista de comandos por scripts para seus sistemas por eventos!
Enviado por: raffa online 02/09/2016 às 16:11
Citação de: Lima online 10/09/2015 às 16:50
http://forums.rpgmakerweb.com/index.php?/topic/25759-script-call-collection-for-vxace/#entry247427

Penso que adicionar esta lista seria bom também xp

Você salvou minha vida, em breve vou postar um sistema que estou fazendo com alguns scripts dessa lista.
perfeita essa lista :rei:
+gold pra vc