Help - Search - Members - Calendar
Full Version: RPG Maker VXR
RPG RPG Revolution Forums > Scripting > Script Tutorials > RGSS2
Night5h4d3
Okay, so I was using RMVX the other day, and I really hate it's mapping system.. (among other things) And so the idea came to me, why can't I just use RMXP and throw in most if not all of the functions that VX has? Well VXR(VX-Retro) will be just that, you get RMXP's GUI with all the script-end functions of RPG Maker VX, maybe even more. Of course, most of these edits are pretty easy, but I didn't want to stop there, and that's where you guys come in.

Here is a list of features I've currently implemented, the ones in bold were originally VX only, and the others are completely new.
spoiler

Bitmap.gradient_fill_rect(x, y, width, height, color1, color2[, vertical])

Bitmap.gradient_fill_rect(rect, color1, color2[, vertical])

Bitmap.clear_rect(x, y, width, height)

Bitmap.clear_rect(rect)

Bitmap.draw_text(rect, str[, align])
If str is not a character string object, it will be converted to a character string using the to_s method before processing is performed.

Bitmap.text_size(str)
If str is not a character string object, it will be converted to a character string using the to_s method before processing is performed.

Graphics.wait(duration)

Graphics.fadeout(duration)

Graphics.fadein(duration)

Graphics.snap_to_bitmap
{This requires screenshot.dll}

Graphics.width

Graphics.height

Graphics.brightness =
{this changes the current brightness}

Graphics.brightness
{this returns the current brightness}

Sprite.width

Sprite.height


