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)

Ok you'll need two events on the page you want your hero to warp from.

The first event is an autorun - you'll want to set the DEFEATED variable to zero (this option is on the first page of the event commands and is called "control variables" - you'll need to change the maximum to 999 and then select 999, once you've done that you'll need to set it to zero.

Click OK and then "erase event" (also on the first page of the event commands).

First event done!

The second event is a parallel process - under conditions on the left hand side you'll want to select variable 999 again and set the number below it to however many enemies are on that map to defeat.

In the event window you'll want to put the transfer player code which can be found on the second page of the event commands. Under this you'll want to either put another erase event (this'll mean everytime you enter this map you'll be warped to the same place upon defeating these enemies) or turn a self switch on and add a new blank page - this'll prevent you from warping in the future if you come back to this map.

Second event done!
 
@maadogg: Hey, this is completely different form what calvin624's idea was, but take a look at this http://www.mediafire.com/?myhnyzihtyc
A quick tutorial just for you, but I was lazy, and just copied all of the XAS files over, sorry.

@Anyone Whos Interested
By going through the script and editing the battle formula, I have come up with some really good skill effects. In my game that I am working on, I changed AGI to be a completly defensive stat, and DEX to be a piercing stat, and In my game, when you hit an enemy, it will NEVER say 'miss'. So I had no reason to your Dex_f, or Agi_f in my skills, nor eva_f, or hit rate, so I changed eva_f into lifesteal %, hit rate into critical %, agi_f into [% of missing life converted into damage], and dex_f into critical damage. Also I made a more effiencient way of making weapons by including the weapon's element into the attack, WITHOUT having to make another tool.
See how powerful XAS can be with just a little extra grade 1 scripting?

Oh and btw, ever remember the old XAS Hero Addition v2.0?
Look how much this little puppy has grown.
 
@Bullet Darkness - Yeah I did the same before I discovered that variable 999 does it automatically, but either method is as valid as the next.

http://xasabs.wordpress.com/2009/10/03/ ... iable-999/

This method comes in handy if throughout the game you want to maybe make something happen when you kill 100 of a specific monster.

I'm intrigued about your edited formula - if you want to share you can put together a tutorial and I'll gladly put it up on the site :)

I agree we've came a long way since version 2.0 - and I have a feeling Moghunter will never seize to amaze us with his additions to the system.
 
Yea, I know about the Defeat Enemy Variable, but the thing is, if you want to see how many enemies you've killed throughout the whole game and still use it, you have to do alot of more work. So instead, i rather do it this way.

Okay about the edited formula, in XAS-System at about line 5620, you will find all of the damage formula. Its actually quite simple what you can edit in there.
Make sure you notice that there is the attack effect section and the skill effect section, attack effect is only for enemies with the attack_on command, skill effect is the rest.
To add your weapon's element effects to any skill that has atk_f greater than 0, you find the line of script that says this
Code:
          self.damage *= elements_correct(skill.element_set)

          self.damage /= 100
Then with this, you change it to look like this:
Code:
        if (skill.atk_f > 0)        

          self.damage *= (elements_correct(skill.element_set) + elements_correct(user.element_set))

          self.damage /= 200

        else

          self.damage *= elements_correct(skill.element_set)

          self.damage /= 100

        end
But since in my game, Intelligence also increases your element damage if it is super effective, I also put this in.
Code:
      if (elements_correct(skill.element_set) > 100)

        if (skill.atk_f > 0)        

          self.damage *= (elements_correct(skill.element_set) + elements_correct(user.element_set)) * (user.int + 20) / 20

          self.damage /= 200

        else

          self.damage *= elements_correct(skill.element_set) * (user.int + 20) / 20

          self.damage /= 100

        end

      else

        if (skill.atk_f > 0)        

          self.damage *= (elements_correct(skill.element_set) + elements_correct(user.element_set))

          self.damage /= 200

        else

          self.damage *= elements_correct(skill.element_set)

          self.damage /= 100

        end

      end
So that way if it is super effective, intelligence increases your element damage by 5%

