[RESOLVED] 3D Pseudo Battle Camera

Started by filosofem, November 14, 2008, 12:40:49 am

Previous topic - Next topic

filosofem

November 14, 2008, 12:40:49 am Last Edit: November 16, 2008, 12:24:17 am by Starrodkirby86
3D Pseudo Battle Camera


   
Algueña has this script?

I had the format but the machine
and ccoa's link broken

Starrodkirby86

I think this is what you are looking for. I am not 100% sure, but this may be what you want. :)

http://forum.chaos-project.com/index.php?topic=2103.0

Even though the topic is asking help with the script, it is just to modify it to make it fit his game. The script in that post should be perfect. XD

Try and do a search if you can next time. I know this was a hard subject to find but...see what you could have done.

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




filosofem

   
I not presiso  do  to help with the script ..

I presivo is the script .. A demo or the same

   
a demo of the script to meet you more honest

Anteciosamente : filosofem

Starrodkirby86

If you want a demo...
I created one! XD It uses Blizzard's modification of the KGC Battle Camera script (His modification is just an on-off feature, nothing big).

http://www.sendspace.com/file/cxmvl7

You can download it here.

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




filosofem


Calintz

I think I might be necro posting, but I was wondering if there is an english version of his camera script yet??

Starrodkirby86

Have you downloaded my version yet? It should be Blizzard's edit or something. If not, then eh oh well. I know Blizzard edited it a bit so that's really the closest you can get with an English look. Only reason I can see why you want it in Japanese would be to see how he worked on the script, since instructions are straightforward. :/

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




Calintz

I totally don't want it in japanese, Lol.

I downloaded the DEMO from this thread and extracted the script from there. Is this the most recent version of the script??

Blizzard

Yes. There never was an update of the script. Also, it's the original script with my little mod. It's not the recalibrated CP version. xD
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Fantasist

Oooohh, recaliberated? Could you shed some light? Is it just your awesome optimization techniques or is it anything more?
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




Juan

Heres the 3D Pseudo Battle Camera translated in english with Blizzard's Edit and mine is a slight edit as well. I translated it using babelfish.
Spoiler: ShowHide
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ◆Aggressive camera - KGC_BattleCamera◆
#_/----------------------------------------------------------------------------
#_/ The point of view locomotive function which is in the midst of fighting
#_/ is introduced
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ Customization section ★
#==============================================================================

module KGC
# Battle Cam Variable
Battle_Cam_Variable = 25
# & camera drift speed initial value
BC_SPEED_INIT = 24
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported['BattleCamera'] = true
$imported['Base Reinforce'] = true

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Enemy
#==============================================================================

class Game_Enemy < Game_Battler
attr_reader :origin_x, :origin_y
#--------------------------------------------------------------------------
# ● Object initialization
#--------------------------------------------------------------------------
alias initialize_KGC_BattleCamera initialize
def initialize(troop_id, member_index)
  # Executing the processing of the origin
  initialize_KGC_BattleCamera(troop_id, member_index)

   @origin_x = $data_troops[@troop_id].members[@member_index].x
  @origin_y = $data_troops[@troop_id].members[@member_index].y
end
#--------------------------------------------------------------------------
# ● Acquisition in battle picture X coordinate
#--------------------------------------------------------------------------
def screen_x
   return @origin_x - $scene.camera.x * self.zoom
end
#--------------------------------------------------------------------------
# ● Acquisition of battle picture Y-coordinate
#--------------------------------------------------------------------------
def screen_y
   return @origin_y - $scene.camera.y * self.zoom
end
#--------------------------------------------------------------------------
# ● Acquisition of magnification ratio
#--------------------------------------------------------------------------
def zoom
  if $game_variables[KGC::Battle_Cam_Variable] == 0
    n = (1.00 + $scene.camera.z / 512.00) * ((@origin_y - 304) / 256.00 + 1)
  else
    n = 1
  end
  return n
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Sprite_Battler
#==============================================================================

class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# ● Frame renewal
#--------------------------------------------------------------------------
alias update_KGC_BattleCamera update
def update
   # Executing the processing of the origin
    update_KGC_BattleCamera
  return if @battler == nil
   if $game_variables[KGC::Battle_Cam_Variable] == 0
     if @battler.is_a?(Game_Enemy)
   # Magnification ratio adjustment
       self.zoom_x = self.zoom_y = @battler.zoom
     end
   end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Spriteset_Battle
