Jump to content

Recommended Posts

Would be awesome to add switches to gain a achievment then only var.
This way you can make even more achievments.

triggering a switch that rewards you an achievment.

:swi = turned on in $game_switch[id]
:swi, swi = turned on in $game_switchs[id,id]

or someething like that.

 

Share this post


Link to post
Share on other sites

The reason switches aren't included is because achievements are basically switches. $game_achievements[0] = true is the same as $game_switches[0] = true

 

Rather than turn a switch on and then have the achievements check whether the switch is on, it's much easier to just turn the achievement on.

Edited by casper667

Share this post


Link to post
Share on other sites

I was wondering if it is possible to have multiple achievements that use steps. For example:

 

Achievement One: Take 1,000 steps

Achievement Two: Take 10,000 steps

Achievement Three: Take 100,000 steps

 

I set it up with what I thought was right, but it did not track the steps for any of the others only the first one.

Share this post


Link to post
Share on other sites
I was wondering if it is possible to have multiple achievements that use steps. For example:

 

Achievement One: Take 1,000 steps

Achievement Two: Take 10,000 steps

Achievement Three: Take 100,000 steps

 

I set it up with what I thought was right, but it did not track the steps for any of the others only the first one.

I have tested it real quick and it tracked 2 different step achievements at the same time in my test project. Check to make sure you've set the PROGRESS array up correctly, and also check to make sure the ACHIEVEMENT array is set up correctly (it can get a bit confusing with all those nils where to plug in each array, I really need to go back through this script and make it easier to use one of these times  -_-). Although since one of them is working, this sounds like user error to me. If you still can't get it working post the relevant PROGRESS and ACHIEVEMENTS arrays.

Share this post


Link to post
Share on other sites

@casper667

Ah okay.
Then it would be awesome to add switchs as a reward.
For example getting the achiev 100.000 gold and it will turn  switch x = true as a reward.
is that posseble?

 

Edited by Dennis Waanders

Share this post


Link to post
Share on other sites
@casper667

 

Ah okay.

Then it would be awesome to add switchs as a reward.

For example getting the achiev 100.000 gold and it will turn  switch x = true as a reward.

is that posseble?

That's not possible with the current version of the script. If you're using a switch to check something in an event, you can do Conditional branch script: $game_achievements[x] == true/false  to check if the achievement has been earned or not.

 

 

If you want to use an achievement check in the page conditions you'll have to get a script that adds extra event page conditions. I made one of those here: LINK

 

With the extra conditions script you'd do something like this:

Comment: EXTRA_CONDITIONS

Comment: CONDITION: $game_achievements[x] == true/false

Comment: END_CONDITIONS

Edited by casper667
  • Like 2

Share this post


Link to post
Share on other sites

I have a problem. I added the Core, Menu Organizer and Achievement Script to the materials section but this error message appears every time. I didn't changed anything and don't have any other Scripts in my game now.

 

qutIlc8xxNU8.PNG

How I can fix that?

Share this post


Link to post
Share on other sites
I have a problem. I added the Core, Menu Organizer and Achievement Script to the materials section but this error message appears every time. I didn't changed anything and don't have any other Scripts in my game now.

 

qutIlc8xxNU8.PNG

How I can fix that?

You need to put the CSCA Core script above all other CSCA Scripts in your materials section.

Share this post


Link to post
Share on other sites

@Caspar667 Can you post a picture of how you set up the multiple achievements that track step? I still cannot get it right.

Share this post


Link to post
Share on other sites

Hi. I have some other question.

I don't want to show the current (0/5) progress in my achievements. Is this possible? 

And my other question: How I change the name "Achievements" in something else?

Share this post


Link to post
Share on other sites

Look through the script until you find the word Achievements in purple. Change the word to whatever you want but make sure to leave the Quotation Marks. 

Share this post


Link to post
Share on other sites
@Caspar667 Can you post a picture of how you set up the multiple achievements that track step? I still cannot get it right.

Here's how I set it up:

achievementstemp.png

Share this post


Link to post
Share on other sites

I got a question for anyone who can help me. I'm not great with variables and such yet so maybe that's where I'm going wrong but what I'm doing is trying to get the achievements to track. I tried what Nemesis said about creating a variable for a chest and changing the PROGRESS to that same variable but it's still not tracking.

 

Here is my chest setup:

 

 

 

Here's my script setup:

 

 

 

I must have something wrong so any help is appreciated!

Share this post


Link to post
Share on other sites

@TheDr You need to put a "Control Variables" event command in the treasure chest to add 1 to variable 5 when the chest is opened.

Share this post


Link to post
Share on other sites

yeah I've noticed placement for this script is incredibly important. I placed it above all other scripts and it suddenly worked. I wasn't really suprised with the incompatibility. I had around 40 scripts above it originally.

Share this post


