XP 스크립트

적용하기전에....

빈 스크립트를 찾아서

$game_special_elements = {}
$imported = {}
$data_states = load_data("Data/States.rxdata")
$data_system = load_data("Data/System.rxdata")

이걸 넣어주십시오.. 안하면 오류뜹니다
(KGC 스크립트들의 맨위에 넣으시면 됩니다)


스킬을 배워놓으면 능력치가 상승하는 스크립트 입니다


#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#위력 최대 HP(maxhp)
#공격력 F 공격력(atk)
#회피 F 회피 수정(eva)
#완력 F 완력(str)
#손재주가 있음 F 손재주가 있음(dex)
#민첩함 F 민첩함(agi)
#마력 F 마력(int)
#명중율 명중율(hit)
#물리 방어 F 물리 방어(pdef)
#마법 방어 F 마법 방어(mdef)
#분산도 최대 SP(maxsp)



만드는법은 이걸 적용후속성란에 패시브 스킬 (꼭 이렇게)을 만든후 스킬란에 가서 스킬을 만든뒤
속성 패시브 스킬을 체크하면 그 때부터 패시브 스킬이 발동됩니다저기 위에 위력 최대 어쩌구 저쩌구
되잇는데... 스킬보면 위력 공격력 회피 완력 등등~ 있을겁니다...거기에 숫자 1을 넣으면 이 스킬을 배웠을 시에
1% 능력치 상승 입니다 저기 위에 보면 위력이 최대 hp 이니까 케릭터의 HP에서의 1%가 더 상승하게 되는군요
회피는 회피 수정인데.. 모르는분 계실까봐 말씀드리는건데 회피 수정은 몇퍼센트로 완전하게 회피를 하는겁니다
20% 이면 20% 확률로 완전회피 50%이면 50%확률로 완전회피 착오 없으시길..







#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ◆패시브 스킬 - KGC_PassiveSkill◆
#_/----------------------------------------------------------------------------
#_/ 습득하는 것만으로 능력 가격인상승효과를 발휘하는 스킬을 작성합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ 커스터마이즈 항목 ★
#==============================================================================

module KGC
  # ◆수치 영향도
  #  값이 큰 만큼 스킬의 설정치의 영향이 커진다.
  #  100 으로 정확히[설정치%]분의 상승량.
  #  (회피 수정만 PS_INF 의 영향을 받지 않고, 설정치가 그대로 보정치가 된다)
  PS_INF = 100
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#위력 최대 HP(maxhp)
#공격력 F 공격력(atk)
#회피 F 회피 수정(eva)
#완력 F 완력(str)
#손재주가 있음 F 손재주가 있음(dex)
#민첩함 F 민첩함(agi)
#마력 F 마력(int)
#명중율 명중율(hit)
#물리 방어 F 물리 방어(pdef)
#마법 방어 F 마법 방어(mdef)
#분산도 최대 SP(maxsp)

$imported["PassiveSkill"] = true

# 패시브 스킬 속성
$game_special_elements["passive_skill"] = $data_system.elements.index("패시브 스킬")

#==============================================================================
# ■ Game_Actor
#==============================================================================

