VX 스크립트

회피 명중 크리를  +  - 시키는 스테이트를 작성하는 스크립트 입니다.

사용법은  스테이트란의 메모장에

EVA+[#]

EVA-[#]

이런식으로 위에 [#] 이부분의 #에 숫자를 넣어주시면됩니다.

EVA+[10]이렇게 메모하면 회피가 10이 상승하는 스테이트를 작성할수 있습니다.

 

 

#==============================================================================
# ** EVA/HIT/CRI States
#------------------------------------------------------------------------------
# Author  : puppeto4 (puppeto5@hotmail.com)
# Version : 2.0 revision 3
# Date    : 25 / 06 / 2008
# Note    : Ougi Lied,Rolo Died;_;
# Email me for request and support  :)
#------------------------------------------------------------------------------
# Function : Enable you to create state that increase/decrease
#            character's evasion rate/hit rate/critical rate.
# Change Log :
#  version 1.5(28/06/2008)
#   - Added decrese evasion feature.
#  version 2.0(18/08/2008)
#   - Added increase/decrease hit & cri feature.
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Constants
  #--------------------------------------------------------------------------
  EVADE_TEXT  = "EVA+"
  DEVADE_TEXT = "EVA-"
  HIT_TEXT    = "HIT+"
  DEHIT_TEXT  = "HIT-"
  CRI_TEXT    = "CRI+"
  DECRI_TEXT  = "CRI-"
  #--------------------------------------------------------------------------
  # * Determine if hit bonus is included
  #--------------------------------------------------------------------------
  def extra_hit?
    states.each do |state|
      return true if state.note.include?(HIT_TEXT)
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Determine if hit bonus is included
  #--------------------------------------------------------------------------
  def reduce_hit?
    states.each do |state|
      return true if state.note.include?(DEHIT_TEXT)
    end
    return false
  end  
  #--------------------------------------------------------------------------
  # * Get Hit Rate
  #--------------------------------------------------------------------------
  alias puppet_extra_hit hit
  def hit
    if extra_hit?
      hit_bonus
    elsif reduce_hit?
      lower_hit
    else
      return puppet_extra_hit
    end
  end  
  #--------------------------------------------------------------------------
  # * Give Hit Bonus
  #--------------------------------------------------------------------------
  def hit_bonus
    states.each do |state|
      if state.note[/#{Regexp.quote HIT_TEXT}[(d+)]/].to_a[0]
        if two_swords_style
          n1 = weapons[0] == nil ? 95 : weapons[0].hit
          n2 = weapons[1] == nil ? 95 : weapons[1].hit
          n = [n1, n2].min + $1.to_i
        else
          n = weapons[0] == nil ? 95 + $1.to_i : weapons[0].hit + $1.to_i
        end
        return n
      end
    end      
  end  
  #--------------------------------------------------------------------------
  # * Reduce hit rate
  #--------------------------------------------------------------------------
  def lower_hit
    states.each do |state|
      if state.note[/#{Regexp.quote DEHIT_TEXT}[(d+)]/].to_a[0]
        if two_swords_style
          n1 = weapons[0] == nil ? 95 : weapons[0].hit
          n2 = weapons[1] == nil ? 95 : weapons[1].hit
          n = [n1, n2].min - $1.to_i
        else
          n = weapons[0] == nil ? 95 - $1.to_i : weapons[0].hit - $1.to_i
        end
        return n
      end
    end
  end    
  #--------------------------------------------------------------------------
  # * Determine if evade bonus is included
  #--------------------------------------------------------------------------
  def extra_evade?
    states.each do |state|
      return true if state.note.include?(EVADE_TEXT)
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Determine if evade bonus is included
  #--------------------------------------------------------------------------
  def reduce_evade?
    states.each do |state|
      return true if state.note.include?(DEVADE_TEXT)
    end
    return false
  end  
  #--------------------------------------------------------------------------
  # * Get Evasion Rate
  #--------------------------------------------------------------------------
  alias puppet_extra_eva eva
  def eva
    if extra_evade?
      evade_bonus
    elsif reduce_evade?
      lower_evade
    else
      return puppet_extra_eva
    end  
  end  
  #--------------------------------------------------------------------------
  # * Give Evasion Bonus
  #--------------------------------------------------------------------------
  def evade_bonus
    states.each do |state|
      if state.note[/#{Regexp.quote EVADE_TEXT}[(d+)]/].to_a[0]
        n = 5 + $1.to_i
        for item in armors.compact do n += item.eva end
        return n
      end
    end      
  end  
  #--------------------------------------------------------------------------
  # * Reduce evasion rate
  #--------------------------------------------------------------------------
  def lower_evade
    states.each do |state|
      if state.note[/#{Regexp.quote DEVADE_TEXT}[(d+)]/].to_a[0]
        n = 5 - $1.to_i
        for item in armors.compact do n += item.eva end
        return n
      end
    end
  end  
  #--------------------------------------------------------------------------
  # * Determine if cri bonus is included
  #--------------------------------------------------------------------------
  def extra_cri?
    states.each do |state|
      return true if state.note.include?(CRI_TEXT)
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Determine if cri bonus is included
  #--------------------------------------------------------------------------
  def reduce_cri?
    states.each do |state|
      return true if state.note.include?(DECRI_TEXT)
    end
    return false
  end  
  #--------------------------------------------------------------------------
  # * Get Cri Rate
  #--------------------------------------------------------------------------
  alias puppet_extra_cri cri
  def cri
    if extra_cri?
      cri_bonus
    elsif reduce_cri?
      lower_cri
    else
      return puppet_extra_cri
    end
  end  
  #--------------------------------------------------------------------------
  # * Give Cri Bonus
  #--------------------------------------------------------------------------
  def cri_bonus
    states.each do |state|
      if state.note[/#{Regexp.quote CRI_TEXT}[(d+)]/].to_a[0]
        n = 4
        n += $1.to_i
        n += 4 if actor.critical_bonus
        for weapon in weapons.compact
          n += 4 if weapon.critical_bonus
        end
        return n
      end
    end      
  end  
  #--------------------------------------------------------------------------
  # * Reduce cri rate
  #--------------------------------------------------------------------------
  def lower_cri
    states.each do |state|
      if state.note[/#{Regexp.quote DECRI_TEXT}[(d+)]/].to_a[0]
    n = 4
    n += 4 if actor.critical_bonus
    for weapon in weapons.compact
      n += 4 if weapon.critical_bonus
    end
    n -= $1.to_i
    return n
      end
    end
  end      
end
#==============================================================================
# ** End of EVA/HIT/CRI States : Script
#==============================================================================

Who's 카르와푸딩의아틀리에

profile

엘카르디아 제작자 (현재 MV로 리메이크중)

유튜브

https://www.youtube.com/channel/UCMwirNTR-pOEzJNB0jL3y_g

트위터

https://twitter.com/karsis98

블로그

https://blog.naver.com/karsis98

Comment '9'
  • ?
    라니엘 2009.08.19 13:08

    혹시 유즈미님의 몬스터도감에도~?!

     

  • ?
    뱅뱅이 2009.08.19 17:22

    잘쓸게요~

  • ?
    rlatpgh412 2009.08.26 14:43

    오호..

  • ?
    빙그리 2010.02.02 21:24

    잘쓰겠습니다

  • ?
    미니프레시 2011.05.21 13:24

    감사합니다

  • ?
    웃자 2011.07.30 12:26

    와우!

  • ?
    GTGs 2011.12.13 16:29

    이거 상태이상 메모장에 기입하는거죠?

    근데 회피력 올렸는데도 몬스터가 회피를 안함..

    어떤 상태에 저걸로 회피력 엄청올려놓고

    그 상태이상을 몬스터에게 적용했는데...

  • ?
    Maxim_Cool 2012.01.25 12:56

    감사합니다~

  • profile
    Lamancha 2012.07.20 19:56
    혹시 이거 저만 오류나는건가요? 상태 메모에다가 새로운 상태를만들어서 회피율을 높인다음 EVA+[10]
    스킬로 적용 시킨후 전투로 들어가면 맞을때 튕기는데 사용법이 틀린건가요?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5398
50 기타 페이드 시간 변경 2 rukan 2009.07.01 1360
49 기타 밤낮의 변화에 따른 전투배경의 변화 스크립트 10 file 카르와푸딩의아틀리에 2009.07.01 2948
48 기타 높이(층)를 설정하는 스크립트 11 file 카르와푸딩의아틀리에 2009.07.01 3343
» 기타 회피,명중,크리 스테이트를 작성하는 스크립트 9 카르와푸딩의아틀리에 2009.06.30 2393
46 기타 미니게임 로또??일까? 14 file 카르와푸딩의아틀리에 2009.06.30 2577
45 기타 시야범위 스크립트 22 file 카르와푸딩의아틀리에 2009.06.30 4025
44 기타 미니게임테트리스 스크립트 ㅋㅋㅋ 27 file 카르와푸딩의아틀리에 2009.06.30 3689
43 기타 경험치 백분율 계산 2 허걱 2009.06.30 3093
42 기타 그림을 각도로 회전시키기 1 허걱 2009.06.30 2328
41 기타 적 선택시 스킬창 비표시 + 타겟 플래쉬 7 훈덕 2009.06.14 2094
40 기타 좀 뭐랄까... 어이없는 "비행선 더 높게 날아오르게 하기!"스크립트.... 8 루시페르 2009.06.06 2426
39 기타 문장의 스크롤! 13 루시페르 2009.06.06 2524
38 기타 던전에 적정 레벨이 어떤건지 스크린에 표시해주는 스크립트! 5 file 루시페르 2009.06.06 2907
37 기타 (좀 이상한 or 쓸모없을 듯 한)화면상에 몬스터와 만나려면 몇걸음 남았는지 표시하는 스크립트! 2 루시페르 2009.06.06 2318
36 기타 KGC 스크립트 라이브러리 7 훈덕 2009.05.31 2611
35 기타 <중수이상>RPG VX의 대표적 참조값 6 까까까 2009.05.31 3236
34 기타 능력치에 따른 스테이트변화 / 능력치한계지정 5 Evangelista 2009.05.26 2479
33 기타 스크립트강좌 4 아하!잘봤어요. 2009.05.04 2158
32 기타 KGC 리버스 데미지! 28 루시페르 2009.04.13 2979
31 기타 [자작] 횡스크롤 점프스크립트 18 file 좀비사냥꾼 2009.04.03 4276
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7