VX 스크립트

Script Name: Good VS Evil
Written by: Synthesize
Version: 1.0.0
Release Date: January 26, 2008

What is it?
This script allows the end user (you) to give each playable character an alignment and alignment points. The system works similar to the Baldur's Gate 'reputation system', where x amount of Upgrade points increase the actors alignment. The script automatically draws the alignment in the status screen.
시작
#===============================================================================
# Good VS Evil --- RMVX Version
#===============================================================================
# Written by Synthesize
# Version 1.0.0
# January 26, 2008
#===============================================================================
#                            * RMVX Version *
#===============================================================================
module GoodVSEvil
  # The initial Alignment for actors
  Alignment_initial = {1 => 2, 2 => 3, 3 => -5}
  Alignment_initial.default = 0
  # The names of the alignments
  Alignment_names = ["Very Good", "Good", "Neutral", "Evil", "Devil Child"]
  # maximum amount of points
  Maximum_alignment = 100
  # Maximum amount of evil points
  Maximum_evil_alignment = -100
  # Format = {value => amount to check}
  Rates = {0 => 50, 1 => 25, 3 => -25, 4 => 50}
  # Rates configure how many Alignment points a character needs to have
  # there alignment 'upgrade'
  # $alignment commands:
  # $alignment.add(value, member)   # Adds value of alignment
  # $alignment.remove(value, member)   # Removes value from member
  # $alignment.checksum(amount, member)   # Check value of points then return
  # $alignment.checkname(member, name)   # Check if the alignment level is =name
end
#-------------------------------------------------------------------------------
# Create and set alignment points
#-------------------------------------------------------------------------------
class Game_Actor < Game_Battler
  attr_accessor :alignment
  attr_accessor :alignment_name
  alias syn_gve_setup setup
  #-----------------------------------------------------------------------------
  # Setup Actor Alignment
  #-----------------------------------------------------------------------------
  def setup(actor_id)
    syn_gve_setup(actor_id)
    @alignment = GoodVSEvil::Alignment_initial[actor_id]
    @alignment_name = "Neutral"
  end
  #-----------------------------------------------------------------------------
  # Return Alignment Values
  #-----------------------------------------------------------------------------
  def alignment_value
    @alignment = GoodVSEvil::Maximum_alignment if @alignment > GoodVSEvil::Maximum_alignment
    @alignment = GoodVSEvil::Maximum_evil_alignment if @alignment < GoodVSEvil::Maximum_evil_alignment
    if @alignment >= GoodVSEvil::Rates[1]
      @alignment_name = GoodVSEvil::Alignment_names[1]
      @alignment_name = GoodVSEvil::Alignment_names[0] if @alignment > GoodVSEvil::Rates[0]
      return @alignment_name
    elsif @alignment <= GoodVSEvil::Rates[3]
      @alignment_name = GoodVSEvil::Alignment_names[3]
      @alignment_name = GoodVSEvil::Alignment_names[4] if @alignment >= GoodVSEvil::Rates[4]
      return @alignment_name
    else
      @alignment_name = GoodVSEvil::Alignment_names[2]
      return @alignment_name
    end
  end
end
#-------------------------------------------------------------------------------
# Window_MenuStatus add-on
#-------------------------------------------------------------------------------
class Window_Status < Window_Base
  alias syn_gve_refresh refresh
  def refresh
    syn_gve_refresh
    self.contents.font.color = system_color
    self.contents.draw_text(32, 350, 120, 32, "Alignment:")
    self.contents.font.color = normal_color
    self.contents.draw_text(156, 350, 120, 32, @actor.alignment_value)
  end
end
#-------------------------------------------------------------------------------
# Alignment Management
#-------------------------------------------------------------------------------
class Alignment_Management
  def add(value, member)
    $game_party.members[member].alignment += value
  end
  def remove(value, member)
    $game_party.members[member].alignment -= value
  end
  def checksum(amount, member)
    if $game_party.members[member].alignment >= amount
      return true
    else
      return false
    end
  end
  def checkname(member, name)
    if $game_party.members[member].alignment_name == name
      return true
    else
      return false
    end
  end