Now to do the same with Status Effects go find the line that says this:
Code:
      effective |= states_plus(skill.plus_state_set)
Right below that, put this:
Code:
      if (skill.atk_f > 0)

        effective |= states_plus(user.plus_state_set)

        effective |= states_minus(user.minus_state_set)

      end
This means if you skill's atk_f is greater than 0, add your weapons status effects to the enemy.
BTW this is Calvin624's translated version, but it should work all the same, I just like the hud and the cool skill menu that was implemented.

I barely know how to script, and i got this done, it is not very hard. Here is my whole formula for my game if you are interested. http://www.mediafire.com/?amodbh1zwzj
With this Battle Formula, these are the effects that happen:
SP Cost: Nothing Changed
Skill Power: Adds one damage
Atk_F: Converts your weapon damage, but is decreased by 1 point because Skill Power can not go below 1.
Eva_F: Converts a % of the total amount of damage done into life.
Str_F: % of strength used in the skill.
Dex_F: Since I havnt come up with a cool enough special effect yet, all it does in covert a % of the enemies current hp into damage.
Con_F: Converts % of the missing enemy health into damage.
Int_F: % of intelligence used in a spell.
Hit Rate: Bonus critical chance.
PDEF_F: % of Physical Defence used in the skill.
MDEF_F: % of Magical Defence used in the skill.
Variance: Same as always. I use 0 for all my skills currently.
HP: Your life
MP: Your mana
ATK: Your base damage that you will do to a target.
PDEF: Blocks a point of damage for every point of PDEF
MDEF: Blocks a point of magical damage for every point of MDEF. (In my game it is also going to help remove status effects)
STR: Increases physical damage done by 1 point. (or in other words, the skills that have STR_F)
DEX: Decreases the amount of damage the PDEF blocks by 1 point, increases critical damage by 1, and increases chance to critical by 2%.
AGI: Decreases all damage done by 1. (In my game it is also going to help remove status effects)
INT: Increases magical damage done by 1 point, and increases super effective element damage. (or in other words, the skills that have INT_F) (In my game, its also increases mana regeneration.)
EVA: Decreases the chance that you will be hit by a critical by 1.

In my battle formula, you ALWAYS hit, and the is no random number of damage for normal attacks.
 
Hi guys been away from the scene for a few months. Basic jist I lost my right eye and have been in and out of hospital since. Anyway I'm wanting to get back to my game making so just a few questions.

!. wheres the original site to get XAS?
2. My link to the cool tutorial page (used to be on myspace) no longer works, is there a new site?
3. Any new XAS version/scripts out?

It would be a big help if any of the above can be answered. I'd really like to get this game complete before my sight totally goes.
 
Hey Hourglass,

My site has moved, it's now hosted on wordpress which means you can leave comments and the like ...

XAS Tutorials: http://xasabs.wordpress.com/

Moghunter's site: http://www.atelier-rgss.com/

Since you've been gone I've also compiled a PDF that outlines the system for everyone.

PDF download: http://www.filefront.com/14713937/XAS-M ... -v0.1.rar/

Glad to hear you feel well enough to get back into it, you had great potential from what I remember of your game.

My good friend Gameface is producing some great scripts and features, go sign up to his site - http://gameface101.playogame.com/

Hope to see you on both of these sites real soon :biggrin:
 
Thanks Calvin thats a BIG BIG help. it's quite hard getting back in the game after so long.
Few more questions (saves me scowering the forum which isnt easy at the mo with my current sight), Did Fenwick ever get that hookshot script up and running?
Also has there been any advancements with XAS and mode 7 compatability?
 
Hourglass":3lmljsnd said:
Thanks Calvin thats a BIG BIG help. it's quite hard getting back in the game after so long.
Few more questions (saves me scowering the forum which isnt easy at the mo with my current sight), Did Fenwick ever get that hookshot script up and running?
Also has there been any advancements with XAS and mode 7 compatability?


Version: 1.6 is currently on Calvin's Site I believe...

I've just been a silent viewer as of late, work has taken hold of me probably until next year around April. I will then be continuing develeopment of the Hook Shot Tool and pushing to get it into Full Script format.

