Show posts

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

Messages - KK20

3021
If and when I eventually get around to it, I'd like to make my Advance Wars online compatible while still having offline properties. Not even sure where I'd begin with that...
3022
News / Suggestions / Feedback / Re: Final Fantasy Week
October 15, 2012, 11:11:55 am
Ezel Berbier (or Ezel)
3023
Script Requests / Re: "Skill Shop" System ?!
October 15, 2012, 10:41:59 am
http://lmgtfy.com/?q=RPG+Maker+XP+Skill+Shop

Or, advertising Chaos Project's own Skill Shop script: http://forum.chaos-project.com/index.php?topic=3727.0

But really, in the amount of time it took you to write this topic, you could have already found your answer.  Google is your best friend. :rite:
3024
News / Suggestions / Feedback / Re: Annual Awards ?
October 13, 2012, 05:04:23 am
Complete Game of the Year: No one...forever (blast the RPG Maker curse!)
Community Awards and Staff Awards all swept by Blizzard
And the Best X are pretty much going to be the same people

CP doesn't have a huge active community, so pulling something like this off would probably die before it even started. But it would be nice to have little badges/ribbons/etc. posted on my profile :P
3025
Down with anything. Only Final Fantasy I ever played was Advance Tactics 1 and 2, so I'm pretty clueless on the series in general. Probably just change my picture to a Nu Mou.
3026
Script Troubleshooting / Re: Scene help
October 13, 2012, 04:54:16 am
Before I get into it, I suggest adding comments and using proper indenting for easier reading of your scripts.

1.) How to tell if the menu was opened from map or from another sub-menu:
class Scene_KEngineMain
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
    def initialize(menu_index = 0, from_map = true)
    @menu_index = menu_index
    @from_map = from_map
  end

And in your sub-menus (note the false when declaring the Menu Scene):
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $from_map = 0
      $scene = Scene_KEngineMain.new(0, false)
      return
    end


2.) Your waves in the background
The x-values of those sprites do nothing by the way. A simple print function gave me nil all the time. So, instead of @mnan.x, set it to @mnan.ox.

First, adding variables to Game_Temp:
class Game_Temp
  attr_accessor :wave1, :wave2, :wave3
 
  alias reinit_for_wave_oxs initialize
  def initialize
    reinit_for_wave_oxs
    @wave1, @wave2, @wave3 = 0, 0, 0
  end
 
  def store_wave_oxs(w1, w2, w3)
    @wave1, @wave2, @wave3 = w1, w2, w3
  end
 
end

And an example of how to initialize your waves in the Main Menu class:
@mnan.ox = @from_map ? 0 : $game_temp.wave1

And an example in the sub-menu classes:
@mnan.ox = $game_temp.wave1

Also, in both Menu and Sub-menu classes, add this line directly above the Graphics.freeze:
$game_temp.store_wave_oxs(@mnan.ox, @mnan2.ox, @mnan3.ox)


Blarg, so tired...hopefully I didn't miss anything.
3027
Script Troubleshooting / Re: Scene help
October 12, 2012, 05:22:56 pm
Sounds pretty weird that the images would keep sliding only after coming out of the item scene. But its no longer doing it now with the "bandage" fix? Even for the other commands in the menu?
3028
I'd just like to say that what Zexion proposed is pretty much how I would do it. Scripting it would be unnecessarily tedious. It's only one more event. TOUGH IT OUT LIKE A MAN :V:
3029
Nah, repeat wouldn't achieve the same effect--the player could just hold down a direction and, within a second or so, would have a running character. It would require two variables: one that acts as a frame counter and another that stores the current direction. When a direction is pressed, it stores it into direction and sets counter to zero. Each frame, counter increases by 1. If the player hits the same directional key again (Input.trigger?) before counter reaches a certain amount, the running effect is true. While running is true, we no longer need to process/update counter and direction. However, once Input.dir4 == 0 (no direction key is being pressed), running is false and we now process the two variables again.

But, as I said, until someone edits the player movement BABS, we can't even start doing this request. (Actually, I'd really like it if BABS could change how it processes player movement. The fact that it resets the player's move speed to normal every frame and then changes the move speed based on if RUNNING or SNEAKING keys are held is quite restrictive. For example, combos cannot modify the game player's speed, yet it works perfectly fine on allies and enemies.)
3030
It was a missing 'end'. I fixed it in the first post.
3031
Event Systems / Re: Parallel process only once!
October 10, 2012, 01:41:52 pm
Please don't double post. There's a modify button.

