기타

[회복] 대기 회복 스크립트4.0 여러 오류 문제 해결 및 길이 줄임

by 코아 코스튬 posted Nov 06, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

여러가지 오류와 스크립트 길이를 줄였습니다.

 

#------------------------------------------------------------
# 대기 회복 스크립트4.0
#------------------------------------------------------------
# 스크립트 제작자 : 코아 코스튬
# 스크립트 명 : StopHill4.0
#------------------------------------------------------------
# 설명 : 일정시간동안 움직이지않고 있으면 회복
#------------------------------------------------------------
#추가된 점
# %로 회복 기능 추가
#------------------------------------------------------------
# 설정
#------------------------------------------------------------
Count = 3 # ?초당 1번씩 회복 초단위임
Hps = 10 # 회복하는 HP의 양
Hpper = true # HP를 회복하는양을 %로 하시겠습니까? true = 예  false = 아니오
             # 50으로 설정되있으면 50%임
Sps = 10 # 회복하는 SP의 양
Spper = true # SP를 회복하는양을 %로 하시겠습니까? true = 예  false = 아니오
             # 30으로 설정되있으면 30%임
Aninum = 22 # 회복할때 표시되는 애니메이션번호// 사용 안할경우 nil
#------------------------------------------------------------
class Game_Player
  alias jamsuno_update update
  def coaactor(n)
    $game_party.actors[n]
  end
  def update
    jamsuno_update
    if moving? or jumping?
      @coa = Count * 40
    else
      if @coa == 0 or @coa == nil
        for n in 0...$game_party.actors.size
          hps = Hps
          sps = Sps
          aninum = Aninum
          hpper = Hpper
          spper = Spper
          if $game_party.actors.size >= n+1
            unless coaactor(n).hp == coaactor(n).maxhp and coaactor(n).sp == coaactor(n).maxsp
              @coa = Count * 40
              if hpper == true
                hps = hps * 0.01
                hps = hps * coaactor(n).maxhp
              end
              if spper == true
                sps = sps * 0.01
                sps = sps * coaactor(n).maxsp
              end
              coaactor(n).hp += hps.to_i
              coaactor(n).sp += sps.to_i
              unless aninum == nil
                $game_player.animation_id = aninum
              end
            end
          end
        end
      else
        coareseter = 0
        for n in 0...$game_party.actors.size
          unless coaactor(n).hp == coaactor(n).maxhp and coaactor(n).sp == coaactor(n).maxsp
            coareseter += 1
          end
        end
        unless coareseter ==0
          @coa -= 1
          coareseter = 0
        end
      end
    end
  end
end