Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

XAS Action Rpg System (Secret Of Mana Styled)

Oh yeah the Overdrive system is great. I think I might modify it a little to show different animations with the different characters. (if I can, I'm not much of a scripter =P)
 
For that you might have to rewrite one of the default scripts, because XAS uses the default movement buttons (Up, Down, Left, Right.)

There might be a script out there that let's you tamper with the controls. I'm not sure if there is one, though.
 
Hey, with the help of khmp and legancyblade I edited the system of XAS to make it so you can change the the tool that a weapon uses. This opens up alot of new possiblites such as Upgrades, Profiencies, Combos, and more. I copied Moghunters HERO EDITION and put the edit inside the battle field mode. Combo sword, and Bronze Sword Uper are the new weapons i put in, press the sign to upgrade the Bronze Sword Uper.
http://www.megaupload.com/?d=Q9AMRAPG
or this link:
http://www.sendspace.com/file/mdj98t
The edit is simply this:
Open your script editor, F11. Go into the script, "XRXS - XAS", rename WEP_ID_TOOL to this $weapon_tools. Then fly down to line 1941(or the line that says: weapon_tool_id = XAS_BA::WEP_ID_TOOL[weapon_id] ) change that line to this, weapon_tool_id = $weapon_tools[weapon_id]. Now to change a tool assigned to weapon do this:
Code:
# weapon_id - the id of the weapon you are trying to change.
# new_tool - the id of the tool to be used when the weapon is activated.
$weapon_tools[weapon_id] = new_tool
You can do that through an event if you want using "Script...".
quoted by KHMP

Also the upgrades aren't just damage, its speed, armor percing, hit rate, range all becuase it switches the tool of the weapon.
 
Souloux":19ns4go9 said:
Could someone translate the 2.0 version? or does it work the same way as the original?

Basically, yes. The main added feature is the Overdrive and charged Skills.

And kudos to you, Bullet Darkness! That's great!
 
Ok everyone, I'm back, XD

First, I respond to StarGGundam2

Yeah I already know how to add things to the menu. How I have it, you can still have more than one person in the party, and switch between them at will. You can also choose places in which to call the changing the party, since you can switch between your active party and your "reserve members". Just not sure how to check if the next person in the party is dead or not, and how to see how many people you have in the party.

@Bullet_Darkness, dude I have to try this out. I'm glad you got it working.

@Regimos, yeah, that is annoying, but it dosen't make it unusable for english people. I don't speak any language but English, and a little Elvish, but I'm able to use the script without problems.

@everyone. I got a script that's very useful for XAS. Don't you hate that if you don't keep looking at your HP, you can die without knowing you're near death? Well with this one, you can have it play a sound, and flash the screen when you're low on health (you can turn off either screen flashing or sound). Just think to the Zelda games for an example.


Code:
#_________________________________________________
# MOG_Warning System V1.1            
#_________________________________________________
# By Moghunter    
# http://www.atelier-rgss.com
#_________________________________________________
#Sistema de aviso quando o HP está baixo.
#_________________________________________________
module MOG
#Porcentagem para que o sistema de danger seja ativado.
DG_LOWHP = 25
#Som que será ativado.
DG_SE = "057-Wrong01"
#Ativar flash na tela.
DG_FLASH = true
#Velocidade do aviso.
DG_LOOP = 35
end  
#_________________________________________________
$mogscript = {} if $mogscript == nil
$mogscript["warning"] = true
###############
# Game_Player #
###############
class Game_Player < Game_Character
alias mog19_initialize initialize
def initialize
@warning = 0
mog19_initialize  
end  
alias mog19_update update
def update
@warning += 1
if @warning > MOG::DG_LOOP
@warning = 0
end   
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if actor.hp * 100 / actor.maxhp <= MOG::DG_LOWHP and @warning == 1
Audio.se_play("Audio/SE/" + MOG::DG_SE ,100,100) rescue nil  
if MOG::DG_FLASH == true
$game_screen.start_flash(Color.new(255,50,0,128), 10)   
end
end
end
mog19_update 
end 
end

-edit

hey, Bullet_Darkness. The file is unavailable, I suggest you upload it to sendspace.com, it's less of a hassle to dload from anyways
 

Star

Sponsor

@ LiP

If you ever figure out how to show different Animations with Different characters with OVD system, let me know, I'd love to be able to do that with my characters.  I've already created an OVD for one of them, with it's own custom Animation

@ Legacyblade
The warning system is nice.  But it's something I don't want to use, since I find it incredibly annoying to hear that dinging sound while I was playing Zelda games like a Link to the Past.

@ Everyone. The V2.0 is totally rad! I love it, and I upgraded right away
 
StarGGundam2":1y908p9y said:
@ Everyone. The V2.0 is totally rad! I love it, and I upgraded right away

lol "rad"! I love it XD

Well I found something that kind of works. It's a script by Gubid that makes only the actor's frames increase, while events stay the same. However the frames play slowly even though my character is running fast. Check it out:

Code:
class Game_Temp
  attr_accessor :new_frame_count

  alias more_frame_temp_init initialize

  def initialize
    more_frame_temp_init
    @new_frame_count = 4
  end
end

class Game_Character
  def update
    if jumping?
      update_jump
    elsif moving?
      update_move
    else
      update_stop
    end
    if @anime_count > 18 - @move_speed * 2
      if not @step_anime and @stop_count > 0
        @pattern = @original_pattern
      else
        if self.is_a?(Game_Event)
          @pattern = (@pattern + 1) % 4
        else
          @pattern = (@pattern + 1) % $game_temp.new_frame_count
        end
      end
      @anime_count = 0
    end
    if @wait_count > 0
      @wait_count -= 1
      return
    end
    if @move_route_forcing
      move_type_custom
      return
    end
    if @starting or lock?
      return
    end
    if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
      case @move_type
      when 1
        move_type_random
      when 2
        move_type_toward_player
      when 3
        move_type_custom
      end
    end
  end
end

class Sprite_Character < RPG::Sprite
  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.is_a?(Game_Event)
          @cw = bitmap.width / 4
        else
          @cw = bitmap.width / $game_temp.new_frame_count
        end
        @ch = bitmap.height / 4
        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
      # 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
end

class Interpreter
  def upgrade_frames
    $game_temp.new_frame_count = 6
  end

  def downgrade_frames
    $game_temp.new_frame_count = 4
  end
end

At the beginning replace the "4" with the number of frames for your character.

If someone can fix the slow-playing fame situation, you'll be my hero.

EDIT: Never mind I figured it out! Simply find the line that says:

Code:
if @anime_count > 18 - @move_speed * 2

And replace the "2" with how fast you want the frames to go!

w00t
 
Thanks, dloading now!  :smile:

-edit

That air slash skill is kind of odd...the slash stays in place for awhile after you attack, XD. But that "combo sword" gives me an idea. I haven't even looked at the code, but would it be possible to use a different attack charset for each swing, and have it hold the end of each pose for a certain time before changing back to the normal sprite and reseting the "combo counter"? If you don't understand what I mean, think of how link attacks in the newer zelda games, or the attack combo system in kingdom hearts. That would make this system woop!
 
I haven't played zelda or kindom hearts in awhile(too much 'no more heros') so i don't really know what you mean but, the different sprite for each swing is possible, all i am doing is switching the tool of the weapon every time you attack, and puting a common event which after a second puts the weapon tool back to the original. So all you have to do for switching the animation for each swing is chaing this line for ever tool that is in your combo.
Code:
  SELF_MOTIONS[action_id] = "to_change"
And if you want to know how i did the combo i just made each of the tool combo a paralell event that changes the weapon's tool, and switches on a combo paralell common event that waits 20 frames then puts the weapon's tool back to the first one.

The air slash is just for the fun of it, i was having fun bombarding the enemy with a lot of them so they were stuck
You can probably use what link in pink found to increase the speed of each swing.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top