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

Project1

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

[已经解决] 【萌新提问】关于商店

[复制链接]

Lv1.梦旅人

梦石
0
星屑
95
在线时间
9 小时
注册时间
2019-8-27
帖子
2
跳转到指定楼层
1
发表于 2019-10-7 12:43:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
可不可以实现像2000和2003那样可以只卖出?

QQ图片20191007124325.png (19.34 KB, 下载次数: 26)

QQ图片20191007124325.png

Lv3.寻梦者

梦石
0
星屑
1083
在线时间
140 小时
注册时间
2019-5-12
帖子
57
2
发表于 2019-10-7 12:48:19 | 只看该作者
喵呜喵5大佬的脚本
  1. =begin
  2. ===============================================================================
  3.   高价回收物品的商店 By喵呜喵5
  4. ===============================================================================

  5. 【说明】

  6.   指定的开关打开时,事件指令中的商店处理会进入特定的物品回收商店

  7.   在物品回收商店中无法购买物品,只能贩卖物品

  8.   物品的售价则为商店处理中设置的物品价格(而非数据库中设置的价格)

  9. =end
  10. $m5script ||= {}
  11. $m5script[:M5SS20151022] = 20151022
  12. module M5SS20151022
  13. #==============================================================================
  14. # 设定部分
  15. #==============================================================================

  16.   SWI = 13

  17.   #这里设置一个开关ID,当开关打开时使用商店处理将进入物品回收商店

  18.   SHOW1 = true    # true / false

  19.   #设置为true时,在物品回收商店也能以正常价格(原价除2)贩卖没有设置价格的物品

  20.   SHOW2 = false    # true / false

  21.   #设置为true时,在物品回收商店中也会显示玩家不拥有但有设置价格的物品

  22. #==============================================================================
  23. # 设定结束
  24. #==============================================================================
  25. class Sell < Window_ShopSell
  26.   attr_writer :shop_goods
  27.   def initialize *args
  28.     super *args
  29.     @shop_goods = []
  30.   end
  31.   def make_item_list
  32.     @data = []
  33.     @price = {}
  34.     @shop_goods.each do |goods|
  35.       item = ( case goods[0]
  36.                when 0 then $data_items
  37.                when 1 then $data_weapons
  38.                when 2 then $data_armors
  39.                end )[ goods[1] ]
  40.       if item
  41.         next unless include?(item)
  42.         @data << item
  43.         @price[item] = goods[2] == 0 ? item.price : goods[3]
  44.       end
  45.     end
  46.     if SHOW1
  47.       @data += $game_party.all_items.select {|item| include?(item)}
  48.       @data.uniq!
  49.     end
  50.     @data = @data.select{|item| $game_party.has_item?(item)} unless SHOW2
  51.     @data.push(nil) if include?(nil)
  52.   end
  53.   def enable?(item)
  54.     item && (@price[item] ? @price[item] > 0 : item.price > 0) && $game_party.has_item?(item)
  55.   end
  56. end
  57. class Command < Window_ShopCommand
  58.   def col_max; @list.size; end
  59.   def make_command_list
  60.     super
  61.     @list.delete_if { |command| command[:symbol] == :buy }
  62.   end
  63. end
  64. Scene_Clone = Scene_Shop.clone
  65. class Scene_Clone
  66.   Window_ShopCommand = M5SS20151022::Command
  67.   Window_ShopSell = M5SS20151022::Sell
  68. end
  69. class Scene < Scene_Clone
  70.   def create_sell_window
  71.     super
  72.     @sell_window.shop_goods = @goods
  73.   end
  74.   def selling_price; buying_price || super; end
  75. end

  76. end # module M5SS20151022

  77. class Game_Interpreter
  78.   alias m5_20140320_command_302 command_302
  79.   def command_302
  80.     temp_scene = Scene_Shop
  81.     if $game_switches[M5SS20151022::SWI]
  82.       Object.const_set(:Scene_Shop, M5SS20151022::Scene)
  83.       ( @params = @params.clone )[4] = false
  84.     end
  85.     m5_20140320_command_302
  86.     Object.const_set(:Scene_Shop, temp_scene)
  87.   end
  88. end
复制代码

评分

参与人数 1星屑 +30 收起 理由
VIPArcher + 30 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
9 小时
注册时间
2019-8-27
帖子
2
3
 楼主| 发表于 2019-10-7 13:48:44 | 只看该作者

感谢分享!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 14:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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