module KGC_Game_Actor
  #--------------------------------------------------------------------------
  # ● 명중율의 취득
  #--------------------------------------------------------------------------
  if defined?(hit) && !@hit_passiveskill
    alias hit_KGC_PassiveSkill hit
  else
    @hit_passiveskill = true
  end
  def hit
    n = defined?(hit_KGC_PassiveSkill) ? hit_KGC_PassiveSkill : super
    return Integer(n * get_rev("hit") / 100)
  end
  #--------------------------------------------------------------------------
  # ● 공격력의 취득
  #--------------------------------------------------------------------------
  if defined?(atk) && !@atk_passiveskill
    alias atk_KGC_PassiveSkill atk
  else
    @atk_passiveskill = true
  end
  def atk
    n = defined?(atk_KGC_PassiveSkill) ? atk_KGC_PassiveSkill : super
    return Integer(n * get_rev("atk") / 100)
  end
  #--------------------------------------------------------------------------
  # ● 물리 방어의 취득
  #--------------------------------------------------------------------------
  if defined?(pdef) && !@pdef_passiveskill
    alias pdef_KGC_PassiveSkill pdef
  else
    @pdef_passiveskill = true
  end
  def pdef
    n = defined?(pdef_KGC_PassiveSkill) ? pdef_KGC_PassiveSkill : super
    return Integer(n * get_rev("pdef") / 100)
  end
  #--------------------------------------------------------------------------
  # ● 마법 방어의 취득
  #--------------------------------------------------------------------------
  if defined?(mdef) && !@mdef_passiveskill
    alias mdef_KGC_PassiveSkill mdef
  else
    @mdef_passiveskill = true
  end
  def mdef
    n = defined?(mdef_KGC_PassiveSkill) ? mdef_KGC_PassiveSkill : super
    return Integer(n * get_rev("mdef") / 100)
  end
  #--------------------------------------------------------------------------
  # ● 회피 수정의 취득
  #--------------------------------------------------------------------------
  if defined?(eva) && !@eva_passiveskill
    alias eva_KGC_PassiveSkill eva
  else
    @eva_passiveskill = true
  end
  def eva
    n = defined?(eva_KGC_PassiveSkill) ? eva_KGC_PassiveSkill : super
    return n + get_rev("eva")
  end
  module_function :atk, :pdef, :mdef, :eva
  public :atk, :pdef, :mdef, :eva
end