Link to post
Share on other sites

Hey there, awesome script. Was in the middle of doing something myself but this is much better :)

I just have one question. I am using Moghunter's wallpaper ex script here;

 

 

#==============================================================================
# +++ MOG - Wallpaper EX (V1.1) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com
#==============================================================================
# - Adiciona um papel de parede e adiciona alguns efeitos animados.
#==============================================================================
# Para mudar de papel de parede no meio do jogo basta usar o código abaixo.
#
# $game_system.wallpaper = "FILE_NAME"
#
#==============================================================================
# E para mudar de velocidade de scroll use o código abaixo.
#
# $game_system.wallpaper_scroll = [ SPEED_X, SPEED_Y]
#
#==============================================================================
# Serão necessários os seguintes arquivos na pasta GRAPHICS/SYSTEM.
#
# Menu_Particles.png
# wallpaper
#
#==============================================================================
# ◠Histórico (Version History)
#==============================================================================
# v 1.1 - Melhoria no sistema de dispose de imagens.
#==============================================================================
module MOG_WALLPAPER_EX
  #Ativar Particulas animadas.
  PARTICLES = true
  #Numero de particulas.
  NUMBER_OF_PARTICLES = 10
  #Deslizar a imagem de fundo.
  BACKGROUND_SCROLL_SPEED = [0,0]
  #Definição da opacidade das janelas.
  WINDOW_OPACITY = 80
end

#==============================================================================
# â–  Game_System
#==============================================================================
class Game_System
 
  attr_accessor :wallpaper
  attr_accessor :wallpaper_scroll
 
 #--------------------------------------------------------------------------
 # â— Initialize
 #--------------------------------------------------------------------------  
  alias mog_wallpaper_initialize initialize
  def initialize
      mog_wallpaper_initialize
      @wallpaper = "Wallpaper"    
      @wallpaper_scroll = MOG_WALLPAPER_EX::BACKGROUND_SCROLL_SPEED
  end
 
end  

#==============================================================================
# â–  Menu Particles
#==============================================================================
class Menu_Particles < Sprite
 
 #--------------------------------------------------------------------------
 # â— Initialize
 #--------------------------------------------------------------------------             
  def initialize(viewport = nil)
      super(viewport)
      self.bitmap = Cache.system("Menu_Particles")
      reset_setting(true)
  end  
 
 #--------------------------------------------------------------------------
 # â— Reset Setting
 #--------------------------------------------------------------------------               
  def reset_setting(start)
      zoom = (50 + rand(100)) / 100.1
      self.zoom_x = zoom
      self.zoom_y = zoom
      self.x = rand(544)
      if start
         self.y = rand(416 + self.bitmap.height)
      else
         self.y = 416 + rand(32 + self.bitmap.height)
      end        
      self.opacity = 0
      self.blend_type = 1
      @speed_x = 0
      @speed_y = [[rand(3), 3].min, 1].max
      @speed_a = 0#rand(3)
  end
 
 #--------------------------------------------------------------------------
 # â— Dispose
 #--------------------------------------------------------------------------               
  def dispose
      super
      self.bitmap.dispose
  end  
 
 #--------------------------------------------------------------------------
 # â— Update
 #--------------------------------------------------------------------------               
  def update
      super
      self.x += @speed_x
      self.y -= @speed_y
      self.angle += @speed_a      
      self.opacity += 5
      reset_setting(false) if self.y < 0
  end  
 
end


