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.

Topics - Zexion

31
Entertainment / Highschool drumline :D
August 26, 2013, 03:44:12 pm
Someone found a cool video of our highschool drumline, so I thought I'd share :D I'm one of the bass drums (try to find me lolol)
I remember that night being soooo fun. It was the first game of the season and we ended up challenging the other drumline and made friends lol.
Anyway, here it is:
32
Video Games / Super Smash Bros. Meleeeeeeeeeee
August 20, 2013, 10:55:40 am

Yeah I'm practicing to own my roommate this weekend...how sad
Decided to record this to test out camtasia, and damn I did not expect them to be thaaaaat hard...  I think their AI is better than their brawl AI. I could bearly handle them lol.
33
Video Games / Minecraft
August 18, 2013, 06:13:49 am
I bought it a long time ago, but I never got into it because I couldn't get used to the controls. After watching countless youtubers I've decided to try it out again, and this time with xpadder + my controller. It's beautiful :D
I made teen titan's tower lol it's not very nice looking, but it's a pretty cool headquarters and it's hard to loose.
Spoiler: ShowHide
34
Entertainment / Best cosplays ever o.o
August 15, 2013, 12:31:00 am
Lol, wtf. They look so cool
Android 18: ShowHide

Krillin,Frieza,Dende: ShowHide

Sailor Mars: ShowHide

Yugi: ShowHide

Armoured Terra: ShowHide

Birth By Sleep: ShowHide
35
General Discussion / Ideas, Give them.
August 12, 2013, 08:23:27 pm
I need ideas for things you might find in a futuristic city. Like really extremely futuristic. Like a dog poops and it is instantly transported into waste bin. nice that was genius
36
I'm making the rest of the menu for my game, and I need every treasure chest the opens to be marked on the journal. Though there are easy ways to do this, I want to get it as close to the original as possible, but that would require tons of switches. Here's what I mean.
As the player journeys along the game, there will be chests spread across the worlds that they can open. These chests are then marked in the journal on a "per world" basis with the item received. Which is easy. The complex part, is that these chests must be marked in order, so I can't just use one variable per world and display the amount of chests unlocked. If they open a chest that is on the first map of the world, that will be marked "higher" than if they opened a chest on the last map of the world.
37
Express your Creativity / Looky what I drawed
August 05, 2013, 06:50:16 pm
I am actually amazed that I did this lol.
Spoiler: ShowHide
38
General Discussion / Show off Your Before/After's
August 04, 2013, 03:26:22 pm
Well, most of us didn't start RPGmaker with a whole lot of experience. I was looking back at some stuff I had made when I first started, and wow. I can't belive I ever thought that it looked good. Lol! I was wondering if anyone else had some pics/vids/demos of their first projects. It would be fun to see!

Here are some of mine, and yes feel free to lol.
Spoiler: ShowHide

Animal Crossing phase
Spoiler: ShowHide

Kingdom Hearts "phase" (still in it lol)
39
Is there a script call to check if the player is moving? I need to for a conditional branch in my battle system :s
40
         Well, I've been trying to event a battle system for years. I've finally decided to get serious
and take it step by step until I get it working the way I would like. This is a learning experience for
me, and I'm mainly making this post to show what I've done, give ideas, and of course show the
progress. I don't plan on releasing it (at least not in the exact form I use it) because it is unique to
my game, and I'd like to keep it as unique as possible. If anything, I will probably through together
another battle system done by events that can be customized completely. Anywho, here are my updates :)
Current Development Video:

Spoiler: ShowHide
http://www.youtube.com/v/OdSkFQfmV94?hl=en_US&version=3
Enemies "spawn" at certain points, and walk around until they sense the player. Upon touch battle is initiated.

Day 1:
Spoiler: ShowHide
-"Stalking" (enemy walks around and follows player when near. touching results in battle.)(no 'first hit' effects)
-Transition (temp graphics will be used)Made the real gfx >.<
-Basic enemy spawn (selects the amount of enemies, and decides which enemies you will fight)
-Basic enemy stats (Hp, Def, Str)
-Basic enemy states (invulnerable, attacking, idle, walking, defending, etc.)-Basic player stats (Hp, Def, Str, Mag)
-Very Basic enemy AI (each type of monster will have unique AI)

-Invisible Scan (auto-targets and scans an enemies HP when not manually targeted)
-Basic Attack (average swing with your weapon)
-Basic Attack Combo (strings together a basic combo)
-Basic Defend (completely blocks damage)

Day 2:
Spoiler: ShowHide
Decided to completely erase most of what I did yesterday (except before battle transition.)
Worked on handling the players states. So far I've done 3 successfully and 1 WIP of 6 planned for today.
-Idl
-Walk
-Hit

-Hit Knock-back
-Defend
-Attack

Day 3:
Spoiler: ShowHide

Though my day is just getting started, I have already done quite a bit of art :o (see the video for details)
I also have a new list of states that I need to do today in addition to the others.
-Idl
-Walk
-Hit
-Hit Knock-back

-Defend
-Attack
-Use Command
-Dodge
-Busy

41
Entertainment / Animal Crossing: New Leaf Pics
June 13, 2013, 05:49:28 am
I kinda wanted to make a blog for this, but I doubt I would get any viewers haha. Instead I decided that I would show some pics of my first day here. As you all probably know, ACNL makes it really easy to share pics because of the ingame screenshot function and the fact that most 3DS systems actually come with an SD card. This is probably the only reason I took pics; just because I can. Lol. If anyone else has the game feel free to share.

The mayor, me, sure is treated like a king in this game.
Spoiler: ShowHide

My town fruit is the apple.
Spoiler: ShowHide

I was surprised to see this guy all washed up on my first day.
Spoiler: ShowHide

I was also surprised to not only see, but catch a hammerhead shark on my first day.
Spoiler: ShowHide

I can't invite people to my town because of wiFi issues, but I can visit!
Spoiler: ShowHide

Walt is a dirty ole' roo.
Spoiler: ShowHide

I just thought this looked kinda cool haha.
Spoiler: ShowHide

