Project1

标题: 如何自定义商品价格 [打印本页]

作者: xiaoyouer    时间: 2011-11-4 21:55
标题: 如何自定义商品价格
本帖最后由 xiaoyouer 于 2011-11-8 05:19 编辑

思路是这行样,我想做一个商业性的游戏,在游戏过程中我会定义价格,而不是在游戏之前,      比方说 我要卖 药品,我想卖200    但我 怎么能把自己定义的价格变量和商品的价格联系到一起  请大侠指教,这回不知道我说清楚没dsu_plus_rewardpost_czw
作者: 怪蜀黍    时间: 2011-11-4 22:33
本帖最后由 protosssonny 于 2011-11-4 22:34 编辑

我举例,物品的卖出价格为购买价格的80%,应该分两步修改:
第一步,找到Scene_Shop类下的def update_sell_selection,把
  1. @number_window.set(@item, max, @item.price  / 2)
复制代码
改成:
  1. @number_window.set(@item, max, @item.price * 80 / 100)
复制代码
修改后整个定义如下:
  1.   #--------------------------------------------------------------------------
  2.   # ● 更新选择卖出物品
  3.   #--------------------------------------------------------------------------
  4.   def update_sell_selection
  5.     if Input.trigger?(Input::B)
  6.       Sound.play_cancel
  7.       @command_window.active = true
  8.       @dummy_window.visible = true
  9.       @sell_window.active = false
  10.       @sell_window.visible = false
  11.       @status_window.item = nil
  12.       @help_window.set_text("")
  13.     elsif Input.trigger?(Input::C)
  14.       @item = @sell_window.item
  15.       @status_window.item = @item
  16.       if @item == nil or @item.price == 0
  17.         Sound.play_buzzer
  18.       else
  19.         Sound.play_decision
  20.         max = $game_party.item_number(@item)
  21.         @sell_window.active = false
  22.         @sell_window.visible = false
  23.         @number_window.set(@item, max, @item.price * 80 / 100)
  24.         @number_window.active = true
  25.         @number_window.visible = true
  26.         @status_window.visible = true
  27.       end
  28.     end
  29.   end
复制代码
第二步,找到Scene_Shop类下的def decide_number_input,把
  1. @number_window.set(@item, max, @item.price / 2)
复制代码
改成:
  1. @number_window.set(@item, max, @item.price * 80 / 100)
复制代码
修改后整个定义如下:
  1.   #--------------------------------------------------------------------------
  2.   # ● 更新选择卖出物品
  3.   #--------------------------------------------------------------------------
  4.   def update_sell_selection
  5.     if Input.trigger?(Input::B)
  6.       Sound.play_cancel
  7.       @command_window.active = true
  8.       @dummy_window.visible = true
  9.       @sell_window.active = false
  10.       @sell_window.visible = false
  11.       @status_window.item = nil
  12.       @help_window.set_text("")
  13.     elsif Input.trigger?(Input::C)
  14.       @item = @sell_window.item
  15.       @status_window.item = @item
  16.       if @item == nil or @item.price == 0
  17.         Sound.play_buzzer
  18.       else
  19.         Sound.play_decision
  20.         max = $game_party.item_number(@item)
  21.         @sell_window.active = false
  22.         @sell_window.visible = false
  23.         @number_window.set(@item, max, @item.price * 80 / 100)
  24.         @number_window.active = true
  25.         @number_window.visible = true
  26.         @status_window.visible = true
  27.       end
  28.     end
  29.   end
复制代码
这样就搞定了!


作者: xiaoyouer    时间: 2011-11-4 22:38
那在游戏过程中怎么改


xiaoyouer于2011-11-4 22:45补充以下内容:
类似于游戏中主角在交易过程中自定义价格 ,和网游自己开商店买卖商品一样


xiaoyouer于2011-11-4 22:46补充以下内容:
其实我很感谢你的热情帮助 可能是我文化低 表达不太清楚


xiaoyouer于2011-11-4 22:49补充以下内容:
可以这么理解  但价格主角说的算


xiaoyouer于2011-11-4 22:52补充以下内容:
好的非常感谢


xiaoyouer于2011-11-4 22:52补充以下内容:
太对了


xiaoyouer于2011-11-4 22:53补充以下内容:
就跟现实做买卖一样的效果
作者: 小白玩家    时间: 2011-11-5 04:33
是修改售价吧

222.jpg (26.54 KB, 下载次数: 23)

222.jpg

作者: 仲秋启明    时间: 2011-11-5 19:53
沙发的方法+http://rpg.blue/forum.php?mod=vi ... =%E5%BA%97%E4%B8%BB
再把第二步改成变量的
作者: 神秘影子    时间: 2011-11-6 19:18
事件开价系统?
设定变量和数值输入吧。
然后判断是否太贵就是判断变量值。
最后交易。
但是这样是不属于商店内容的
我不会写脚本,没办法帮你。
作者: xiaoyouer    时间: 2011-11-6 22:55
小白玩家 发表于 2011-11-5 04:33
是修改售价吧

你说的这个我会改  ,不过谢谢你的回答


xiaoyouer于2011-11-6 22:58补充以下内容:
意思很接近  但不会具体操作   


xiaoyouer于2011-11-6 23:36补充以下内容:
请问下  这个脚本做出来的效果是不是这样的 ?   在交易过程中  , 主角可以在游戏进行过程中定价格,如果输入的价格高于npc的随机收购价格,npc不收,采购同理


xiaoyouer于2011-11-9 18:40补充以下内容:
怎么改变量啊




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