Shop Đẹp nè

Thảo luận trong 'Game Development' bắt đầu bởi y.r.p, 2/6/06.

  1. y.r.p

    y.r.p Youtube Master Race

    Tham gia ngày:
    15/8/04
    Bài viết:
    85
    TẠI post bi mạng bị j chi còn nữa khúc à :((
     
  2. Mozzila†hunder

    Mozzila†hunder Dragon Quest

    Tham gia ngày:
    29/5/06
    Bài viết:
    1,295
    Nơi ở:
    Ha Noi, Vietnam
    Ấn X chạy nhanh đâu cần scrift? Nếu dùng event còn có thể đổi sang Graphic chạy nữa cơ (Khi chạy thì đổi sang hình đang chạy) khi đi bộ đổi sang hình đi bộ :D
     
  3. Ice Dragon

    Ice Dragon Mega Man

    Tham gia ngày:
    6/9/04
    Bài viết:
    3,101
    Nơi ở:
    none
    Script để cho nó có vẻ Pro 1 tí đó mà :D
    Script cũng chuyển hình được vậy
    Ko có đuôi mới dzui, bà cn tự thêm vào :D
    Bác kiếm ở đâu nhiều Script tuyệt quá vậy :D

    Với tác giả mấy Script này chỉ có 4 chữ: tâm phục khẩu phục
    Ko chỉ phục khả năng mà phục nhân cách, tui chắc chẳng bao giờ share mấy script như vầy :D

    SephirothSpawn => Viết Script rõ ràng, dễ hiểu => Một con người tuyệt vời :D
     
  4. MasterWind

    MasterWind T.E.T.Я.I.S

    Tham gia ngày:
    12/4/06
    Bài viết:
    637
    Nơi ở:
    [GVN]Audition
    Từ ngày vô mấy cái script nước ngoài mới thấy người ta hơn cả mình về tài năng lẫn nhân cách (Nói thế không có ý xúc phạm mấy người VN mình đâu đó nghen) >Người ta chỉ cần ngồi 2 tiếng là có thể ra 1 script cực hay ,người ta còn họp mặt góp ý làm script sau đó tung lên diễn đàn mà không lấy làm của riêng .Người ta bất chấp luật lệ mà share cho anh em một cách nhiệt tình (Chôm bên trang khác về có thể bị admin del hay warm giống bên mình nhưng người ta vẫn làm)
    Thật chẳng còn gì để nói NHƯNG chúng ta là người Việt chúng ta có cách sống của người Việt ,có thể chúng ta hơi ích kỉ có thể chúng ta hơi tham lam nhưng chúng ta luôn quan tâm đến nhau .Vậy tại sao mọi người vẫn không chịu giúp đỡ nhau một cách nhiệt tình hơn là chửi nhau ngu mà không giúp người như "ai kia" :D .Như tui đây đăng kí tài khoảng từ tháng 4 nhưng tui vẫn thờ ơ vô trách nhiệm để mặc những câu hỏi mà tui dư sức trả lời ,nhưng giờ đây tui đã bắt đầu những bài viết của mình dù rằng tui vẫn chưa đóng góp được nhiều (Tài năng có hạn) vì thế nên tui vẫn mong được giỏi hơn >Chúng ta hãy cùng chia sẽ kinh nghiệm và giúp nhau giỏi hơn và trên tất cả đừng coi thường người khác và tự đề cao mình !! We are Vietnamese !
     
  5. y.r.p

    y.r.p Youtube Master Race

    Tham gia ngày:
    15/8/04
    Bài viết:
    85
    Các pác có Srcipt thì share cho mọi người cùng xem toàn là em ko à :((
     
  6. y.r.p

    y.r.p Youtube Master Race

    Tham gia ngày:
    15/8/04
    Bài viết:
    85
    Mã:
    #===============================================================================
    
    #
    #   Full Animated Side View Battle System (CBS) (v2.5)               by cybersam
    #
    #===============================================================================
    
    #
    # here we go...
    # this makes the script very easy to implement
    # just add a new script above the "Main" script
    # and insert this whole thing in there
    #
    # as you can see the sprite changing code is from the japanese script
    # so the credits for the sprite changin goes to them....
    # i edit it a little so it can show more sprites and sprite animations
    # and added some other stuff... the next things are player movement...
    #
    #
    #
    # i got the battler changing script in this script...
    # the credits for this goes to the guy who made this...
    #
    # ▼▲▼ XRXS11. 戦闘・�トラーモーション ver.0 ▼▲▼
    #
    # since this isnt used anymore... it isnt need for credit anymore...
    # but i'll let it here since it helped me a lot...
    #
    #
    # as for the ideas... missy provided me with realy good ideas 
    # that helped me alot when i didnt find a way to some of these features...
    #
    # here one more Credit to place...
    # its RPG's script...
    # not the whole thing here... 
    # but some snipplet you'll know witch one when read the comments
    # 
    #
    # if you want some more explaines about this script...
    # the most stuff are commented... but if you still have questions or
    # sugestions then you can contact me
    #
    #-------------------------------------------------------------------------------
    #
    # how or where you can contact me...
    # at the http://www.rmxp.net forum via pm, email: cybersam@club-anime.de
    # or via AIM: cych4n or ICQ: 73130840
    #
    # remember this is still in testing phase...
    # and i'm trying to work on some other additions... like character movements...
    # but that wont be added now... couse i need to figure it out first...
    #
    #
    #
    # oh hehe.... before i forget...
    # sorry for the bad english... ^-^''''
    #
    #
    #-------------------------------------------------------------------------------
    #
    # ok... here... since i'm using RPG's movement script...
    # there are a lot of changes... 
    # 
    # when you look at the script you'll find line with "pose(n)" or "enemy_pose(n)"
    # since i want my sprites have different sprites... i added one more option
    # to these...
    # so now if you add a number after the n (the n stands for witch sprite is used)
    # fo example 8... ("pose(4, 8)") this will tell the script that the 4th animation
    # have 8 frames...
    # pose is used for the player... and enemy_pose for the enemy...
    # there is nothing more to this...
    # i used my old sprite numbers... (this time in only one sprite...)
    #
    # explains about the animation sprites... (the digits)
    #
    #
    # 0 = move (during battle)
    # 1 = standby
    # 2 = defend
    # 3 = hit (being attacked)
    # 4 = attack
    # 5 = skill use
    # 6 = dead
    # 7 = winning pose... this idea is from RPG....
    # 
    #
    # of course this is just the begining of the code... 
    # so more animations can be implemented...
    # but for now this should be enough...
    # 
    # alot has changed here... and now it looks like it is done...
    # of course the fine edit needs to be done so it looks and works great with your
    # game too...
    #
    #
    #
    # 1st   character movement...                             done
    # 2rd   character apears at the enemy while attacking...  done / replaced with movement animation
    # 3nd   character movement during attack...               done
    # 
    # 4th   enemies movement...                               done
    # 5th   enemy apears at the enemy while attacking...      done  / replaced with movement animation
    # 6th   enemy movement during attack...                   done
    #
    # 7th   each weapon has its own animation...              done
    # 8th   each skill has its own animation...               done
    # 9th   different poses for sickness or low hp            done
    #
    # 10th  automaticly select the sprite...                  done
    # 11th  Fullbackground                                    implemented (done)
    #
    #
    # bugfixes and code cleaning/improvements....             ----
    #
    #
    #
    # for some customfixes look in the rmxp.net forum...
    #===============================================================================
    
    
    
    
    class Game_Actor < Game_Battler
     
    # you dont have to change your game actor to let the characters schows
    # from the side...
    # this will do it for you... ^-^
    
     def screen_x
       if self.index != nil
         return self.index * 40 + 460
       else
         return 0
       end
     end
    
     def screen_y
       return self.index * 20 + 220
     end
     
     def screen_z
       if self.index != nil
         return self.index
       else
         return 0
       end
     end
    end
    
    
    class Spriteset_Battle
     #RPG's stuff...
     attr_accessor :actor_sprites
     attr_accessor :enemy_sprites
     # ends here... ^-^
     
     def initialize
       @viewport0 = Viewport.new(0, 0, 640, 480)
       @viewport1 = Viewport.new(0, 0, 640, 480)
       @viewport2 = Viewport.new(0, 0, 640, 480)
       @viewport3 = Viewport.new(0, 0, 640, 480)
       @viewport4 = Viewport.new(0, 0, 640, 480)
       @viewport2.z = 101
       @viewport3.z = 200
       @viewport4.z = 5000
    
       @battleback_sprite = Sprite.new(@viewport0)
       # fix for reversed enemies... so it wont attack the wrong enemy...
       # this one was fixed long time ago but i added this comment 
       # so you guys know about it... ^-^''
       @enemy_sprites = []
       for enemy in $game_troop.enemies#.reverse
         @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
       end
       
       @actor_sprites = []
       @actor_sprites.push(Sprite_Battler.new(@viewport2))
       @actor_sprites.push(Sprite_Battler.new(@viewport2))
       @actor_sprites.push(Sprite_Battler.new(@viewport2))
       @actor_sprites.push(Sprite_Battler.new(@viewport2))
       
       @weather = RPG::Weather.new(@viewport0)
       @picture_sprites = []
       for i in 51..100
         @picture_sprites.push(Sprite_Picture.new(@viewport3,
           $game_screen.pictures[i]))
       end
       @timer_sprite = Sprite_Timer.new
       update
     end
     
     
     def dispose
       if @battleback_sprite.bitmap != nil
         @battleback_sprite.bitmap.dispose
       end
       @battleback_sprite.dispose
       for sprite in @enemy_sprites + @actor_sprites
         sprite.dispose
       end
       @weather.dispose
       for sprite in @picture_sprites
         sprite.dispose
       end
       @timer_sprite.dispose
       @viewport0.dispose
       @viewport1.dispose
       @viewport2.dispose
       @viewport3.dispose
       @viewport4.dispose
     end
     
     def update
       # this fix let the active character be on top... (by Missy)
       @viewport1.z = 50 and @viewport2.z = 51 if $actor_on_top == true
       @viewport1.z = 51 and @viewport2.z = 50 if $actor_on_top == false
       
       @actor_sprites[0].battler = $game_party.actors[0]
       @actor_sprites[1].battler = $game_party.actors[1]
       @actor_sprites[2].battler = $game_party.actors[2]
       @actor_sprites[3].battler = $game_party.actors[3]
       
       if @battleback_name != $game_temp.battleback_name
         @battleback_name = $game_temp.battleback_name
         if @battleback_sprite.bitmap != nil
           @battleback_sprite.bitmap.dispose
         end
         @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
         @battleback_sprite.src_rect.set(0, 0, 640, 480)
         if @battleback_sprite.bitmap.height == 320
           @battleback_sprite.zoom_x = 1.5
           @battleback_sprite.zoom_y = 1.5
           @battleback_sprite.x = 320
           @battleback_sprite.y = 480
           @battleback_sprite.ox = @battleback_sprite.bitmap.width / 2
           @battleback_sprite.oy = @battleback_sprite.bitmap.height
         else
           @battleback_sprite.x = 0
           @battleback_sprite.y = 0
           @battleback_sprite.ox = 0
           @battleback_sprite.oy = 0
           @battleback_sprite.zoom_x = 1
           @battleback_sprite.zoom_y = 1
         end
       end
       
       for sprite in @enemy_sprites + @actor_sprites
         sprite.update
       end
       
       @weather.type = $game_screen.weather_type
       @weather.max = $game_screen.weather_max
       @weather.update
       
       for sprite in @picture_sprites
         sprite.update
       end
       
       @timer_sprite.update
       
       @viewport0.tone = $game_screen.tone
       @viewport0.ox = $game_screen.shake
       
       @viewport4.color = $game_screen.flash_color
       
       @viewport0.update
       @viewport1.update
       @viewport2.update
       @viewport4.update
     end
    end
    
    #==============================================================================
    # Sprite Battler for the Costum Battle System
    #==============================================================================
    # here we are making some animations and stuff...
    # i know its not the best way...
    # but this is the first working way that i found....
    # this needs propper understanding how the animation works...
    # if you want to change some stuff...
    # in this i'll not explain much couse its realy easy if you know what you do
    # otherwise it will take you time to understand it, but i think the one who 
    # is trying to edit this will know what he/she do... ^-^
    #
    #
    # 
    # here i'll completely replace the "Sprite_Battler" class...
    # so if you've changed something in there you need to change it here as well
    # (i think... i didnt tested it... so its up to you)
    # i'll mark the stuff i added just with --> #
    # something that need to be explained have a comment...
    # but its not all commented...
    # so if you dont know what it means or you just want to know why it is there and 
    # what it does then you need to contact me or anyone who understand this... ^-^
    # how you can contact me see above... at the top of this script...
    
    
    class Sprite_Battler < Animated_Sprite
    
     attr_accessor :battler
     attr_reader   :index
     attr_accessor :target_index
     attr_accessor :frame_width
    
     
     def initialize(viewport, battler = nil)
       super(viewport)
       @battler = battler
       @pattern_b = 0 #
       @counter_b = 0 #
       @index = 0     #
       
       # this is for the state animation...
       # dont change unless you know what this do...
       # you can find further infomation on the rmxp.net forum
       $noanimation = false
       
       @frame_width, @frame_height = 64, 64
       # start sprite
       @battler.is_a?(Game_Enemy) ? enemy_pose(1) : pose(1)
       
       @battler_visible = false
       if $target_index == nil
         $target_index = 0
       end
     end
     
     def index=(index) #
       @index = index  # 
       update          # 
     end               # 
     
     def dispose
       if self.bitmap != nil
         self.bitmap.dispose
       end
       super
     end
     
     def enemy                                             #
       $target_index += $game_troop.enemies.size
       $target_index %= $game_troop.enemies.size
       return $game_troop.enemies[$target_index]           #
     end                                                   #
     
     def actor                                             #
       $target_index += $game_party.actors.size
       $target_index %= $game_party.actors.size
       return $game_party.actors[$target_index]            #
     end           
    
    #==============================================================================
    # here is a snipplet from RPG's script...
    # i changed only to lines from this...
    #
    # here you can add more sprite poses... if you have more... ^-^
    #==============================================================================
     def pose(number, frames = 4)
       case number
       when 0  # run
         change(frames, 5, 0, 0, 0)
       when 1  # standby
         change(frames, 5, 0, @frame_height)
       when 2 # defend
         change(frames, 5, 0, @frame_height * 2)
       when 3 # Hurt, loops
         change(frames, 5, 0, @frame_height * 3)
       when 4 # attack no loop
         change(frames, 5, 0, @frame_height * 4, 0, true)
       when 5 # skill
         change(frames, 5, 0, @frame_height * 5)
       when 6 # death
         change(frames, 5, 0, @frame_height * 6)
       when 7 # no sprite
         change(frames, 5, 0, @frame_height * 7)
       #when 8
       # change(frames, 5, 0, @frame_height * 9)
       # ...etc.
       else
         change(frames, 5, 0, 0, 0)
       end
     end
     
     #--------------------------------------------------------------------------
     # - Change the battle pose for an enemy
     #   number : pose' number
     #--------------------------------------------------------------------------
     def enemy_pose(number ,enemy_frames = 4)
       case number
       when 0  # run
         change(enemy_frames, 5, 0, 0, 0)
       when 1  # standby
         change(enemy_frames, 5, 0, @frame_height)
       when 2 # defend
         change(enemy_frames, 5, 0, @frame_height * 2)
       when 3 # Hurt, loops
         change(enemy_frames, 5, 0, @frame_height * 3)
       when 4 # attack
         change(enemy_frames, 5, 0, @frame_height * 4, 0, true)
       when 5 # skill
         change(enemy_frames, 5, 0, @frame_height * 5)
       when 6 # death
         change(enemy_frames, 5, 0, @frame_height * 6)
       when 7 # no sprite
         change(enemy_frames, 5, 0, @frame_height * 7)
       # ...etc.
       else
         change(enemy_frames, 5, 0, 0, 0)
       end
     end
     
     def default_pose
       pose(1)
       
       # here we change the default pose when the character 
       # dont have over 75 % percent of the max hp
       
       # if HP is too low (- 25%)
       if (@battler.hp * 100) /@battler.maxhp  < 25
         pose(9)
       # if HP is too low (- 50%)
       elsif (@battler.hp * 100) /@battler.maxhp  < 50
         pose(9)
       # if HP is too low (- 75%)
       elsif (@battler.hp * 100) /@battler.maxhp  < 75
         pose(9)
       end
       
       
       # and here we change the pose if the character is inflicted with
       # poison or other stuff like sleep, paralyzed, confused or other stuff...
       # i only added the poison and sleep for test...
       if @battler.state?(3) # poison
         # change pose to sleep pose... 
         # (i dont have so much sprites... so im the defend pose)
         # you can set more status effects so each effect has its own sprite...
         pose(2)
       elsif @battler.state?(7) #sleep
         # change pose to poisoned
         pose(6)
       end
     end
    #==============================================================================
    # sniplet end...
    #==============================================================================  
     
     
     def update
       super
       
       if @battler == nil                                                      
         self.bitmap = nil                                                     
         loop_animation(nil)                                                   
         return                                                                
       end
       
       if @battler.name != @battler_name
          @battler.battler_hue != @battler_hue
    
         @battler_hue = @battler.battler_hue
         @battler_name = @battler.name
         self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
         @width = bitmap.width
         @height = bitmap.height
         self.ox = @frame_width / 2
         self.oy = @frame_height
    
         if @battler.dead? or @battler.hidden
           self.opacity = 0
         end
         self.x = @battler.screen_x
         self.y = @battler.screen_y
         self.z = @battler.screen_z
       end
       
       if $noanimation == false
         if @battler.damage == nil and
            @battler.state_animation_id != @state_animation_id
           @state_animation_id = @battler.state_animation_id
           loop_animation($data_animations[@state_animation_id])
         end
       else
         dispose_loop_animation
       end
       
    
       if @battler.is_a?(Game_Actor) and @battler_visible
         if $game_temp.battle_main_phase
           self.opacity += 3 if self.opacity < 255
         else
           self.opacity -= 3 if self.opacity > 207
         end
       end
    
       if @battler.blink
         blink_on
       else
         blink_off
       end
    
       unless @battler_visible
         if not @battler.hidden and not @battler.dead? and
            (@battler.damage == nil or @battler.damage_pop)
           appear
           @battler_visible = true
         end
         if not @battler.hidden and
            (@battler.damage == nil or @battler.damage_pop) and
            @battler.is_a?(Game_Actor)
           appear
           @battler_visible = true
         end
       end
       if @battler_visible
         if @battler.hidden
           $game_system.se_play($data_system.escape_se)
           escape
           @battler_visible = false
         end
         if @battler.white_flash
           whiten
           @battler.white_flash = false
         end
         if @battler.animation_id != 0
           animation = $data_animations[@battler.animation_id]
           animation(animation, @battler.animation_hit)
           @battler.animation_id = 0
         end
         if @battler.damage_pop
           damage(@battler.damage, @battler.critical)
           @battler.damage = nil
           @battler.critical = false
           @battler.damage_pop = false
         end
         if @battler.damage == nil and @battler.dead?
           if @battler.is_a?(Game_Enemy)
             $game_system.se_play($data_system.enemy_collapse_se)
             collapse
             @battler_visible = false
           else
             $game_system.se_play($data_system.actor_collapse_se) unless @dead
             @dead = true
             pose(6)
           end
         else
           @dead = false
         end
       end                                                                #
     end
    end
    
    
    #==============================================================================
    # Scene_Battle Costum  Battle System
    #==============================================================================
    
    class Scene_Battle
     
     
     def update_phase4
       case @phase4_step
       when 1
         update_phase4_step1
       when 2
         update_phase4_step2
       when 3
         update_phase4_step3
       when 4
         update_phase4_step4
       when 5
         update_phase4_step5
       when 6
         update_phase4_step6
       when 7
         update_phase4_step7
       end
     end
     
     
     def update_phase4_step1
    
       # Change actor poses to default
       #if @active_battler.is_a?(Game_Actor)
       #  @spriteset.actor_sprites[@active_battler.index].default_pose
       #end
       for i in 0...$game_party.actors.size
         actor = $game_party.actors[i]
         @spriteset.actor_sprites[i].default_pose unless actor.dead?
       end
    
       @help_window.visible = false
       if judge
         return
       end
       if $game_temp.forcing_battler == nil
         setup_battle_event
         if $game_system.battle_interpreter.running?
           return
         end
       end
       if $game_temp.forcing_battler != nil
         @action_battlers.delete($game_temp.forcing_battler)
         @action_battlers.unshift($game_temp.forcing_battler)
       end
       if @action_battlers.size == 0
         start_phase2
         return
       end
       @animation1_id = 0
       @animation2_id = 0
       @common_event_id = 0
       @active_battler = @action_battlers.shift
       if @active_battler.index == nil
         return
       end
       if @active_battler.hp > 0 and @active_battler.slip_damage?
         @active_battler.slip_damage_effect
         @active_battler.damage_pop = true
       end
       @active_battler.remove_states_auto
       @status_window.refresh
       @phase4_step = 2
     end
     
     
     def make_basic_action_result
       
       if @active_battler.is_a?(Game_Actor)
         $actor_on_top = true
       elsif @active_battler.is_a?(Game_Enemy)
         $actor_on_top = false
       end
       
       if @active_battler.current_action.basic == 0
    #============================================================================
    # WEAPONS START...
    #============================================================================
    # 
    #================================= Different Weapons with different animations
    #
    # this is quite simple as you can see...
    # if you want to add a weapon to the animation list then look at the script below...
    # and i hope you'll find out how this works...
    #
    #
    # if not...
    # here is the way...
    # first thing... 
    # just copy and paste "elseif @active_battler_enemy.weapon_id == ID..." 
    # just after the last @weapon_sprite....
    # 
    # here the ID is you need to look in you game databse the number that stands before 
    # your weapon name is the ID you need to input here...
    #
    # same thing goes for the monster party... ^-^
    # monster normaly dont need more sprites for weapons....
    #
    # if you want to use more... then replace the "@weapon_sprite_enemy = 4"
    # with these lines... (but you need to edit them)
    #
    #        if @active_battler.weapon_id == 1 # <--  weapon ID number
    #          @weapon_sprite_enemy = 4 # <-- battle animation
    #        elsif @active_battler.weapon_id == 5 # <-- weapon ID number
    #          @weapon_sprite_enemy = 2 # <-- battle animation
    #        elsif @active_battler.weapon_id == 9 # <-- weapon ID number
    #          @weapon_sprite_enemy = 0 # <-- battle animation
    #        elsif @active_battler.weapon_id == 13 # <-- weapon ID number
    #          @weapon_sprite_enemy = 6 # <-- battle animation
    #        else
    #          @weapon_sprite_enemy = 4
    #        end
    # 
    #================================= END
    
         if @active_battler.is_a?(Game_Actor)
           if @active_battler.weapon_id == 1 # <--  weapon ID number
             @weapon_sprite = 4 # <-- battle animation
           elsif @active_battler.weapon_id == 5 # <-- weapon ID number
             @weapon_sprite = 2 # <-- battle animation
           elsif @active_battler.weapon_id == 9 # <-- weapon ID number
             @weapon_sprite = 0 # <-- battle animation
           elsif @active_battler.weapon_id == 13 # <-- weapon ID number
             @weapon_sprite = 6 # <-- battle animation
           else
             @weapon_sprite = 4
           end
           
    # monster section is here... ^-^
    
         else# @active_battler.is_a?(Game_Enemy)
             @weapon_sprite_enemy = 4
         end
           
    #
    #=============================================================================
    # WEAPONS END....
    #=============================================================================
         
         
         @animation1_id = @active_battler.animation1_id
         @animation2_id = @active_battler.animation2_id
         if @active_battler.is_a?(Game_Enemy)
           if @active_battler.restriction == 3
             target = $game_troop.random_target_enemy
           elsif @active_battler.restriction == 2
             target = $game_party.random_target_actor
           else
             index = @active_battler.current_action.target_index
             target = $game_party.smooth_target_actor(index)
           end
    #======== here is the setting for the movement & animation...
             x = target.screen_x - 32
             @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0)
             @spriteset.enemy_sprites[@active_battler.index]\
             .move(x, target.screen_y, 10)
    #========= here if you look at the RPG's movement settings you'll see
    #========= that he takes the number 40 for the speed of the animation... 
    #========= i thing thats too fast so i settet it down to 10 so looks smoother...
         end
         if @active_battler.is_a?(Game_Actor)
           if @active_battler.restriction == 3
             target = $game_party.random_target_actor
           elsif @active_battler.restriction == 2
             target = $game_troop.random_target_enemy
           else
             index = @active_battler.current_action.target_index
             target = $game_troop.smooth_target_enemy(index)
           end
    #======= the same thing for the player... ^-^
           x = target.screen_x + 32
           @spriteset.actor_sprites[@active_battler.index].pose(0)
           @spriteset.actor_sprites[@active_battler.index]\
           .move(x, target.screen_y, 10)
         end
         @target_battlers = [target]
         for target in @target_battlers
           target.attack_effect(@active_battler)
         end
         return
       end
       if @active_battler.current_action.basic == 1
         if @active_battler.is_a?(Game_Actor)
           @spriteset.actor_sprites[@active_battler.index].pose(2) #defence
         else
           @spriteset.enemy_sprites[@active_battler.index].enemy_pose(2) #defence
         end
         @help_window.set_text($data_system.words.guard, 1)
         return
       end
       if @active_battler.is_a?(Game_Enemy) and
          @active_battler.current_action.basic == 2
         @help_window.set_text("Escape", 1)
         @active_battler.escape
         return
       end
       if @active_battler.current_action.basic == 3
         $game_temp.forcing_battler = nil
         @phase4_step = 1
         return
       end
       
       if @active_battler.current_action.basic == 4
         if $game_temp.battle_can_escape == false
           $game_system.se_play($data_system.buzzer_se)
           return
         end
         $game_system.se_play($data_system.decision_se)
         update_phase2_escape
         return
       end
     end
     #--------------------------------------------------------------------------
     # skill aktion...
     #--------------------------------------------------------------------------
     def make_skill_action_result
       
       @skill = $data_skills[@active_battler.current_action.skill_id]
       unless @active_battler.current_action.forcing
         unless @active_battler.skill_can_use?(@skill.id)
           $game_temp.forcing_battler = nil
           @phase4_step = 1
           return
         end
       end
       @active_battler.sp -= @skill.sp_cost
       @status_window.refresh
       @help_window.set_text(@skill.name, 1)
       
    #=============================================================================
    # SKILL SPRITES START
    #=============================================================================
    # this one is the same as the one for the weapons...
    # for the one who have this for the first time
    # look at the script i hope it is easy to understand...
    # 
    # the other one that have the earlier versions of this script they dont need explenation
    # ... i think....
    # the think that changed is the line where the animation ID is given to the sprite...
    # the number after the "pose" is the animation ID... it goes for every other animation as well..
    # if you have an animation for a skill that have more frames... 
    # then just insert the number of frames after the first number...
    # so it looks like this.... "pose(5, 8)" <-- 5 is the animation... 
    # 8 is the max frame (that means your animation have 8 frames...) ^-^
       
       if @active_battler.is_a?(Game_Actor)
         if @skill.name == "Heal" # <-- first skill name
           @spriteset.actor_sprites[@active_battler.index].pose(5) # <-- sprite number
         elsif @skill.name == "Cross Cut" # <-- secound skill name
           @spriteset.actor_sprites[@active_battler.index].pose(6) # <-- sprite number
         elsif @skill.name == "Fire" # <-- third skill name
           @spriteset.actor_sprites[@active_battler.index].pose(6) # <-- sprite number
         end
       else
         if @skill.name == "Heal" # <-- first skill name
           @spriteset.enemy_sprites[@active_battler.index].enemy_pose(5) # <-- sprite number
         elsif @skill.name == "Cross Cut" # <-- secound skill name
           @spriteset.enemy_sprites[@active_battler.index].enemy_pose(6) # <-- sprite number
         elsif @skill.name == "Fire" # <-- third skill name
           @spriteset.enemy_sprites[@active_battler.index].enemy_pose(6) # <-- sprite number
         end
       end
    #=============================================================================
    # SKILL SPRITES END
    #=============================================================================
       
       @animation1_id = @skill.animation1_id
       @animation2_id = @skill.animation2_id
       @common_event_id = @skill.common_event_id
       set_target_battlers(@skill.scope)
       for target in @target_battlers
         target.skill_effect(@active_battler, @skill)
       end
     end
     #--------------------------------------------------------------------------
     # how here we make the item use aktions
     #--------------------------------------------------------------------------
     def make_item_action_result
      
       # sorry i didnt work on this...
       # couse i dont have a sprite that uses items....
       # so i just added the standby sprite here...
       # when i get more time for this i'll try what i can do for this one... ^-^
       # its the same as the ones above...
       if @active_battler.is_a?(Game_Actor)
         @spriteset.actor_sprites[@active_battler.index].pose(1)
       else
         @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)
       end
       
       @item = $data_items[@active_battler.current_action.item_id]
       unless $game_party.item_can_use?(@item.id)
         @phase4_step = 1
         return
       end
       if @item.consumable
         $game_party.lose_item(@item.id, 1)
       end
       @help_window.set_text(@item.name, 1)
       @animation1_id = @item.animation1_id
       @animation2_id = @item.animation2_id
       @common_event_id = @item.common_event_id
       index = @active_battler.current_action.target_index
       target = $game_party.smooth_target_actor(index)
       set_target_battlers(@item.scope)
       for target in @target_battlers
         target.item_effect(@item)
       end
     end
     
    #==============================================================================
    # here again.... snipplet from RPG's script
    #==============================================================================
    
    
    # this one here is for the winning pose...
    # if you happen to use my old costum level script then you need to add the 
    # marked line to you "def start_phase5" in  "Scene_Battle 2" and delete this one...
    # the ->  =*****= 
    # marks the end where you need to delete...
    # and -> {=====}
    # marks the line you need to copy and paste in the other one...
    # you need to add it at the same position...
    
     def start_phase5
       @phase = 5
       $game_system.me_play($game_system.battle_end_me)
       $game_system.bgm_play($game_temp.map_bgm)
       exp = 0
       gold = 0
       treasures = []
       for enemy in $game_troop.enemies
         unless enemy.hidden
           exp += enemy.exp
           gold += enemy.gold
           if rand(100) < enemy.treasure_prob
             if enemy.item_id > 0
               treasures.push($data_items[enemy.item_id])
             end
             if enemy.weapon_id > 0
               treasures.push($data_weapons[enemy.weapon_id])
             end
             if enemy.armor_id > 0
               treasures.push($data_armors[enemy.armor_id])
             end
           end
         end
       end
       treasures = treasures[0..5]
       for i in 0...$game_party.actors.size
         actor = $game_party.actors[i]
         $noanimation = true
         @spriteset.actor_sprites[i].pose(7) unless actor.dead? # {=====}
         if actor.cant_get_exp? == false
           last_level = actor.level
           actor.exp += exp
           if actor.level > last_level
             @status_window.level_up(i)
           end
         end
       end
       $game_party.gain_gold(gold)
       for item in treasures
         case item
         when RPG::Item
           $game_party.gain_item(item.id, 1)
         when RPG::Weapon
           $game_party.gain_weapon(item.id, 1)
         when RPG::Armor
           $game_party.gain_armor(item.id, 1)
         end
       end
       @result_window = Window_BattleResult.new(exp, gold, treasures)
       @phase5_wait_count = 100
     end
    #   =*****= 
     
     #--------------------------------------------------------------------------
     # updating the movement
     # since RPG isnt used to comments... i'll comment it again...
     #--------------------------------------------------------------------------
     def update_phase4_step3
       if @active_battler.current_action.kind == 0 and
          @active_battler.current_action.basic == 0
          # in this one... we have our weapon animations... for player and monster
         if @active_battler.is_a?(Game_Actor)
           @spriteset.actor_sprites[@active_battler.index].pose(@weapon_sprite)
         elsif @active_battler.is_a?(Game_Enemy)
           @spriteset.enemy_sprites[@active_battler.index].enemy_pose(@weapon_sprite_enemy)
         end
       end
       if @animation1_id == 0
         @active_battler.white_flash = true
       else
         @active_battler.animation_id = @animation1_id
         @active_battler.animation_hit = true
       end
       @phase4_step = 4
     end
    
     def update_phase4_step4
       # this here is for the hit animation...
       for target in @target_battlers
         if target.is_a?(Game_Actor) and !@active_battler.is_a?(Game_Actor)
           if target.guarding?
             @spriteset.actor_sprites[target.index].pose(2)
           else
             @spriteset.actor_sprites[target.index].pose(3)
           end
           elsif target.is_a?(Game_Enemy) and !@active_battler.is_a?(Game_Enemy)
           if target.guarding?
             @spriteset.enemy_sprites[target.index].enemy_pose(2)
           else
             @spriteset.enemy_sprites[target.index].enemy_pose(3)
           end
         end
         target.animation_id = @animation2_id
         target.animation_hit = (target.damage != "Miss")
       end
       @wait_count = 8
       @phase4_step = 5
     end
    
     def update_phase4_step5
       if @active_battler.hp > 0 and @active_battler.slip_damage?
         @active_battler.slip_damage_effect
         @active_battler.damage_pop = true
       end
    
       @help_window.visible = false
       @status_window.refresh
    
       if @active_battler.is_a?(Game_Actor)
         @spriteset.actor_sprites[@active_battler.index].pose(1)
       else
         @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)
       end
       for target in @target_battlers
         if target.damage != nil
           target.damage_pop = true
           if @active_battler.is_a?(Game_Actor)
             @spriteset.actor_sprites[@active_battler.index].pose(1)
           else
             @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)
           end
         end
       end
       @phase4_step = 6
     end
     #--------------------------------------------------------------------------
     # � フレーム更新 (メインフェーズ ステップ 6 : リフレッシュ)
     #--------------------------------------------------------------------------
     def update_phase4_step6
       
       # here we are asking if the player is dead and is a player or an enemy...
       # these lines are for the running back and standby animation....
       if @active_battler.is_a?(Game_Actor) and !@active_battler.dead?
         @spriteset.actor_sprites[@active_battler.index]\
         .move(@active_battler.screen_x, @active_battler.screen_y, 20)
         @spriteset.actor_sprites[@active_battler.index].pose(0)
       elsif !@active_battler.dead?
         @spriteset.enemy_sprites[@active_battler.index]\
         .move(@active_battler.screen_x, @active_battler.screen_y, 20)
         @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0)
       end
       for target in @target_battlers
         if target.is_a?(Game_Actor) and !target.dead?
             @spriteset.actor_sprites[target.index].pose(1)
           elsif !target.dead?
             @spriteset.enemy_sprites[target.index].enemy_pose(1)
         end
       end
       $game_temp.forcing_battler = nil
       if @common_event_id > 0
         common_event = $data_common_events[@common_event_id]
         $game_system.battle_interpreter.setup(common_event.list, 0)
       end
       @phase4_step = 7
     end
    
     def update_phase4_step7
       
       # here we are asking if the player is dead and is a player or an enemy...
       # these lines are for the running back and standby animation....
       if @active_battler.is_a?(Game_Actor) and !@active_battler.dead?
         @spriteset.actor_sprites[@active_battler.index].pose(1)
       elsif !@active_battler.dead?
         @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)
       end
    
       $game_temp.forcing_battler = nil
       if @common_event_id > 0
         common_event = $data_common_events[@common_event_id]
         $game_system.battle_interpreter.setup(common_event.list, 0)
       end
       @phase4_step = 1
     end
     
    # this one is an extra... without this the animation whill not work correctly...
    
     def update
       if $game_system.battle_interpreter.running?
         $game_system.battle_interpreter.update
         if $game_temp.forcing_battler == nil
           unless $game_system.battle_interpreter.running?
             unless judge
               setup_battle_event
             end
           end
           if @phase != 5
             @status_window.refresh
           end
         end
       end
       $game_system.update
       $game_screen.update
       if $game_system.timer_working and $game_system.timer == 0
         $game_temp.battle_abort = true
       end
       @help_window.update
       @party_command_window.update
       @actor_command_window.update
       @status_window.update
       @message_window.update
       @spriteset.update
       if $game_temp.transition_processing
         $game_temp.transition_processing = false
         if $game_temp.transition_name == ""
           Graphics.transition(20)
         else
           Graphics.transition(40, "Graphics/Transitions/" +
             $game_temp.transition_name)
         end
       end
       if $game_temp.message_window_showing
         return
       end
       if @spriteset.effect?
         return
       end
       if $game_temp.gameover
         $scene = Scene_Gameover.new
         return
       end
       if $game_temp.to_title
         $scene = Scene_Title.new
         return
       end
       if $game_temp.battle_abort
         $game_system.bgm_play($game_temp.map_bgm)
         battle_end(1)
         return
       end
       if @wait_count > 0
         @wait_count -= 1
         return
       end
    
       # this one holds the battle while the player moves
       for actor in @spriteset.actor_sprites
         if actor.moving
           return
         end
       end
       # and this one is for the enemy... 
       for enemy in @spriteset.enemy_sprites
         if enemy.moving# and $game_system.animated_enemy
           return
         end
       end
       
       if $game_temp.forcing_battler == nil and
          $game_system.battle_interpreter.running?
         return
       end
       case @phase
       when 1
         update_phase1
       when 2
         update_phase2
       when 3
         update_phase3
       when 4
         update_phase4
       when 5
         update_phase5
       end
     end
     
    #==============================================================================
    # end of the snipplet
    # if you want the comments that where here just look at the scene_battle 4... 
    # i added some comments since RPG hasnt add any....
    #==============================================================================
    end
    
    để trên kip trên
    Mã:
    [code]#=========================================================================
    =====
    # * Animated_Sprite                                Scripted by: RPG
    #                                                  Edited by: cybersam
    #
    # i just removed the stuff that i dont need for my script...
    # everything else is RPG's script... (here)
    # 
    #------------------------------------------------------------------------------
    #  A class for animated sprites.
    #==============================================================================
    
    class Animated_Sprite < RPG::Sprite
     #--------------------------------------------------------------------------
     # - Accessible instance variables.
     #--------------------------------------------------------------------------
     attr_accessor :frames        # Number of animation frames 
     attr_accessor :delay         # Delay time between frames (speed)
     attr_accessor :frame_width   # Width of each frame 
     attr_accessor :frame_height  # Height of each frame
     attr_accessor :offset_x      # X coordinate of the 1st frame
     attr_accessor :offset_y      # Y coordinate of all frames
     attr_accessor :current_frame # Current animation frame
     attr_accessor :moving        # Is the sprite moving?
    
     #--------------------------------------------------------------------------
     # - Initialize an animated sprite
     #   viewport : Sprite viewport
     #--------------------------------------------------------------------------
     def initialize(viewport = nil)
       super(viewport)
       @frame_width, @frame_height = 0, 0
       change    # A basic change to set initial variables
       @old = Graphics.frame_count  # For the delay method
       @goingup = true    # Increasing animation? (if @rm2k_mode is true)
       @once = false      # Is the animation only played once?
       @animated = true   # Used to stop animation when @once is true
     end
    
     #--------------------------------------------------------------------------
     # Comment by RPG
     #   - Change the source rect (change the animation)
     #   frames : Number of animation frames
     #   delay : Frame delay, controls animation speed
     #   offx : X coordinate of the 1st frame
     #   offy : Y coordinate of all frames
     #   startf : Starting frame for animation
     #   once : Is the animation only played once?
     #   rm2k_mode : Animation pattern: 1-2-3-2 if true, 1-2-3-1 if false
     #
     # Comment by cybersam
     #
     # the rm2k_mode isnt pressent anymore...
     # if you want that feature then use rm2k or use RPG's script...
     #--------------------------------------------------------------------------
     def change(frames = 0, delay = 0, offx = 0, offy = 0,
                startf = 0, once = false)
       @frames = frames
       @delay = delay
       @offset_x, @offset_y = offx, offy
       @current_frame = startf
       @once = once
       x = @current_frame * @frame_width + @offset_x
       self.src_rect = Rect.new(x, @offset_y, @frame_width, @frame_height)
       @goingup = true
       @animated = true
     end
     
     #--------------------------------------------------------------------------
     # - Update animation and movement
     #----------------------------------------------
    
     
  7. MasterWind

    MasterWind T.E.T.Я.I.S

    Tham gia ngày:
    12/4/06
    Bài viết:
    637
    Nơi ở:
    [GVN]Audition
    qua Tài nguyên Script của mình đi.Bên đó có mấy cái cũng được !!Toàn bên nước ngoài không hè :D
     
  8. squall&rinoa

    squall&rinoa Donkey Kong

    Tham gia ngày:
    23/1/04
    Bài viết:
    449
    Nơi ở:
    Hải Phòng
    Ờ sao không lập một topic về việc yêu cầu script đi, nhưng script sau đó phải là của người việt cơ, cứ sài script nước ngòai hoài cũng chán. :D
     
  9. MasterWind

    MasterWind T.E.T.Я.I.S

    Tham gia ngày:
    12/4/06
    Bài viết:
    637
    Nơi ở:
    [GVN]Audition
    Thử nghĩ mà xem.Script bên mình có cái nào khá nào :Fishing(Ice Dragon) ,Font TV(Laguna ...) rồi còn gì nữa <Vì tui chỉ biết đến đó>
    #Cái này không phải coi thường người Việt đâu à nghen !!
     
  10. Dương - 4444

    Dương - 4444 Mr & Ms Pac-Man

    Tham gia ngày:
    25/6/06
    Bài viết:
    132
    Nơi ở:
    Hải Phòng
    @ YRP : bạn vào các topic khsc cho ý kiến đi chứ , sao cứ vào mỗi cái này , các bên khác cũng hay mừ :x
     
  11. squall&rinoa

    squall&rinoa Donkey Kong

    Tham gia ngày:
    23/1/04
    Bài viết:
    449
    Nơi ở:
    Hải Phòng
    He he, tui sắp làm mấy cái script nhỏ nhỏ thui, của người việt là tốt rồi:
    - Thứ nhất là Continue after gameover, nghĩa là hiện ra một cái bảng để hỏi có muốn load game ko đóa ( tui đã bảo là rất nhỏ nhé, đừng ai ý kiến )
    - Thứ 2 là tui cũng chưa nghĩ ra, ai có ý tưởng thì nói nhé.
     
  12. MasterWind

    MasterWind T.E.T.Я.I.S

    Tham gia ngày:
    12/4/06
    Bài viết:
    637
    Nơi ở:
    [GVN]Audition
    Làm dạng Game online đi.Có nghĩa là đăng nhập acc và pass rồi khi thoát game thì tự động save và khi vô game thì tự động load
     
  13. ki_si_le_huy_new

    ki_si_le_huy_new Youtube Master Race

    Tham gia ngày:
    22/6/05
    Bài viết:
    9
    Nơi ở:
    Computer
    Anh MáterWind nói đúng đó có phải không vậy .Nghe nói anh Ice Và anh Dương có loại Script này có phải không ? nếu có thì hướng dẫn pà kon làm đê mí anh ơi.
     
  14. squall&rinoa

    squall&rinoa Donkey Kong

    Tham gia ngày:
    23/1/04
    Bài viết:
    449
    Nơi ở:
    Hải Phòng
    Ờ, nhưng hỏi lão ice thui, còn hỏi lão dương thì may ra nhận được demo nhưng ecypt data em ạ :)).
     
  15. MasterWind

    MasterWind T.E.T.Я.I.S

    Tham gia ngày:
    12/4/06
    Bài viết:
    637
    Nơi ở:
    [GVN]Audition
    Cái lão đó lúc nào cũng thế lúc nào cũng ecypt chẳng moi móc được gì .Định dở nguyên cái script ra coi lấy bí kiếp thế mà lại Khóa mới bực!!Mà hình như Ice chuẩn bị đi vắng một thời gian ,cụ thể thì không biết chừng nào chỉ là lên thông báo cho anh em biết thui :D
     
  16. y.r.p

    y.r.p Youtube Master Race

    Tham gia ngày:
    15/8/04
    Bài viết:
    85
    Các pác xem cái Game n2y coi em làm đóa mỗi lần level up vao stat đợi 10 giây rồi tăng point :D
     

    Các file đính kèm:

  17. MasterWind

    MasterWind T.E.T.Я.I.S

    Tham gia ngày:
    12/4/06
    Bài viết:
    637
    Nơi ở:
    [GVN]Audition
    Ôi y.r.p ơi sao bạn bắt đầu giống ông Dương rồi đó .Up Demo lên mà lại encryt lại thì còn ai "khám phá" được gì nữa .Bên tài nguyên script của mình cũng có 1 cái dạng tăng Point như thế này,nó đơn giản hơn với lại cho tui hỏi :Sao y.r.p không đánh chữ Tiếng Việt ???-/
     
  18. squall&rinoa

    squall&rinoa Donkey Kong

    Tham gia ngày:
    23/1/04
    Bài viết:
    449
    Nơi ở:
    Hải Phòng
    Chà, một bản sao của dương_44 đây rùi, mỗi tội chưa biểu lộ khoản thích chửi nhau và dê nữa thôi
     
  19. y.r.p

    y.r.p Youtube Master Race

    Tham gia ngày:
    15/8/04
    Bài viết:
    85
    Tại mình chưa có VIETKEY now I have tang kiểu mình hay hơn :-" nếu muốn lấy Script nói mình mình cho :devil: :^o
     
  20. y.r.p

    y.r.p Youtube Master Race

    Tham gia ngày:
    15/8/04
    Bài viết:
    85
    Mình còn cái mesage đẹp lắm ai xin nói mình
     

Chia sẻ trang này