Fenwick Lorecarver
 
Hourglass":1qf0xg3p said:
Brillaint PDF (and its OCR so my reading software can read it, which is an added bonus.)

That's good to hear, makes things a little easier.

Yeah Fenwick's Hookshot is up on the site - miles better than the hook tool that comes with XAS. We all look forward to the day we get Fenwick back haha :)

http://www.megaupload.com/?d=XM78PFLD

There's the direct link to the download. Have a look under the Downloads listed under categories - might be some more stuff you like.

Enjoy!
 
Weird, why no one knows that Calvin has been translating this for a long time now?

BTW, good job Cal. After I stopped RM-ing for few months, XAS has been getting better. The 'World Map' system is great too. I'm waiting paitiently for Future : Bloodline. Good luck on it! :thumb:
 
wow! I've been "tired busy" but I gotta make time for this...

@acrox999 - that's right, hang tight cause there's going to be a Star Map :thumb:

@fenwick - looking forward to your script!

@calvin - man we are good friends, you ROCK
thanks a lot for the shout out too.

@hourglass - glad you're back in action.

@Bullet_Darkness -
I barely know how to script
you got skills, well done

CHANGING FACE HUD (by the button)
if you have been following this thread, I've been looking for a
way to make the face graphic change when block, attack, etc...
I was unable to find such a script....so I started to make one.
I finally got my changing face HUD working not too long ago.
thought I'd share it here for that holiday cheer ^,^
right now it's set up to switch the graphic by button press/trigger
the later versions will be based on action/dash/item/skill/hit/etc...

enjoy~

Code:
################################################################################

#                            CHANGING FACE HUD v 0.4

#                                 for XAS ABS v 3.6

#                              by (G/A/M/E/F/A(C/E 101

#                                    10-03-2009

#

# 

#  v0.4 = Hud now includes actor name.

#  v0.3 = Hud fades just as the 3.6 hud

#  v0.2 = face graphic by actor name + suffix of graphic name.

#  v0.1 = face graphic by button press.

#

################################################################################

module GF

# Fade Position must match super position

GFC_X = 154

# Fade Position must match super position

GFC_Y = 386

# Allow HUD opaque if the hero is on top of the HUD.

GFC_FADE = true

end

##################################################################[WINDOW CLASS]

class Window_Gameface_HUD < Window_Base#-----------------------=[in game window]

  def initialize#-------------------------------------------------=[define load]

  super (154, 386, 254, 104)#-------------=[x,y window position x,y window size]

    self.contents = Bitmap.new(width - 32, height - 32)#-----------------=[keep]

    refresh#---------------------------------------------=[call refresh command]

    self.opacity = 0#------------------------------------=[window skin opacity]

      end#-----------------------------------------------------=[end definition] 

########################################################################[UPDATE]

  def update#---------------------------------------------------=[define update]

      super#------------------------------------------=[update the super window]

      if GF::GFC_FADE == true

    x = ($game_player.real_x - $game_map.display_x) / 4

    y = ($game_player.real_y - $game_map.display_y) / 4

    hud_size_x = 80

    hud_size_y = 100

    oc_range_x = hud_size_x + GF::GFC_X

    oc_range_y = hud_size_y + GF::GFC_Y

      if x < oc_range_x and x > GF::GFC_X - 5 and

        y > GF::GFC_Y - 15 and y < oc_range_y

      self.contents_opacity -= 10 if  self.contents_opacity > 120

      else

      self.contents_opacity += 10 if  self.contents_opacity < 255

      end

    end

    refresh#---------------------------------------------=[call refresh command]

  end#---------------------------------------------------------=[end definition]

#######################################################################[REFRESH] 

  def refresh#-------------------------------------------------=[define refresh]

    self.contents.clear#-----------------------------------------=[clear bitmap]

#    draw_charactor#--------------------------------------=[call to draw_sprite]

  draw_gameface#-------------------------------------------=[call to draw_face]

  face_frame

  hero_name

end#-----------------------------------------------------------=[end definition]

###################################################################[CHAR-ACTOR]

#  def draw_charactor#--------------------------------------=[define draw_heart]