#==============================================================================

class Spriteset_Battle
#--------------------------------------------------------------------------
# ● Renewal
#--------------------------------------------------------------------------
    alias update_KGC_BattleCamera update
 
def update
  # Executing the processing of the origin
  update_KGC_BattleCamera

  if $DEBUG
    if Input::trigger?(Input::Z)
      c = $scene.camera
      zoom = c.z / 512.00 + 1
      p "#{c.x}, #{c.y}, #{c.z}"
      p "#{@battleback_sprite.x + 320}, #{@battleback_sprite.y + 304}, #{zoom}"
    end
  end
  # Camera movement decision
  if $game_variables[KGC::Battle_Cam_Variable] == 0
  cx, cy, cz = $scene.camera.x, $scene.camera.y, $scene.camera.z
  bx, by = @battleback_sprite.x + 320, @battleback_sprite.y + 304
  if bx != cx || by != cy || @bz != cz
    # Magnification ratio adjustment
    zoom = cz / 512.00 + 1
    @battleback_sprite.zoom_x = zoom * 1.5
    @battleback_sprite.zoom_y = zoom * 1.5
    # All the embody decisions
    if $imported['Base Reinforce']# && KGC::BR_BATTLEBACK_FULL
      @battleback_sprite.ox = @battleback_sprite.bitmap.width * 0.52 # X OFFSET!
      @battleback_sprite.oy = @battleback_sprite.bitmap.height / 2
      mag_x = 600.0 / @battleback_sprite.bitmap.width
      mag_y = 300.0 / @battleback_sprite.bitmap.height
      @battleback_sprite.zoom_x *= mag_x
      @battleback_sprite.zoom_y *= mag_y
    end
    # Coordinate adjustment
    @battleback_sprite.x = -cx * zoom / 2 - 320 + @battleback_sprite.ox * 2
    @battleback_sprite.y = -cy * zoom / 2 - 144 + @battleback_sprite.oy * 2
    @bz = cz
  end
  end
end
end


#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Camera
#------------------------------------------------------------------------------
#  It is the class which handles the camera which is in the midst of fighting
#==============================================================================

class Camera
#--------------------------------------------------------------------------
# ● Open instance variable
#--------------------------------------------------------------------------
attr_reader :x, :y, :z
attr_accessor :move_speed
#--------------------------------------------------------------------------
# ● Object initialization
#--------------------------------------------------------------------------
def initialize
  @x, @y, @z = 0, 0, 0
  @move_x = @move_y = @move_z = 0
  @move_speed = KGC::BC_SPEED_INIT
end
#--------------------------------------------------------------------------
# ● Movement
#--------------------------------------------------------------------------
def move(x, y, z)
   @move_x, @move_y, @move_z = x - @x - 320, y - @y - 160, z - @z
end
#--------------------------------------------------------------------------
# ● It moves to the object enemy
#--------------------------------------------------------------------------
def move_target(target)
     return if target == nil || !target.is_a?(Game_Enemy)
  if $game_variables[KGC::Battle_Cam_Variable] == 0
  tx, ty = target.origin_x, target.origin_y - 144
  tz = (304 - target.origin_y) * 5
  move(tx, ty, tz)
  end
end
#--------------------------------------------------------------------------
# ● It moves to the center
#--------------------------------------------------------------------------
def centering
  @move_x, @move_y, @move_z = -@x, -@y, -@z
end
#--------------------------------------------------------------------------
# ● Renewal
#--------------------------------------------------------------------------
def update
  # X-coordinate movement
   if $game_variables[KGC::Battle_Cam_Variable] == 0
  mv = [[@move_x.abs * @move_speed / 160, 1].max, @move_speed].min
  if @move_x > 0
    @x += mv
    @move_x = [@move_x - mv, 0].max
  elsif @move_x < 0
    @x -= mv
    @move_x = [@move_x + mv, 0].min
  end
  # Y-coordinate movement
  mv = [[@move_y.abs * @move_speed / 160, 1].max, @move_speed].min
  if @move_y > 0
    @y += mv
    @move_y = [@move_y - mv, 0].max
  elsif @move_y < 0
    @y -= mv
    @move_y = [@move_y + mv, 0].min
  end
  # Z coordinate movement
  mv = [[@move_z.abs * @move_speed / 96, 1].max, @move_speed * 2].min
  if @move_z > 0
    @z += mv
    @move_z = [@move_z - mv, 0].max
  elsif @move_z < 0
    @z -= mv
    @move_z = [@move_z + mv, 0].min
  end
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Battle (Division definition 1)
#==============================================================================