#==============================================================================
# â–  LAYOUT_EX
#==============================================================================
module WALLPAPER_EX
 
  include MOG_WALLPAPER_EX
 
  #--------------------------------------------------------------------------
  # â— Start
  #--------------------------------------------------------------------------          
  def start
      super
      create_particles
  end   
 
  #--------------------------------------------------------------------------
  # â— Set Window OPACITY
  #--------------------------------------------------------------------------            
  def set_window_opacity    
      instance_variables.each do |varname|
          ivar = instance_variable_get(varname)
           if ivar.is_a?(Window)
              ivar.opacity = WINDOW_OPACITY  
          end
      end
  end
 
  #--------------------------------------------------------------------------
  # â— Create Particles
  #--------------------------------------------------------------------------  
  def create_particles
      return unless PARTICLES
      dispose_menu_particles
      @particle_viewport = Viewport.new(-32, -32, 576, 448)
      @particle_bitmap =[]
      for i in 0...NUMBER_OF_PARTICLES
          @particle_bitmap.push(Menu_Particles.new(@particle_viewport))
      end  
  end  

  #--------------------------------------------------------------------------
  # â— Create Background
  #--------------------------------------------------------------------------
  def create_background
      @background_sprite = Plane.new
      @background_sprite.bitmap = Cache.system($game_system.wallpaper) rescue nil
      @background_sprite.bitmap = SceneManager.background_bitmap if @background_sprite.bitmap == nil
  end
 
 #--------------------------------------------------------------------------
 # â— Dispose Light
 #--------------------------------------------------------------------------              
  def dispose_menu_particles
      return unless PARTICLES
      if @particle_bitmap != nil
         @particle_bitmap.each {|sprite| sprite.dispose}
         @particle_viewport.dispose
         @particle_bitmap = nil
      end      
  end     
 
  #--------------------------------------------------------------------------
  # â— Dispose Background
  #--------------------------------------------------------------------------
  def dispose_background
      return if @background_sprite == nil
      @background_sprite.bitmap.dispose
      @background_sprite.dispose
      @background_sprite = nil
  end
 
  #--------------------------------------------------------------------------
  # â— Terminate
  #--------------------------------------------------------------------------  
  def terminate
      super
      dispose_menu_particles
  end    
 
  #--------------------------------------------------------------------------
  # â— Update
  #--------------------------------------------------------------------------  
  def update
      super
      update_background
      update_particle
  end
 
  #--------------------------------------------------------------------------
  # â— Update Background
  #--------------------------------------------------------------------------    
  def update_background
      @background_sprite.ox += $game_system.wallpaper_scroll[0]
      @background_sprite.oy += $game_system.wallpaper_scroll[1]
  end
 
 #--------------------------------------------------------------------------
 # â— Update Particle
 #--------------------------------------------------------------------------              
 def update_particle
     return unless PARTICLES
     @particle_bitmap.each {|sprite| sprite.update }
 end  
 
end

#==============================================================================
# â— Scene Menu
#==============================================================================
class Scene_Menu < Scene_MenuBase
  include WALLPAPER_EX
 
 #--------------------------------------------------------------------------
 # â— Start
 #--------------------------------------------------------------------------                
  alias mog_layout_ex_start start
  def start
      mog_layout_ex_start
      set_window_opacity
  end  
end

#==============================================================================
# â— Scene Item
#==============================================================================
class Scene_Item < Scene_ItemBase
  include WALLPAPER_EX
 
 #--------------------------------------------------------------------------
 # â— Start
 #--------------------------------------------------------------------------                
  alias mog_layout_ex_start start
  def start
      mog_layout_ex_start
      set_window_opacity
  end  
end

#==============================================================================
# â— Scene Skill
#==============================================================================
class Scene_Skill < Scene_ItemBase
  include WALLPAPER_EX
 
 #--------------------------------------------------------------------------
 # â— Start
 #--------------------------------------------------------------------------                
  alias mog_layout_ex_start start
  def start
      mog_layout_ex_start
      set_window_opacity
  end  
end

#==============================================================================
# â— Scene Equip
#==============================================================================
class Scene_Equip < Scene_MenuBase
  include WALLPAPER_EX
 
 #--------------------------------------------------------------------------
 # â— Start
 #--------------------------------------------------------------------------                
  alias mog_layout_ex_start start
  def start
      mog_layout_ex_start
      set_window_opacity
  end  
end

#==============================================================================
# â— Scene Status
#==============================================================================
class Scene_Status < Scene_MenuBase
  include WALLPAPER_EX
 
 #--------------------------------------------------------------------------
 # â— Start
 #--------------------------------------------------------------------------                
  alias mog_layout_ex_start start
  def start
      mog_layout_ex_start
      set_window_opacity
  end  
end

#==============================================================================
# â— Scene File
#==============================================================================
class Scene_File < Scene_MenuBase
  include WALLPAPER_EX
 
 #--------------------------------------------------------------------------
 # â— Start
 #--------------------------------------------------------------------------                
  alias mog_layout_ex_start start
  def start
      mog_layout_ex_start
      set_window_opacity
  end  
end

#==============================================================================
# â— Scene End
#==============================================================================
class Scene_End < Scene_MenuBase
  include WALLPAPER_EX
 
 #--------------------------------------------------------------------------
 # â— Start
 #--------------------------------------------------------------------------                
  alias mog_layout_ex_start start
  def start
      mog_layout_ex_start
      set_window_opacity
  end  
end

#==============================================================================
# â— Window SaveFile
#==============================================================================
class Window_SaveFile < Window_Base
 
 #--------------------------------------------------------------------------
 # â— Initialize
 #--------------------------------------------------------------------------                  
  alias mog_wallpaper_initialize initialize
  def initialize(height, index)
      mog_wallpaper_initialize(height, index)
      self.opacity = WALLPAPER_EX::WINDOW_OPACITY if can_opacity_window?
  end
    
 #--------------------------------------------------------------------------
 # â— Can Opacity Window
 #--------------------------------------------------------------------------                    
  def can_opacity_window?
      return true
  end  
end

$mog_rgss3_wallpaper_ex = true

 

 