#    x = 10 #----------------------------------------------=[draw x coordinates]

#    y = 40#-----------------------------------------------=[draw y coordinates]

#    bitmap = RPG::Cache.character("001-Fighter01",0)

#    bitmap = RPG::Cache.picture(actor.character_name) rescue return

#===============================================================[complete heart]

# src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)#----------=[edit v 0.4]

# self.contents.blt(x, y, bitmap, src_rect)#-----------------------=[edit v 0.4]

#===============================================================================

####################################################################[HERO NAME]

  def hero_name

  self.contents.font.name = "Impact"#---------------------------=[FONT TYPE]

  self.contents.font.size = 24#---------------------------------=[FONT SIZE]

  self.contents.font.color.set(0, 0, 0)

  self.contents.draw_text(30 - 1, 48 - 1, 160, 32, $game_party.actors[0].name, 0)

  self.contents.draw_text(30 - 1, 48 + 1, 160, 32, $game_party.actors[0].name, 0)

  self.contents.draw_text(30 + 1, 48 - 1, 160, 32, $game_party.actors[0].name, 0)

  self.contents.draw_text(30 + 1, 48 + 1, 160, 32, $game_party.actors[0].name, 0)

  self.contents.font.color = normal_color

  self.contents.draw_text(30, 48, 160, 32, $game_party.actors[0].name, 0)

  end

###################################################################[FACE FRAME]

  def face_frame#--------------------------------------=[define draw_heart]

   

    x = 0 #----------------------------------------------=[draw x coordinates]

    y = 0#-----------------------------------------------=[draw y coordinates]

    bitmap = RPG::Cache.picture("FACE FRAME")

#  bitmap = RPG::Cache.picture(actor.character_name) rescue return

#===============================================================[complete heart]

 src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)#----------=[edit v 0.4]

 self.contents.blt(x, y, bitmap, src_rect)#-----------------------=[edit v 0.4]

 self.z = 1#-------------------------------------=[place in front

#===============================================================================

end

################################################################################

#def noface

#face = RPG::Cache.picture("")

#end

 

def draw_gameface

  self.z = 9999#-------------------------------------=[place in front

  actor = $game_party.actors[0]

    x = 16

    y = 16

    if actor == nil

    face = RPG::Cache.picture("")

#[SHOW "ACTION" GRAPHIC WHEN PLAYER ACTS]=--------------------------------------

    elsif Input.press?(Input::C)

    face = RPG::Cache.picture(actor.name + "_face_act")#

    src_rect = Rect.new(0, 0, face.width, face.height)

    self.contents.blt(x , y, face, src_rect)

#[SHOW "DEFEND" GRAPHIC WHEN PLAYER DEFEND]=--------------------------------------   

  elsif Input.press?(Input::A)# and "(shield is eqipped???)"

    face = RPG::Cache.picture(actor.name + "_face_defend")

    src_rect = Rect.new(0, 0, face.width, face.height)

    self.contents.blt(x , y, face, src_rect)

   

    elsif Input.press?(Input::X)

    face = RPG::Cache.picture(actor.name + "_face_dash")

    src_rect = Rect.new(0, 0, face.width, face.height)

    self.contents.blt(x , y, face, src_rect)

 

    elsif Input.press?(Input::Y)

    face = RPG::Cache.picture(actor.name + "_face_item")

    src_rect = Rect.new(0, 0, face.width, face.height)

    self.contents.blt(x , y, face, src_rect)

   

    elsif Input.press?(Input::Z)

    face = RPG::Cache.picture(actor.name + "_face_skill")

    src_rect = Rect.new(0, 0, face.width, face.height)

    self.contents.blt(x , y, face, src_rect)

   

    else

    face = RPG::Cache.picture(actor.name + "_face")

    src_rect = Rect.new(0, 0, face.width, face.height)

    self.contents.blt(x , y, face, src_rect)

    end

    end

    end

 

###############################################################[SCENE_MAP ALIAS]

