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 6153
521 온라인 광넷[ 광땡 온라인 + 넷플레이 ] 62 - 하늘 - 2009.08.02 9003
520 메시지 공지(?)를 띄우는 스크립트 23 file - 하늘 - 2009.08.06 4007
519 기타 경험치 퍼센트 수정 백호 2009.02.22 1208
518 게임화면의 해상도를 변경하는 스크립트 6 제로스S2 2009.08.06 3334
517 온라인 게임화면을 전체화면으로 하기 27 file 이씨 2010.03.09 4052
516 타이틀/게임오버 게임오버 화면 에서 커맨드 윈도우 스크립트 12 file 백호 2009.02.21 3031
515 HUD 게임 플레이시 맵의 이름을 표시하는 스크립트 1 file 백호 2009.02.21 1935
514 게이지바 만들기 [헬악이님 제공] 12 file 아방스 2007.11.09 4416
513 기타 게이지 3 백호 2009.02.21 1395
512 타이틀/게임오버 게..임..오버.. ps인간 2009.01.23 2636
511 기타 거울에 캐릭터의 모습을 반사하는 효과 5 file 백호 2009.02.21 1472
510 기타 거울에 캐릭 반사 20 ok하승헌 2010.02.18 2388
509 기타 거울에 자신의모습이 비춰지는 스크립트 2 백호 2009.02.22 1489
508 메뉴 개별 메뉴 호출 단축키 스크립트 5 file 백호 2009.02.21 1965
507 HUD 강화 나침반 스크립트 (원본 by 허걱) 16 file JACKY 2010.08.16 3105
506 기타 강제 종료시키기 1 file 백호 2009.02.22 1015
505 상점 간단한 여관 by Tsunokiette@Creation Asylum 2 백호 2009.02.22 1530
504 전투 간단한 액알 스크립트!(1번째) 2 백호 2009.02.21 3166
503 기타 간단한 Scene_Base #2 2 Alkaid 2012.01.15 1738
502 기타 간단한 Scene_Base Alkaid 2010.09.09 1390
Board Pagination Prev 1 ... 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ... 52 Next
/ 52