There's a small section of beach, complete with shells and all, that I can't get to X(.
Spoiler: ShowHide

My shark, swimmin' like a baws.
Spoiler: ShowHide

Some more fishies I got on my first day o.o
Spoiler: ShowHide

My crack shack.
Spoiler: ShowHide

It sucks...

Don't judge my room y'all, I just needed a place to cram my stuff for now.
42
Information

These charsets are the result of not liking any other charsets that are out there. I have found one that I've liked, but I lost it and I cannot find it anymore. This is what inspired me to make my own. The point of making this topic early is to recieve feedback on the animations and share ideas to help make a nice template for use. These are going to be animation heavy so if you are not a spriter, it might not be the best template for you.


Goals

I have plans to release several charsets each with certain poses that can be used. My goal is to have 3 age groups of sprites. This is because I understand that not every game will use an adult as the main character. I plan to make child, adult, and elder templates. Each will include several animations such as: Attack/Defend/Run/Sneak/Jump/Skill/Item/Dead
It will also include random poses that can be used in cutscenes. The random poses will depend on the age, but can include: Sitting/Pointing/Nealing/Flying/Throwing. It depends on what I feel can be used. All animations will be in 5x8 format & 5x4 format and once completed will be posted on a sheet. (Use my Movement & Animation script from the rmxp script database.) I will upload them to deviantART to ensure that they are never removed.


Downloads

As I have only just started, only previews will be shown until full animations are completed.
Male: ShowHide



Notes

Why are you doing this?
Like I mentioned, I have my own reason for needing a template. I also want to have more blizz-abs resources out there. This is also great practice for my pixel-art skills.
Are there plans to make armored and full character sprites?
As of right now, my only goals are the aforementioned. If I am still up to the challenge, I'd like to create my own character generator using VB6, as it's the only vb I have experience with. In that case I'd include shirts,pants,armours etc. all in a generator ready to go.

One last thing, wish me luck because this is now my new main project. Lol.
43
I bought a manufacture refurbished laptop from ebay which includes win 8 pro installed. The laptop is fine and im currently on it, but the software isn't activated and there is no sticker on it... Does anyone have any suggestions o.o
44
Script Troubleshooting / My General Questions
May 24, 2013, 07:05:32 am
Spoiler: ShowHide
I decided to make a post for when I have a non specific type problem. Such as something that relates to scripting in general and not to a particular script.

First: [spoiler]Is there anyway to make rand(#) exclude lower numbers? Reason: I want to have some variance in a sprite animation. It has a fast/slow/fast/slow type movement. Which I achieved by using:

if $blah == 1
@sprite.x += rand(5)
elsif $blah == 2
@sprite.x += rand(2)
elsif $blah == 3
@sprite.x -= rand(5)
elsif $blah == 4
@sprite.x -= rand(2)
end


Which works for the most part, but the part that is supposed to be faster keeps getting low numbers and moves slower than the rand(2) part. I need to somehow exclude numbers lower than 3 for the rand(5) is that possible? If not then any ideas?


I've actually gotten a really nice effect without the randoms, but if anyone has a better way to do the above please tell![/spoiler]

Edit: New problem 8/1/13
How do I freeze the whole game? I'm trying to pause the map, execute a transition (done by pictures) teleport to a new map, and resume.
45
News / Suggestions / Feedback / Theme month :P
May 23, 2013, 11:49:23 pm
We should have another one of those theme month/week things :P I kinda like them and Its fun not knowing who everyone is lol
46
Spoiler: ShowHide
So I found a script that uses G_G's screenshot script to blur the map, and it works beautifully of course. Like all other troubleshoots, there is a catch. For some reason, the script only temp-saves the image the very first time it is called. After that, although the picture is erased, it only creates the first picture over and over. This is a problem because obviously the player is going to move around the map, so it makes the menu look wrong every time they open it after the first.

Script: http://www.gdunlimited.net/forums/topic/6780-blur-screen-script-rmxp/

Edit: I've just noticed that the screenshot part is not the problem. I checked and there is definitely a new screenshot on every call, the problem is that the script still uses the old picture.


I fixed it by changing this section:
    # Set bitmap to screenshot
    bitmap = RPG::Cache.picture('temp_screenshot.png')
    @sprite[0] = Sprite.new
    @sprite[0].bitmap = bitmap
    (1...(8 * blur_val)).each {|i|
      @sprite.push(Sprite.new)
      @sprite[i].bitmap = bitmap
      @sprite[i].opacity = opacity
      dir = i % 8

To this:
    # Set bitmap to screenshot
    @bitmap = Sprite.new
    @bitmap = RPG::Cache.picture('temp_screenshot.png')
    @sprite[0] = Sprite.new
    @sprite[0].bitmap = @bitmap
    (1...(8 * blur_val)).each {|i|
      @sprite.push(Sprite.new)
      @sprite[i].bitmap = @bitmap
      @sprite[i].opacity = opacity
      dir = i % 8


and adding @bitmap.dispose
in the dispose def
47
General Discussion / How to: Damage Formulas?
May 19, 2013, 05:01:17 am
Well, I had originally planned to use a semi-scripted/evented battle system. Using a script to add a basic AI and attacking functions. I've since decided to go completely by events. I know exactly how to go about doing this as I have many examples now, and plenty of ideas. I know that it will require me to event TONS of pages worth of AI for allies as well as enemies, but it is worth it to make every enemy unique.

My problem now is making new battle formulas. Using events basically makes all default stat and skills useless unless called specifically through event. Which means I can now make damage calculations through events rather than it being pre-calculated through script. The problem is that I have no idea how to make damage formulas that would work for my battle system.

I know what I basically want from it is:
6 (related) Stats
Strength, Magic, Def, HP, MP(Sp), and Weapon Strength

Weapon's Strength accounts for a big chunk of damage.
Player Strength accounts for a bigger chunk of damage.
Magic accounts for magic damage.
Defence accounts for the percentage of damage that you can block naturally (without using defend).
Hp is of course your health and Mp is magic power.

I want enemies to max out at 400 HP. At a maximum of 25HP per health bar. Meaning 16 health bars is the highest an NPC can have. I want players to max out at around 250-300HP. This means that I want damage to be relatively low. To give you an idea of the scale: An enemy encountered at early stages will have about 10HP total, while the final boss might have 375.

Does anyone know some basic formulas I should take a look at? Aswell as how low I should start my numbers.
48
Chat / How I manage to make pixel art...
May 18, 2013, 02:49:34 am
You see I don't mind pixel art, and even enjoy it quite a lot. But even I get tired of pixeling. Making a full spritesheet in a day is simply impossible for me. I try to make one animation per day and that seems to be my limit. Today's animation was Jieo's forward movement.

Spoiler: ShowHide


As you can see in the picture, my technique is very advanced and yet super simple. I sprite till I'm bored (usually one pose is enough) and then I play a round (or 3) of super smash flash 2...

It keeps me entertained enough to keep going.
49
I've hit a crossroads at this point in development. I've developed concepts of characters: eg. Their design, personalities, fighting styles, names, back-stories etc. I've also developed a very general back-story for the world they live in and the events that led to it's formation. I have TONS of ideas on what I'd like to happen. My problem is that I just don't know how to go about designing the actual story-line. I don't know how to plan out what I want them to say, the animations I want to play, etc.

I guess what I'm asking for is...does anyone know a good way to plan out game development? Like a sort of outline type form or something?
50
http://rmrk.net/index.php/topic,43112.0.html

It's a quest driven rpg with lots of surprises and easter eggs haha. It's actually way funner than I expected. It also has a pretty low download size (15MB)
I'd definately recommend it.
51
First a note to readers: I ramble at night, that is all.

To be specific Catholism/Christianity, or any religion that says god created the world in seven days or something along those lines.

I was thinking...IF there is a god, he would obviously have created the whole universe, right? Well if it took him seven days to create Earth, a planet of relatively small size, imagine how many days it took to create Jupitar, or the sun or bigger planets? Now, in our milky way there are literally thousands of planets. Though it has not been proven, the universe has more than a few galaxies other than our own. Each with thosands of planets totaling probably billions of planets in the universe. IF god created each of these planets, and it took him seven days to make Earth, a medium sized planet. That would mean it would take him AT LEAST
1 * #of billions of planets/stars/asteroids. I say 1 just because I don't think that asteroids/stars/tiny planets would take as much time as earth, so 1 is fair. Keep in mind that the universe is only a certain amount of years old. If god really created us all, that would mean he would have to have been alive longer than the universe in which he lives. Therefore impossible?

I still believe we are all just part of a "Giant Micro-chip"
52
Express your Creativity / Mah music shiz.
May 02, 2013, 12:54:54 pm
Well I've recently gotten into making midis and stuff, and though I've only completed one, I have done some snips here and there. I'll be posting whatever I put up on sound cloud on here :D

For now: If you haven't checked out Jieo's theme link is below:

Jieo's Theme: https://soundcloud.com/rpgzexion/jieos-theme-completed

Battle music (World = undecided): https://soundcloud.com/rpgzexion/battle-music
53
Animation & Movement Script
Authors: Zexion
Version: 1.5
Type: Enhanced Movement System
Key Term: Custom Movement System



Introduction

I created this script because I really loved the features of some of the scripts out there. Two in particular were DerVVulfman's Multi-Pose Charset Script and Dirties re-write that allows for vertical correction and a custom number of frames per charset. They both had features I disliked though. DerVVulfman's had too many features, that I just felt that I didn't need laying around. Dirties was highly incompatible because it is a full rewrite.
Though this is also a full rewrite, it also has just enough features to be of great use.



Features


  • Optional 8 directional movement - Does not require 8 directional poses

  • Optional 8 pose charset - Can be any number of frames by adding "iso"

  • Ability to customize ANY charset's frames by adding "cs_#"

  • Vertical correction - for charsets whose feet do not touch the bottom. "v_#"

  • Option to use first frame as a "standing" frame (1 frame idle) with "stn" tag




Screenshots

Spoiler: ShowHide



Demo

No demo, but will make one upon request.


Script

Place above main:
Spoiler: ShowHide

#==============================================================================#
# * Movement & Animation Script
# By Zexion
# Sections by Dirtie & DerVVulfman
# Helped by KK20
# Version 1.5
#==============================================================================#
# With this script you can enable eight directional movement without the need
# of a custom character graphic. You can modify graphics on a per-file basis
# which allows for tons of custom character files. You can have 8 directional
# characters along side 4 directional characters and use an optional "standing"
# graphic as the first sprite of the charset.
#==============================================================================#
# Directions:
# Place below the default scripts.
# Adjustments take place in the file name. Add tags to a filename to change
# the way it works. You can configure some of those tags here.
#-------------------------
# Default Tags include:
# "iso" - Converts a file into an 8 pose charset. Do not use this & the "vs_#"
# tag in the same file name.
# "stn" - Looks for an additional sprite at the start of the graphic for a
# standing graphic. E.g. If you have 5 walking frames you can use this to ensure
# that the first sprite is a standing sprite and doesn't play in the walking
# animation loop.
#-------------------------
# Other Tags (non-custom) include:
# (Please note that "#" represents a number you must enter)
# "a_#" - Control the speed of an animation. 14 is good for longer animations.
# "vs_#" - The number of poses a file contains. E.g: vs_1 allows only 1 pose.
# "cs_#" - The number of frames a file contains. E.g: cs_4 allows 4 animated frames.
# "h_#" - Horizontal Shift : Allows for a file to be properly centered horizontally without editing.
# "v_#" - Vertical Shift : Allows for a file to be properly centered vertically without editing.
#==============================================================================#
module ANIM_DATA
                 SPEED = 14                # Default animation speed
                 ISO_TAG = "iso"           # Tag for 8 pose charset.
                 EIGHT_DIR = true          # Does not require certain number
                                           # of frames, or custom charset.
                 STND_TAG = "stn"          # This uses the first pose as
                                           # a standing pose. Useful for
                                           # larger animation sheets.
end

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# This section by:
# Dirtie & Zexion
# 16th December 2006
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # * Get Number of Frames for Character Graphic
 #--------------------------------------------------------------------------
 def character_frames
   @character_name.gsub(/cs\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
 #--------------------------------------------------------------------------
 # * Get Number of Rows for Character Graphic (allows for 1 row charsets.
 #--------------------------------------------------------------------------
 def character_rows
   @character_name.gsub(/vs\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
 #--------------------------------------------------------------------------
 # * Control the speed of an animation (is no longer affected by move_speed
 #--------------------------------------------------------------------------
 def animation_speed
   @character_name.gsub(/a\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return ANIM_DATA::SPEED
 end
end
class Sprite_Character < RPG::Sprite
 #--------------------------------------------------------------------------
 # * Get Number of Frames for Character Graphic
 #--------------------------------------------------------------------------
 def character_frames
   @character_name.gsub(/cs\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
 #--------------------------------------------------------------------------
 # * Get Number of Rows for Character Graphic (allows for 1 row charsets.
 #--------------------------------------------------------------------------
 def character_rows
   @character_name.gsub(/vs\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
 #--------------------------------------------------------------------------
 # * Control the speed of an animation (is no longer affected by move_speed
 #--------------------------------------------------------------------------
 def animation_speed
   @character_name.gsub(/a\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return ANIM_DATA::SPEED
 end
end
class Game_Character
 #--------------------------------------------------------------------------
 # * Get Number of Frames for Character Graphic
 #--------------------------------------------------------------------------
 def character_frames
   @character_name.gsub(/cs\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
 #--------------------------------------------------------------------------
 # * Get Number of Rows for Character Graphic (allows for 1 row charsets.
 #--------------------------------------------------------------------------
 def character_rows
   @character_name.gsub(/vs\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
 #--------------------------------------------------------------------------
 # * Control the speed of an animation (is no longer affected by move_speed
 #--------------------------------------------------------------------------
 def animation_speed
   @character_name.gsub(/a\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return ANIM_DATA::SPEED
 end
 #--------------------------------------------------------------------------
 # * Get Vertical Adjustment for Character Graphic
 #--------------------------------------------------------------------------
 def character_adjust_y
   @character_name.gsub(/v\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 0
 end
 #--------------------------------------------------------------------------
 # * Get Horizontal Adjustment for Character Graphic
 #--------------------------------------------------------------------------
 def character_adjust_x
   @character_name.gsub(/h\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 0
 end
end

class Window_Base < Window
 #--------------------------------------------------------------------------
 # * Get Vertical Adjustment for Character Graphic
 #--------------------------------------------------------------------------
 def character_adjust_y(actor)
   actor.character_name.gsub(/v\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 0
 end
 #--------------------------------------------------------------------------
 # * Get Horizontal Adjustment for Character Graphic
 #--------------------------------------------------------------------------
 def character_adjust_x(actor)
   actor.character_name.gsub(/h\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 0
 end
 #--------------------------------------------------------------------------
 # * Draw Graphic
 #     actor : actor
 #     x     : draw spot x-coordinate
 #     y     : draw spot y-coordinate
 #--------------------------------------------------------------------------
 def draw_actor_graphic(actor, x, y)
   yalign = character_adjust_y(actor)
   xalign = character_adjust_x(actor)
   bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
   cw = bitmap.width / actor.character_frames
   if actor.character_name.include?(ANIM_DATA::ISO_TAG)
     ch = bitmap.height / 8
   else
     ch = bitmap.height / 4
   end
   src_rect = Rect.new(0, ch * 2, cw, ch)
   self.contents.blt(x - cw / 2 + xalign, y - ch + yalign, bitmap, src_rect)
 end
end
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# End of section by: Dirtie & Zexion
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# This section by:
# DerVVulfman
# Zexion
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
class Game_Character  
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader   :step_anime               # Holds a sprite's step flag
 attr_reader   :walk_anime               # Holds an event's movement flag
 attr_reader   :stop_count               # The number of steps left to count
 attr_reader   :jump_count               # The number of steps in a jump
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   # Branch with jumping, moving, and stopping
   if jumping?
     update_jump
   elsif moving?
     update_move
   else
     update_stop
   end
   if @anime_count > 18 - (self.animation_speed)
     # If stop animation is OFF when stopping
     if not @step_anime and @stop_count > 0
       # Return to original pattern
       @pattern = @original_pattern
     # If stop animation is ON when moving
     else
       # Update pattern
       @pattern = (@pattern + 1) % self.character_frames
     end
     # Clear animation count
     @anime_count = 0
   end
   # If waiting
   if @wait_count > 0
     # Reduce wait count
     @wait_count -= 1
     return
   end
   # If move route is forced
   if @move_route_forcing
     # Custom move
     move_type_custom
     return
   end
   # When waiting for event execution or locked
   if @starting or lock?
     # Not moving by self
     return
   end
   # If stop count exceeds a certain value (computed from move frequency)
   if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
     # Branch by move type
     case @move_type
     when 1  # Random
       move_type_random
     when 2  # Approach
       move_type_toward_player
     when 3  # Custom
       move_type_custom
     end
   end
 end
 
 #--------------------------------------------------------------------------
 # * Move Lower Left
 #--------------------------------------------------------------------------
 def move_lower_left
   # If no direction fix
   unless @direction_fix
     turn_down_left
   end
   # When a down to left or a left to down course is passable
   if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
      (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
     # Update coordinates
     @x -= 1
     @y += 1
     # Increase steps
     increase_steps
   end
 end
 #--------------------------------------------------------------------------
 # * Move Lower Right
 #--------------------------------------------------------------------------
 def move_lower_right
   # If no direction fix
   unless @direction_fix
     turn_down_right
   end
   # When a down to right or a right to down course is passable
   if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
      (passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
     # Update coordinates
     @x += 1
     @y += 1
     # Increase steps
     increase_steps
   end
 end
 #--------------------------------------------------------------------------
 # * Move Upper Left
 #--------------------------------------------------------------------------
 def move_upper_left
   # If no direction fix
   unless @direction_fix
     turn_up_left
   end
   # When an up to left or a left to up course is passable
   if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
      (passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
     # Update coordinates
     @x -= 1
     @y -= 1
     # Increase steps
     increase_steps
   end
 end
 #--------------------------------------------------------------------------
 # * Move Upper Right
 #--------------------------------------------------------------------------
 def move_upper_right
   # If no direction fix
   unless @direction_fix
     turn_up_right
   end
   # When an up to right or a right to up course is passable
   if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
      (passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
     # Update coordinates
     @x += 1
     @y -= 1
     # Increase steps
     increase_steps
   end
 end
 #--------------------------------------------------------------------------
 # * Turn Up Left (Added for diagonal animation)
 #--------------------------------------------------------------------------  
 def turn_up_left
   unless @direction_fix
     if @character_name.include?(ANIM_DATA::ISO_TAG)
       @direction = 7
     else
       # Face left if facing right, and face up if facing down
     @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
     end      
   end
 end
 #--------------------------------------------------------------------------
 # * Turn Up Right (Added for diagonal animation)
 #--------------------------------------------------------------------------  
 def turn_up_right
   unless @direction_fix
     if @character_name.include?(ANIM_DATA::ISO_TAG)
       @direction = 9
     else
       # Face right if facing left, and face up if facing down
     @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
     end
   end
 end
 #--------------------------------------------------------------------------
 # * Turn Down Left (Added for diagonal animation)
 #--------------------------------------------------------------------------  
 def turn_down_left
   unless @direction_fix
     if @character_name.include?(ANIM_DATA::ISO_TAG)
       # Face down-left
       @direction = 1
     else
       # Face down is facing right or up
     @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)      
     end
   end
 end
 #--------------------------------------------------------------------------
 # * Turn Down Right (Added for diagonal animation)
 #--------------------------------------------------------------------------  
 def turn_down_right
   unless @direction_fix
     if @character_name.include?(ANIM_DATA::ISO_TAG)
       @direction = 3
     else
       # Face right if facing left, and face down if facing up
     @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
     end
   end
 end

 #------------------------------------------------------------------------
# * Move Random
#------------------------------------------------------------------------
 def move_random
   case rand(8)
     when 0 ; move_down(false)
     when 1 ; move_left(false)
     when 2 ; move_right(false)
     when 3 ; move_up(false)
     when 4 ; move_lower_left
     when 5 ; move_lower_right
     when 6 ; move_upper_left
     when 7 ; move_upper_right  
   end
 end
#------------------------------------------------------------------------
# * Move Toward Player
#------------------------------------------------------------------------
 def move_toward_player
   sx = @x - $game_player.x
   sy = @y - $game_player.y
   return if sx == 0 and sy == 0
   abs_sx = sx.abs
   abs_sy = sy.abs
   if abs_sx == abs_sy
     rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
   end
   if abs_sx
     move_upper_right  if sx < 0 and sy > 0
     move_upper_left   if sx > 0 and sy > 0
     move_lower_left   if sx > 0 and sy < 0
     move_lower_right  if sx < 0 and sy < 0
     move_right        if sx < 0
     move_left         if sx > 0
     move_up           if sy > 0
     move_down         if sy < 0
   end
 end
 
 #------------------------------------------------------------------------
# * Move Away from Player
#------------------------------------------------------------------------
 def move_away_from_player
   sx = @x - $game_player.x
   sy = @y - $game_player.y
   return if sx == 0 and sy == 0
   abs_sx = sx.abs
   abs_sy = sy.abs
   if abs_sx == abs_sy
     rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
   end
   if abs_sx
     move_lower_left   if sx < 0 and sy > 0
     move_lower_right  if sx > 0 and sy > 0
     move_upper_right  if sx > 0 and sy < 0
     move_upper_left   if sx < 0 and sy < 0
     move_left         if sx < 0
     move_right        if sx > 0
     move_down         if sy > 0    
     move_up           if sy < 0
   end
 end
 
 #--------------------------------------------------------------------------
 # * Set Custom Animation
 #--------------------------------------------------------------------------
 def set_custom_anim
   return if @animating
   @frame_count    = self.character_frames
   @animating      = true
   @anim_wait      = 40
   @pattern        = 0
   @direction_fix  = true
 end  
end

#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
#  This sprite is used to display the character.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Character < RPG::Sprite
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :character                # character
 attr_accessor :pattern
 #--------------------------------------------------------------------------
 # * Object Initialization
 #     viewport  : viewport
 #     character : character (Game_Character)
 #--------------------------------------------------------------------------
 def initialize(viewport, character = nil)
   super(viewport)
   @character = character
   update
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   super
   # If tile ID, file name, or hue are different from current ones
   if @tile_id != @character.tile_id or
      @character_name != @character.character_name or
      @character_hue != @character.character_hue
     # Remember tile ID, file name, and hue
     @tile_id = @character.tile_id
     @character_name = @character.character_name
     @character_hue = @character.character_hue
     # If tile ID value is valid
     if @tile_id >= 384
       self.bitmap = RPG::Cache.tile($game_map.tileset_name,
         @tile_id, @character.character_hue)
       self.src_rect.set(0, 0, 32, 32)
       self.ox = 16
       self.oy = 32
     # If tile ID value is invalid
     else
       self.bitmap = RPG::Cache.character(@character.character_name,
         @character.character_hue)
       if @character.character_name.include?(ANIM_DATA::STND_TAG)
           @cw = bitmap.width / (self.character_frames + 1)
       else
           @cw = bitmap.width / self.character_frames
       end
       if @character.character_name.include?(ANIM_DATA::ISO_TAG)
         @ch = bitmap.height / 8
       else
         @ch = bitmap.height / self.character_rows
       end
       if @character.character_adjust_x != nil
         self.ox = (@cw - @character.character_adjust_x) / 2
       else
         self.ox = @cw / 2
       end
       if @character.character_adjust_y != nil
         self.oy = @ch - @character.character_adjust_y
       else
         self.oy = @ch
       end
     end
   end
   # Set visible situation
   self.visible = (not @character.transparent)
   # If graphic is character
   if @tile_id == 0
       if not @character.step_anime and @character.stop_count > 0
         sx = (@character.pattern) * @cw
       else      
         # If event's Movement flag is checked (or player sprite)
         if @character.walk_anime                  
           # Set rectangular transfer
           if @character.character_name.include?(ANIM_DATA::STND_TAG)
               sx = (@character.pattern + 1) * @cw
           else
             sx = @character.pattern * @cw
           end
         else
           sx = @character.pattern * @cw
         end
       end
   # Basic direction value
     dir = @character.direction
     # If a custom character in use
     if @character.character_name.include?(ANIM_DATA::ISO_TAG)
         dec = (dir == 7 or dir== 9) ? 3 : 1   # directional movement.
         sy = (dir - dec) * @ch    
       else
         sy = (dir - 2) / 2 * @ch        
     end
     # Typical block transfer
     self.src_rect.set(sx, sy, @cw, @ch)
   end
   # Set sprite coordinates
   self.x = @character.screen_x
   self.y = @character.screen_y
   self.z = @character.screen_z(@ch)
   # Set opacity level, blend method, and bush depth
   self.opacity = @character.opacity
   self.blend_type = @character.blend_type
   self.bush_depth = @character.bush_depth
   # Animation
   if @character.animation_id != 0
     animation = $data_animations[@character.animation_id]
     animation(animation, true)
     @character.animation_id = 0
   end
 end
end

#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  This class handles the player. Its functions include event starting
#  determinants and map scrolling. Refer to "$game_player" for the one
#  instance of this class.
#==============================================================================

class Game_Player < Game_Character
@@poin1 = 0    
 @@poin2 = 0
 @@wait_time = 0
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :waiting
 attr_accessor :wait_time
#------------------------------------------------------------------------
# * Update Character Movement
#------------------------------------------------------------------------
def update
last_moving = moving?
   #----------------------------------------------------------------------
   #  * Movement Handling
   #----------------------------------------------------------------------
     unless moving? or $game_system.map_interpreter.running? or
     @move_route_forcing or $game_temp.message_window_showing  
       if ANIM_DATA::EIGHT_DIR == true
           case Input.dir8
             when 1 ; move_lower_left
             when 3 ; move_lower_right
             when 7 ; move_upper_left
             when 9 ; move_upper_right
             when 2 ; move_down
             when 4 ; move_left
             when 6 ; move_right
             when 8 ; move_up
           end
       else      
         case Input.dir4
           when 2 ; move_down
           when 4 ; move_left
           when 6 ; move_right
           when 8 ; move_up
         end
       end
     end
   #----------------------------------------------------------------------
   #  * Screen Positioning
   #----------------------------------------------------------------------
   last_real_x = @real_x
   last_real_y = @real_y
   super
   if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
     $game_map.scroll_down(@real_y - last_real_y)
   end
   if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
     $game_map.scroll_left(last_real_x - @real_x)
   end
   if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
     $game_map.scroll_right(@real_x - last_real_x)
   end
   if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
     $game_map.scroll_up(last_real_y - @real_y)
   end
   #----------------------------------------------------------------------
   #  * Encounter and Event Processing
   #----------------------------------------------------------------------
   unless moving?
     if last_moving
       result = check_event_trigger_here([1,2])
       if result == false
         unless $DEBUG and Input.press?(Input::CTRL)
           @encounter_count -= 1 if @encounter_count > 0
         end
       end
     end
     if Input.trigger?(Input::C)
       check_event_trigger_here([0])
       check_event_trigger_there([0,1,2])
     end
   end
end
 #------------------------------------------------------------------------
 #  * Encounter and Event Processing
 #------------------------------------------------------------------------  
 def idle_wait(duration, value)
   for i in 0...duration
     @@wait_time += 1 if value == false
     break if i >= duration / 2
   end
 end
end




Instructions

Explained pretty thoroughly in the script!


Compatibility

I don't think it is compatible with other movement scripts, may cause issues with pixel movement. Haven't tried it with blizz abs, but there is a 75% chance that it is not compatible. Should work with SDK, but not tested.


Credits and Thanks


  • DerVVulfman for base of 8-directional movement.

  • Dirtie for the frame calculation

  • Me for Mashing the scripts together

  • KK20 for helping with my mashing errors :P




Author's Notes

Here is an 8 directional charset that you can use as an example.
Aluxes iso.png
It is simply an iso charset, you can still add cs_8 to make it have 8 walking frames, or stn to make it have a stand frame.

If you have a suggestion,
Spoiler: ShowHide
you can shove it. (jk)
please feel free to comment :) I'll try my best to add or help you add anything you want to it.
54
Well I'm almost done with the movement script, only need one more class to actually finish it, but I can't get this part to stop error-ing.
I have a feeling it's because of some extra end's that might be there. This script is basically two scripts that I would like combined, which normally would not work together.

Unfortunately I don't have much time left. I have to finish my programming assignment today, and write a few pages for my sociology paper. I also have to read 2 chapters for a history exam, and study for my programming exam, so I am swamped for the week...

If anyone could please get this part fixed up, I will finish it hopefully this weekend :P
Spoiler: ShowHide
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# Zexion's Movement & Animation Script
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# Instructions:
# If you want 8-directional movement, set the below to true otherwise set to
# false.
#
# The standing pose is the first pose of the characterset. Default style rtp
# does not need a standing pose. This could be used to make charsets smaller.
#
# For a standard charset, no mod is needed:
# Charset.png
#
# For a charset with more walking frames:
# Charset_cs[5].png
#
# For a charset with vertical correction: (Fixes the charset appearing "too high")
# Charset_v[50].png    [50] is the y offset of the graphic. Must be POSITIVE
#
# For a charset with 8-directional poses:
# Charset_iso.png
#
# You can use one or all of the tags. (Two is fine also, haha.)
# Charset_cs[8]_v[50]_iso.png
# That is the setup for an isometric charset with a vertical correction of 50
# and 8 walking frames.
# (if you need a vertical correction of 50, you should prob edit the charset XD)
#
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# Configuration
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
module ANIM_DATA
                   iso_tag = "iso"         # Tag for 8 pose charset.
                 
                 eight_dir = true          # Does not require certain number
                                           # of frames, or custom charset.
            standing_frame = true          # This uses the first pose as
                                           # a standing pose. Useful for
                                           # larger animation sheets.
end

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# This section by:
# Dirtie
# 16th December 2006
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
class Game_Actor < Game_Battler
 #--------------------------------------------------------------------------
 # * Get Number of Frames for Character Graphic
 #--------------------------------------------------------------------------
 def character_frames
   @character_name.gsub(/cs\_(\d)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
end
class Sprite_Character < RPG::Sprite
 #--------------------------------------------------------------------------
 # * Get Number of Frames for Character Graphic
 #--------------------------------------------------------------------------
 def character_frames
   @character_name.gsub(/cs\_(\d)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
end
class Game_Character
 #--------------------------------------------------------------------------
 # * Get Number of Frames for Character Graphic
 #--------------------------------------------------------------------------
 def character_frames
   @character_name.gsub(/cs\_(\d)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return 4
 end
 #--------------------------------------------------------------------------
 # * Get Vertical Adjustment for Character Graphic
 #--------------------------------------------------------------------------
 def character_adjust_y
   @character_name.gsub(/v\_(\d+)/) do
     if $1 != @character_name
       return $1.to_i
     end
   end
   return nil
 end
end

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# End of section by: Dirtie
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
# This section by:
# DerVVulfman
# With small edits by Zexion to allow custom amounts of frames.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
class Game_Character  
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader   :step_anime               # Holds a sprite's step flag
 attr_reader   :walk_anime               # Holds an event's movement flag
 attr_reader   :stop_count               # The number of steps left to count
 attr_reader   :jump_count               # The number of steps in a jump
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   # Branch with jumping, moving, and stopping
   if jumping?
     update_jump
   elsif moving?
     update_move
   else
     update_stop
   end
   # If animation count exceeds maximum value
   # * Maximum value is move speed * 1 taken from basic value 18
   if @anime_count > 18 - @move_speed * 2
     # If stop animation is OFF when stopping
     if not @step_anime and @stop_count > 0
       # Return to original pattern
       @pattern = @original_pattern
     # If stop animation is ON when moving
     else
       # Update pattern
       @pattern = (@pattern + 1) % self.character_frames
     end
     # Clear animation count
     @anime_count = 0
   end
   # If waiting
   if @wait_count > 0
     # Reduce wait count
     @wait_count -= 1
     return
   end
   # If move route is forced
   if @move_route_forcing
     # Custom move
     move_type_custom
     return
   end
   # When waiting for event execution or locked
   if @starting or lock?
     # Not moving by self
     return
   end
   # If stop count exceeds a certain value (computed from move frequency)
   if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
     # Branch by move type
     case @move_type
     when 1  # Random
       move_type_random
     when 2  # Approach
       move_type_toward_player
     when 3  # Custom
       move_type_custom
     end
   end
 end
 
 #--------------------------------------------------------------------------
 # * Move Lower Left
 #--------------------------------------------------------------------------
 def move_lower_left
   # If no direction fix
   unless @direction_fix
     turn_down_left
   end
   # When a down to left or a left to down course is passable
   if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
      (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
     # Update coordinates
     @x -= 1
     @y += 1
     # Increase steps
     increase_steps
   end
 end
 #--------------------------------------------------------------------------
 # * Move Lower Right
 #--------------------------------------------------------------------------
 def move_lower_right
   # If no direction fix
   unless @direction_fix
     turn_down_right
   end
   # When a down to right or a right to down course is passable
   if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
      (passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
     # Update coordinates
     @x += 1
     @y += 1
     # Increase steps
     increase_steps
   end
 end
 #--------------------------------------------------------------------------
 # * Move Upper Left
 #--------------------------------------------------------------------------
 def move_upper_left
   # If no direction fix
   unless @direction_fix
     turn_up_left
   end
   # When an up to left or a left to up course is passable
   if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
      (passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
     # Update coordinates
     @x -= 1
     @y -= 1
     # Increase steps
     increase_steps
   end
 end
 #--------------------------------------------------------------------------
 # * Move Upper Right
 #--------------------------------------------------------------------------
 def move_upper_right
   # If no direction fix
   unless @direction_fix
     turn_up_right
   end
   # When an up to right or a right to up course is passable
   if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
      (passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
     # Update coordinates
     @x += 1
     @y -= 1
     # Increase steps
     increase_steps
   end
 end
 #--------------------------------------------------------------------------
 # * Turn Up Left (Added for diagonal animation)
 #--------------------------------------------------------------------------  
 def turn_up_left
   unless @direction_fix
     if @character_name.include?(ANIM_DATA::iso_tag)
       @direction = 7
     else
       # Face left if facing right, and face up if facing down
     @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
     end      
   end
 end
 #--------------------------------------------------------------------------
 # * Turn Up Right (Added for diagonal animation)
 #--------------------------------------------------------------------------  
 def turn_up_right
   unless @direction_fix
     if @character_name.include?(ANIM_DATA::iso_tag)
       @direction = 9
     else
       # Face right if facing left, and face up if facing down
     @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
     end
   end
 end
 #--------------------------------------------------------------------------
 # * Turn Down Left (Added for diagonal animation)
 #--------------------------------------------------------------------------  
 def turn_down_left
   unless @direction_fix
     if @character_name.include?(ANIM_DATA::iso_tag)
       # Face down-left
       @direction = 1
     else
       # Face down is facing right or up
     @direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)      
     end
   end
 end
 #--------------------------------------------------------------------------
 # * Turn Down Right (Added for diagonal animation)
 #--------------------------------------------------------------------------  
 def turn_down_right
   unless @direction_fix
     if @character_name.include?(ANIM_DATA::iso_tag)
       @direction = 3
     else
       # Face right if facing left, and face down if facing up
     @direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
     end
   end
 end

 #------------------------------------------------------------------------
# * Move Random
#------------------------------------------------------------------------
 def move_random
   case rand(8)
     when 0 ; move_down(false)
     when 1 ; move_left(false)
     when 2 ; move_right(false)
     when 3 ; move_up(false)
     when 4 ; move_lower_left
     when 5 ; move_lower_right
     when 6 ; move_upper_left
     when 7 ; move_upper_right  
   end
 end
#------------------------------------------------------------------------
# * Move Toward Player
#------------------------------------------------------------------------
 def move_toward_player
   sx = @x - $game_player.x
   sy = @y - $game_player.y
   return if sx == 0 and sy == 0
   abs_sx = sx.abs
   abs_sy = sy.abs
   if abs_sx == abs_sy
     rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
   end
   if abs_sx
     move_upper_right  if sx < 0 and sy > 0
     move_upper_left   if sx > 0 and sy > 0
     move_lower_left   if sx > 0 and sy < 0
     move_lower_right  if sx < 0 and sy < 0
     move_right        if sx < 0
     move_left         if sx > 0
     move_up           if sy > 0
     move_down         if sy < 0
   end
 end
 
 #------------------------------------------------------------------------
# * Move Away from Player
#------------------------------------------------------------------------
 def move_away_from_player
   sx = @x - $game_player.x
   sy = @y - $game_player.y
   return if sx == 0 and sy == 0
   abs_sx = sx.abs
   abs_sy = sy.abs
   if abs_sx == abs_sy
     rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
   end
   if abs_sx
     move_lower_left   if sx < 0 and sy > 0
     move_lower_right  if sx > 0 and sy > 0
     move_upper_right  if sx > 0 and sy < 0
     move_upper_left   if sx < 0 and sy < 0
     move_left         if sx < 0
     move_right        if sx > 0
     move_down         if sy > 0    
     move_up           if sy < 0
   end
 end
 
 #--------------------------------------------------------------------------
 # * Set Custom Animation
 #--------------------------------------------------------------------------
 def set_custom_anim
   return if @animating
   @frame_count    = self.character_frames
   @animating      = true
   @anim_wait      = 40
   @pattern        = 0
   @direction_fix  = true
 end  
end

#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
#  This sprite is used to display the character.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Character < RPG::Sprite
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :character                # character
 #--------------------------------------------------------------------------
 # * Object Initialization
 #     viewport  : viewport
 #     character : character (Game_Character)
 #--------------------------------------------------------------------------
 def initialize(viewport, character = nil)
   super(viewport)
   @character = character
   update
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
   super
   # If tile ID, file name, or hue are different from current ones
   if @tile_id != @character.tile_id or
      @character_name != @character.character_name or
      @character_hue != @character.character_hue
     # Remember tile ID, file name, and hue
     @tile_id = @character.tile_id
     @character_name = @character.character_name
     @character_hue = @character.character_hue
     # If tile ID value is valid
     if @tile_id >= 384
       self.bitmap = RPG::Cache.tile($game_map.tileset_name,
         @tile_id, @character.character_hue)
       self.src_rect.set(0, 0, 32, 32)
       self.ox = 16
       self.oy = 32
     # If tile ID value is invalid
     else
       self.bitmap = RPG::Cache.character(@character.character_name,
         @character.character_hue)
       if @character.character_name.include?(ANIM_DATA::iso_tag)
         if ANIM_DATA::standing_frame == true
           @cw = bitmap.width / (self.character_frames + 1)
           @ch = bitmap.height / 8
         else
           @cw = bitmap.width / self.character_frames
           @ch = bitmap.height / 8
         end
       else
         if ANIM_DATA::standing_frame == true
           @cw = bitmap.width / (self.character_frames + 1)
           @ch = bitmap.height / 4
         else
           @cw = bitmap.width / self.character_frames
           @ch = bitmap.height / 4
         end
       end
       self.ox = @cw / 2
       self.oy = @ch
     end
   end
   # Set visible situation
   self.visible = (not @character.transparent)
   # If graphic is character
   if @tile_id == 0
   # If a iso character in use
     if @character.character_name.include?(ANIM_DATA::iso_tag)
       if not @character.step_anime and @character.stop_count > 0
         sx = (@character.pattern) * @cw
       else      
         # If event's Movement flag is checked (or player sprite)
         if @character.walk_anime      
           # Set rectangular transfer
           if ANIM_DATA::standing_frame
             sx = (@character.pattern + 1) * @cw
           else
             sx = @character.pattern * @cw
           end
         else
           sx = @character.pattern * @cw
         end
       end
     # Otherwise, normal control
     else
       sx = @character.pattern * @cw
     end
   # Basic direction value
     dir = @character.direction
     # If a custom character in use
     if @character.character_name.include?(ANIM_DATA::iso_tag)
         dec = (dir == 7 or dir== 9) ? 3 : 1   # directional movement.
         sy = (dir - dec) * @ch    
       else
         sy = (dir - 2) / 2 * @ch        
     end
     # Typical block transfer
     self.src_rect.set(sx, sy, @cw, @ch)
   end
     # Set rectangular transfer
     sx = @character.pattern * @cw
     sy = (@character.direction - 2) / 2 * @ch
     self.src_rect.set(sx, sy, @cw, @ch)
   end
   # Set sprite coordinates
   self.x = @character.screen_x
   self.y = @character.screen_y
   self.z = @character.screen_z(@ch)
   # Set opacity level, blend method, and bush depth
   self.opacity = @character.opacity
   self.blend_type = @character.blend_type
   self.bush_depth = @character.bush_depth
   # Animation
   if @character.animation_id != 0
     animation = $data_animations[@character.animation_id]
     animation(animation, true)
     @character.animation_id = 0
   end
end


Btw, When I'm done the features will be:

  • Optional 8-directional movement

  • Optional 8-pose charset

  • Optional first frame standing pose

  • A custom amount of frames per charset

  • Vertical correction if needed

55
Script Troubleshooting / Error updating HUD
April 28, 2013, 03:16:10 pm
Nvm I fixed it. Just incase anyone was wondering, the fix was simply deleteing these lines:

   if @old_hp != @actor.hp or
      @old_sp != @actor.sp

and of course the extra
end

That make it only update if the hp/sp are changing
Spoiler: ShowHide
I edited a HUD script by sub to my liking and it does what it should do for the most part. However, updates to the actual graphics only happen if you take or heal damage to hp/sp. For example, I made the health grow by a variable that I can set by script call. It works, but I have to take damage for it to update to the new sprite. I am now trying to make the mp bar flash if mp_charge = 1, but since the graphics don't update all the time, it doesn't work. Can someone explain to me what I need to do?

Script:
Code: ruby
module PLAYER_HUD
                 Toggle = 27
                 Xcoord = 0  
                 Ycoord = 230
end

class Window_Base < Window
 
 def draw_base(actor, x, y) # Draws the base picture.
   actor = $game_party.actors[0]
   
   case $game_variables[1]
     when 1
       back = RPG::Cache.picture("P1 - HUD/" + "L2-Base")
     when 2
       back = RPG::Cache.picture("P1 - HUD/" + "L3-Base")
     when 3
       back = RPG::Cache.picture("P1 - HUD/" + "L4-Base")
     when 4
       back = RPG::Cache.picture("P1 - HUD/" + "L5-Base")
     else
       back = RPG::Cache.picture("P1 - HUD/" + "L1-Base")
     end
   cw = back.width  
   ch = back.height
   src_rect = Rect.new(0, 0, cw, ch)    
   self.contents.blt(x + 5, y, back, src_rect)
   
   case $game_variables[1]
     when 1
       bar = RPG::Cache.picture("P1 - HUD/" + "L2-Health")
     when 2
       bar = RPG::Cache.picture("P1 - HUD/" + "L3-Health")
     when 3
       bar = RPG::Cache.picture("P1 - HUD/" + "L4-Health")
     when 4
       bar = RPG::Cache.picture("P1 - HUD/" + "L5-Health")
     else
       bar = RPG::Cache.picture("P1 - HUD/" + "L1-Health")
     end
   cw = bar.width  * actor.hp / actor.maxhp
   ch = bar.height
   src_rect = Rect.new(0, 0, cw, ch)
   self.contents.blt(x + 28, y + 51, bar, src_rect)
 end
 
 def draw_mpbar(actor, x, y)
   actor = $game_party.actors[0]
   
   if $mp_charge == 1 # Checks for MP Charge Remember to Change!
   back = RPG::Cache.picture("P1 - HUD/" + "MPCharg-Base")
   else
   back = RPG::Cache.picture("P1 - HUD/" + "MP-Base")
   end
   cw = back.width  
   ch = back.height
   src_rect = Rect.new(0, 0, cw, ch)    
   self.contents.blt(x, y, back, src_rect)
   
   if $mp_charge == 1 # Checks for MP Charge Remember to Change!
     if $mp_flash == 0
       bar = RPG::Cache.picture("P1 - HUD/" + "MPCharg-Dark")
     else
       bar = RPG::Cache.picture("P1 - HUD/" + "MPCharg-Lit")
     end
   else
      bar = RPG::Cache.picture("P1 - HUD/" + "MP-Bar")
    end
   
   cw = bar.width  * actor.sp / actor.maxsp
   ch = bar.height
   src_rect = Rect.new(0, 0, cw, ch)
   self.contents.blt(x + 24, y + 1, bar, src_rect)
 end
 
end

class Window_PlayerHUD < Window_Base
def reset
   @old_hp = @actor.hp
   @old_sp = @actor.sp
end
 
def initialize
   super(170, 192, 310, 128)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.windowskin = RPG::Cache.windowskin("")
   self.opacity = 0
   @actor = $game_party.actors[0]
   if @actor != nil
   reset
   refresh
   end
 end  
 
def refresh
 self.contents.clear
   draw_base(@actor, 0, 0)
   draw_mpbar(@actor, 0, 61)
   reset
end
def update
  @actor = $game_party.actors[0]
  if @actor != nil  
  if @old_hp != @actor.hp or
     @old_sp != @actor.sp
  refresh
  end
end
  # Creates a loop that makes the MP bar flash on recharge.
 if $mp_charge == 1
  if $mp_flash == 0
    $mp_flash += 1
  end
 
  if $mp_flash == 5
    $mp_flash -= 1
  end
end
end
end

class Scene_Map
alias phud_main main
def main
   @phud = Window_PlayerHUD.new
   @phud.x = PLAYER_HUD::Xcoord
   @phud.y = PLAYER_HUD::Ycoord
   if $game_switches[PLAYER_HUD::Toggle] == false
   @phud.visible = true  
   else
   @phud.visible = false  
   end    
   phud_main
   @phud.dispose
end
alias phud_update update
def update
   if $game_switches[PLAYER_HUD::Toggle] == false
   @phud.visible = true  
   else
   @phud.visible = false  
   end    
   @phud.update
   phud_update
end  
end  


If you need a demo, just ask and I'll pm you!
56
Okay, so I just finished bitching out someone on youtube for not only forgetting to mention the people who's music/art/scripts he used, but also trying to pass them off as if he did them. I was just doing the usual search on kh fan games because I feel the need to see who's are better than mine and improve lol, and I came across his video. He used some sprites off of google images, some generic vx battle system, and a remixed/rock version of a kingdom hearts song. All of which, I know, he didn't make. I've seen almost everything kh related, so I know exactly where he got it all lol because the chances are I have them too.

In the comments people ask where did you get this, how long did it take to make that, nice this, etc. Instead of saying oh well I didn't make this, so and so did, he just says something like: "Thanks! It was really hard making [...]". Idk, but being someone who likes to make my own shiz, and release for the public, I would honestly hate if someone acts as if they made it. It would make me kinda angry that I spent a while on it and someone is claiming they did it instead... I don't mind not being credited at all, but when it's claimed as someone else's I get really mad.

What do you guys think? Am I being a hoe, or does it also grind your gears when people do these stupid things.
Just as an example, it would be like someone using blizz abs in a vid, and saying "It's 100% custom made by me, and not based off anything else. I spent blah blah time on it".

BTW: It's worth mentioning that I had no intention of starting something when I went lol. I watched and I was entertained, but then I scrolled and that's when I was like...uhh?
57
Evented Title Screen
Version: 1.0
Type: TitleScreen System



Introduction

Ever since I started using RPGmakerXP, it has been a struggle of mine to make beautiful title menus. I tried many scripts like animated menus, custom picture scripts, different layout, and none seemed to be good to me. Surely I couldn't be the only one?



Features


  • "Splash" screens if you wish
  • COMPLETE customization
  • Can add or take away options you want
  • Includes a way to skip the splash screens :D




Screenshots

Spoiler: ShowHide



Demo

Below I've included a demo for a simple example. This shows how to do one splash screen, and simple standard "New Game, Load, Exit" functions.
I've also included a complex example. My KH style intros. I've included it to show how you can do any type of menu with proper events and music execution.

Tutorial Demo
Complex Demo - KH Edition


Instructions

Depending on what you want to do, you will need a different amount of variables and switches. I always reserve the ENTIRE first page of switches to the Title Screen. Incase I want to get complex later on down the road. Same goes for the variables. Though alot go un-used, it would still be better to keep them all reserved and together rather than need one later and have to place it on Variable: 509 or something.

NOTE: I highly recommend downloading the demo to look at while you read.

Step One - Skipping the Boring Title Screen:
The most important part of this tutorial, is the title skip script. Without it, this type of title screen is just simply impossible.

Here is the one I use:
Spoiler: ShowHide
 #==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
# This class performs title screen processing.
#==============================================================================

class Scene_Title
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
# If battle test
if $BTEST
battle_test
return
end
# Load database
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# Make system object
$game_system = Game_System.new
# Make title graphic
# Make command window
# Continue enabled determinant
# Check if at least one save file exists
# If enabled, make @continue_enabled true; if disabled, make it false
command_new_game
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
# * Command: New Game
#--------------------------------------------------------------------------
def command_new_game
# Play decision SE
# Stop BGM
Audio.bgm_stop
# Reset frame count for measuring play time
Graphics.frame_count = 0
# Make each type of game object
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# Set up initial party
$game_party.setup_starting_members
# Set up initial map position
$game_map.setup($data_system.start_map_id)
# Move player to initial position
$game_player.moveto($data_system.start_x, $data_system.start_y)
# Refresh player
$game_player.refresh
# Run automatic change for BGM and BGS set with map
$game_map.autoplay
# Update map (run parallel process event)
$game_map.update
# Switch to map screen
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# * Command: Continue
#--------------------------------------------------------------------------
def command_continue
# If continue is disabled
unless @continue_enabled
# Play buzzer SE
$game_system.se_play($data_system.buzzer_se)
return
end
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to load screen
$scene = Scene_Load.new
end
#--------------------------------------------------------------------------
# * Command: Shutdown
#--------------------------------------------------------------------------
def command_shutdown
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Fade out BGM, BGS, and ME
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
# Shutdown
$scene = nil
end
#--------------------------------------------------------------------------
# * Battle Test
#--------------------------------------------------------------------------
def battle_test
# Load database (for battle test)
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
# Reset frame count for measuring play time
Graphics.frame_count = 0
# Make each game object
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# Set up party for battle test
$game_party.setup_battle_test_members
# Set troop ID, can escape flag, and battleback
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
# Play battle start SE
$game_system.se_play($data_system.battle_start_se)
# Play battle BGM
$game_system.bgm_play($game_system.battle_bgm)
# Switch to battle screen
$scene = Scene_Battle.new
end
end


Some scripts may not be compatible with this version. If you have compatibility issues, please don't be afraid to use google. A simple search for "Title Skip RMXP" should suffice. Alternatively, there is another skip script by Pk8, that is usually compatible where this is not. "Pk8 Title Skip Rmxp"

Step Two - Setting up your database:

This part will make sure that your actor doesn't appear on the map while the title is going. I highly suggest doing this even if you want the actor on the screen.

Simply go to the last tab in the editor and delete the entire starting party. (They will be re-added later)
NOTE: I have realized that some custom movement scripts, battle systems, and add-ons can cause errors if no members are in the party. In this case simply create a "blank" actor.

Spoiler: ShowHide

Spoiler: ShowHide

Spoiler: ShowHide



Step 3 - Setting up the Events:
First things first. If you have a screen resolution script, you are going to have to place the start character event directly in the center. Otherwise simply make the first map an empty map with the default center position as the start position.

Next make sure the map is blank with NO tiles anywhere.
(Unless you are using a map as a bg)

Create a New Event anywhere, but I like to keep them all in one corner. Name it something like "Splashes" or "Logos" etc. This will be the first part of the title, and be the first event to run.
In this event you can start any BGM or display and images or sound effects that you want to show BEFORE the menu.

First, though, Create your first switch and name it Splashes.
Turn it on at the start of the event, this will let the other events later, know that the splashes are being shown.
DISABLE MENU ACCESS
or people will be able to open the menu during your title screen.

Next do any fade in/out of your logos and what not. For the example I simply used a nintendo logo, and faded it in black. Followed by a hudson logo.

Here is what the event page looks like.
Spoiler: ShowHide


Now, if you want, you can start it up and notice that it will loop infinately.
This is where we will now fix that.

At the end of your page turn off the "Splashes" Switch and Create and Turn on a new Switch "Main - Title"
This is where it get's fun. If you want a few animations played before the actual titles appear, you are going to have to figure it out. (The kingdom hearts demo should be a good example.)

Otherwise, create a new event page on the same event, and check the box to make sure The "Main - Title" Switch is required to be on.
On this page we will simply display the background, and logo of the game. After that we will activate another switch which will be used to operate both graphics controls and menu selection.
Page 2:
Spoiler: ShowHide


Next create the last page. On this page we will use conditional branches and our first variable, which I named "selection". This will display the proper graphics depending on what is currently selected. 1 is new game 2 is load and 3 is quit.
Page3:
Spoiler: ShowHide


Next are the controls. This is where it gets really complicated... Instead of explaining I want you to take a look at the demo, or the pictures below and analyze what they do. The controls basically check which buttons are being pressed and handle if the player press, for example, Up when they are on the highest choice. A variable is also changed to properly keep track of which choice is currently selected. You can name this variable "Selection"
Spoiler: ShowHide

Spoiler: ShowHide

Spoiler: ShowHide

Spoiler: ShowHide


As you should see in the pictures, there is also controls for when the player presses enter. Now, the setup is all in the pictures and the demo, but incase you want to know. There are also more informative comments in the demo :)

Also, when you fade into a new game, you MUST use a picture because screen tone will cause glitches. I don't know why, but it does... if it works for you, then great! Most of the time though, the combos you must use to get it done prevent it from working.
Also: ENABLE MENU ACCESS
When you feel it is appropriate to do so of course

That's all!
This might seem a bit complicated, and I'll admit it took me a while to understand, but once you get it; you will love making custom title screens. Honestly this concept could even be applyed to an in-game menu, but that is a little more complex and time consuming...

Next


Credits and Thanks


  • Whoever made the title skip I use... (I've used it too long to even remember)
  • Nintendo & Hudson for the logos used as an example
  • Zexion ( ME :D )



Author's Notes

If you want to see a more complex title example please look at the KH demo. It has menus that pop up after the screen is made, animations on the logos etc. and more. Also please note that you can use a simple map as a background, and you can just use characters that walk around, etc. instead of making a fancy background. You just have to think a bit of what you want to do, and the events will do the rest!
58
Script Troubleshooting / [resolved]Opacity issue?
April 07, 2013, 12:59:23 pm
Alright, so while continuing the menu system, I ran into a wierd problem. I made a window to display some text, which is just dandy and fine, but the opacity doesn't work on the text. Here's what I mean.

I set it up using:
@win = Window_Name.new
@win.opacity = 0

Upon opening the menu, though, the text is still fully visible and looks awkward while the menu is transitioning. Is there any way to make the text transperent temporarily as well?
59
Troubleshooting / Help / elsif and else if ?
April 04, 2013, 12:17:19 am
What exactly is the difference? I used elsif right now, and it worked fine, and then added some stuff and changed it to else if just for the sake of making it look nicer, imo. The first returned no errors, the second caused the script to hang, and a syntax error requiring an extra end.

So, like I said. What exactly is the difference of elsif and else if?
60
General Discussion / Recovered more stuff :P
April 03, 2013, 07:30:57 pm
I recovered some junk including my HUGE graphics folder. Pic below shows an idea of how much stuff I had lost.
Spoiler: ShowHide

544MB are the game engines. Like the KH engine i was working on, the KH:GOG2 game I was working on, and Equinox (all graphics found, yay! :D).

Anywho, the reason the game is in this section is because I wanted to offer demo downloads of some stuff I found. It's not too much lol, and no battle systems, but it's nicely done (I'd say). All graphics are done by me, unless they are like overlays and game logos and what not.

KH:GOG2 Intro + Small character select sequence.
I suggest letting the intro complete once to see everything in it, and also try it again and hold [enter] to use the skip function :D
Everything in this demo is evented.
https://dl.dropbox.com/u/59018752/KH%20GOG%20Volume%202.exe

Equinox: Random Huge map just to show graphics and player walking.
https://dl.dropbox.com/u/59018752/Equinox.exe

I would include the kh engine, buuut before my laptop crashed I was still in the process of re-writing some scripts for the bigger screen size, and I still hadn't made all the changes and graphics for it.