Project1

标题: 关于商品买卖的问题 [打印本页]

作者: 喵kano    时间: 2014-8-15 11:57
标题: 关于商品买卖的问题
| ω・´)好像是个比较复杂的问题。
例子:如果向A商店卖出A商店有出售的道具,则售价为50%,如果向B商店卖出A商店有售,B商店没有的道具,则售价为120%。
           也就是希望可以在向商店卖道具的时候检查下商店的出售列表,判断下是否有同样的道具,然后用变量指定出售价格比例。
作者: taroxd    时间: 2014-8-15 12:06
RUBY 代码复制
  1. class Scene_Shop < Scene_MenuBase
  2.   def selling_price
  3.     (@item.price * (@goods.any? {|g| g[1] == @item.id } ? 0.5 : 1.2)).round
  4.   end
  5. end

喵K大触为啥会产生这很复杂的错觉
作者: 喵kano    时间: 2014-8-15 12:47
@余烬之中 请教下大触能否和物品价格比例的脚本同时生效?
作者: taroxd    时间: 2014-8-15 12:52
卖出时不加备注的话,卖出价格为售价的2.4倍(即原价的1.2倍)。改动在第88行

RUBY 代码复制
  1. #==============================================================================
  2. # ■ 物品价格比例
  3. #  作者:影月千秋
  4. #  版本:V 1.0
  5. #  最近更新:2013.12.15
  6. #  适用:VA
  7. #------------------------------------------------------------------------------
  8. # ● 简介
  9. #  提供物品交易时对价格的一系列处理,比如全体物品售价增加20%、全体物品回收(贩卖)价
  10. # 格增加原价的35%、某物品的贩卖价格占原价的70%等等
  11. #==============================================================================
  12. # ● 使用方法
  13. #   将此脚本插入到其他脚本以下,Main以上
  14. #   在下方设定脚本所使用的开关及变量ID
  15. #   数据库中,在物品的备注栏按照下方的正则式来填写匹配备注
  16. #   游戏中可以通过操作开关和变量来进行价格处理
  17. #
  18. #  * 物品的备注
  19. #   在备注中按照正则式填写,默认格式为 <贩卖 XX> ,XX为任意数字,代表着这个物品的
  20. #  售价将会是原价的 XX%
  21. #   例:
  22. #    <贩卖 65>
  23. #  * Buying变量
  24. #   游戏中更改这个变量的值,则物品售价(你付出的)将为【原价 乘以(1 + 变量值 %)】
  25. #  * Selling变量
  26. #   改变所有物品贩卖价格占售价的比例,新比例 = 原比例 + 变量值
  27. #   如果物品备注栏做了上述设置(脚本第18行) 则原比例即为设置的比例 如果没有
  28. #  则原比例为50
  29. #==============================================================================
  30. # ● 更新
  31. #   V 1.0 2013.12.15 新建
  32. #==============================================================================
  33. # ● 声明
  34. #   本脚本来自【影月千秋】,使用、修改和转载请保留此信息
  35. #==============================================================================
  36.  
  37. $smomo ||= {}
  38. if $smomo["ItemPriceRate"].nil?
  39. $smomo["ItemPriceRate"] = true
  40.  
  41. #===============================================================================
  42. # ■ Smomo
  43. #===============================================================================
  44. module Smomo
  45.   #=============================================================================
  46.   # ■ Smomo::ItemPriceRate
  47.   #=============================================================================
  48.   module ItemPriceRate
  49.     Using = 6
  50.     # 开关ID:启用/禁用脚本功能
  51.     Buying = 7
  52.     # 变量ID:控制 从商店购买物品时 价格增加的比例
  53.     Selling = 8
  54.     # 变量ID:控制 在商店卖出物品时 售价占原价比例的增量
  55.     Match_Reg = /<贩卖\s+(\d+)>/
  56.     # 匹配物品备注栏的正则式,如果懂的话可以自己改(不建议)
  57.     # 默认: /<贩卖\s+(\d+)>/   匹配举例: <贩卖 21>  其中21可以替换为任意数字
  58. #=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+#
  59. #------------------------------------------------------------------------------#
  60. #                               请勿跨过这块区域                                #
  61. #------------------------------------------------------------------------------#
  62. #+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=#
  63.   end
  64. end
  65. #==============================================================================
  66. # ■ Window_ShopBuy
  67. #==============================================================================
  68. class Window_ShopBuy
  69.   alias :item_price_rate_price :price
  70.   def price(item)
  71.     return item.price unless @price[item]
  72.     if $game_switches[Smomo::ItemPriceRate::Using]
  73.       @price[item] * (100 + $game_variables[Smomo::ItemPriceRate::Buying]) / 100
  74.     else
  75.       item_price_rate_price(item)
  76.     end
  77.   end
  78. end
  79. #==============================================================================
  80. # ■ Scene_Shop
  81. #==============================================================================
  82. class Scene_Shop
  83.   alias :item_price_rate_selling_price :selling_price
  84.   def selling_price
  85.     if $game_switches[Smomo::ItemPriceRate::Using]
  86.       rate = Smomo::ItemPriceRate::Match_Reg =~ @item.note ? $1.to_i : 50
  87.       rate += $game_variables[Smomo::ItemPriceRate::Selling]
  88.       rate = rate * 24 / 10 if @goods.none? {|g| g[1] == @item.id }
  89.       @buy_window.make_item_list
  90.       prc = @item.price * rate / 100
  91.       prc > buying_price ? buying_price : prc
  92.     else
  93.       item_price_rate_selling_price
  94.     end
  95.   end
  96. end
  97.  
  98. else # if $smomo
  99.   msgbox "请不要重复加载此脚本 : )\n【物品价格比例 ItemPriceRate】"
  100. end

作者: 余烬之中    时间: 2014-8-15 13:37
本帖最后由 余烬之中 于 2014-8-15 13:38 编辑

其实是可以直接叠加的 不需要什么更改

但是我还是塞进了更新后的脚本里:Github

第63行
作者: 喵kano    时间: 2014-8-15 17:24
余烬之中 发表于 2014-8-15 13:37
其实是可以直接叠加的 不需要什么更改

但是我还是塞进了更新后的脚本里:Github


改了下profiteer的值,然后小数点略惊悚




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