Win32.GET_HWND_W {returns the screen's current width}

Win32.GET_HWND_H {returns the screen's current height}

Win32.CENTER_X(w) {Get's the center screen's x position, w being the game screen's width; used when resizing the client area}

Win32.CENTER_Y(h) {Get's the screen's center y position, h being the game screen's height; used when resizing the client area}

And this is what I plan/hope to implement:
spoiler

Font.shadow

Font.default_shadow

Plane.viewport

Sprite.viewport

Sprite.wave_amp

Sprite.wave_length

Sprite.wave_speed

Sprite.wave_phase

Sprite.bush_opacity {Perhaps have this changeable by certain terrain tags, or manually}

Tilemap.viewport


Tilemap's max width/height {so that one tilemap can be used to cover screens larger than 640x480 instead of 2 or 3}

Viewport's max width/height {so that one viewport can be used to cover screens larger than 640x480 instead of 2 or 3}

window.viewport

window.openness


Help++ {With basic coding commands such as newline, font color, bold, italic, etc}

Concerning the system's window size, I plan on making it so that the window will conform the the screen's size and yet still
show enough data so that it's not too crowded/empty.

Array functionality {additions such as shuffling values within an array, etc}

While I plan on implementing alot of functionality into VXR, I do not intend on adding 'personal scripts' such as Mode7, or custom systems.
So basically, I'd like your thoughts and ideas if possible. If I decide to implement your idea then I will give you credit. Also, if you're a skilled RGSS(2)/Ruby scripter, I could use your help with this project.

Member Ideas:
1 thus far

Ambient Lighting submitted by: benbarrett
Vehicles return! submitted by: nichodo (will attempt)

Scripters:
spoiler
Just me

Credits thus-far:
spoiler
Enterbrain
Night5h4d3
Andreas21 (screenshot.dll)

Side Notes:
All rewrites will be directly into the existing scripts, so as to save space and avoid aliasing methods that may be used with custom scripts.
benbarrett
I think this is a good idea. One of the things I'd like to see implemented into such a project would be native lighting support. It would be nice to be able to add lighting effects to games without going after any extra scripts. It would definitely give games a little bit more of a professional look to them.

-Ben
Albino Parakeet
Not bad. I too despise RMVX's mapping system but would love to have its features on RMXP. I might use this if I ever get around to making a project.
heisenman
It's a very nice idea, but I don't think RMXP could emulate RMVX best feature, noteboxes.
Night5h4d3
QUOTE
I think this is a good idea. One of the things I'd like to see implemented into such a project would be native lighting support. It would be nice to be able to add lighting effects to games without going after any extra scripts. It would definitely give games a little bit more of a professional look to them.

-Ben

I'll consider this, however, RMXP does have a 'set tone' feature, and supports fogs, usually people with enough skill can use these to create sufficient lighting, thanks for the idea. biggrin.gif

QUOTE
It's a very nice idea, but I don't think RMXP could emulate RMVX best feature, noteboxes.


That's true, but since they dont really affect the gameplay, using a script block that has been commented out accomplishes almost the same thing. tongue.gif
heisenman
QUOTE
That's true, but since they dont really affect the gameplay, using a script block that has been commented out accomplishes almost the same thing.
They do, they offer an extremely customizable and unique outcome both visually and mechanically to skills, equipment, items, enemies behaviour, and general permissions/restrictions, but I admitt my scripting knowledge is laughable, so I don't know if the same result could be accomplished without them.


Still, I hope this project suceeds, I'd love to see VX functionalities with RMXP mapping system smile.gif
joey101
i agree the VX mapping sucks
anyway this would be cool to have....
yes and i hope it does suceeds
MagitekElite
I don't like VX's mapping either, so good idea!
joey101
mabye this system can have script packs so the creators go look
for scripts that other people made and add it to VXR
Rukiri
QUOTE (joey101 @ Oct 29 2010, 05:45 PM) *
i agree the VX mapping sucks
anyway this would be cool to have....
yes and i hope it does suceeds

Hanzo sure made good use of it laugh.gif
Night5h4d3
QUOTE (joey101 @ Oct 30 2010, 08:16 AM) *
mabye this system can have script packs so the creators go look
for scripts that other people made and add it to VXR

Not sure what you mean but I think it's a good idea, could you elaborate?
Legacy
If you need another scripter, let me know happy.gif
Night5h4d3
QUOTE (Legacy @ Nov 1 2010, 11:58 AM) *
If you need another scripter, let me know happy.gif

The more the merrier, in a week or so I'll upload the project so the scripters can work with the VXR environment. smile.gif
joey101
QUOTE (Night5h4d3 @ Oct 30 2010, 08:20 AM) *
QUOTE (joey101 @ Oct 30 2010, 08:16 AM) *
mabye this system can have script packs so the creators go look
for scripts that other people made and add it to VXR

Not sure what you mean but I think it's a good idea, could you elaborate?

yea have'nt been on for a while dry.gif
what i mean is that you could make scrpits for VXR and when you download the program or sdk or whatever it is
it would come with the scripts in an ZIP. file
so lets say you download rpg maker xp there would be a zip file in the folder then the install file and all that
once you install it you extract the files and it has all these scripts
so for like XP
XAS
Blizz ABS
Blizz ABS online extension
Rice Feild CBS
then you can import them into your game so you dont have to look all over for some
plus you should use word press to make a blog for VXR

hoped that helped
Night5h4d3
That does indeed sound interesting, however, VXR is only meant to be a .rxproj. No new flashy editor or sdk, but a pack of scripts that are only seen in RMVX, and a few others that RMXP could use. I'm not sure how I would implement that.. I could have the person place .rb files in the project folder and when they test a demo it auto imports them into the main scripts. How about that?

As for a blog, that's more promising, I'll see what I can do. My computer has been acting up lately and I almost lost my current progress on VXR, so it may be a while though.
Legacy
Night5h4d3, if you need a place for holding content and progress, let me know, i can set you up a private board over Legacy-studios which you can use if you like. Let me know if you want it happy.gif
Night5h4d3
That'd be great regashi. I could use a place where the scripters on this project can plan and work, separate from a front-end place in which the projects can be released/discussions on additions be made.

Right now, unofficially we have myself, you, Kread-EX, and nightrunner willing to help out some on this project. 
Legacy
alrighty, well let me know when you want me to set up a place for you smile.gif
joey101
QUOTE (Night5h4d3 @ Nov 12 2010, 05:37 AM) *
That does indeed sound interesting, however, VXR is only meant to be a .rxproj. No new flashy editor or sdk, but a pack of scripts that are only seen in RMVX, and a few others that RMXP could use. I'm not sure how I would implement that.. I could have the person place .rb files in the project folder and when they test a demo it auto imports them into the main scripts. How about that?

As for a blog, that's more promising, I'll see what I can do. My computer has been acting up lately and I almost lost my current progress on VXR, so it may be a while though.

hey man i could do the blog but ill need a new wordpress account and you'll need to tell me the name of the blog and ill need the download for VXR when its out
otherwise good luck on this project
joey101
QUOTE (Rukiri @ Oct 30 2010, 06:12 AM) *
QUOTE (joey101 @ Oct 29 2010, 05:45 PM) *
i agree the VX mapping sucks
anyway this would be cool to have....
yes and i hope it does suceeds

Hanzo sure made good use of it laugh.gif

good for him
Night5h4d3
A sorta quick update, work on this has been minimal thus-far. I've been very busy with other stuff.

However.. I'd like to make sure everyone still knows that this project is still very much alive, and I'm still accepting 3rd party input on what they'd like to see implemented. Also, if you're a very skilled RGSS scripter, and have some free time, I could use an extra hand when the time comes.

To Legacy: hopefully I'll have enough organization by December, sometime around then if you could setup the board, that'd be awesome.

To Joey101: I might just take you up on your offer of a wordpress blog for 'end-users' to view public progress/download VXR, but that probably wont be until a while after a stable version is decided upon. (right now, it's a bunch of partially working/theoretically working scripts)
Also, I was thinking of the ability to detect if .rb files are placed in the game folder and installing them during debug run-time. (to save the game creator from having to copy, paste, etc) But that kinda hit a dead-end in that it'd be a little hard to write the scripts.rxdata while it's in use.
Alternately, I thought of just not importing them, and when the user runs the games, it automatically loads the .rb files, however that idea soon died when I realized the security issues. Someone could create a .rb file to extract the contents of an encrypted .rgssad file.


That brings up another set of ideas I've come up with, I'll probably implement a script that can compile the game using a different XOR key, it might take forever, but it'd ensure a little extra protection. (I think zeriab already made a script that can do this, it should be easy)
Legacy
Okay night shade, also in the protection method way, i know a bit about the RMXP encryption process, maybe i could help you in that area. Also i have some spare time, if you want some help smile.gif
Kread-EX
I would suggest to simply scrap the encryption idea. Zeriab's method takes less than 5 minutes to bypass and even the banned guy who plagiarized an encrypter didn't provide a real safe method. Sure, the DLL was protected from injection and random UNIX characters were added to the filenames, but Linux + Brute force cracker did the job quite well.
The truth is that RM encryption method is crappy and it's much better to make a completely external system for this.
Not that many projects actually need it, so I really think it's best for those projects' scripters to simply create their own custom encryption system.
joey101
thanks for telling me Night5h4d3 thumbsup.gif if your talking about people decrypting VXR maybe you can add some password pertaction thing to it like RPG Maker Has but people still would be abel to decrypet it
other wise i can't think of any other idea
Black Dragon
Just a little idea:
Its possible convert khas neo lights to work in Rmxp?
Near fantastica is actually very updated,khas neo lights support various colours.
Screenshot:


Excuse me for my bad english.


please dont necropost ~ Legacy
joey101
QUOTE (Black Dragon @ Mar 15 2011, 06:51 AM) *
Just a little idea:
Its possible convert khas neo lights to work in Rmxp?
Near fantastica is actually very updated,khas neo lights support various colours.
Screenshot:


Excuse me for my bad english.


please dont necropost ~ Legacy

can you post the script??
Resource Dragon
Neo Light Effects;

Lookie~
CODE
#-------------------------------------------------------------------------------
# * [RMVX] Neo Light Effects
#-------------------------------------------------------------------------------
# * Este script cria efeitos usando imagens
#-------------------------------------------------------------------------------
# * By Khas (dark_khas@hotmail.com)
# * Version: 1.3
# * Released on: 04/07/2010
#
#-------------------------------------------------------------------------------
# Termos de uso:
#-------------------------------------------------------------------------------
# * ENGLISH
# All Khas' Scripts are licensed under a Creative Commons license
# All Khas' Scripts are for non-commercial projects, if you need
# them for a commercial game, please send a email to dark_khas@hotmail.com
# All Khas' Scripts are for personal use, you can edit them and use in your
# own project, but you can't post any modified version without my permission
#
# * PORTUGUES
# Todos os scripts Khas estão sob licença Creative Commons
# Todos os scripts Khas são para projetos não comerciais, se você precisar em
# seu projeto comercial, envie um email para dark_khas@hotmail.com com o pedido
# Todos os scripts Khas são para uso pessoal, você pode usar e editar para uso
# no seu projeto, porém você não pode postar nenhuma versão modificada sem
# a minha permissão
#
#-------------------------------------------------------------------------------
# Instalação:
#-------------------------------------------------------------------------------
# 1) Este script tem que ser colocado depois do "Khas Script Core"
# 2) Coloque as imagens utilizadas pelo script na pasta "Graphics/Particles/"
# 2) Configure o script na parte de configuração
#
#-------------------------------------------------------------------------------
# Como usar:
#-------------------------------------------------------------------------------
# Para colocar um efeito de luz sobre um evento simplesmente coloque um
# comentario dentro dele com o nome do efeito. Efeitos pré definidos:
#
# Light
# Fire
# Torch
# Window
# Door
# Shine
# Sparkle
# Rainbow
# Blood
# Leaf
# Xenon
#
#-------------------------------------------------------------------------------
# Habilitar o script - Não altere aqui!
#-------------------------------------------------------------------------------
if $enabled_core.nil?
p "The script 'Neo Light Effects' requires Khas Script Core 1.0 or better"
p "Please install Khas Script Core 1.0 or better"
exit
elsif $enabled_core < 1
p "The script 'Neo Light Effects' requires Khas Script Core 1.0 or better"
p "Please install Khas Script Core 1.0"
exit
else
Core.register("Neo Light Effects",1.3)
end

#-------------------------------------------------------------------------------
# Configuração:
#-------------------------------------------------------------------------------
module Neo_Light
# Coloque abaixo o ID da switch que desliga os efeitos
Neo_Light_Switch = 1
# Declaração de efeitos, não altere aqui!
Effects = {
#-------------------------------------------------------------------------------
# Configuração de efeitos
#-------------------------------------------------------------------------------
# * Modo Facil
# "nome do efeito" => Neo_Effect.new(1,2),
# 1 - Nome da imagem, na pasta "Graphics\Particles"
# 2 - Opacidade, use 0~255
#
# * Modo avançado
# "nome do efeito" => Neo_Effect.new(1,2,3,4,5,6,7,8,9),
# 1 - Nome da imagem, na pasta "Graphics\Particles"
# 2 - Opacidade, use 0~255
# 3 - Tom da imagem, use Tone.new(R,G,cool.gif
# 4 - Blend Mode, use 1~2
# 5 - Efeito X, use 0~64 (valores baixos funcionam melhor)
# 6 - Efeito Y, use 0~64 (valores baixos funcionam melhor)
# 7 - Oscilação de Angulo, use 0~180 (valores baixos funcionam melhor)
# 8 - Oscilação de Opacidade, use 0~120 (valores baixos funcionam melhor)
# 9 - Oscilação de Hue, use 0~180 (valores baixos funcionam melhor)
#
# Veja os efeitos pre definidos para detalhes
#
# NÂO ESQUEÇA DE ADICIONAR UMA VIRGULA APOS CRIAR UM EFEITO ABAIXO!
#
#-------------------------------------------------------------------------------
# * Adicione seus efeitos aqui
#-------------------------------------------------------------------------------

"Lantern" => Neo_Effect.new("Lantern",150,Tone.new(0,0,0),1),
"Arrow" => Neo_Effect.new("Arrow",255),

#-------------------------------------------------------------------------------
# * Efeitos Custom
#-------------------------------------------------------------------------------
"Window" => Neo_Effect.new("window",100),
"Door" => Neo_Effect.new("light3",100),
"Shine" => Neo_Effect.new("light2",150,Tone.new(0,0,0),1,0,0,1,0,0),
"Sparkle" => Neo_Effect.new("sparkle",150,Tone.new(0,0,0),1,0,0,3,0,7),
"Rainbow" => Neo_Effect.new("circle",150,Tone.new(0,0,0),1,0,0,-2,0,4),
"Blood" => Neo_Effect.new("fire",180,Tone.new(255,-230,-230),1,0,0,0,0,0),
"Leaf" => Neo_Effect.new("fire",130,Tone.new(-150,255,-150),1,0,0,0,0,0),
"Xenon" => Neo_Effect.new("fire",180,Tone.new(-200,-200,255),1,0,0,0,0,0),

#-------------------------------------------------------------------------------
# * Efeitos Classicos
#-------------------------------------------------------------------------------
"Light" => Neo_Effect.new("light1",100),
"Fire" => Neo_Effect.new("fire",110,Tone.new(255,-100,-255),1,3,3,0,-20,0),
"Torch" => Neo_Effect.new("fire_big",110,Tone.new(255,-100,-255),1,1,1,0,-20,0),

#-------------------------------------------------------------------------------
# Fim da configuração
#-------------------------------------------------------------------------------
}
def self.bc_sprites; bitmaps = []
Effects.keys.each { |i|
bitmaps << Effects[i].picture_name unless bitmaps.include?(Effects[i].picture_name) }
bitmaps.each { |i| Bitcore.add(Cache.particle(i), "neole_#{i}") }
end; bc_sprites
end

class Game_Event < Game_Character
include Neo_Light
alias nle_ini initialize
alias nle_stp setup
alias nle_up update
def initialize(map_id, event)
@nl_effect = false
@nl_sprite = nil
nle_ini(map_id, event)
end
def setup(new_page)
nle_stp(new_page)
refresh_light(new_page.nil?)
end
def update; nle_up
update_light unless !@nl_effect
end
def update_light
@nl_sprite.visible = !$game_switches[Neo_Light_Switch]
@nl_sprite.x = self.screen_x
@nl_sprite.y = self.screen_y - 16
@nl_sprite.x += (rand(Effects[@nl_effect].ax*2)-Effects[@nl_effect].ax)
@nl_sprite.y += (rand(Effects[@nl_effect].ay*2)-Effects[@nl_effect].ay)
@nl_sprite.opacity = Effects[@nl_effect].opacity + rand(Effects[@nl_effect].opacity_oscillation)
@nl_sprite.angle += Effects[@nl_effect].angle
@nl_sprite.angle -= 360 if @nl_sprite.angle >= 360
@nl_sprite.bitmap.hue_change(Effects[@nl_effect].hue_oscillation) unless !Effects[@nl_effect].hue_oscillation
end
def refresh_light(dispose_light=false)
unless @nl_effect == false
@nl_sprite.bitmap = nil
@nl_sprite.dispose
@nl_sprite = nil
end
@nl_effect = false
unless dispose_light
return if @list.nil?
for key in 0...@list.size
next unless @list[key].code == 108
for string in Effects.keys
@nl_effect = string if @list[key].parameters == [string]
end
end
if @nl_effect != false
@nl_sprite = Sprite.new
@nl_sprite.bitmap = Bitcore["neole_"+Effects[@nl_effect].picture_name]
@nl_sprite.ox = @nl_sprite.width/2
@nl_sprite.oy = @nl_sprite.height/2
@nl_sprite.x = 544 + 2*@nl_sprite.width
@nl_sprite.y = 416 + 2*@nl_sprite.height
@nl_sprite.z = $game_player.screen_z
@nl_sprite.blend_type = Effects[@nl_effect].blend_mode
@nl_sprite.opacity = Effects[@nl_effect].opacity
@nl_sprite.tone = Effects[@nl_effect].color
update_light if $scene.is_a?(Scene_Map)
end
end
end
def dispose_nl
unless @nl_effect == false
return unless @nl_sprite.is_a?(Sprite)
@nl_sprite.bitmap = nil
@nl_sprite.dispose
@nl_sprite = nil
@nl_effect = false
end
end
end

class Game_Map
alias nle_setup setup
def setup(map_id)
dispose_neolight
nle_setup(map_id)
end
def dispose_neolight
return if @events.nil?
@events.keys.each { |id| $game_map.events[id].dispose_nl }
end
def force_light_refresh
return if @events.nil?
@events.keys.each { |id| $game_map.events[id].refresh_light }
end
end

class Spriteset_Map
alias nle_initialize initialize
alias nle_dispose dispose
def initialize
nle_initialize
$game_map.force_light_refresh
end
def dispose
nle_dispose
$game_map.dispose_neolight
end
end


Most of it's instructions are in Spanish Portuguese; If you'd like it translated i could probably do it rather quickly.
joey101
QUOTE (Prelude Dikter @ Mar 20 2011, 01:54 PM) *
Neo Light Effects;

Lookie~
CODE
#-------------------------------------------------------------------------------
# * [RMVX] Neo Light Effects
#-------------------------------------------------------------------------------
# * Este script cria efeitos usando imagens
#-------------------------------------------------------------------------------
# * By Khas (dark_khas@hotmail.com)
# * Version: 1.3
# * Released on: 04/07/2010
#
#-------------------------------------------------------------------------------
# Termos de uso:
#-------------------------------------------------------------------------------
# * ENGLISH
# All Khas' Scripts are licensed under a Creative Commons license
# All Khas' Scripts are for non-commercial projects, if you need
# them for a commercial game, please send a email to dark_khas@hotmail.com
# All Khas' Scripts are for personal use, you can edit them and use in your
# own project, but you can't post any modified version without my permission
#
# * PORTUGUES
# Todos os scripts Khas estão sob licença Creative Commons
# Todos os scripts Khas são para projetos não comerciais, se você precisar em
# seu projeto comercial, envie um email para dark_khas@hotmail.com com o pedido
# Todos os scripts Khas são para uso pessoal, você pode usar e editar para uso
# no seu projeto, porém você não pode postar nenhuma versão modificada sem
# a minha permissão
#
#-------------------------------------------------------------------------------
# Instalação:
#-------------------------------------------------------------------------------
# 1) Este script tem que ser colocado depois do "Khas Script Core"
# 2) Coloque as imagens utilizadas pelo script na pasta "Graphics/Particles/"
# 2) Configure o script na parte de configuração
#
#-------------------------------------------------------------------------------
# Como usar:
#-------------------------------------------------------------------------------
# Para colocar um efeito de luz sobre um evento simplesmente coloque um
# comentario dentro dele com o nome do efeito. Efeitos pré definidos:
#
# Light
# Fire
# Torch
# Window
# Door
# Shine
# Sparkle
# Rainbow
# Blood
# Leaf
# Xenon
#
#-------------------------------------------------------------------------------
# Habilitar o script - Não altere aqui!
#-------------------------------------------------------------------------------
if $enabled_core.nil?
p "The script 'Neo Light Effects' requires Khas Script Core 1.0 or better"
p "Please install Khas Script Core 1.0 or better"
exit
elsif $enabled_core < 1
p "The script 'Neo Light Effects' requires Khas Script Core 1.0 or better"
p "Please install Khas Script Core 1.0"
exit
else
Core.register("Neo Light Effects",1.3)
end

#-------------------------------------------------------------------------------
# Configuração:
#-------------------------------------------------------------------------------
module Neo_Light
# Coloque abaixo o ID da switch que desliga os efeitos
Neo_Light_Switch = 1
# Declaração de efeitos, não altere aqui!
Effects = {
#-------------------------------------------------------------------------------
# Configuração de efeitos
#-------------------------------------------------------------------------------
# * Modo Facil
# "nome do efeito" => Neo_Effect.new(1,2),
# 1 - Nome da imagem, na pasta "Graphics\Particles"
# 2 - Opacidade, use 0~255
#
# * Modo avançado
# "nome do efeito" => Neo_Effect.new(1,2,3,4,5,6,7,8,9),
# 1 - Nome da imagem, na pasta "Graphics\Particles"
# 2 - Opacidade, use 0~255
# 3 - Tom da imagem, use Tone.new(R,G,cool.gif
# 4 - Blend Mode, use 1~2
# 5 - Efeito X, use 0~64 (valores baixos funcionam melhor)
# 6 - Efeito Y, use 0~64 (valores baixos funcionam melhor)
# 7 - Oscilação de Angulo, use 0~180 (valores baixos funcionam melhor)
# 8 - Oscilação de Opacidade, use 0~120 (valores baixos funcionam melhor)
# 9 - Oscilação de Hue, use 0~180 (valores baixos funcionam melhor)
#
# Veja os efeitos pre definidos para detalhes
#
# NÂO ESQUEÇA DE ADICIONAR UMA VIRGULA APOS CRIAR UM EFEITO ABAIXO!
#
#-------------------------------------------------------------------------------
# * Adicione seus efeitos aqui
#-------------------------------------------------------------------------------

"Lantern" => Neo_Effect.new("Lantern",150,Tone.new(0,0,0),1),
"Arrow" => Neo_Effect.new("Arrow",255),

#-------------------------------------------------------------------------------
# * Efeitos Custom
#-------------------------------------------------------------------------------
"Window" => Neo_Effect.new("window",100),
"Door" => Neo_Effect.new("light3",100),
"Shine" => Neo_Effect.new("light2",150,Tone.new(0,0,0),1,0,0,1,0,0),
"Sparkle" => Neo_Effect.new("sparkle",150,Tone.new(0,0,0),1,0,0,3,0,7),
"Rainbow" => Neo_Effect.new("circle",150,Tone.new(0,0,0),1,0,0,-2,0,4),
"Blood" => Neo_Effect.new("fire",180,Tone.new(255,-230,-230),1,0,0,0,0,0),
"Leaf" => Neo_Effect.new("fire",130,Tone.new(-150,255,-150),1,0,0,0,0,0),
"Xenon" => Neo_Effect.new("fire",180,Tone.new(-200,-200,255),1,0,0,0,0,0),

#-------------------------------------------------------------------------------
# * Efeitos Classicos
#-------------------------------------------------------------------------------
"Light" => Neo_Effect.new("light1",100),
"Fire" => Neo_Effect.new("fire",110,Tone.new(255,-100,-255),1,3,3,0,-20,0),
"Torch" => Neo_Effect.new("fire_big",110,Tone.new(255,-100,-255),1,1,1,0,-20,0),

#-------------------------------------------------------------------------------
# Fim da configuração
#-------------------------------------------------------------------------------
}
def self.bc_sprites; bitmaps = []
Effects.keys.each { |i|
bitmaps << Effects[i].picture_name unless bitmaps.include?(Effects[i].picture_name) }
bitmaps.each { |i| Bitcore.add(Cache.particle(i), "neole_#{i}") }
end; bc_sprites
end

class Game_Event < Game_Character
include Neo_Light
alias nle_ini initialize
alias nle_stp setup
alias nle_up update
def initialize(map_id, event)
@nl_effect = false
@nl_sprite = nil
nle_ini(map_id, event)
end
def setup(new_page)
nle_stp(new_page)
refresh_light(new_page.nil?)
end
def update; nle_up
update_light unless !@nl_effect
end
def update_light
@nl_sprite.visible = !$game_switches[Neo_Light_Switch]
@nl_sprite.x = self.screen_x
@nl_sprite.y = self.screen_y - 16
@nl_sprite.x += (rand(Effects[@nl_effect].ax*2)-Effects[@nl_effect].ax)
@nl_sprite.y += (rand(Effects[@nl_effect].ay*2)-Effects[@nl_effect].ay)
@nl_sprite.opacity = Effects[@nl_effect].opacity + rand(Effects[@nl_effect].opacity_oscillation)
@nl_sprite.angle += Effects[@nl_effect].angle
@nl_sprite.angle -= 360 if @nl_sprite.angle >= 360
@nl_sprite.bitmap.hue_change(Effects[@nl_effect].hue_oscillation) unless !Effects[@nl_effect].hue_oscillation
end
def refresh_light(dispose_light=false)
unless @nl_effect == false
@nl_sprite.bitmap = nil
@nl_sprite.dispose
@nl_sprite = nil
end
@nl_effect = false
unless dispose_light
return if @list.nil?
for key in 0...@list.size
next unless @list[key].code == 108
for string in Effects.keys
@nl_effect = string if @list[key].parameters == [string]
end
end
if @nl_effect != false
@nl_sprite = Sprite.new
@nl_sprite.bitmap = Bitcore["neole_"+Effects[@nl_effect].picture_name]
@nl_sprite.ox = @nl_sprite.width/2
@nl_sprite.oy = @nl_sprite.height/2
@nl_sprite.x = 544 + 2*@nl_sprite.width
@nl_sprite.y = 416 + 2*@nl_sprite.height
@nl_sprite.z = $game_player.screen_z
@nl_sprite.blend_type = Effects[@nl_effect].blend_mode
@nl_sprite.opacity = Effects[@nl_effect].opacity
@nl_sprite.tone = Effects[@nl_effect].color
update_light if $scene.is_a?(Scene_Map)
end
end
end
def dispose_nl
unless @nl_effect == false
return unless @nl_sprite.is_a?(Sprite)
@nl_sprite.bitmap = nil
@nl_sprite.dispose
@nl_sprite = nil
@nl_effect = false
end
end
end

class Game_Map
alias nle_setup setup
def setup(map_id)
dispose_neolight
nle_setup(map_id)
end
def dispose_neolight
return if @events.nil?
@events.keys.each { |id| $game_map.events[id].dispose_nl }
end
def force_light_refresh
return if @events.nil?
@events.keys.each { |id| $game_map.events[id].refresh_light }
end
end

class Spriteset_Map
alias nle_initialize initialize
alias nle_dispose dispose
def initialize
nle_initialize
$game_map.force_light_refresh
end
def dispose
nle_dispose
$game_map.dispose_neolight
end
end


Most of it's instructions are in Spanish Portuguese; If you'd like it translated i could probably do it rather quickly.

dude if you can translate please do thanks
nichodo
I would love to see RMVX's Vehicle system on RMXP.
Night5h4d3
I'd like to say that this project is not dead, just 'on ice' sort of.
Nichodo, I'll see about restoring some vehicle capabilities, but they wont be creatable from the editor. If anything, they will be event created

And as regards the neo light effects, I already have ambient lighting planned, but I might franken-script the two together.
joey101
QUOTE (Night5h4d3 @ May 19 2011, 10:57 AM) *
I'd like to say that this project is not dead, just 'on ice' sort of.
Nichodo, I'll see about restoring some vehicle capabilities, but they wont be creatable from the editor. If anything, they will be event created

And as regards the neo light effects, I already have ambient lighting planned, but I might franken-script the two together.

hey...so this is like some new system right?
so why dont we make are own special type of battle system for this??
Barefoot Studios
This sounds great! As with everyone else, the mapping system sucks in VX. The only thing I liked about it was the "New Aera" in the map feature, so you cansett different enemies for certain areas on that map. I wanna see this the most done for XP! I am building a world map but don't want one set of enemies for the entire map.
Tsukihime
Don't know how far this got, but chaos-project seems to be doing some interesting things when it comes to better editors

http://www.chaos-project.com/index.php?opt...s&Itemid=55
joey101
QUOTE (Tsukihime @ Oct 24 2011, 04:53 PM) *
Don't know how far this got, but chaos-project seems to be doing some interesting things when it comes to better editors

http://www.chaos-project.com/index.php?opt...s&Itemid=55


Chaos-project is another fourm i advise you remove the link now
Holder
joey I advise you to use the report button in the future if you have any concerns in regards to posts or topics and our moderators will see to it.

In this case there's nothing wrong with the mentioning of another forum by Tsukihime.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.