Project1

标题: 貌似 VA里 没多种货币啊 [打印本页]

作者: z2z4    时间: 2012-7-14 20:06
标题: 貌似 VA里 没多种货币啊
本帖最后由 z2z4 于 2012-7-21 05:59 编辑

恩 如题  谢谢高人指点


作者: 迷糊的安安    时间: 2012-7-14 20:13
http://rpg.blue/forum.php?mod=viewthread&tid=220141

文不对题会被版主扣分的!(别看我)
作者: acn00269    时间: 2012-7-15 15:38
本帖最后由 acn00269 于 2012-7-15 16:09 编辑

直接给你脚本吧..
  1. #第二货币设置

  2. $SECOND_CURRENCY_SWITCH = 1

  3. $SECOND_CURRENCY_NAME = "金币" #第二货币名称

  4. #第二货币方法

  5. class Game_Party < Game_Unit

  6.   attr_reader    :spegold

  7.   alias initialize_normal_sc initialize

  8.   def initialize

  9.     initialize_normal_sc

  10.     @spegold = 0

  11.   end

  12.   alias gain_gold_normal_sc gain_gold

  13.   def gain_gold(amount)

  14.     if $game_switches[$SECOND_CURRENCY_SWITCH]

  15.       @spegold = [[@spegold + amount, 0].max, max_gold].min

  16.     else

  17.       gain_gold_normal_sc(amount)

  18.     end

  19.   end

  20. end

  21. #第二货币的显示

  22. class Window_Gold < Window_Base

  23.   #覆盖方法!可能引起冲突

  24.   def initialize

  25.     super(0, 0, window_width, fitting_height(2))

  26.     refresh

  27.   end

  28.   alias refresh_normal_sc refresh

  29.   def refresh

  30.     refresh_normal_sc

  31.     draw_currency_value($game_party.spegold, $SECOND_CURRENCY_NAME, 4, 24, contents.width - 8)

  32.   end

  33. end

  34. #战斗胜利不获得第二货币

  35. module BattleManager

  36.   #覆盖方法!可能引起冲突

  37.   def self.gain_gold

  38.     if $game_troop.gold_total > 0

  39.       text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)

  40.       $game_message.add('\.' + text)

  41.       $game_party.gain_gold_normal_sc($game_troop.gold_total)

  42.     end

  43.     wait_for_message

  44.   end

  45. end

  46. #用第二货币买东西

  47. module RPG

  48.   class Item

  49.     def price

  50.       if $game_switches[$SECOND_CURRENCY_SWITCH]

  51.         note.split(/[\r\n]+/).each { |line|

  52.           case line

  53.           when /<金币:(\d+)>/i

  54.             return $1.to_i

  55.           end

  56.         }

  57.         return 0

  58.       else

  59.         return @price

  60.       end

  61.     end

  62.   end

  63. end

  64. #商店中购买灵魄物品显示灵魄

  65. class Window_ShopNumber < Window_Selectable

  66.   alias draw_total_price_normal_sc draw_total_price

  67.   def draw_total_price

  68.     if $game_switches[$SECOND_CURRENCY_SWITCH]

  69.       @currency_unit = $SECOND_CURRENCY_NAME

  70.     end

  71.     draw_total_price_normal_sc

  72.   end

  73. end

  74. class Scene_Shop < Scene_MenuBase

  75.   alias money_normal_sc money

  76.   def money

  77.     if $game_switches[$SECOND_CURRENCY_SWITCH]

  78.       return $game_party.spegold

  79.     else

  80.       return money_normal_sc

  81.     end

  82.   end

  83.   alias create_gold_window_normal_sc create_gold_window

  84.   def create_gold_window

  85.     create_gold_window_normal_sc

  86.     @gold_window.y -= 24

  87.   end

  88. end
复制代码
使用方法:在物品备注填写 <金币:X> 即购买该物品需要金币X
作者: z2z4    时间: 2012-7-15 17:19
<金币:X>   X 是什么 意思    还有   <金币:X> 这个写在 要卖的东西 备注里吗
作者: z2z4    时间: 2012-7-15 17:28
还有 这金币是怎么获得的  奇怪了
作者: z2z4    时间: 2012-7-15 17:34
怪事 我怎么改 都没什么用
作者: ANN244    时间: 2012-7-15 21:53
本帖最后由 ANN244 于 2012-7-15 22:10 编辑
z2z4 发表于 2012-7-15 17:34
怪事 我怎么改 都没什么用


要注意脚本中的这句

$SECOND_CURRENCY_SWITCH = 1←(这个是开关,可以自己另行更改,要打开了开关才能获得第二种货币)


要注意的是打开了开关后
获得的金钱全都会变成获得第二种货币
要关闭了开关才能正常获得第一种货币
所以要适当地切换开关