This displays some animation and a picture in the background of the menu. When I enter the achievements section from the menu I lost the background image/window opacity/animation.

Is there a way to allow the things from Mog's script to carry over into the achievement windows? Thanks.

Share this post


Link to post
Share on other sites

You could try placing this at the end of Moghunter's script:

 

#==============================================================================
# â— CSCA Scene Achievements
#==============================================================================
class CSCA_Scene_Achievements < Scene_MenuBase
  include WALLPAPER_EX
 
 #--------------------------------------------------------------------------
 # â— Start
 #--------------------------------------------------------------------------                
  alias mog_layout_ex_start start
  def start
      mog_layout_ex_start
      set_window_opacity
  end  
end

Share this post


Link to post
Share on other sites

I'm a big newbie when it comes to scripting and this was driving me up the wall as to why opening the treasure chest wasn't counting towards the achievement.  After about an hour I finally noticed it (can't believe it took me so long, I knew something didn't look right in the game, lol.)

 

 

 

 

    #=======================================================================#
    # Achievement Setup                                                     #
    #=======================================================================#
    #ACHIEVEMENT[x] = ["Name After Unlock","Name Before Unlock"(optional),
    #Description, Description after unlock(optional),progress tracking(optional),
    #reward(optional),popup graphic(optional), points worth, completion icon,
    #incomplete icon]
    # If you are not using an optional feature, write: nil
    ACHIEVEMENTS[0] = ["Treasure Hunter","???",DESCRIPTION[0],DESCRIPTION[1],
                      PROGRESS[2],REWARDS[0],nil, 5, 621, 622]
 

 

 

 

 

It's following progress 2 instead of prgoress 0.  -_- lol

Edited by Tigerbite

Share this post


Link to post
Share on other sites

I'm having a bit of a problem with this script...

Namely, it's causing me an immense amount of lag.

And yes, I'm pretty sure that it's this script because deleting it causes the lag to disappear.

I've added 20 Achievements, but this pretty much only covers the "Rank E" section of my game (which I'll be releasing as a demo to the game, which is why some of the values seem a bit low). I'm shooting for around 100 in the final game... but if the game is chugging at only 20 things being tracked... I think this is going to be a problem...

Here's a list of what I have:

(Also note that I call the Encyclopedia the "Completion Log" in my game, so that's what those Achievements are for.)

 

kpHy0Os.jpg

 

Any idea what could be causing all this lag? Is it just because of the sheer amount of things being tracked? Is it maybe because of placement in the Materials list? What else could be the cause?

Share this post


Link to post
Share on other sites

@Tatsuki: Those are just descriptions; text calls, if you will. That shouldn't be causing any lag. Do you have a LOT of other scripts running, or are there many parallel process events running on the map you're checking the Achievement script on? Also, if there's a lot of common event checks (I know that's not common anymore past 2k3 but still) that could be causing the lag, too.

 

Finally, do you surpass the specs needed to run RPG Maker VX Ace? I know it's not terribly difficult to run, but if you have an older computer it's possible.

Also, even though older OS let you open the engine fine, XP and older OS absolutely -hate- test play / playing a game for some reason.

Share this post


Link to post
Share on other sites

@Tatsuki: Those are just descriptions; text calls, if you will. That shouldn't be causing any lag. Do you have a LOT of other scripts running, or are there many parallel process events running on the map you're checking the Achievement script on? Also, if there's a lot of common event checks (I know that's not common anymore past 2k3 but still) that could be causing the lag, too.

 

Finally, do you surpass the specs needed to run RPG Maker VX Ace? I know it's not terribly difficult to run, but if you have an older computer it's possible.

Also, even though older OS let you open the engine fine, XP and older OS absolutely -hate- test play / playing a game for some reason.

 

1. Well, I know THOSE are just descriptions. But I have all the Achievements set up fully.

2. I do have a LOT of scripts, but when I remove the Achievements script (and ONLY the Achievements script), everything returns to normal speed.

3. No parallel processes whatsoever.

4. There are lots of regular events and in the screen where I get the most lag (the screen where the NPC who brings up the Achievements menu is) I have many NPCs and many of the variable calls used in my current Achievements list are called from that screen (Knight, Black Mage, 2 of the 7 party members, Rank E, Rank D and the Completion Log Achievements). However there is even some noticeable lag in screens where no Achievements are called except for the ones that are called from everywhere (like Gold).

5. The only common events I have at the moment are the ones that call class unlocks and the item to warp you back to the main town.

6. I definitely surpass the specs needed to run it. My computer is a gaming-level PC from only about a year and a half ago. Running Windows 7. I haven't had any issues with test play other than a few minor framerate hiccups in places with many NPCs, but that was slightly reduced by using Yami's Anti-Lag script.

Edited by Tatsuki

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
Top ArrowTop Arrow Highlighted