class Scene_Map#----------------------------------------=[Map Screen Processing]

  alias gf101_charact_hud_main main#---------------------------=[alias gface101]

  def main#-----------------------------------------------=[define main process]

    @hud_window1 = Window_Gameface_HUD.new#-------------------=[call hud window]

    @hud_window1.visible = $game_switches[401]#----------------=[display switch]

    gf101_charact_hud_main#-----------------------------------=[call with alias]

    @hud_window1.dispose#------------------------------=[gets rid of the window]

  end#---------------------------------------------------------=[end definition]

  alias gf101_charact_hud_update update#------------------------[aliased update]

  def update#---------------------------------------------------=[define update]

    @hud_window1.update#------------------------------------------=[call update]

    @hud_window1.visible = $game_switches[401]#----------------=[display switch]

    gf101_charact_hud_update#---------------------------------=[call with alias]

  end#---------------------------------------------------------=[end definition]

end#---------------------------------------------------------------=[end it all]


edit: just in case you need resources...

http://fayforest.sakura.ne.jp/sozai/index
( click on the columns to the left )
 
VERTICAL OVERDRIVE + dual button config script

for those who don't know ....
in XAS, Overdrive is a power level that you charge when
you successfully hit an enemy.

2m7dq1x.jpg


by default you have to press the ALT key to activate
but with this script you can simply
hold attack (C) then press dash (A)
to unleash the awesome power
(works like a charm with a controller)

you will have to rotate the default graphics as so...
to make the vertical orientation work with the script.

2yke3d0.png


*note: name, percentage, and the fraction for level
has been commented to not display

this will be one of many new features calvin624 and I will
introduce in our free and open project, our tribute to
our favorite battle system, XAS Future : Bloodlines
(which is only weeks away for the world to download!)

enjoy the script and stay tuned where you know how to find us ^,^
Code:
 

########################################### 

#

# MOG_XAS_OVERDRIVE 2.3cg

# modified by gameface101

# > two button configuration (hold Action "C" then press Dash "X"

# > vertical orientation for Future Editions

# [url=http://gameface101.com]http://gameface101.com[/url]

#

# translated and vertical concept by calvin624

# [url=http://www.xasabs.wordpress.com]http://www.xasabs.wordpress.com[/url]

#

# original script by moghunter

# [url=http://www.atelier-rgss.com]http://www.atelier-rgss.com[/url]

###########################################

#---------------------------------------------------------------------------

# System skills (tools) that can only

# be activated when the Overdrive bar is

# complete in 100% or above level 1, you can set

# infinite levels of Overdrive.

# Create an attribute with the name "OVD" and assign

# a skill that matches the ID of the tool.

#_______________________________________________________________________________

# Images necessary.

# - XOVD_Gauge_Back + Sufixo

# - XOVD_Gauge + Sufixo

#_______________________________________________________________________________

# Set the level proportional to the numerical suffix of overdrive.

# EXP

# Overdrive Level 2

#  XOVD_Gauge_Back2.png

#  XOVD_Gauge2.png

#

# Overdrive Level Level maximo.

#

#  XOVD_Gauge_Back_Max.png

#  XOVD_Gauge_Max.png

#_______________________________________________________________________________

module MOG

# Definition of the variable that defines the maximum level of Ovedrive.

# That is, through an event set the value of the overdrive

# changing the value of the variable that matches the level

# of overdrive.

OVD_MAX_LEVEL_VAR_ID = 11

# Definition of skill which will be activated in a

# level of the Overdrive.

OVD_LEVEL = {

1=> 44, #Overdrive LV 1 (SKill ID)

2=> 45, #Overdrive LV 2 (SKill ID)

3=> 46, #Overdrive LV 3 (SKill ID)

4=> 47  #Overdrive LV 4 (SKill ID)

            }

# Definition specifies the amount of gain in the meter

# overdrive.

# A => B

#

# A = The ID of the tool (Skill ID = ID Tool).

# B = value of gain overdrive.

