Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


UncannyBoots last won the day on January 6

UncannyBoots had the most liked content!

About UncannyBoots

  • Rank

Profile Information

  • Gender

RPG Maker Information

  • RM Skill -
    Game Developer

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. And that includes all of the scripts recovered in this thread?
  2. Honestly if someone could just dump a zip file containing a bunch of scripts in txt or rb format, that'd be very useful and efficient.
  3. It works for autotiles, and I've tried using it but as I said doesn't properly work in RGD. I asked about it on the official forums but no response yet. For now I'm just going back to using RGSS Player until maybe later in my development if people get interested in my game, someone more tech proficient than I can solve the issue
  4. You could try to mix both western and eastern elements. Could be interesting
  5. Lol I was making an RGD demo and an RGSS demo to showcase what I was saying, and then while testing the RGD demo, I transferred to another map with the same tileset, and the thing worked. ARRRGH hahaha I just don't know now. RGD allows for "nearest neighbor" upscaling and that makes the game much prettier. That's literally the only reason I use it lol. But I do also like its configuration menu which I have implemented into my title menu and my main menu. Oh and also it isn't connected to other RGSS3 games with the F1 menu which is another bonus. On default RGSS3 games, if you disable audio in the F1 menu, it will disable it on every other RGSS3 game on your computer. So it makes the game feel more "independent" from other VX Ace games I plan to implement mkxp in the future but it is beyond my skill level at the moment. Well honestly I would prefer to walk behind autotiles over having prettier upscaling and a neat config menu, so for now I'm switching back to RGSS player unless anyone has any solution
  6. Well it doesn't work for my project lol. It works with the default RGSS player but not with RGD, like I wrote above I have the messy solution of creating a new tileset for every map but if I could get it to work without having to do that, I would be much more relieved
  7. It works with autotiles for me. Are you using region ids, or terrain tags? The script uses those terms interchangeably at times, but you actually need to mark the tiles with region ids.
  8. After hours of trying everything I could think of (deleting every other script, deleting all common events, changing all tilesets and trying different tilesets, removing dlls) I discovered that it has something to do with the way RGD handles things. (I'm using RGD instead of the default RGSS). It works perfectly in default RGSS as far as I can tell. With RGD, it doesn't work after you transfer to another map containing the *same tileset* as the previous map. When the map you are transferred to has a different tileset to the previous one, the effect works just fine. I have a theory that maybe RGD handles map transfers in a way that it doesn't completely 'reset' the tileset info when transferring unless it changes to another tileset. So this script might only insert its effects when changing the tileset, but not on a map change; perhaps in RGSS, map changing automatically triggered a tileset change and therefore "refreshes" the script, but in RGD, it is possible that changing the map does not register a tileset change if the tileset was not actually changed. And therefore, the script doesn't get completely called and the effect doesn't work. ^ That sounds complicated and it could be completely wrong but it's one possibility. How to fix it, I don't exactly know, but maybe if the script could be refreshed from the beginning every time a map transfer occurs, it could work. I'll admit that I can't find anything supporting my theory within the script but it's the only thing I can think of
  9. That could be true, and if I were to guess it'd be in the Game_Map script, but I just have no idea where to go next. It might have something to do with this part but it's above my skill level. #-------------------------------------------------------------------------- # * Check Passage # bit: Inhibit passage check bit #-------------------------------------------------------------------------- def check_passage(x, y, bit) all_tiles(x, y).each do |tile_id| flag = tileset.flags[tile_id] next if flag & 0x10 != 0 # [☆]: No effect on passage return true if flag & bit == 0 # [○] : Passable return false if flag & bit == bit # [×] : Impassable end return false # Impassable end #-------------------------------------------------------------------------- # * Get Tile ID at Specified Coordinates #-------------------------------------------------------------------------- def tile_id(x, y, z) @map.data[x, y, z] || 0 end #-------------------------------------------------------------------------- # * Get Array of All Layer Tiles (Top to Bottom) at Specified Coordinates #-------------------------------------------------------------------------- def layered_tiles(x, y) [2, 1, 0].collect {|z| tile_id(x, y, z) } end #-------------------------------------------------------------------------- # * Get Array of All Tiles (Including Events) at Specified Coordinates #-------------------------------------------------------------------------- def all_tiles(x, y) tile_events_xy(x, y).collect {|ev| ev.tile_id } + layered_tiles(x, y) end #-------------------------------------------------------------------------- # * Get Type of Auto Tile at Specified Coordinates #-------------------------------------------------------------------------- def autotile_type(x, y, z) tile_id(x, y, z) >= 2048 ? (tile_id(x, y, z) - 2048) / 48 : -1 end #-------------------------------------------------------------------------- # * Determine Passability of Normal Character # d: direction (2,4,6,8) # Determines whether the tile at the specified coordinates is passable # in the specified direction. #-------------------------------------------------------------------------- def passable?(x, y, d) check_passage(x, y, (1 << (d / 2 - 1)) & 0x0f) end EDIT: I found this script which is exactly the kind of thing I was looking for. However, it doesn't work in my project lmao. My character just walks over the autotile. I tested it in a new project and it worked, so it has to be in conflict with one of my scripts. Considering I have probably hundreds of scripts, this'll be very fun to figure out... Sigh lol
  10. Essentially I'd like to make it so that if an autotile has a certain terrain tag, it will behave like a "star" tile, aka you can walk behind/under it. This will be useful for buildings, and it won't force me to have to make separate B-E tiles and take up precious tile space; instead I'll be able to just use the building autotiles I have created. I already have a solution for making the bottom of the building impassible.
  11. I've tried that too and it doesn't work either. The speed of ox and oy scrolling seems to be either within one of the default scripts (I can't find it) or built into the engine. I hope it's the former but who knows.
  12. I tried that, it works the exact same. I put in a number smaller than 1 like 0.01 and it acts like 1.
  13. Is there any way to make the speed for scrolling backgrounds go slower? 1 is the lowest you can go (0 just stops scrolling) but even 1 is too fast for what I'd like. I don't know where the speed calculations are in this script (if they're there at all) but I would assume they can be changed. I'd appreciate any help if true #============================================================================== # +++ MOG - Title Multibackground - [Stand Alone Series] (V1.2) +++ #============================================================================== # By Moghunter # https://atelierrgss.wordpress.com/ #============================================================================== # Adiciona múltiplas camadas animadas na tela de titulo. #============================================================================== #============================================================================= # v1.2 - Correção no efeito WAVE. #============================================================================= module MOG_TITLE_BACKGROUND BACKGROUND_EFFECT = [] #============================================================================= # # BACKGROUND_EFFECT[ A ] = [B , C , D, E ,F] # # A - LAYER ID # B - EFFECT (0 - Scrolling 1 - Waving) # C - SPEED X / Wave Power # D - SPEED Y / Wave Speed # E - Z-axis # F - FILE NAME # # # EX # # BACKGROUND_EFFECT[0] = [0,4,1,0,"Background_0"] # BACKGROUND_EFFECT[1] = [1,5,100,10,"Background_1"] # BACKGROUND_EFFECT[2] = [0,20,40,1,"Background_2"] # BACKGROUND_EFFECT[3] = [1,10,0,5,"Background_3"] # BACKGROUND_EFFECT[4] = [1,5,20,3,"Background_4"] # BACKGROUND_EFFECT[5] = [0,0,10,20,"Background_5"] # ... BACKGROUND_EFFECT[99] = [1,50,20,32,,"Background_99"] # #============================================================================= BACKGROUND_EFFECT[0] = [0,1,1,1,"Background"] #(the second and third numbers in the array are the scroll speeds) end $imported = {} if $imported.nil? $imported[:mog_title_multibackground] = true #============================================================================== # ■ Scene Tittle #============================================================================== class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # ● Dispose Background #-------------------------------------------------------------------------- alias mog_t_background_dispose_background dispose_background def dispose_background mog_t_background_dispose_background @sprite_ex_sprite.each {|sprite| next if sprite == nil ; sprite.bitmap.dispose ; sprite.dispose} end #-------------------------------------------------------------------------- # ● Create Background #-------------------------------------------------------------------------- def create_background @bb_data = [MOG_TITLE_BACKGROUND::BACKGROUND_EFFECT[0],MOG_TITLE_BACKGROUND::BACKGROUND_EFFECT[1]] @bb_data[0] = [0,0,0,0] if @bb_data[0] == nil ; @bb_data[1] = [0,0,0,1] if @bb_data[1] == nil if @bb_data[0][0] == 0 @sprite1 = Plane.new ; @sprite1.bitmap = bb_bitmap(0,@bb_data[0]) else @sprite1 = Sprite.new ; prepare_wave_effect(@sprite1,0,@bb_data[0]) end @sprite1.z = @bb_data[0][3] if @bb_data[1][0] == 0 @sprite2 = Plane.new ; @sprite2.bitmap = bb_bitmap(1,@bb_data[1]) else @sprite2 = Sprite.new ; prepare_wave_effect(@sprite2,1,@bb_data[1]) end @sprite2.z = @bb_data[1][3] @sprite_ex_sprite = [] for i in 0...100 ; @bb_data.push(MOG_TITLE_BACKGROUND::BACKGROUND_EFFECT[i + 2]) ; end @bb_data.each_with_index do |data, i| next if (data == nil or i < 2) if data[0] == 0 @sprite_ex_sprite[i] = Plane.new ; @sprite_ex_sprite[i].bitmap = bb_bitmap(i,data) else @sprite_ex_sprite[i] = Sprite.new ; prepare_wave_effect(@sprite_ex_sprite[i],i,data) end @sprite_ex_sprite[i].z = data[3] end end #-------------------------------------------------------------------------- # ● Prepare Wave Effect #-------------------------------------------------------------------------- def prepare_wave_effect(sprite,index,data) range = (@bb_data[index][1] + 1) * 5 ; range = 500 if range > 500 sprite.bitmap = Bitmap.new(Graphics.width + (range * 2),Graphics.height) sprite.bitmap.stretch_blt(sprite.bitmap.rect, bb_bitmap(index,data), bb_bitmap(index,data).rect) center_sprite(sprite) wave_effect_s(sprite,@bb_data[index]) end #-------------------------------------------------------------------------- # ● BB Bitmap #-------------------------------------------------------------------------- def bb_bitmap(index,data) return Cache.title1(data[4].to_s) end #-------------------------------------------------------------------------- # ● Wave Effect S #-------------------------------------------------------------------------- def wave_effect_s(sprite,data) sprite.wave_amp = 1 + data[1] ; sprite.wave_speed = 100 + 100 * data[2] sprite.wave_length = sprite.bitmap.width ; sprite.x -= sprite.wave_amp / 2 end #-------------------------------------------------------------------------- # ● Update #-------------------------------------------------------------------------- alias mog_t_background_update update def update mog_t_background_update scroll_bb(@sprite1,@bb_data[0]) ; scroll_bb(@sprite2,@bb_data[1]) @bb_data.each_with_index do |data, i| ; next if (data == nil or i < 2) scroll_bb(@sprite_ex_sprite[i],data) ; end end #-------------------------------------------------------------------------- # ● Scroll BB #-------------------------------------------------------------------------- def scroll_bb(sprite,data) if data[0] == 0 ; sprite.ox += data[1] ; sprite.oy += data[2] else ; sprite.update ; end end end end EDIT: Yeah they definitely don't have an easy way to modify the speed. The "Scroll BB" at the bottom is the equation for the scrolling and the speed seems to be interpreted by the VX Ace engine.
  14. Is it difficult to open up a dll file? EDIT: After a quick search, it appears it is. haha Man, I'm super curious what else it is that is closed off to us in VX Ace now lol
  15. UncannyBoots

    Hi everyone

    Uhh probably pizza? I tend to like pepperoni and italian sausage pizza with green peppers