而需要使用第二种货币买卖的商店
设置方式与上面的原理一样
就是打开了开关后
买卖需要使用第二种货币
要关闭了开关才能使用第一种货币买卖

另外要在能使用第二种货币买卖的东西的备注写上<金币:X>
那X是价钱
如果没有加在备注上
会出现能免费无限购买的问题

希望能解决你的问题
作者: z2z4    时间: 2012-7-16 05:49
我好像明白了一个道理   你这个脚本  同时  只能 出现 1个 货币  因为 我想把你的金币 改成点卷  可以买些 特殊 物品
作者: z2z4    时间: 2012-7-16 06:34
我在弱弱的 问下 $SECOND_CURRENCY_SWITCH = 1 这个开关是怎么打开的   这意思 就是  第2货币 开关  为什么 我怎么改 都没用
作者: ANN244    时间: 2012-7-16 07:00
本帖最后由 ANN244 于 2012-7-16 07:03 编辑
z2z4 发表于 2012-7-16 06:34
我在弱弱的 问下 $SECOND_CURRENCY_SWITCH = 1 这个开关是怎么打开的   这意思 就是  第2货币 开关  为什么 ...


就是游戏中那些开关啦
平常在事件中使用的那些开关

$ SECOND_CURRENCY_SWITCH= 1←(这个1是开关的ID)
作者: z2z4    时间: 2012-7-16 08:27
对啊 这个开关我也设置过 不过 好像没什么用
作者: ANN244    时间: 2012-7-16 14:28
本帖最后由 ANN244 于 2012-7-16 14:31 编辑
z2z4 发表于 2012-7-16 08:27
对啊 这个开关我也设置过 不过 好像没什么用


我有测试过呀
应该没问题的
我测试时是成功的

应该不会有冲突吧......
作者: z2z4    时间: 2012-7-16 18:26
这我不知道了 我也装了 不少脚本
作者: 咚小黑    时间: 2012-7-18 08:35
何必麻烦,直接用物品,名字叫 点券   购买是消耗相应点券
作者: jeff13579    时间: 2012-7-18 14:07
怎麽用物品当作货币阿
作者: gametl8r    时间: 2012-7-20 14:05
本帖最后由 gametl8r 于 2012-7-20 14:06 编辑

能否請問一下
我用了前面3樓的腳本
我也都會用了
但是當我隨便按下確定鍵時
左上角總是會出現一小塊框框的樣子
是用上這腳本以後才會這樣
這個有辦法消掉嗎?
請幫個忙 謝謝

附圖



作者: gametl8r    时间: 2012-7-20 14:30
z2z4 发表于 2012-7-16 18:26
这我不知道了 我也装了 不少脚本

我說說我使用的方式

3樓大大的腳本
第三行的
$SECOND_CURRENCY_SWITCH = 1
1=開關的編號

假設你開關編號是0010
那你就改成

$SECOND_CURRENCY_SWITCH = 10

腳本就這樣貼好


接下來要使用的話
你先在一個物品的 註 那邊打上 <金币:X>   X=第二貨幣的價格
如果你要賣100就是  <金币:100>

再來是最重要的步驟
第二貨幣商店
如圖 我是設在開關19


因為大大說開關打開 只要取得任何金錢
都會算是第二貨幣
但是我們只打算用商店
就這樣設定
講話時打開開關
然後處理買賣 並且設定只能買入不能賣出
最後再關閉開關
這樣就是完整的只能在專們的商店使用第二貨幣
要取得第二貨幣獎勵的話也是一樣
只要在取得時的前面和後面加上開關打開跟關閉
就不會影響到原本的第一貨幣

以上小小心得 希望有幫助^^
作者: gsyfgzs    时间: 2012-7-20 20:36

444.jpg (18.62 KB, 下载次数: 0)

444.jpg

作者: z2z4    时间: 2012-7-21 05:51
gametl8r 发表于 2012-7-20 14:30
我說說我使用的方式

3樓大大的腳本

我跟你 设置的一样 为什么还不行?
作者: z2z4    时间: 2012-7-21 05:58
我靠  原来 只能卖 物品 难怪我用装备  一直都不行
作者: 战圣王子    时间: 2013-3-16 20:57
但是没有说怎么调用第二货币数代码:   @spegold = 0  在脚本中+才能有货币数量。事件中怎么加?
作者: emin628    时间: 2013-11-23 17:32
奇怪!! 我也是用同樣腳本, 但是我使用了開關後,發現沒有辦法出現第二貨幣?
是因為我有安裝其他腳本而引起衝突嗎?
作者: 260211470    时间: 2014-2-8 08:11
ANN244 发表于 2012-7-16 07:00
就是游戏中那些开关啦
平常在事件中使用的那些开关

23全试了
作者: 暴疯城的德鲁伊    时间: 2014-2-8 13:07
其实你可以设置一个物品作为第二货币,再用兑换的方式用




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1