OVD_GAIN = {

1=>3,    #Skill ID 1 (Gain 3pt)

2=>3,    #Skill ID 2 (Gain 5pt)

3=>3,    #Skill ID 2 (Gain 5pt)

4=>4,    #Skill ID 4 (Gain 6pt)

5=>5,    #Skill ID 5 (Gain 4pt)

6=>3,    #Skill ID 6 (Gain 3pt)

104=>1,  #Skill ID 104 (Gain 1pt)

105=>0,

140=>4   #

}

# Setting the default gain of the Overdrive if not specified.

OVD_DEFAULT_GAIN = 2

# Definition of the button to activate Overdrive

#OVD_BUTTON = Input:: ALT

# Animation to be enabled to achieve 100% of Overdrive.

OVDANI = 1

# Text that will appear when you reach 100% of Ovedrive.

OVDTEXT = "Overdrive!"

# Sound when the Overdrive is OFF.

OVDSEOFF = "003-System03"

# Text that will appear when the Ovedriver is OFF.

OVDOFF_TEXT = ""

# ID of the switch that disables the Overdrive.

XAS_OVDVIS = 5

# Position the meter horizontally.

OVD_X = 373

# Upright position of the meter.

OVD_Y = -62

# Display the percentage meter.

OVD_PERCENTAGE = false

# Allow HUD opaque if the hero is on top of the HUD.

OVD_FADE = true

end 

#_________________________________________________

$mog_rgss_xas_overdrive = true

################################################################################

# Game_System #

###############

class Game_System

attr_accessor :xasovd_gauge   

attr_accessor :xasovd_ani

attr_accessor :xasovd_lv

alias mog_xasovd_initialize initialize

def initialize

mog_xasovd_initialize

@xasovd_gauge = 0

@xasovd_lv = 0

@xasovd_ani = true

end

def xasovd_lv

return @xasovd_lv

end

def xasovd_gauge

if @xasovd_gauge > 100

@xasovd_gauge = 100

elsif @xasovd_gauge < 0

@xasovd_gauge = 0

end 

return @xasovd_gauge

end

def xasovd_ani

return @xasovd_ani

end

end

################################################################################

# Game_Battler #

################

class Game_Battler

include MOG

alias mog_xasovd_skill_effect skill_effect

def skill_effect(user, skill)

mog_xasovd_skill_effect(user, skill)

if skill.element_set.include?($data_system.elements.index("OVD")) and self.damage.is_a?(Numeric) and

  user.is_a?(Game_Actor) and self.is_a?(Game_Enemy) and not XAS_BA_ENEMY::ITEM_ENEMY.include?(self.id) and

  $game_switches[MOG::XAS_OVDVIS] == false   

  xas_ovd_gain = MOG::OVD_GAIN[skill.id]

ovdmaxlevel = $game_variables[OVD_MAX_LEVEL_VAR_ID]

if xas_ovd_gain != nil and $game_system.xasovd_lv < ovdmaxlevel

$game_system.xasovd_gauge += xas_ovd_gain

else

$game_system.xasovd_gauge += MOG::OVD_DEFAULT_GAIN if $game_system.xasovd_lv < ovdmaxlevel

end

if $game_system.xasovd_gauge >= 100 and $game_system.xasovd_lv < ovdmaxlevel

$game_system.xasovd_lv += 1 

$game_system.xasovd_gauge = 0

$game_player.animation_id = MOG::OVDANI

$game_player.battler.damage = MOG::OVDTEXT

$game_player.battler.damage_pop = true

      if $mog_rgss_ifw != nil

      if $game_system.xasovd_lv == ovdmaxlevel

      text = " MAX" 

      else

      text = $game_system.xasovd_lv

      end

      $game_temp.ifw_text = "OVERDRIVE LVUP - L" +  text.to_s

      $game_temp.ifw_active = true         

      end 

end

$ovdref = true

end

end

end

################################################################################

# Window_Base #

###############

class Window_Base < Window #=-------------------------------------==[Ruby class]

def draw_xasovd(x,y)#=-----------------------------------------=[define message]

ovdmaxlevel = $game_variables[MOG::OVD_MAX_LEVEL_VAR_ID]#--=[variable for level]

#------------------------------------------------------=[overdrive back graphic]

ovdback = RPG::Cache.picture("XOVD_Gauge_Back" + $game_system.xasovd_lv.to_s.to_s)   

