🤔 Para Refletir :
"Um artista precisa somente de duas coisas: Honestidade e fé."
- Carlos Davilla

Script RMXP / VX / ACE - Desenhar linha entre dois pontos

DevWithCoffee

Cidadão
Membro
Membro
Juntou-se
02 de Abril de 2019
Postagens
149
Bravecoins
225
Versão: 0.1.1 (Beta) - 8 de Dezembro de 2025

Este script permite criar linhas coloridas conectando eventos, ou do jogador a um evento no mapa, eliminando a necessidade de criar eventos em paralelo e usar variáveis do jogo. Ainda é um script que pode ser aprimorado.

Possíveis melhorias futuras:
  • Selecionar cores por ID a partir de uma paleta (Array)
  • Talvez aumentar o limite de linhas (mesmo com o problema de lag)
  • Ajustar para funcionar com eventos comuns caso não exista um evento no mapa.

Licença:
  • Uso não comercial e comercial permitido
  • Não é necessário adicionar créditos
  • Modificações são liberadas
Download: [RMXP VX VXA] Paint Module.rb


Instruções:
LineID:
0..7 (Para evitar atrasos, o limite de linhas simultâneas é 8.)
CharID: Se o valor for 0 apontará para o jogador, enquanto 1 ou superior apontará para o evento no mapa
Color: Você pode definir uma cor personalizada ou usar uma das 8 cores iniciais, através do ID ou nome da cor (o nome pode ser escrito em letras minúsculas ou maiúsculas):
"black" ou 0
"red" ou 1
"green" ou 2
"blue" ou 3
"yellow" ou 4
"fuchsia" ou 5
"aqua" ou 6
"white" ou 7

Criar uma linha entre dois caracteres no mapa:
Paint.setline(LineID, CharID, CharID, Color, Height fix)
A altura padrão é -12 a partir da base do grafo do conjunto de caracteres.

Habilite a linha 3 para ir do jogador ao evento do mapa com ID 1:
Paint.setline(3,0,1)

Habilite a linha 1 para ir do evento 2 até o evento 4 com a cor AZUL:
Paint.setline(0,2,4,3)

Habilite a linha 8 do jogador ao evento 4 com a cor padrão e 28 pixels mais alto:
Paint.setline(7,0,4,nil,28)

Deleta uma linha especifica:
Paint.eraseline(ID)

Deleta a linha 8:
Paint.eraseline(7)

Apagar todas as linhas:
Paint.clearlines

Anti-Lag:
Isso permite que menos pixels sejam desenhados, tornando o jogo mais fluido.
Paint::ANTI_LAG = 2 (2 ou mais)


Uma breve explicação de como as cores funcionam:
A classe Color no RGSS funciona de forma semelhante a outros ambientes, mas permite o uso de transparência.

O comando Color.new é usado para retornar uma cor com base nos valores inseridos.
Color.new(Vermelho, Verde, Azul)
Color.new(Vermelho, Verde, Azul, Transparência)

Existem ferramentas online onde você pode converter cores em valores para usar no script. Aqui está uma lista das cores mais simples:
Ruby:
Color.new(255,255,255) # Branco
Color.new(0,0,0) # Preto
Color.new(255,0,0) # Vermelho
Color.new(0,255,0) # Verde
Color.new(0,0,255) # Azul
Color.new(255,255,0) # Amarelo
Color.new(255,0,255) # Fúcsia (um tipo de rosa)
Color.new(0,0,255) # Azul-turquesa

Aqui está um site que pode ajudar, embora o MS Paint possa mostrar isso na seleção de cores:
 
Última edição:
Um sistema padrão de seleção de cores foi incluído, o qual pode ser acessado por um número único ou pelo nome de uma das 8 cores listadas.

Foi incluída uma opção para definir o espaçamento entre pixels, que reduz o espaçamento devido à distância entre os objetos ou ao número de linhas desenhadas:
Example1.png
RGSS-Drawlines.png
 
Última edição:
Voltar
Topo Inferior