class Game_Actor < Game_Battler
  include KGC_Game_Actor
  #--------------------------------------------------------------------------
  # ● 셋업
  #--------------------------------------------------------------------------
  alias setup_KGC_PassiveSkill setup
  def setup(actor_id)
    setup_KGC_PassiveSkill(actor_id)

    # 보정치를 초기화
    reset_rev
  end
  #--------------------------------------------------------------------------
  # ● 기본 MaxHP 의 취득
  #--------------------------------------------------------------------------
  alias base_maxhp_KGC_PassiveSkill base_maxhp
  def base_maxhp
    # 보정한 값을 돌려준다
    return Integer(base_maxhp_KGC_PassiveSkill * get_rev("maxhp") / 100)
  end
  #--------------------------------------------------------------------------
  # ● 기본 MaxSP 의 취득
  #--------------------------------------------------------------------------
  alias base_maxsp_KGC_PassiveSkill base_maxsp
  def base_maxsp
    return Integer(base_maxsp_KGC_PassiveSkill * get_rev("maxsp") / 100)
  end
  #--------------------------------------------------------------------------
  # ● 기본 완력의 취득
  #--------------------------------------------------------------------------
  alias base_str_KGC_PassiveSkill base_str
  def base_str
    # 보정
    n = base_str_KGC_PassiveSkill * get_rev("str") / 100
    # 한계치 처리
    n = [[n, 1].max, $imported["LimitBreak"] ? KGC::LB_ACTOR_ETC_LIMIT : 999].min
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 기본 손재주가 있음의 취득
  #--------------------------------------------------------------------------
  alias base_dex_KGC_PassiveSkill base_dex
  def base_dex
    n = base_dex_KGC_PassiveSkill * get_rev("dex") / 100
    n = [[n, 1].max, $imported["LimitBreak"] ? KGC::LB_ACTOR_ETC_LIMIT : 999].min
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 기본 민첩함의 취득
  #--------------------------------------------------------------------------
  alias base_agi_KGC_PassiveSkill base_agi
  def base_agi
    n = base_agi_KGC_PassiveSkill * get_rev("agi") / 100
    n = [[n, 1].max, $imported["LimitBreak"] ? KGC::LB_ACTOR_ETC_LIMIT : 999].min
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 기본 마력의 취득
  #--------------------------------------------------------------------------
  alias base_int_KGC_PassiveSkill base_int
  def base_int
    n = base_int_KGC_PassiveSkill * get_rev("int") / 100
    n = [[n, 1].max, $imported["LimitBreak"] ? KGC::LB_ACTOR_ETC_LIMIT : 999].min
    return n
  end
  #--------------------------------------------------------------------------
  # ● 스킬을 기억한다
  #    skill_id : 스킬 ID
  #--------------------------------------------------------------------------
  alias learn_skill_KGC_PassiveSkill learn_skill
  def learn_skill(skill_id)
    # 원래의 처리를 실행
    learn_skill_KGC_PassiveSkill(skill_id)

    # 보정치를 수정
    restore_rev
  end
  #--------------------------------------------------------------------------
  # ● 스킬을 잊는다
  #    skill_id : 스킬 ID
  #--------------------------------------------------------------------------
  alias forget_skill_KGC_PassiveSkill forget_skill
  def forget_skill(skill_id)
    # 원래의 처리를 실행
    forget_skill_KGC_PassiveSkill(skill_id)

    # 보정치를 수정
    restore_rev
  end
  #--------------------------------------------------------------------------
  # ● 보정치를 리셋트
  #--------------------------------------------------------------------------
  def reset_rev
    @maxhp_rev = @maxsp_rev = 100.0
    @hit_rev = @atk_rev = @pdef_rev = @mdef_rev = 100.0
    @str_rev = @dex_rev = @agi_rev = @int_rev = 100.0
    @eva_rev = 0
  end
  protected :reset_rev
  #--------------------------------------------------------------------------
  # ● 보정치를 수정
  #--------------------------------------------------------------------------
  def restore_rev
    # 보정치를 초기화
    reset_rev
    # 수정
    for i in self.skills
      skill = $data_skills[i]
      # 패시브 스킬 판정
      if skill.element_set.include?($game_special_elements["passive_skill"])
        @maxhp_rev += skill.power * KGC::PS_INF / 100.0
        @maxsp_rev += skill.variance * KGC::PS_INF / 100.0
        @hit_rev += skill.hit * KGC::PS_INF / 100.0
        @atk_rev += skill.atk_f * KGC::PS_INF / 100.0
        @pdef_rev += skill.pdef_f * KGC::PS_INF / 100.0
        @mdef_rev += skill.mdef_f * KGC::PS_INF / 100.0
        @str_rev += skill.str_f * KGC::PS_INF / 100.0
        @dex_rev += skill.dex_f * KGC::PS_INF / 100.0
        @agi_rev += skill.agi_f * KGC::PS_INF / 100.0
        @int_rev += skill.int_f * KGC::PS_INF / 100.0
        @eva_rev += skill.eva_f
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 보정치를 취득
  #--------------------------------------------------------------------------
  def get_rev(type)
    type.downcase!
    eval("@#{type}_rev = 100.0") if eval("@#{type}_rev == nil")
    return eval("@#{type}_rev")
  end
end

Who's 백호

?

이상혁입니다.

http://elab.kr

