Vlue 271 Posted August 19, 2013 Yah, I tried to get it to shake more evenly but it wouldn't cooperate, so I said close enough! 1 Share this post Link to post Share on other sites
+ Retired 274 Posted March 26, 2014 A bit late to the crowd but just discovered this and was very useful for putting a light on a round table without it looking lame so thanks . The addition functions were handy too like the mirrored section 1 Share this post Link to post Share on other sites
KayDgirl91 99 Posted March 28, 2014 This is absolutely phenomenal! I'll definitely make good use of this! Awesome post Share this post Link to post Share on other sites
Foron 0 Posted April 11, 2014 Can it work for regular tiles? Share this post Link to post Share on other sites
Vlue 271 Posted April 13, 2014 Works with whatever you can set as the sprite for an event. Share this post Link to post Share on other sites
xrhstos3000 3 Posted July 23, 2014 (edited) God mode I use Falcao's ABS and your script man its just what I needed. More enemies (HUE), well it will not be that boring since I am sort on sprites. Mobs and the player gonna dodge like bosses. Also, random teleport... Just thanks. 2 years since you posted it but it helped me EDIT: Just saw your post 13 April 2014... WOW you are still around. I am glad. Edited July 23, 2014 by xrhstos3000 1 Share this post Link to post Share on other sites
Mako 2 Posted December 7, 2014 Vlue, for some reason my events wait for input to spring into place. I've removed all scripts any idea whats the issue? I can give whatever is needed. Share this post Link to post Share on other sites
+ Retired 274 Posted December 7, 2014 Run a parallel process Share this post Link to post Share on other sites
Ronoke 20 Posted December 18, 2014 how to change x,y of followers? I used Tsukihime's followers move route to change the offset and here came a crash. Share this post Link to post Share on other sites
Fernyfer775 5 Posted April 22, 2015 This script is beyond amazing. Screw parallax mapping for fine tuning certain map items, this does the trick! <3 <3 <3 Share this post Link to post Share on other sites
Rairun 2 Posted May 3, 2015 Massive thanks for this. I particularly love the waypoint(x,y) call. If you don't mind, I made a minor modification to improve the call: def process_waypoint_command sx = distance_x_from(@waypoint[0]) sy = distance_y_from(@waypoint[1]) unless @locked # Added this line to stop the event from moving when interacted with And then, of course, I added another "end" between lines 381 and 382. The waypoint call worked very well, but I wanted NPCs to stop to talk to the player when interacted with, and then resume their route. 1 Share this post Link to post Share on other sites
Celeste-Ominous 0 Posted June 24, 2015 You know looking through this, after encountering my problem, I was surprised that no one else was asking any questions. Uhhhh, yeah I've got quite a few of questions actually. :\ 1. Where exactly do you put the script? Like in Modules, Game Objects, etc. 2. When you put the script in, what exactly are you supposed to do? I know you said that it tells you what to do in the script, but I read it, and it's really really vague on details on where to find and put what. And I still don't get it. 3. How do you "Call" a script? - New and Confused 0-o Share this post Link to post Share on other sites
Rairun 2 Posted June 25, 2015 You know looking through this, after encountering my problem, I was surprised that no one else was asking any questions. Uhhhh, yeah I've got quite a few of questions actually. :\ 1. Where exactly do you put the script? Like in Modules, Game Objects, etc. 2. When you put the script in, what exactly are you supposed to do? I know you said that it tells you what to do in the script, but I read it, and it's really really vague on details on where to find and put what. And I still don't get it. 3. How do you "Call" a script? - New and Confused 0-o It's actually a very well documented script, but obviously it doesn't teach you how to use RPG Maker itself. I'd recommend reading some tutorials to learn the basics first. But to answer your questions: Unless noted otherwise, always insert scripts under Materials, above Main. You can make script calls from within an event, just like you can tell it to display text, play a sound, etc. Script calls allow you to run RGSS3 code directly instead of relying on the pre-made options RPG Maker makes available. You just have to click the button for script calls and write the code when prompted. Note that, with this script, you're supposed to make script calls from within a Set Move Route command. So you create an event, add a Set Move Route command, and find the button to run a script line within it. Share this post Link to post Share on other sites
TheRamenGirl 7 Posted January 15, 2021 SADLY this is not compatible with Galv's Character Effects... does anyone have a solution please?? Share this post Link to post Share on other sites
roninator2 256 Posted January 16, 2021 (edited) Just took a look. Vlue fine tuning line 397 - comment it out. # blend_update Don't know if that will cause issues later, but it works. The blend was adding other effects on top of the shadow, or changing them, whatever. Actually after some testing. comment out the entire Sprite_Character section in Vlue's script. Edited January 16, 2021 by roninator2 Share this post Link to post Share on other sites
TheRamenGirl 7 Posted April 25 On 1/15/2021 at 9:01 AM, RedRose.190 said: SADLY this is not compatible with Galv's Character Effects... does anyone have a solution please?? This is me again from my new account because i forgot the password of RedRose.190 (lol) SO i found solution (at least for my project) To make this script compatible with Galv's Character Effects. So i will post it (and) here because many others may have the same issue and i want to help. I don't know if i am allowed to release/post the script with my edit here.. I am going to do it and if Vlue wants me to edit this post and delete it, i will do it right away !!! So again, let's summary the problem: This was my game with both scripts, (Galv's Character Effects & Fine Tuning) It turns the shadows into mirror, it disables the original mirror effect completely and I can't turn the mirror effect on. And here it's my game how it should normally be: My solutions comes with a little "cost".. To make the Galv's Character Effects reflections to work, while i had the Vlue's Eventing Tuning Script, i had to edit the Fine Tuning v3.1 (the script in demo version) because i tried with the new (v3.2) but i couldn't fix anything.. So i removed the mirror effect and the rotate (angle) effect "lines" and for the Galv's Character Effects shadows to work i had to remove the blend (color) effect from the current script (Vlue's Eventing Tuning Script). By that it means the Vlue's Eventing Tuning Script: Mirroring,Rotating and blending effect will not work. That's the little "cost". So if anyone wants Vlue's Eventing Tuning Script to be some compatible with Galv's Character Effects put this script above main and replace the original script. Spoiler ## Eventing: Fine Tuning v3.1 ## # Fine tune the x-y position, zoom, rotation, hue, as well as mirror and # flash event's sprites! # # Usage: All script calls are made with set move route # offset(x,y) within set move route x and y are equal to # the number of pixels to be offset # # set_zoom(zoom) where zoom is a number # # # # blend(color) where color is a color object # -> Color.new(red,blue,green,alpha) # # # # flash(color,duration) where color is a color object and duration # is the length of the flash # # slide(x, y) offsets the sprite, but moves them to the # position instead of transfering # # waypoint(x,y) will cause the character to head towards the # specified point. Next command starts after # point is reached. # # moveto(x,y) Not actually a new command, but one that is # nice to know, transfers event to specified # point. # # New Commands: # @shakechar has been changed to offset # @zoom has been changed to set_zoom # (The old commands will still work) # # fadein Fades the character to 255 opacity based # fadein(duration) on duration. Default of 10 frames. # # fadeout Fades the character to 0 opacity based # fadeout(duration) on duration. Default of 10 frames. # # shake Shakes the sprite, default duration of 30 # shake(duration) frames. # # random Moves the character to a random location # random(width,height) on the map. Can specify maximum range. # # random_region(id) Moves the character to a random location on # random_region(id,w,h) the map with the same region. Can specify # maximum range. # # self_switch("letter",value) Sets the self switch of the event. Letter is # "A" to "D", value is true or false. # # balloon(id) Plays the specific balloon animation on the # char # # #------# #-- Script by: V.M of D.T # #- Questions or comments can be: # posted on the thread for the script # given by email: sumptuaryspade@live.ca # provided on facebook: http://www.facebook.com/DaimoniousTailsGames # #- Free to use in any project with credit given, #-- donations always welcome via paypal! class Game_CharacterBase alias shake_init_public_members init_public_members alias shake_update update attr_accessor :zoom attr_accessor :flash_on attr_accessor :flash_color attr_accessor :flash_time attr_accessor :angle attr_accessor :need_rotate def init_public_members shake_init_public_members reset_event_details end def reset_event_details @shakechar = [false, 0, 0] @zoom = 1 @flash_on = false @flash_color = Color.new(0,0,0,0) @flash_duration = 0 @angle = 0 @total_angle = 0 @need_rotate = false @Fade = @opacity @fade_time = 0 @shake_time = 0 @shake_direction = 0 end def offset(x,y); @shakechar = [true, x, y]; end def reset reset_event_details rotate(@total_angle*-1) end def set_zoom(size); @zoom = size; end def flash(color,duration) @flash_color = color @flash_time = duration @flash_on = true end def rotate(angle) @total_angle += angle @angle = angle @need_rotate = true end def rotateoff; @need_rotate = false; end def flashoff; @flash_on = false; end def blend(color); @blend_color = color; end def screen_x if @shakechar[0] == false || @shakechar[1] == nil then $game_map.adjust_x(@real_x) * 32 + 16 else $game_map.adjust_x(@real_x) * 32 + 16 + @shakechar[1] end end def screen_y if @shakechar[0] == false || @shakechar[2] == nil then $game_map.adjust_y(@real_y) * 32 + 32 - shift_y - jump_height else $game_map.adjust_y(@real_y) * 32 + 32 - shift_y - jump_height + @shakechar[2] end end def slide(x, y) @next_x = x + @shakechar[1] @next_y = y + @shakechar[2] @step_anime = true @shakechar[0] = true @sliding = true end def fadein(time = 10) @fade_time = time @Fade = 255 end def fadeout(time = 10) @fade_time = time @Fade = 0 end def shake(time = 30) @shakechar[0] = true @shake_time = time end def random(rect_x = 250, rect_y = 250) tiles = [] tiles = tile_array(rect_x,rect_y) tiles = tiles.compact return if tiles.empty? tile = rand(tiles.size) moveto(tiles[tile][0],tiles[tile][1]) end def random_region(id, rect_x = 250, rect_y = 250) tiles = tile_array(rect_x,rect_y) tiles.each_index do |i| next if tiles.nil? erase = false erase = true unless $game_map.region_id(tiles[0], tiles[1]) == id tiles = nil if erase end tiles = tiles.compact return if tiles.empty? tile = rand(tiles.size) moveto(tiles[tile][0],tiles[tile][1]) end def tile_array(rect_x,rect_y) tiles = [];nx = 0;ny = 0 ($game_map.width * $game_map.height).times do |i| tiles.push([nx,ny]) nx += 1 if nx == $game_map.width nx = 0 ny += 1 end end tiles.each_index do |i| erase = false erase = true if tiles[0] == $game_player.x && tiles[1] == $game_player.y erase = true if tiles[0] == x && tiles[1] == y erase = true if tiles[0] > x + rect_x || tiles[0] < x - rect_x erase = true if tiles[1] > y + rect_y || tiles[1] < y - rect_y erase = true if !$game_map.check_passage(tiles[0], tiles[1], 0x0f) tiles = nil if erase end return tiles end def self_switch(symbol, boolean) return if !self.is_a?(Game_Event) key = [$game_map.map_id, self.event.id, symbol] $game_self_switches[key] = boolean end def balloon(id) @balloon_id = id end def update shake_update update_sliding if @sliding update_fading if @opacity != @Fade && @fade_time > 0 update_shake if @shake_time > 0 end def update_fading @opacity += (255 / @fade_time) if @Fade > @opacity @opacity -= (255 / @fade_time) if @Fade < @opacity @opacity = 0 if @opacity < 0; @opacity = 255 if @opacity > 255 @fade_time = 0 if @opacity == 0 || @opacity == 255 end def update_sliding @shakechar[1] += 0.5 if @next_x > @shakechar[1] @shakechar[1] -= 0.5 if @next_x < @shakechar[1] @shakechar[2] += 0.5 if @next_y > @shakechar[2] @shakechar[2] -= 0.5 if @next_y < @shakechar[2] return unless @shakechar[1] == @next_x return unless @shakechar[2] == @next_y @sliding = false @step_anime = false end def update_shake @shake_time -= 1 @shakechar[2] += 1 if @shake_direction == 0 @shakechar[2] -= 1 if @shake_direction == 1 if @shake_time % 3 == 0 @shake_direction += 1 @shake_direction = 0 if @shake_direction > 1 end end end class Game_Character alias eft_init_private_members init_private_members def init_private_members eft_init_private_members @waypoint = [-1,-1] end def update_routine_move if @wait_count > 0 @wait_count -= 1 else @move_succeed = true command = @move_route.list[@move_route_index] if command if @waypoint[0] != -1 process_waypoint_command advance_waypoint_route_index else process_move_command(command) advance_move_route_index end end end end def process_waypoint_command sx = distance_x_from(@waypoint[0]) sy = distance_y_from(@waypoint[1]) if sx.abs > sy.abs move_straight(sx > 0 ? 4 : 6) move_straight(sy > 0 ? 8 : 2) if !@move_succeed && sy != 0 elsif sy != 0 move_straight(sy > 0 ? 8 : 2) move_straight(sx > 0 ? 4 : 6) if !@move_succeed && sx != 0 end @waypoint = [-1,-1] if !@move_succeed && @move_route.skippable end def advance_waypoint_route_index return unless @x == @waypoint[0] return unless @y == @waypoint[1] @waypoint = [-1,-1] end def waypoint(x,y); @waypoint = [x,y]; end end class Sprite_Character alias eventfp_update update def update eventfp_update zoom_update rotate_update if @character.need_rotate flash_update if @character.flash_on end def blend_update; self.color = @character.blend_color; end def zoom_update self.zoom_y = @character.zoom self.zoom_x = @character.zoom end def flash_update flash(@character.flash_color,@character.flash_time) @character.flashoff end def rotate_update self.angle = @character.angle @character.rotateoff end end Share this post Link to post Share on other sites
roninator2 256 Posted April 25 (edited) 12 hours ago, TheRamenGirl said: SO i found solution (at least for my project) This is all you should need. I tested on event fine tune 3.4 class Sprite_Shadow #--------------------------------------------------------------------------- # Sprite_Shadow#blend_update (Overridden) # Remove the color change introduced by Vlue's Eventing Fine Tuning #--------------------------------------------------------------------------- def blend_update end end 12 hours ago, TheRamenGirl said: This is me again from my new account because i forgot the password of RedRose.190 (lol) You just need to click on forgot password. Edited April 25 by roninator2 Share this post Link to post Share on other sites
TheRamenGirl 7 Posted April 26 (edited) 9 hours ago, roninator2 said: This is all you should need. I tested on event fine tune 3.4 I put it under the main script as you said to me before (for new additional scripts). I am just saying this because in this case maybe i should be replacing something? because it doesen't work for me.. (i tried it with the 3.4 Version) I don't worry too much tho because i can do my part with the "trick" i said above. Thank you anyway! 9 hours ago, roninator2 said: You just need to click on forgot password. i don't even remember the email Edited April 26 by RedRose.190 Share this post Link to post Share on other sites
roninator2 256 Posted April 26 5 hours ago, TheRamenGirl said: i don't even remember the email So you have an email address that you will never use again? You could ask an admin to tell you the email address. @Rikifive Can send you a DM for that. Will you forget this email address? lol Share this post Link to post Share on other sites
TheRamenGirl 7 Posted April 26 22 minutes ago, roninator2 said: You could ask an admin to tell you the email address. @Rikifive Can send you a DM for that. Thank you! Share this post Link to post Share on other sites