class Scene_Battle
attr_reader :camera
#--------------------------------------------------------------------------
# ● Main processing
#--------------------------------------------------------------------------
alias main_KGC_BattleCamera main
def main
  # Camera compilation
    @camera = Camera.new
    # Executing the processing of the origin
    main_KGC_BattleCamera
end
#--------------------------------------------------------------------------
# ● Frame renewal
#--------------------------------------------------------------------------
alias update_KGC_BattleCamera update
def update
   @camera.update

  # Executing the processing of the origin
  update_KGC_BattleCamera
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Battle (Division definition 3)
#==============================================================================

class Scene_Battle
#--------------------------------------------------------------------------
# ● Frame renewal (actor command phase: Enemy selection)
#--------------------------------------------------------------------------
alias update_phase3_enemy_select_KGC_BattleCamera update_phase3_enemy_select
def update_phase3_enemy_select
  # Selective object zoom up
  if $game_variables[KGC::Battle_Cam_Variable] == 0
  if !$imported['ActiveCountBattle'] || @action_battler == nil
    @camera.move_target(@enemy_arrow.enemy)
  end
  end
  # Executing the processing of the origin
  update_phase3_enemy_select_KGC_BattleCamera
end
#--------------------------------------------------------------------------
# ● Enemy selection end
#--------------------------------------------------------------------------
alias end_enemy_select_KGC_BattleCamera end_enemy_select
def end_enemy_select
  # The camera is reset to the center
  if $game_variables[KGC::Battle_Cam_Variable] == 0
  if !$imported['ActiveCountBattle'] || @action_battler == nil
    @camera.move(320, 160, 0)
  end
end
# Executing the processing of the origin
  end_enemy_select_KGC_BattleCamera
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Battle (Division definition 4)
#==============================================================================

class Scene_Battle
#--------------------------------------------------------------------------
# ● Frame renewal (main phase step 3: Conduct side animation)
#--------------------------------------------------------------------------
alias update_phase4_step3_KGC_BattleCamera update_phase4_step3
def update_phase4_step3
  # camera movement
   if $game_variables[KGC::Battle_Cam_Variable] == 0
  if @active_battler.is_a?(Game_Actor) && @target_battlers != []
    if @target_battlers.size > 1
      @camera.move(320, 160, -96)
    else
      @camera.move_target(@target_battlers[0])
    end
  elsif @active_battler.is_a?(Game_Enemy)
    @camera.move_target(@active_battler)
  end
  end
  # Executing the processing of the origin
  update_phase4_step3_KGC_BattleCamera
end

#--------------------------------------------------------------------------
# ● Frame renewal (main phase step 6: Refreshment)
#--------------------------------------------------------------------------
alias update_phase4_step6_KGC_BattleCamera update_phase4_step6
def update_phase4_step6
  # Moving the camera to initial position
     @camera.centering

  # Executing the processing of the origin
  update_phase4_step6_KGC_BattleCamera
end
end
Dropbox Who need luck when you can make your own.
3ds Friend code: ShowHide
 4468 1422  6617

Calintz

Aww...
I updated the version of Blizzard's CRLS in my game, and now this script doesn't work...

Shining Riku

Sorry to necropost here...It's just that this script isn't very easy to find, let alone get help with.

I've tried using it in my games and even tested in a new project but it gave me an error:

"Script 'KGC's Battle Cam' line 21: NoMethodError occurred.

Undefined method '[]=' for nil:NilClass"

Am I missing a core script for this to function or something? I checked that line and it says something about importing. I'm no expert scripter but I really have to wonder what I'm missing here, plugins, or brains.  :urgh:

If any extra details are needed I will provide what I can. (BTW I tested both the untranslated and translated versions if that helps any.)

Thanks in advance for reading