Comment '18'
  • ?
    해파리 2009.04.10 18:03
    흠.. 설정 하는 방법 을 영 모르겠다
  • ?
    해파리 2009.04.11 22:23
    안된다 ㅜㅜ
  • ?
    해파리 2009.04.14 15:51
    성공했습니다 .. 감사합니다.
  • ?
    단풍낙엽 2009.07.16 17:52

    속성이 어딧는지..

     

  • ?
    단풍낙엽 2009.07.25 19:27

    정말 감사 합니다ㅠㅠ

    솔직히 말해서 덧글달고도 이렇게 해주실 줄은 몰랐는데....

    정말정말 감사합니다

  • ?
    카나미군 2009.07.16 20:05

    속성은 데이터 베이스 - 시스템에 보시면 왼쪽 하단에 있습니다.

    최대수를 늘려서 '패시브 스킬'이라는 속성을 만드시고..

    스킬에 속성으 넣어주시면 됩니다.

  • ?
    카나미군 2009.07.16 20:03

    출처좀 정정해주시죠..

    '후우'님이 아니라 KGC입니다.

  • ?
    단풍낙엽 2009.07.25 19:33
    그런데 회피에 0을 넣으면 뭐가 되나요?
  • ?
    단풍낙엽 2009.07.25 19:44
    안되네.. ㅠㅠ
  • ?
    Berylll 2009.11.08 14:46
    하.. 안되는줄알았는데 잘되네요 ㅎ.. 잘쓰겟습니다.
  • ?
    꼬빙수 2009.11.20 14:47

    감사해요!

    잘쓰겠습니다~

  • ?
    낙서 2010.01.11 19:31

    ㄳ ㄳ

  • ?
    더네임ㅈㅈ 2010.01.11 22:19

    아 너무너무너무너무 하고싶은데 빈스크립트에 넣으라는걸 어디에 넣으라는 건질 모르겠어 ㅜ...

  • ?
    JM 2010.01.16 13:20

    머냐?

  • ?
    Gora 2010.06.24 05:11

    속성했는데도 스킬적용이 안되는데 왜그럴까요....

  • ?
    야구소년 2010.07.05 00:01

  • ?
    포인트팡팡 2010.07.05 00:01
    축하합니다. 야구소년님은 70포인트에 당첨되셨습니다
  • ?
    나이러스 2010.07.10 02:20

    감샤합니다~


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6204
981 HUD [게이지바]3.0버젼「현재시간, 플레이시간, 걸음수, 윈도우 이동 추가」(HelloCoa2Ver3.0) 63 file 코아 코스튬 2010.10.30 4921
980 메시지 메세지플러스3.1v스크립트(얼굴표시,메세지색상,속도등정하는스크립트) 8 백호 2009.02.21 4880
979 윈도우_게이지 (HP, SP, 경험치<소수점포함>… 12 WMN 2008.04.06 4859
978 메뉴 1인 캐릭터 메뉴 스크립트 27 file - 하늘 - 2009.08.06 4790
977 이동 및 탈것 아하! 그렇구나의 3D 신기술 체험 30 아하!잘봤어요. 2010.02.28 4772
976 전투 사이드뷰 배틀 (2003 형식으 전투)| 12 file 아방스 2007.11.09 4747
975 메시지 메세지 표시 업그레이드 11 file 백호 2009.02.21 4729
974 전투 사이드뷰 방식 스크립트. 8 file 백호 2009.02.21 4640
973 HUD 새로운방법의 맵이름 표시 31 file 백호 2009.02.21 4618
972 그래픽 부드럽게 화면이 움직이는 스크립트 입니다. 16 GangSin 2012.09.12 4595
971 전투 ABP 액알 (Action Battle Player) 14 file 백호 2009.02.22 4560
970 HUD HP과 SP 바 19 Man... 2008.11.04 4537
969 이름입력 한글 이름 입력 15 ok하승헌 2010.02.18 4487
968 게이지바 만들기 [헬악이님 제공] 12 file 아방스 2007.11.09 4420
967 메뉴 메뉴에 그림넣기 4 file 백호 2009.02.22 4415
966 퀘스트 퀘스트 다이어리 15 백호 2009.02.21 4408
965 전투 XAS 여러가지버전. 9 §포뇨§ 2010.02.23 4396
964 타이틀/게임오버 타이틀 화면 커스터마이즈 (타이틀 메뉴 바꾸는 스크립트) 9 file №1 2012.08.04 4393
963 온라인 온라인 스크립트입니다^^(예제파일) 7 캉쿤 2011.09.24 4390
962 미니맵 미니맵 만들기~! 14 file 블리치캐릭셋원함 2010.11.24 4354
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52