Something like this is really trivial to pull off, yet you're making this harder than it sounds. I'd like to see some screenshots of your events.
3032
It's the way how BABS processes running/sneaking/walking. Someone would have to modify the way that works first before even getting to the script request.

Here's a double tap script by Gambaface101, however it won't work if you try throwing it in with BABS. I'm pretty busy until November.
Spoiler: ShowHide

################################################################################
#
#                        -[DOUBLE TAP DASH & BLURRR]-
#                               by Gameface101 v.2
#                                  1-28-10
#
# double tap to dash concept from Gamba's ABS
# and trails script by Zues81
#
# free to use
# credits to Gamba,Zues81,Gameface101
#
# Instructions:
# Copy and Paste above Main script in script Database (F11)
# then setup options in the module.
#
# to blur event:
# $game_map.events[X].blur = true
#
# to stop event blur:
# $game_map.events[X].blur = false
#
# X = Event ID number
#
################################################################################
module G101_DTDB

NORMAL_SPEED = 4 #-----------------------------------------=[set normal speed]
DASH_SPEED = 5.5 #-------------------------------------------=[set dash speed]
TIME = 4 #------------------------------------------=[time between double tap]
SWITCHIMP = 0 #-----------------------------------=[switch for sliding on/off]
TILEIMP = 7 #------------------------------------------=[tile ID stop sliding]
CHARACTER_DASH_GRAPHIC = "_dash" #----------------------=["NAME_dash" graphic]
STOP_DASH = 0 #-----------=[stop sliding - 0 release key - 1 when move direct]
DISABLE_TIRED_FROM_DASH = true #---------------------=[permanent dash or tire]
DASH_TIME = 100 #-------------------------------------=[how much time to dash]
RECHARGE_TIME = 1 #-------------------------------------------=[recharge time]
START_RECHARGE_TIME = 1 #-------------------=[the instant recharge will begin]
BLUR_LENGTH = 16
BLUR_TYPE = 0# 0=Normal 1=Light 2=Dark

end

#------------------------------------------------------------------------=[DASH]

class Game_Character
attr_accessor :move_speed
attr_accessor :time_dash
attr_accessor :character_name
alias double_tap_dash_initialize initialize
def initialize
   @time_dash = 0
   double_tap_dash_initialize
end
end

module RPG_FileTest
def RPG_FileTest.character_exist?(filename)
   return RPG::Cache.character(filename, 0) rescue return false
end
end

class Game_Map 
attr_accessor :time_dash
attr_accessor :dashing
alias dash_setup setup
def setup(map_id)
@dash = []
for i in 2..8
   @dash[i] = 0
end
@time_c = 0
@dashing = false
@direction = 0
@time_rec = 0
$game_player.time_dash = G101_DTDB::DASH_TIME if @time_dash == nil
dash_setup(map_id)
end

alias dash_update update
def update
dash_update
if $game_map.terrain_tag($game_player.x , $game_player.y) == G101_DTDB::TILEIMP
   $game_player.character_name = $game_party.actors[0].character_name if $game_player.character_name == $game_party.actors[0].character_name + G101_DTDB::CHARACTER_DASH_GRAPHIC
   if @time_rec == G101_DTDB::START_RECHARGE_TIME
     $game_player.time_dash += (G101_DTDB::DASH_TIME.to_f/(100/G101_DTDB::RECHARGE_TIME.to_f)).to_i if $game_player.time_dash < G101_DTDB::DASH_TIME
     @time_rec = 0
   else
     @time_rec += 1
   end
