XP 스크립트

http://www.gamebaker.com/rmxp/scripts/multiple-currencies.htm
  복수의 화폐단위를 사용할 수 있게 하는 스크립트입니다.  예전에 올렸던 것의 버전업판.  이 스크립트를 사용하려면 SG_Setting Control(http://www.gamebaker.com/rmxp/scripts/settings-control.htm )과 SG_Window Control(http://www.gamebaker.com/rmxp/scripts/window-control.htm )이 필요합니다.


#=============================================================================
# ** SG Multiple Currencies
#=============================================================================
# sandgolem   
# Version 3
# 18.06.06
#=============================================================================

# This requires event scripting to switch, see below.
# The only script-related things to edit is this:

$sg_currencies = { 'names' => ['Temp','G','Tokens','Tickets'],
                  'icons' => ['','mbag','coin','card'],
                  'type' => [7,0,0,0],
                  'variables' => [7,2,3,4] }
                 
# These need to be ordered exactly the same. You can increase the amount of
# currencies by adding more to the end of each.

# Temp is used for special occasions. See the tutorials section here for some
# odd ways of using it:  http://www.gamebaker.com/rmxp/tutorials/

# Set the G to what you have your gold name as in the database.

# Icons, type & vars are picked based on the order that you have your names set
# to. Make sure you name the variables in RMXP so you won't reuse them.

# 'type' uses SG Window Control to set the window format.
# See the comments in that script for what options are available.

#=============================================================================

# To change the player's currency, use this in a call script:
#        sg_change_currency('NameHere')

# This changes your current currency and modifies the amount of gold you have
# to whatever it is set at. The amount of gold you had before is set to the
# variable listed for it. This can be used anywhere, even in other scripts

# The variable used for your current gold is NOT altered until you change the
# currency. To do checks for that amount ingame, just use the regular gold.

# Or, you can save it by using this in a script: sg_save_currency
# This command is included in sg_change_currency and generally not useful

#=============================================================================
#
# To check for updates or find more scripts, visit:
# http://www.gamebaker.com/rmxp/scripts/
#
# To use this script, copy it and insert it in a new section above "Main",
# under the default scripts and Software Development Kit (optional).
#
# Requires SG Settings Control & SG Window Control, found at above site
#
# Have problems? You can leave me a message at:
# http://www.gamebaker.com/users/sandgolem
#
#=============================================================================

#--------------------------------------------------------------------------
# * SDK Log Script
#--------------------------------------------------------------------------
begin
  SDK.log("SG Multiple Currencies", "sandgolem", 3, "18.06.06")
  if SDK.state("SG Multiple Currencies") != true
    @sg_multiple_currencies_disabled = true
  end
  rescue
end

#--------------------------------------------------------------------------
# * Begin SDK Enable Test
#--------------------------------------------------------------------------
if !@sg_multiple_currencies_disabled
 
class SG_Start
  alias sandgolem_currencies_sgstart_start start_game 
  def start_game
    if !$sg_defaultcurrency
      $sg_defaultcurrency = $data_system.words.gold.clone
    else
      $data_system.words.gold = $sg_defaultcurrency.clone
    end
    sandgolem_currencies_sgstart_start
  end
end

class Scene_Load
  alias sandgolem_currencies_load_read read_save_data
  def read_save_data(file)
    sandgolem_currencies_load_read(file)
    if $game_sg['currency current']
      $data_system.words.gold = $game_sg['currency current'].clone
    end
  end
end

class Window_Gold < Window_Base
 
  alias sg_currencies_gold_initialize initialize
  def initialize
    @old_gold = -1
    sg_currencies_gold_initialize
  end

  def refresh
#------------------------------------------------------------------------------
# Begin SG Multiple Currencies Edit
#------------------------------------------------------------------------------
    if @old_gold != $game_party.gold
      self.contents.clear
      @old_gold = $game_party.gold
      self.contents.font.color = normal_color
      sg_select_currency
      sg_draw_window($sg_currencies['type'][@sg_mc_temp],160,$sg_currencies['icons'][@sg_mc_temp],$data_system.words.gold,$game_party.gold.to_s)
    end
#------------------------------------------------------------------------------
# End SG Multiple Currencies Edit
#------------------------------------------------------------------------------
  end

  def sg_select_currency
    for i in 0...$sg_currencies.size
      if $data_system.words.gold == $sg_currencies['names'][i]
        @sg_mc_temp = i
        return
      end
    end
    @sg_mc_temp = 1
    return
  end
end

def sg_save_currency
  for i in 0...$sg_currencies.size
    if $data_system.words.gold == $sg_currencies['names'][i]
      $game_variables[$sg_currencies['variables'][i]] = $game_party.gold
      return
    end
  end
  p 'You have an invalid currency name! Contact game creator: ' + $data_systems.words.gold.to_s
  @sg_mc_currency_stop = true
  return
end

def sg_change_currency(curnew)
  sg_save_currency
  if curnew == 'curold'
    if $game_sg['currency old']
      curnew = $game_sg['currency old']
    else
      p 'No old currency saved. Contact game creator.'
    end
  end
  if @sg_mc_currency_stop == true
    return
  end
  $game_sg['currency old'] = $data_system.words.gold.clone
  sg_mc_temp = 0
  for i in 0...$sg_currencies.size
    if curnew == $sg_currencies['names'][i]
      $game_party.lose_gold($game_party.gold)
      $game_party.gain_gold($game_variables[$sg_currencies['variables'][i]])
      $data_system.words.gold = curnew
      $game_sg['currency current'] = curnew
      return
    end
  end
  p 'Invalid currency name in command! Contact game creator: ' + cur_new.to_s
  return
end

#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6203
1021 액터 (killer님 요청)자동회복 스크립트 3 나뚜루 2009.02.22 2575
1020 기타 (T-RPG) 데미지 표시 시의 폰트를 설정 백호 2009.02.22 1349
1019 메뉴 1-Scene CMS 1.03 by LegACy@rmxp.org (SDK호환) file 백호 2009.02.22 872
1018 메뉴 1-Scene CMS 1.1 by LegACy@rmxp.org (SDK호환) file 백호 2009.02.22 953
1017 메뉴 1-Scene CMS 1.16 by LegACy (SDK호환) 3 file 백호 2009.02.22 1564
1016 메시지 1문자식 표시랑 따랑소리 나는 스크립트 8 백호 2009.02.22 2306
1015 메뉴 1인 캐릭터 메뉴 스크립트 27 file - 하늘 - 2009.08.06 4790
1014 메뉴 1인용 메뉴 스크립트 6 WMN 2008.03.17 2450
1013 메뉴 3D Menu Script 7 현문 2010.10.06 4079
1012 기타 3d 렌더링스크립트 어렵게 찾음 9 라구나 2011.03.05 3610
1011 이동 및 탈것 3D 캐릭 스크립트 7 백호 2009.02.22 3444
1010 기타 3D스크립트 48 file ok하승헌 2010.02.18 3808
1009 기타 4방향 마우스 스크립트 12 file 아방스 2009.02.28 2666
1008 기타 8방향 마우스 스크립트 10 file 아방스 2009.02.28 4063
1007 이동 및 탈것 8방향 스크립트 12 file 백호 2009.02.21 2412
1006 이동 및 탈것 8방향 이동 & 대쉬 스크립트 5 백호 2009.02.21 1703
1005 이동 및 탈것 8방향움직임과 8방향 캐릭터칩 호환 2 file 백호 2009.02.21 2275
1004 이동 및 탈것 8방향이동 9 캉쿤 2011.09.19 2532
1003 이동 및 탈것 8방향이동, Shift키 누르면 대쉬 63 WinHouse 2010.06.12 4026
1002 전투 A-battle 수정 file 백호 2009.02.21 1155
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