Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - ZombieBear

1
Changing Tileset Colors Using Multiply Function

This tutorial will show you how to make a layer that allows you to change the colors for a map quickly. I've seen the color replacement tool for this, but it doesn't allow the use of as many colors, nor the ability to change your caves with the paint bucket tool when you're done.

Programs needed: Just a paint program.  I use adobe photoshop elements. You don't need a super fancy paint program, just something with layers and layer option such as 'multiply'  or 'color' and 'opacity'.

1) Open up the map you want to alter. Since most RPG's have seemingly hundreds of cave maps, I will be working with a section of the earth cave tile set.

2) Change the Earth cave layer to multiply and place a new layer under it that is set to normal.
Note: This will allow the colors on the second layer to bleed through onto the cave map without actually changing the pixels.

3) Select a color that you can see easily. Use the paint bucket tool to change the entire layer to that color.

4) Next, carefully color in the walls or floor (whichever seems less dull to you) of the cave using a different color. Personally I like to go for something super high contrast here so I know where I'm at.
Spoiler: ShowHide


5) If you ignored the above note and pixels are out of the lines, clean it up. After it looks pretty decent grab the pain bucket tool and select a color that seems totally awesome. For me, I went with a scarily intense blue.
Spoiler: ShowHide

Note: Make sure your paint bucket tool is set so it's NOT contiguous and then set a tolerance of 1. This will allow you to change the entire color set on your layer without having to click all over the place.

6) Now change the color of the floor using the paint tool.
Spoiler: ShowHide

Alright, that's way too blue. If you are looking at the above cave and going, 'Yeah! That cave is awesome!" there is something wrong with you. But that's ok. We can fix it. The cave that is. Not you.


7) Select the layer that has the lovely paint work you just did and lower the opacity to whatever looks nice. I went with a value of about 67% and got this:
Spoiler: ShowHide


8) Admire your lovely cave that is not RTP brown and rejoice.

9) This rejoicing will be short-lived once you put this in your game and map with it, because you will notice if you did not do a good job cleaning up. If this happens, it will most likely be an issue with the cave walls not lining up quite right; just cry for a minute on the inside, then go back into paint and fix it. This happened to me about 12 times, but now it's perfect and I never need to touch the thing again. Yay!

10) Purple and weird grey not your thing? It's okay! Now that you have made a lovely paint layer you can change it with two clicks of your mouse and a paint bucket tool.
Spoiler: ShowHide

Greenish?

Spoiler: ShowHide

Brown. But not RTP brown!


Additional Notes: A very similar effect can be achieved using your cave layer and then a new layer placed above it. Make sure the cave layer is set to normal and set the new layer to 'Color'. This method gives very similar results to the multiply effect, but is easier to use if you are trying to be VERY precise with your color set. If your paint program has one function and not the other, this is for you.
Also, don't worry about the colored haze over everything that's not supposed to be colored. When you import it just click it and set to transparent like you usually would. If you need it to be white for whatever reason, have fun erasing.
2
Hello,

I plugged your script into my game and it's working fine for me with no changes. Are you adding the comment to your events in the event command window? It should like this:

Spoiler: ShowHide


If that's not whats going wrong then it's probable incompatible with one of your scripts.
3
I think this could be really interesting, though I'd be careful with the world A/world B when in overtake mode; it gives a Silent Hill vibe of sorts, which isn't bad in itself, but dealing with too much empty space that becomes full of overtaken in overtake mode would make it difficult to add interesting NPC's, thereby limiting your ability to interact with others and expose more of the player's drive and direction.

This seems like a heavy psychological game, so fleshing out each character really well would make things interesting, especially the kidnapper and his motivations for injecting the main character with this chemical. I'd look up some other games in the genre and look at what they did right and wrong for some ideas.
4
Script Requests / Re: Custom Magic Menu Help
March 17, 2012, 12:28:52 am
I finally figured it out, yay! I used the method from the Individual Battle Commands script by Atoa. Still don't know how to do this using elements, but someday I'll be a bit better at code and I'll figure it out :P

Anyway, here's how the script turned out:

Spoiler: ShowHide

#Skill ID's of "White magic" spells
Skill_Type = [1, 2, 3, 4, 5, 6, 43, 54, 55, 56]

#==============================================================================
# ** Window_Skill
#------------------------------------------------------------------------------
#  This window displays usable skills on the skill and battle screens.
#==============================================================================