end
if $game_switches[G101_DTDB::SWITCHIMP] == false and $game_map.terrain_tag($game_player.x , $game_player.y) != G101_DTDB::TILEIMP
   
   if @dashing == true
     $game_player.blur = true#
     newname = $game_party.actors[0].character_name + G101_DTDB::CHARACTER_DASH_GRAPHIC if $game_party.actors[0].hp > 0
     $game_player.character_name = newname if $game_player.character_name != newname and
     RPG_FileTest.character_exist?(newname)
     if G101_DTDB::DISABLE_TIRED_FROM_DASH == false
       $game_player.time_dash -= 1
     end
     $game_player.move_speed = G101_DTDB::DASH_SPEED
     if G101_DTDB::STOP_DASH == 0
       unless Input.press?(Input::DOWN) or Input.press?(Input::LEFT) or
          Input.press?(Input::RIGHT) or Input.press?(Input::UP)
          @dashing = false
          $game_player.blur = false#
       end
     elsif G101_DTDB::STOP_DASH == 1
       unless Input.press?(@keyboard) and @direction == $game_player.direction
         @dashing = false
       end
     end
     if $game_player.time_dash <= 0 and G101_DTDB::DISABLE_TIRED_FROM_DASH == false
       @dashing = false
       $game_player.blur = false#
     end
   else
     $game_player.character_name = $game_party.actors[0].character_name if $game_player.character_name == $game_party.actors[0].character_name + G101_DTDB::CHARACTER_DASH_GRAPHIC
     
     if @time_rec == G101_DTDB::START_RECHARGE_TIME
       $game_player.time_dash += (G101_DTDB::DASH_TIME.to_f/(100/G101_DTDB::RECHARGE_TIME.to_f)).to_i if $game_player.time_dash < G101_DTDB::DASH_TIME
       @time_rec = 0
     else
       @time_rec += 1
     end
     $game_player.move_speed = G101_DTDB::NORMAL_SPEED if $game_player.move_speed == G101_DTDB::DASH_SPEED
     dir = $game_player.direction

     case dir
       when 2
         @keyboard = Input::DOWN
       when 4
         @keyboard = Input::LEFT
       when 6
         @keyboard = Input::RIGHT
       when 8
         @keyboard = Input::UP
     end 
           
     if @dash[dir] == 1

       if Input.press?(@keyboard)
         for i in 2..8
           if i != dir
             @dash[i] = 0
           end
         end
       else
         @dash[dir] = 2
         for i in 2..8
           if i != dir
             @dash[i] = 0
           end
         end
       end

     elsif @dash[dir] == 2
       if @time_c < (G101_DTDB::TIME)
         @time_c += 1
         if Input.press?(@keyboard)
           @time_c = 0
           @dash[dir] = 0
           @dashing = true
           @direction = $game_player.direction
         end
       end
       if @time_c > (G101_DTDB::TIME)
         @time_c = 0
         @dash[dir] = 0
       end
     else
       @time_c = 0
       if Input.press?(@keyboard)
         @dash[dir] = 1
         for i in 2..8
           if i != dir
               @dash[i] = 0
           end
         end
       end
     end
   end
end
end
end
#------------------------------------------------------------------------=[BLUR]
$blurr_images = G101_DTDB::BLUR_LENGTH
$transparence = G101_DTDB::BLUR_TYPE

class Game_Character

attr_accessor :blur

alias spriteset_map_initialize initialize
def initialize
   spriteset_map_initialize
   @blur = false
end
end

class Spriteset_Map

alias spriteset_map_update update
def update
   if $blurr_images != @last_blurr_images
     @last_blurr_images = $blurr_images
     if @blur_sprites != nil
       for blur_sprite in @blur_sprites.values
         blur_sprite.dispose
       end
       @blur_sprites = nil
     end
   end
   if @blur_sprites == nil
     @blur_sprites = {}
     for i in 0...$blurr_images
       @blur_sprites[i] = Sprite_Blur.new(@viewport1, $game_player)
       @blur_sprites[i].opacity = 256 / $blurr_images * i
     end
   end
   for id in $game_map.events.keys.sort
     event = $game_map.events[id]
     if event.blur == true and @blur_sprites[id * $blurr_images] == nil
       for i in 0...$blurr_images
         @blur_sprites[id * $blurr_images + i] = Sprite_Blur.new(@viewport1, event)
         @blur_sprites[id * $blurr_images + i].opacity = 256 / $blurr_images * i
       end
     end
   end
   for blur_sprite in @blur_sprites.values
     blur_sprite.update
   end
   spriteset_map_update
end

alias spriteset_map_dispose dispose
def dispose
   spriteset_map_dispose
   for blur_sprite in @blur_sprites.values
     blur_sprite.dispose
   end