cw = ovdback.width

ch = ovdback.height

#src_rect = Rect.new(0, 0, cw, ch)

src_rect = Rect.new(-9, 0, 50, 200) #vertical

#self.contents.blt(x + 15, y - ch, ovdback, src_rect)

self.contents.blt(x + 0, y + 0, ovdback, src_rect)#vertical

######################################################################[if maxed]

if $game_system.xasovd_lv == ovdmaxlevel

ovdgauge = RPG::Cache.picture("XOVD_Gauge_Max") 

else ############################################################[or next guage]

ovdgauge = RPG::Cache.picture("XOVD_Gauge" + $game_system.xasovd_lv.to_s.to_s) 

end

#################################################################[ test

if $game_system.xasovd_lv < ovdmaxlevel #--------[if level is less than MAX]

#cw = ovdgauge.width *  $game_system.xasovd_gauge / 100 #width =

ch = ovdgauge.height *  $game_system.xasovd_gauge / 100 #change orientation

else

if ovdmaxlevel == 0

#cw = 1

ch = 1 #=--------------------------------------------------------------vertical

else 

#cw = ovdgauge.width

ch = ovdgauge.height#=-------------------------------------------------vertical

end

end

#ch = ovdgauge.height

cw = ovdgauge.width #=-------------------------------------------------vertical

#src_rect = Rect.new(0, 0, cw, ch)

src_rect = Rect.new(0, -55, 50, 200)#keep?

#self.contents.blt(x + 15, y - ch, ovdgauge, src_rect)#location of meter

self.contents.blt(x + cw, y - ch , ovdgauge, src_rect)#=---------------vertical

##########################################################[ for text diplay ]

 

self.contents.font.name = ""

self.contents.font.size = 14

#self.contents.font.bold = true

if MOG::OVD_PERCENTAGE == true

unless $game_system.xasovd_lv == ovdmaxlevel

if $game_system.xasovd_lv < ovdmaxlevel

self.contents.draw_hemming_text(x + 0, y - 25, 80, 32, $game_system.xasovd_gauge.to_s + " %",1)

else

if ovdmaxlevel == 0

self.contents.draw_hemming_text(x + 0, y - 25, 80, 32, "0 %",1)   

else 

self.contents.draw_hemming_text(x + 0, y - 25, 80, 32, "100 %",1) 

end

end

end

end

self.contents.font.color = Color.new(255,255,255,255)

self.contents.draw_hemming_text(x, y - 39, 110, 32, "OVERDRIVE",0)

self.contents.font.color = Color.new(55,255,155,255)

self.contents.draw_hemming_text(x - 10, y - 15, 110, 32, "LV " + $game_system.xasovd_lv.to_s + "/" + ovdmaxlevel.to_s ,1)

end

end

################################################################################

# Winxasovd #

#############

class Winxasovd < Window_Base

def initialize

super(0, 0, 50, 142)#window size and position

self.contents = Bitmap.new(width - 32, height - 32)

self.opacity = 0 #=-------------------------------------=[window skin for super]

@old_ovd_level = $game_system.xasovd_lv

@old_ovd = $game_system.xasovd_gauge

refresh

end

def refresh

self.contents.clear

draw_xasovd(0, 55)#

@old_ovd_level = $game_system.xasovd_lv

@old_ovd = $game_system.xasovd_gauge

end

def update

    if MOG::OVD_FADE == true

    x = ($game_player.real_x - $game_map.display_x) / 4

    y = ($game_player.real_y - $game_map.display_y) / 4

    hud_size_x = 9

    hud_size_y = 55

    oc_range_x = hud_size_x + MOG::OVD_X

    oc_range_y = hud_size_y + MOG::OVD_Y

      if x < oc_range_x and x > MOG::OVD_X - 5 and

        y > MOG::OVD_Y - 15 and y < oc_range_y

      self.contents_opacity -= 10 if  self.contents_opacity > 120

      else

      self.contents_opacity += 10 if  self.contents_opacity < 255

      end

    end   

 

