Project1

标题: 怎么利用事件简单制作赠送NPC物品的事件 [打印本页]

作者: 853861078    时间: 2014-5-16 19:19
标题: 怎么利用事件简单制作赠送NPC物品的事件
嗯,物品选择处理试过了QAQ,貌似送一个只能增加1点……
作者: 影风枪圣    时间: 2014-5-16 19:54
赠送NPC礼物?好吧,我想,玩家是不会同意的。。。
事件嘛,就是如果玩家达成某条件,XX物品减少,NPC说声谢谢
作者: 853861078    时间: 2014-5-16 19:56
影风枪圣 发表于 2014-5-16 19:54
赠送NPC礼物?好吧,我想,玩家是不会同意的。。。
事件嘛,就是如果玩家达成某条件,XX物品减少,NPC说声 ...

跟我问的有什么关系?
我是问怎么简单制作赠送NPC物品,剧情用。
作者: 影风枪圣    时间: 2014-5-16 20:02
853861078 发表于 2014-5-16 19:56
跟我问的有什么关系?
我是问怎么简单制作赠送NPC物品,剧情用。

事件的话。。。只能做出玩家某物品减少,做不出跑NPC哪里去。。。NPC就是个人物行走图+相关事件,NPC不等于玩家。。。你顶多用事件做出物品效果
作者: david_ng223    时间: 2014-5-16 20:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: 853861078    时间: 2014-5-16 21:29
david_ng223 发表于 2014-5-16 20:33
樓上兩位仁兄,一位問得含糊,一位答得含糊,真叫人哭笑不得

嗯哦是嘛,我问:
怎么用事件把主角手上的物品“送”到NPC那里,从而根据“喜欢”或“讨厌”增加或减少一定的变量值
作者: david_ng223    时间: 2014-5-16 22:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 853861078    时间: 2014-5-17 20:05
david_ng223 发表于 2014-5-16 22:10

那要从几十个物品中选一个呢→_→
作者: sda1234561304    时间: 2014-5-18 12:33
那么就得是很多个条件分歧了,没办法,除非用脚本项进行概括定类。一个游戏,是不可能像现实一样,做得非常细致的,是有略有详的,请您不要在这上面有所纠结。
作者: fox1313304    时间: 2014-5-19 23:24
用变量 一个变量可以是记数的
然后条件
变量大于几 显示什么 之类的……
估计要好几个嵌套使用
作者: qknight    时间: 2014-5-22 22:48
从几十个物品中选择,这种时候不是该果断用物品选择处理?
用一个变量记录赠送物品ID,然后只用分歧物品ID选择哪种ID的物品加多少好感度就可以了
作者: moy    时间: 2014-5-23 00:16
本帖最后由 moy 于 2014-5-23 00:17 编辑
普通版


事件版


脚本版



各版取用原则图里都写了,我猜你纠结的是后两个多种礼物多种价值的问题。
作者: moy    时间: 2014-5-23 16:44
  1. #==============================================================================
  2. # ☆ Custom Adventure 强化物品选择
  3. # -- Last Updated: 2014.5.23
  4. # -- by Moy
  5. # -- 转载请保留以上信息
  6. #==============================================================================
  7. #   本脚本使物品选择可以选取贵重物品以外的物品,只要给物品选择所选取的目标变量赋初值
  8. # 为以下几个。
  9. #     1 - 除贵重物品外的物品
  10. #     2 - 武器
  11. #     3 - 防具
  12. #     4 - 贵重物品
  13. #     5 - 装备品(武器和防具)
  14. #   另外在默认时选择的依然是贵重物品,但如果在使用完毕该变量后没有重新置0,还是会有
  15. # 选错成其他类型的可能,需注意。
  16. #==============================================================================
  17. #encoding:utf-8
  18. #==============================================================================
  19. # ■ Window_ItemList
  20. #==============================================================================
  21. class Window_ItemList < Window_Selectable
  22.   #--------------------------------------------------------------------------
  23.   # ● 查询列表中是否含有此物品
  24.   #--------------------------------------------------------------------------
  25.   alias ca_include? include?
  26.   def include?(item)
  27.     case @category
  28.     when :item
  29.       item.is_a?(RPG::Item) && !item.key_item?
  30.     when :weapon
  31.       item.is_a?(RPG::Weapon)
  32.     when :armor
  33.       item.is_a?(RPG::Armor)
  34.     when :key_item
  35.       item.is_a?(RPG::Item) && item.key_item?
  36.     when :equip                           # 装备品策略
  37.       item.is_a?(RPG::Weapon) || item.is_a?(RPG::Armor)
  38.     else
  39.       false
  40.     end
  41.   end
  42. end

  43. #==============================================================================
  44. # ■ Window_KeyItem
  45. #==============================================================================
  46. class Window_KeyItem < Window_ItemList
  47.   #--------------------------------------------------------------------------
  48.   # ● 开始输入的处理
  49.   #--------------------------------------------------------------------------
  50.   alias ca_start start
  51.   def start
  52.     @item_category = $game_variables[$game_message.item_choice_variable_id]
  53.     self.category = :key_item
  54.     self.category = :item     if @item_category == 1
  55.     self.category = :weapon   if @item_category == 2
  56.     self.category = :armor    if @item_category == 3
  57.     self.category = :key_item if @item_category == 4
  58.     self.category = :equip    if @item_category == 5   
  59.     update_placement
  60.     refresh
  61.     select(0)
  62.     open
  63.     activate
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 查询此物品是否可用
  67.   #     重写父类方法使其始终可选
  68.   #--------------------------------------------------------------------------
  69.   alias ca_enable? enable?
  70.   def enable?(item)
  71.     true
  72.   end
  73. end

  74. #==============================================================================
  75. # ■ Game_Interpreter
  76. #==============================================================================
  77. class Game_Interpreter
  78.   #--------------------------------------------------------------------------
  79.   # ● 设置物品选择
  80.   #--------------------------------------------------------------------------
  81.   alias ca_setup_item_choice setup_item_choice
  82.   def setup_item_choice(params)
  83.     @chosen_id = params[0]
  84.     @chosen_type = $game_variables[params[0]]
  85.     $game_message.item_choice_variable_id = params[0]
  86.   end
  87. end
复制代码
以上。有什么不明白的再问我吧。不过应该很容易理解吧?
作者: taroxd    时间: 2014-5-23 17:39
本帖最后由 taroxd 于 2014-5-25 06:33 编辑
moy 发表于 2014-5-23 16:44
以上。有什么不明白的再问我吧。不过应该很容易理解吧?


补充一下,道具对应的好感度实际上可以用hash来完成
如图所示



咳咳,范例有误,gain_item传参数错误了
作者: qknight    时间: 2014-5-23 21:34
david_ng223 发表于 2014-5-16 20:33
樓上兩位仁兄,一位問得含糊,一位答得含糊,真叫人哭笑不得

搜索一下吧,论坛里有个脚本叫“物品选择扩张”的脚本,用那个脚本就可以选择要送普通物品、武器、还是防具
作者: 紫苍焰    时间: 2014-5-24 09:53
……
专门定义一个物品类-礼品,然后……
等等我去做实验……




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