end
#-------------------------------------------------------------------------------
# Scene_Title:: Create the Global Variable
#-------------------------------------------------------------------------------
class Scene_Title
  alias syn_gve_game_object create_game_objects
  def create_game_objects
    syn_gve_game_object
    $alignment = Alignment_Management.new
  end
end
#===============================================================================
#             * This script will not work with RPG Maker XP *
#===============================================================================
# Written by Synthesize
# Version 1.0.0
# January 26, 2008
#===============================================================================
# Good VS Evil --- RMVX Version
#===============================================================================
Comment '4'
  • ?
    전설의 찌질이 2009.03.20 17:35
    이거 선악수치(나쁜 짓거리하고다니면 악함 수치가 쌓이고, 좋은짓하고 다니면
    선함 수치가 쌓이는)스크립트네요...
  • ?
    전설의 찌질이 2009.03.20 17:40
    스크립트를 대입하면 그 스크립트에 입력된 수치 만큼 수치가 오르거나
    줄고, 최대 수치는 100(조정 할 수 있으려나?), 그리고 아주
    착함, 착함, 보통, 나쁜인간, 악마의 자식, 이렇게 다섯가지가
    있네요. 포인트 수치에 따라서 그 정도가 달라지네요.
    이걸 이용하면 악마의 자식에게 행동반경 제한을 걸거나,
    아니면 아주 착한 인간에게만 나오는 특정 퀘스트를 만들 수도....
  • ?
    엘 티그레 2009.07.22 21:57
    emoticon잘 쓸게요 :)
  • ?
    누군가 2010.02.17 15:27
    good(굿,최고)가 아니라 god (하나님,신) EVil 악마? 뭐징?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5410
577 제작도구 게임제작에 필수인 테스트 플레이 고속화 스크립트! ! ! ! 25 양념통닼 2008.05.30 4446
576 미니맵 미니맵 띠우는 스크립트 ^^ 37 file 아방스 2008.06.02 7247
575 기타 빛 이펙트 71 file DEVIL<Li Patanis Roni Kraudus> 2008.06.06 5861
574 맵/타일 타일 태그 및 4방향 설정 7 file 만들어보자꾸나 2008.06.08 2668
573 맵/타일 타일셋 변경 10 file 만들어보자꾸나 2008.06.08 4371
572 장비 장비 확장 및 EP 기능 18 만들어보자꾸나 2008.06.10 3654
571 메뉴 헬프 윈도우 중앙표시 스크립트 11 file 양념통닼 2008.06.10 3348
570 기타 [KGC]한계돌파 9 방콕족의생활 2008.06.13 3601
569 저장 [퍼옴] Neo_Save_System ver.1.0 10 레오 2008.06.14 4451
568 메뉴 지난 메뉴 스크립트에 이은 스테이터스 스크립트! 5 file 독사 2008.06.29 3545
567 전투 [vx] ATB 시스템. 10 만들어보자꾸나 2008.07.05 4925
566 영상 RMVX에서 AVI 재생 스크립트 12 Nymph 2008.07.07 4108
565 변수/스위치 맵에 변수와 스위치 설정하기.. 5 정의로운녀석 2008.07.22 1984
564 상점 상점 아이템 목록 정리 14 정의로운녀석 2008.07.22 3771
563 다음 레벨까지의 경험치 강제조정 13 정의로운녀석 2008.07.24 3273
562 액터 스탯 시스탬 29 츠키아 2008.08.08 4214
561 미니맵 미니맵 스크립트(아랫거랑 다른거) 75 file 츠키아 2008.08.08 6145
560 액알 스크립트 33 츠키아 2008.08.11 5828
559 HUD PRABS v1.0 [hud,주석액알,원거리공격,hotkeys,vx] 대박감이다. 47 유칸지 2008.08.13 11114
558 HUD 맵이름 띄우는 스크립트 입니다. 33 시에란 2008.08.16 5271
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32