if @old_ovd_level != $game_system.xasovd_lv or

  @old_ovd != $game_system.xasovd_gauge

  refresh

end 

end

end

################################################################################

# Scene_Map #

#############

class Scene_Map

include MOG

alias mog_xasovd_main main

def main

@actor = $game_party.actors[0]

@Winxasovd = Winxasovd.new 

@Winxasovd.x = OVD_X

@Winxasovd.y = OVD_Y

if @actor == nil or

  $game_switches[MOG::XAS_OVDVIS] == true

@Winxasovd.visible = false

elsif  $game_switches[MOG::XAS_OVDVIS] == false

@Winxasovd.visible = true

end 

mog_xasovd_main

@Winxasovd.dispose

end

alias mog_xasovd_update update

def update

mog_xasovd_update 

if @actor == nil or

  $game_switches[MOG::XAS_OVDVIS] == true

@Winxasovd.visible = false

elsif  $game_switches[MOG::XAS_OVDVIS] == false

@Winxasovd.visible = true

end 

@Winxasovd.update

end

end

################################################################################

# Game_Player #

###############

class Game_Player < Game_Character

include MOG

alias mog_xasovd_update update

def update

mog_xasovd_update

actor = $game_party.actors[0]

return if actor == nil

if Input.press?(Input::C) and Input.trigger?(Input::X)and $game_system.xasovd_lv != 0 and

#if Input.trigger?(MOG::OVD_BUTTON) and $game_system.xasovd_lv != 0 and

            $game_switches[XAS_COMMAND::COMMAND_DISABLE_SWITCH] == false and

            $game_switches[MOG::XAS_OVDVIS] == false and not

            $game_temp.cast_time > 0

unless self.action != nil or $game_system.map_interpreter.running? or

$game_temp.message_window_showing or $game_map.starting? or

self.knockbacking?

unless actor.states.include?(XAS::BERSERK_ID) or

      actor.states.include?(XAS::MUTE_ID)

      if $game_system.xasovd_lv > 0

ovd_level = MOG::OVD_LEVEL[$game_system.xasovd_lv]

if ovd_level != nil 

action_id = ovd_level

character_real_name

self.shoot(action_id) if action_id != nil

end

$game_system.xasovd_gauge = 0

$game_system.xasovd_lv = 0

$game_system.xasovd_ani = true

else

Audio.se_play("Audio/SE/" + OVDSEOFF)

$game_player.battler.damage = OVDOFF_TEXT

$game_player.battler.damage_pop = true

end

else

$game_player.battler.damage = XAS::SEALED_TEXT

$game_player.battler.damage_pop = true 

$game_system.se_play(XAS::SEALED_SE)

end

end

end

end

end
 
I know about the overdrive. For a long time now. Just when I want to make the game in full screen(ALT+ENTER), then it do the overdrive. Might need this script anytime soon.
 
@acrox999 - I know exactly what you mean...another reason to switch up the overdrive button config.

but if you want your game to start in full screen, just replace the main script with this one...

Code:
#==============================================================================

# ** Main

#------------------------------------------------------------------------------

#  After defining each class, actual processing begins here.

#==============================================================================

begin

  # Prepare for transition

  Graphics.freeze

  $defaultfonttype = $fontface = $fontname = Font.default_name = "Calibri"

  $defaultfontsize = $fontsize = Font.default_size = 24

  # Make scene object (title screen)

  original = $scene = Scene_Title.new

  $showm = Win32API.new 'user32', 'keybd_event', %w(l l l l), ' ' # Recognizes keyboard input

  $showm.call(18,0,0,0) # ALT down

  $showm.call(13,0,0,0) # ENTER down

  $showm.call(13,0,2,0) # ENTER up

  $showm.call(18,0,2,0) # ALT up

  # Call main method as long as $scene is effective

  while $scene != nil

    $scene.main

  end

  # Fade out

  Graphics.transition(20)

rescue Errno::ENOENT

  # Supplement Errno::ENOENT exception

  # If unable to open file, display message and end

  filename = $!.message.sub("No such file or directory - ", "")

  print("Unable to find file #{filename}.")

end
 

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