el_musketeer Advance
Posts : 540 Thanked : 1 Engine : RMVX Skill : Intermediate Type : Event Designer
| Subyek: [SOLVED] nanya script free for use 2010-07-11, 12:44 | |
| kakak-kakak master, mo tanya dong. aku mau cari script side viev battle RMXP yang free baik dpake buat game free maupun komersil. aku udah nyari sampe going crazy nemunya script yang ABS bolehnya dpake buat game free aja.
malah nemunya script XAS yang bisa dpake free dan komersil (tapi kan itu bukan tujuanku).
petanyaan lain, kalo script minkoff itu apa ya? terus hukumnya apa? (boleh dpake buat game apa (game free, game komersil, ato kedua2nya. aku butuh yang bisa dpake buat kedua-duanya))
mohon pencerahannya. makasih. ^^ | |
|
tukang_es Dalangnya RMID
Posts : 321 Thanked : 14 Engine : Multi-Engine User Skill : Beginner Type : Developer
Trophies
Awards: | Subyek: Re: [SOLVED] nanya script free for use 2010-07-11, 12:54 | |
| SBS minkoff ya SBS script dan sprite lah.. cuma pake sprite 4 x 11 ( dan itulah hambatan terbesar bagi yang gak bisa spriting). setauku Charlie feed CBS jg bagus tapi ya mungkin masalahnya pada kustomisasi script sama sprite yang banyak.. semuanya kaeknya bisa komersil. kalo mo cari yang rada ringan ya SBS tankentai XP karena gak perlu gambar sprite lagi,paling banter cuma custom animation scriptnya.
dan itu juga bisa komersil.. kebanyakan SBS emang bisa sih ( kecuali atoa mungkin ?)
| |
|
el_musketeer Advance
Posts : 540 Thanked : 1 Engine : RMVX Skill : Intermediate Type : Event Designer
| Subyek: Re: [SOLVED] nanya script free for use 2010-07-12, 08:35 | |
| ohh.. jadi gitu ya master.. aku dapet ini nih - Spoiler:
- Code:
-
#============================================================================== # ** Sprite_Battler #------------------------------------------------------------------------------ # Animated Battlers by Minkoff, Updated by DerVVulfman #==============================================================================
class Sprite_Battler < RPG::Sprite #-------------------------------------------------------------------------- # * Initialize #-------------------------------------------------------------------------- alias cbs_initialize initialize def initialize(viewport, battler = nil)
# Configuration @speed = 4 # Framerate speed of the battlers @frames = 4 # Number of frames in each pose @poses = 11 # Number of poses (stances) in the template @mirror_enemies = true # Enemy battlers use reversed image @stationary_enemies = false # If the enemies don't move while attacking @stationary_actors = false # If the actors don't move while attacking @calculate_speed = true # System calculates a mean/average speed @phasing = false # Characters fade in/out while attacking @default_collapse = false # Restores the old 'red fade' effect to enemies # Array that holds the id # of weapons that forces the hero to be stationary @stationary_weapons = [17,18,19,20,21,22,23,24] # (examples are bows & guns)
# DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING @frame, @pose = 0, 0 @last_time = 0 @last_move_time = 0 cbs_initialize(viewport, battler) # self.mirror = !!battler and @mirror_enemies viewport.z = 99 end #-------------------------------------------------------------------------- # * Update #-------------------------------------------------------------------------- alias cbs_update update def update return unless @battler
# Regular Update cbs_update
# Start Routine unless @started @pose = state @width = @width / @frames @height = @height / @poses @display_x = @battler.screen_x @display_y = @battler.screen_y @destination_x = @display_x @destination_y = @display_y @started = true end
# Cut Out Frame self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
# Position Sprite self.x = @display_x self.y = @display_y self.z = @display_y self.ox = @width / 2 self.oy = @height
# Setup Animation time = Graphics.frame_count / (Graphics.frame_rate / @speed) if @last_time < time @frame = (@frame + 1) % @frames if @frame == 0 if @freeze @frame = @frames - 1 return end @pose = state end end @last_time = time
# Move It move if moving end #-------------------------------------------------------------------------- # * Current State #-------------------------------------------------------------------------- def state # Damage State if [nil,{}].include?(@battler.damage) # Battler Fine @state = 0 # Battler Wounded @state = 2 if @battler.hp < @battler.maxhp / 4
if @default_collapse # Battler Dead (Red-Out Collapse) if @battler.dead? and @battler.is_a?(Game_Actor) @state = 10 # Fix Opacity self.opacity = 255 end else # Battler Dead (Pose-Type Collapse) if @battler.dead? @state = 10 # Fix Opacity self.opacity = 255 end end end # Guarding State @state = 3 if @battler.guarding? # Moving State if moving # If enemy battler moving if @battler.is_a?(Game_Enemy) # Battler Moving Left @state = 5 if moving.eql?(0) # Battler Moving Right @state = 4 if moving.eql?(1) # Else actor battler moving else # Battler Moving Left @state = 4 if moving.eql?(0) # Battler Moving Right @state = 5 if moving.eql?(1) end end # Return State return @state end #-------------------------------------------------------------------------- # * Move #-------------------------------------------------------------------------- def move time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5)) if @last_move_time < time
# Pause for Animation return if @pose != state
# Phasing if @phasing d1 = (@display_x - @original_x).abs d2 = (@display_y - @original_y).abs d3 = (@display_x - @destination_x).abs d4 = (@display_y - @destination_y).abs self.opacity = [255 - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max end
# Calculate Difference difference_x = (@display_x - @destination_x).abs difference_y = (@display_y - @destination_y).abs
# Done? Reset, Stop if [difference_x, difference_y].max.between?(0, 8) @display_x = @destination_x @display_y = @destination_y @pose = state return end
# Calculate Movement Increments increment_x = increment_y = 1 if difference_x < difference_y increment_x = 1.0 / (difference_y.to_f / difference_x) elsif difference_y < difference_x increment_y = 1.0 / (difference_x.to_f / difference_y) end # Calculate Movement Speed if @calculate_speed total = 0; $game_party.actors.each{ |actor| total += actor.agi } speed = @battler.agi.to_f / (total / $game_party.actors.size) increment_x *= speed increment_y *= speed end # Multiply and Move multiplier_x = (@destination_x - @display_x > 0 ? 8 : -8) multiplier_y = (@destination_y - @display_y > 0 ? 8 : -8) @display_x += (increment_x * multiplier_x).to_i @display_y += (increment_y * multiplier_y).to_i end @last_move_time = time end #-------------------------------------------------------------------------- # * Set Movement #-------------------------------------------------------------------------- def setmove(destination_x, destination_y) unless (@battler.is_a?(Game_Enemy) and @stationary_enemies) or (@battler.is_a?(Game_Actor) and @stationary_actors) unless @stationary_weapons.include?(@battler.weapon_id) @original_x = @display_x @original_y = @display_y @destination_x = destination_x @destination_y = destination_y end end end #-------------------------------------------------------------------------- # * Movement Check #-------------------------------------------------------------------------- def moving if (@display_x != @destination_x and @display_y != @destination_y and !@battler.dead?) return (@display_x > @destination_x ? 0 : 1) end end #-------------------------------------------------------------------------- # * Set Pose #-------------------------------------------------------------------------- def pose=(pose) @pose = pose @frame = 0 end #-------------------------------------------------------------------------- # * Freeze #-------------------------------------------------------------------------- def freeze @freeze = true end #-------------------------------------------------------------------------- # * Fallen Pose #-------------------------------------------------------------------------- alias cbs_collapse collapse def collapse if @default_collapse cbs_collapse if @battler.is_a?(Game_Enemy) end end end
#============================================================================== # ** Game_Actor #==============================================================================
class Game_Actor #-------------------------------------------------------------------------- # * Actor X Coordinate #-------------------------------------------------------------------------- def screen_x if self.index != nil return self.index * 45 + 450 else return 0 end end #-------------------------------------------------------------------------- # * Actor Y Coordinate #-------------------------------------------------------------------------- def screen_y return self.index * 35 + 200 end #-------------------------------------------------------------------------- # * Actor Z Coordinate #-------------------------------------------------------------------------- def screen_z return screen_y end end
#============================================================================== # ** Scene_Battle #==============================================================================
class Scene_Battle #-------------------------------------------------------------------------- # * Action Animation, Movement #-------------------------------------------------------------------------- alias cbs_update_phase4_step3 update_phase4_step3 def update_phase4_step3(battler = @active_battler) @rtab = !@target_battlers target = (@rtab ? battler.target : @target_battlers)[0] @moved = {} unless @moved return if @spriteset.battler(battler).moving case battler.current_action.kind when 0 # Attack if not (@moved[battler] or battler.guarding?) offset = (battler.is_a?(Game_Actor) ? 40 : -40) @spriteset.battler(battler).setmove(target.screen_x + offset, target.screen_y) @moved[battler] = true return elsif not battler.guarding? @spriteset.battler(battler).pose = 6 + rand(2) @spriteset.battler(battler).setmove(battler.screen_x, battler.screen_y) end when 1 # Skill @spriteset.battler(battler).pose = 8 when 2 # Item @spriteset.battler(battler).pose = 8 end @moved[battler] = false @rtab ? cbs_update_phase4_step3(battler) : cbs_update_phase4_step3 end #-------------------------------------------------------------------------- # * Hit Animation #-------------------------------------------------------------------------- alias cbs_update_phase4_step4 update_phase4_step4 def update_phase4_step4(battler = @active_battler) for target in (@rtab ? battler.target : @target_battlers) damage = (@rtab ? target.damage[battler] : target.damage) if damage.is_a?(Numeric) and damage > 0 @spriteset.battler(target).pose = 1 end end @rtab ? cbs_update_phase4_step4(battler) : cbs_update_phase4_step4 end #-------------------------------------------------------------------------- # * Victory Animation #-------------------------------------------------------------------------- alias cbs_start_phase5 start_phase5 def start_phase5 for actor in $game_party.actors return if @spriteset.battler(actor).moving end for actor in $game_party.actors unless actor.dead? @spriteset.battler(actor).pose = 9 @spriteset.battler(actor).freeze end end cbs_start_phase5 end #-------------------------------------------------------------------------- # * Change Arrow Viewport #-------------------------------------------------------------------------- alias cbs_start_enemy_select start_enemy_select def start_enemy_select cbs_start_enemy_select @enemy_arrow.dispose @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2) @enemy_arrow.help_window = @help_window end end
#============================================================================== # ** Spriteset_Battle #==============================================================================
class Spriteset_Battle #-------------------------------------------------------------------------- # * Change Enemy Viewport #-------------------------------------------------------------------------- alias cbs_initialize initialize def initialize cbs_initialize @enemy_sprites = [] for enemy in $game_troop.enemies.reverse @enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy)) end end #-------------------------------------------------------------------------- # * Find Sprite From Battler Handle #-------------------------------------------------------------------------- def battler(handle) for sprite in @actor_sprites + @enemy_sprites return sprite if sprite.battler == handle end end end
#============================================================================== # ** Arrow_Base #==============================================================================
class Arrow_Base < Sprite #-------------------------------------------------------------------------- # * Reposition Arrows #-------------------------------------------------------------------------- alias cbs_initialize initialize def initialize(viewport) cbs_initialize(viewport) self.ox = 14 self.oy = 10 end end
boleh dpake kan? ini yang aku dapetin.
Terakhir diubah oleh el_musketeer tanggal 2010-07-12, 09:16, total 1 kali diubah (Reason for editing : salah naroh script :shocked:) | |
|
Sponsored content
| Subyek: Re: [SOLVED] nanya script free for use | |
| |
|