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

Project1

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

[已经解决] 变量商店脚本出错了

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1346
在线时间
806 小时
注册时间
2013-8-3
帖子
455
跳转到指定楼层
1
发表于 2016-5-28 13:21:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这个脚本某个事件可以正常购买东西关闭,在其他事件不管买不买东西,只要关闭商店时就出现错误,看不懂问题。


RUBY 代码复制
  1. =begin
  2. ===============================================================================
  3.   变量商店 By喵呜喵5
  4. ===============================================================================
  5. 【说明】
  6.  
  7.   可以使用变量在商店进行购物
  8.  
  9.   首先先在事件中使用脚本命令输入:shop_set(变量的ID,"变量的单位"),例如:  
  10.   shop_set(1,"节操")
  11.  
  12.   接着使用事件中的商店处理时,购买物品不会消耗金钱而是消耗对应的变量
  13.  
  14.   使用命令shop_set可以恢复原来使用金钱购物的商店
  15.  
  16. =end
  17. $m5script = {} if $m5script.nil?
  18. $m5script["M5VARShop"] = true
  19. module M5VARShop
  20. #==============================================================================
  21. #  设定部分
  22. #==============================================================================
  23.  
  24.   PRICE = false   #true
  25.  
  26.   #设置为true的情况下,变量商店物品的出售价格为【数据库中】物品售价的一半
  27.   #设置为false的情况下, 变量商店物品的出售价格为【该商店】物品售价的一半
  28.  
  29.   VAR = 1
  30.  
  31.   #这里设置一个没有使用到的变量的ID,游戏中请不要修改这个ID的变量数值
  32.  
  33. #==============================================================================
  34. #  设定结束
  35. #==============================================================================
  36. end
  37. class Game_Interpreter
  38.   def shop_set(gold=0,unit="")
  39.     gold = 0 if gold == M5VARShop::VAR
  40.     $game_variables[M5VARShop::VAR]=[gold,unit]
  41.   end
  42. end
  43. class Window_Gold_New < Window_Gold
  44.   def initialize(gold,unit)
  45.     @gold,@unit = gold,unit
  46.     super()
  47.   end
  48.   def value
  49.     @gold == 0 ? super : $game_variables[@gold]   
  50.   end
  51.   def currency_unit
  52.     (@gold == 0 || @unit == "") ? super : @unit
  53.   end
  54. end
  55. class Scene_Shop
  56.   def create_gold_window
  57.     $game_variables[M5VARShop::VAR] = [0,""] if \
  58.     !$game_variables[M5VARShop::VAR].is_a?(Array)
  59.     @gold_window = Window_Gold_New.new($game_variables[M5VARShop::VAR][0],$game_variables[M5VARShop::VAR][1])
  60.     @gold_window.viewport = @viewport
  61.     @gold_window.x = Graphics.width - @gold_window.width
  62.     @gold_window.y = @help_window.height
  63.   end
  64.   alias m5_20140318_do_buy  do_buy  
  65.   def do_buy(number)
  66.     if $game_variables[M5VARShop::VAR][0] == 0
  67.       m5_20140318_do_buy(number)
  68.     else
  69.       $game_variables[$game_variables[M5VARShop::VAR][0]] -= number * buying_price
  70.       $game_party.gain_item(@item, number)
  71.     end   
  72.   end
  73.   alias m5_20140318_do_sell do_sell
  74.   def do_sell(number)
  75.     if $game_variables[M5VARShop::VAR][0] == 0
  76.       m5_20140318_do_sell(number)
  77.     else
  78.       $game_variables[$game_variables[M5VARShop::VAR][0]] += number * selling_price
  79.       $game_party.lose_item(@item, number)
  80.     end
  81.   end
  82.   alias m5_20140318_selling_price selling_price
  83.   def selling_price
  84.     return m5_20140318_selling_price if M5VARShop::PRICE || $game_variables[M5VARShop::VAR][0] == 0
  85.     buying_price / 2
  86.   end
  87. end

1.png (4.76 KB, 下载次数: 18)

1.png

2.png (30.27 KB, 下载次数: 15)

2.png

【同人游戏】勇者斗恶龙TG
欢迎加入游戏测试群333599798
如有需私聊请加QQ:516425000

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2016-5-28 13:25:16 | 只看该作者
本帖最后由 喵呜喵5 于 2016-5-28 14:47 编辑

你的某个事件的出现条件是否设置成了变量商店脚本所使用的变量了?

(另外,我看了下这段代码,稍微有点旧了,之后我更新一个兼容性更好的版本


==========


变量商店脚本更新了一个更好的版本

https://rpg.blue/home.php?mod=sp ... o=blog&id=12019

(请注意,使用方法相对旧版发生了细微变化)

点评

太棒了!萌萌哒~~  发表于 2016-5-29 00:21

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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