设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1977|回复: 6
打印 上一主题 下一主题

[已经解决] 怎么增减第二货币?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
1232
在线时间
18 小时
注册时间
2014-1-19
帖子
4
跳转到指定楼层
1
发表于 2014-1-22 11:32:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RT我是用脚本的

Lv1.梦旅人

梦石
0
星屑
50
在线时间
151 小时
注册时间
2012-2-4
帖子
114
2
发表于 2014-1-22 11:36:23 | 只看该作者
OAO首先,你米有提供你是用什么第二货币的脚本。貌似有许多个【QAQ貌似!】
然后可以参考增减金钱$game_party.gain_gold()来设置
=
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1232
在线时间
18 小时
注册时间
2014-1-19
帖子
4
3
 楼主| 发表于 2014-1-22 11:37:52 | 只看该作者
#第二货币设置
$SECOND_CURRENCY_SWITCH = 1
$SECOND_CURRENCY_NAME = "钻石"
#第二货币方法
class Game_Party < Game_Unit
  attr_reader    :spegold
  alias initialize_normal_sc initialize
  def initialize
    initialize_normal_sc
    @spegold = 0
  end
  alias gain_gold_normal_sc gain_gold
  def gain_gold(amount)
    if $game_switches[$SECOND_CURRENCY_SWITCH]
      @spegold = [[@spegold + amount, 0].max, max_gold].min
    else
      gain_gold_normal_sc(amount)
    end
  end
end
#第二货币的显示
class Window_Gold < Window_Base
  #覆盖方法!可能引起冲突
  def initialize
    super(0, 0, window_width, fitting_height(2))
    self.opacity = 100
    refresh
  end
  alias refresh_normal_sc refresh
  def refresh
    refresh_normal_sc
    draw_currency_value($game_party.spegold, $SECOND_CURRENCY_NAME, 4, 24, contents.width - 8)
  end
end
#战斗胜利不获得第二货币
module BattleManager
  #覆盖方法!可能引起冲突
  def self.gain_gold
    if $game_troop.gold_total > 0
      text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)
      $game_message.add('\.' + text)
      $game_party.gain_gold_normal_sc($game_troop.gold_total)
    end
    wait_for_message
  end
end
#用第二货币买东西
module RPG
  class Item
    def price
      if $game_switches[$SECOND_CURRENCY_SWITCH]
        note.split(/[\r\n]+/).each { |line|
          case line
          when /<第二货币价格:(\d+)>/i
            return $1.to_i
          end
        }
        return 0
      else
        return @price
      end
    end
  end
end
#商店中购买钻石物品显示钻石
class Window_ShopNumber < Window_Selectable
  alias draw_total_price_normal_sc draw_total_price
  def draw_total_price
    if $game_switches[$SECOND_CURRENCY_SWITCH]
      @currency_unit = $SECOND_CURRENCY_NAME
    end
    draw_total_price_normal_sc
  end
end
class Scene_Shop < Scene_MenuBase
  alias money_normal_sc money
  def money
    if $game_switches[$SECOND_CURRENCY_SWITCH]
      return $game_party.spegold
    else
      return money_normal_sc
    end
  end
  alias create_gold_window_normal_sc create_gold_window
  def create_gold_window
    create_gold_window_normal_sc
    @gold_window.y -= 10
  end
end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1232
在线时间
18 小时
注册时间
2014-1-19
帖子
4
4
 楼主| 发表于 2014-1-22 13:01:11 | 只看该作者
这是VA好不...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
403 小时
注册时间
2012-8-12
帖子
1173
5
发表于 2014-1-22 13:12:45 | 只看该作者
@myownroc 你确定不要移到VA提问区?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
87 小时
注册时间
2013-7-11
帖子
100
6
发表于 2014-1-22 16:55:05 | 只看该作者
本帖最后由 540486098 于 2014-1-22 17:06 编辑
卐卐卐 发表于 2014-1-22 11:37
#第二货币设置
$SECOND_CURRENCY_SWITCH = 1
$SECOND_CURRENCY_NAME = "钻石"


请善用搜索,我决定帮你一把,来这里:传送门

那个“$SECOND_CURRENCY_SWITCH = 1”指的就是第一开关,那么
“#第二货币设置
$SECOND_CURRENCY_SWITCH = 2
$SECOND_CURRENCY_NAME = "钻石"”就是第二个开关

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1232
在线时间
18 小时
注册时间
2014-1-19
帖子
4
7
 楼主| 发表于 2014-1-23 09:19:27 | 只看该作者
540486098 发表于 2014-1-22 16:55
请善用搜索,我决定帮你一把,来这里:传送门

那个“$SECOND_CURRENCY_SWITCH = 1”指的就是第一开关, ...

谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 23:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表