end
end

class Sprite_Blur < Sprite

attr_accessor :real_x
attr_accessor :real_y
attr_accessor :character

def initialize(viewport, character)
   super(viewport)
   self.opacity = 0
   @character = character
   update
end

def update
   if self.opacity == 0
     super
     if @character_name != @character.character_name or @character_hue != @character.character_hue
       @character_name = @character.character_name
       @character_hue = @character.character_hue
       self.bitmap = RPG::Cache.character(@character_name,@character_hue)
       self.blend_type = $transparence
       @cw = bitmap.width / 4
       @ch = bitmap.height / 4
       self.ox = @cw / 2
       self.oy = @ch
     end
     self.visible = (not @character.transparent and @character.blur)
     sx = @character.pattern * @cw
     sy = (@character.direction - 2) / 2 * @ch
     self.src_rect.set(sx, sy, @cw, @ch)
     self.opacity = 255
     self.z = @character.screen_z(@ch) - 1
     @real_x = @character.real_x
     @real_y = @character.real_y
     update
   else
     self.opacity -= 256 / ($blurr_images - 1)
     self.x = (@real_x - $game_map.display_x + 3)/4 + 16
     self.y = (@real_y - $game_map.display_y + 3)/4 + 32
   end
end
end
3033
Event Systems / Re: Parallel process only once!
October 10, 2012, 01:09:46 pm
Page 1 (Parallel Process):
Graphic: None
Conditions: None
Commands: Sound effects, graphics, turn Self Switch A ON

Page 2 (Action Button):
Graphic: Rock
Conditions: Self Switch A = ON
Commands: None

Erasing Events, as diagostimo said, only removes the event for that instance of the map. Leaving the map and returning to it will bring the event back. Unless you know how to access your map files and remove events from them via scripts, there is no permanent way of removing events. You must use switches (or some other form of condition) to prevent events from triggering twice.
3034
General Discussion / Re: Card Folder - XP
October 04, 2012, 11:39:07 pm
Quote
Condition Branch: Local Switch A is OFF
    Call Script: $game_system.enable(ENEMY_ID)
    Change Local Switch: A to ON
End

You actually don't need to make a conditional check--the method enable already prevents duplicates from being added.

As for making cards an item, that will definitely be tedious. Best way is to probably script the whole thing and not eat up all the spaces in the item database. Sounds like a good script for the Script Database.
3035
RMXP Script Database / Re: [XP] Blizz-ABS
October 04, 2012, 11:31:15 pm
Ever try setting the alignment group to the default ally (which should be 1)? None of your attacks will hurt the character and they behave much like a party member does.
3036
General Discussion / Re: Screenshot Thread
October 03, 2012, 11:18:14 pm
I probably won't be the last to mention it, but the bridges in the first picture bug me. With them being perpendicular to each other, the "natural" flow of the bridge doesn't work right. Maybe if the edges weren't so refined (aka less obvious that there is a clear separation between the two bridge directions) or if there was like a square platform between the joints.

I do like the concept.
3037
General Discussion / Re: Card Folder - XP
October 03, 2012, 11:13:13 pm
Quote# enemy IDs from enemies, that are unknown (e.g. bosses), to make an enemy
# known use $game_system.enable(ENEMY_ID) through the event command
# "Call Script" to enable the display of information
Did you ever try to use that?
3038
Doing that would remove all the other essential methods/functions to keep your game from not throwing errors left and right. As long as this is posted below the default scripts and above main, you should be good to go.

(Unless I specify what you should do with the script, 95% of the the time it should go below the defaults and above main, just as a heads up)
3039
Just wanted to update that I haven't forgotten about this. I've been a bit busy with school lately so I don't have that much time to do anything fun for long periods. When I get around to finishing this, I'll probably post it in the script database.

By the way, tested out using blank rectangles and I saw no lag. Now it's just a matter of figuring out how I should go about doing it, like keep it the same shape or randomize it every X frames. Any ideas?
3040
Welcome! / Re: Hello Guys~
October 02, 2012, 12:32:31 am
Call me a stalker, but I went ahead and tried to Google for you. And this was all that came up.

<-- Advance Wars enthusiast and local RMXP scripter

Anyways, nice to meet you and welcome back  :D