class Window_Skill < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor, skill_command_type = [])
    super(0, 224, 640, 256)
    @actor = actor
    @skill_command_type = skill_command_type
    @column_max = 2
    refresh
    self.index = 0
    # If in battle, move window to center of screen
    # and make it semi-transparent
    if $game_temp.in_battle
      self.y = 64
      self.height = 256
      self.back_opacity = 255
    end
  end
  #--------------------------------------------------------------------------
  # * Acquiring Skill
  #--------------------------------------------------------------------------
  def skill
    return @data[self.index]
#    return $data_skills[id]
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for i in 0...@actor.skills.size
      skill = $data_skills[@actor.skills[i]]
      if skill != nil and skill_in_command?(skill)
         @data << skill
      end
     end
    # If item count is not 0, make a bit map and draw all items
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      for i in 0...@item_max
       draw_item(i)
      end
    end
  end
  #-------------------------------------------------------------------------
  def skill_in_command?(skill)
    if Skill_Type != nil and
       Skill_Type.include?(skill.id)
      return true
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #     index : item number
  #--------------------------------------------------------------------------
  def draw_item(index)
    skill = @data[index]
#    skill = $data_skills[id]
    if @actor.skill_can_use?(skill.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(skill.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 204, 32, skill.name, 0)
    self.contents.draw_text(x + 232, y, 48, 32, skill.sp_cost.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # * Help Text Update
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.skill == nil ? "" : self.skill.description)
  end
end
 


Pretty simple actually... can't believe it took me so long to figure out!  I still have some work to do on the switch statements and making the other skill windows so everything meshes, but that's not too bad. Thanks for pointing me in the right direction; everyone here has been very helpful.
5
Script Requests / Re: Custom Magic Menu Help
March 16, 2012, 01:24:19 am
I managed to get Skills Separation working, but I'm having trouble getting the results to filter to the different command window options. The skills do filter properly in the skills window though, like so:

Spoiler: ShowHide


Is there a way to filter them, maybe with a switch statement? I have my menu set up with a switch statement in Scene_Skill (obviously), and it's set up to disable the command window options by actor id. It's not really the best solution so I'd prefer to do it with the dummy elements instead, if I can ever figure out how to filter them *sigh*.

Maybe it would be easier to have each case bring up a different skill screen that will only show the appropriate skills?. Perhaps similar to this:

'White' = [1, 2, 3, 4, 5, 6]
and then... something. I'll figure it out.

Anyway, thanks for the help so far. Battles aren't really too important right now, but it would be nice to have it done and over with. I still have to focus on cutscenes and some more maps so I actually have a chunk of game. :P
6
Would it be possible for you to use a photoshop program instead of a script? You can change these values and save each bitmap separately, then link to them individually depending on your equip. It will take up more room, but I did that for weapons during battle and it works alright.

I don't know of any battle systems similar to Baldur's Gate, so best of luck.
7
Script Requests / Re: [XP] Custom Attributes
March 09, 2012, 04:22:14 pm
I don't know which battle system you are using, but there is a script for many of these included in the Enu sideview battler in the add on script "Actor Advanced Status." This script would take care of #3; it lets you set up any status you want and adds stat perks based on the weapon id number you choose.

If you can script you can probably set up some skill extensions using this system that influence you stats too. There are some skill extensions in the Enu system that allow SP damage, and spells that consume half of your current mp, so setting up an extension to add a stat boost shouldn't be too crazy.

I know this doesn't cover everything you need, but it's a start as long as it's compatible with what you're using. Good luck!
8
Script Requests / [Resolved]Custom Magic Menu Help
March 05, 2012, 01:54:12 am
Hello,

I am trying to make a magic menu similar to classic Final Fantasy games (where it branches for White Magic, Black Magic, etc). I have the command window set up to summon the appropriate skill window based on actor id, but this won't work if I add a character with both types of magic, as you can see in the picture below. Any ideas on how to limit the skills that are pushed into the skill window? I tried modifying the Blizz skill separation script as well as the Individual Battle Commands script included with the Enu sideview battle system to do this, but that turned out... badly.

(I am using RMXP and the Enu sideview battle system version 2.1.)

Spoiler: ShowHide
 
Yeah, that fire skill really shouldn't be there...



Any help would be appreciated, thanks!