Project1

标题: 如何判断主角是否在商店中购买了东西 [打印本页]

作者: 五谷田园    时间: 2008-12-2 02:21
标题: 如何判断主角是否在商店中购买了东西
希望能达到这样的效果:主角进入某个特定商店进行交易时,如果在那里购买了东西(金额不限,只要买过东西就好),店主会送给主角一件纪念品(只赠送一次,下次再买东西时不再赠送);如果虽然了进行商店处理但主角只是看了一遍商品清单而最终没有买下任何东西,那么便不会赠送纪念品。
由于那个商店里卖的东西并非只有在那里才能买到的,所以没办法用判断主角在交易后是否持有此商店商品的简单条件分歧方法来实现。不知道能否用事件或其他方式实现这种效果?
另外,可能的话最好不需要增加商店脚本,因为已经使用过其他商店脚本了,担心再添加脚本会引起冲突……麻烦各位了,预先感谢。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~ [LINE]1,#dddddd[/LINE]此贴于 2008-12-2 5:44:09 被版主天圣的马甲提醒,请楼主看到后对本贴做出回应。
作者: 莳衍灵儿    时间: 2008-12-2 02:24
商店前先把全部卖的东西都代入变量~商店后判断变量是否改变~
oTL~个数会不会太多了一点~{/hx}
作者: 五谷田园    时间: 2008-12-2 03:35
谢谢,好象是可行的,不过那个商店里有几十种商品之多,全用变量一项项加的话似乎有点庞大{/lh}
请问还有没有其他办法呢{/ll}
作者: 塑望    时间: 2008-12-2 03:50
条件分歧

当玩家拥有A物品(即买了会送纪念品的物品)
获得纪念品
独立开关为ON

除此以外的场合
商店处理

----
第2页.独立开关为ON的时候
商店处理


作者: 五谷田园    时间: 2008-12-2 03:55
并不是有哪件买了会送纪念品的A物品,而是购买几十种商品中的任何一件都会送纪念品。不过还是很感谢。

作者: 忧伤的小猫    时间: 2008-12-2 04:10
商店事件执行的时候
用1个变量纪录当前金钱A
并把变量赋值给另一个变量B
商店结束后
判断 A是否小于B [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 五谷田园    时间: 2008-12-2 04:53
这的确是很好的思路,谢谢~
但是这个办法和莳衍灵儿大人的办法都存在一个问题,就是假如主角在商店既进行了购买也进行了卖出的话可能导致判断错误,比如,若是主角在商店买入了一件100G的东西,同时又卖出了一件200G的东西的话,那么交易完成后主角的金钱变化不是比交易前减少了而是比交易前增多了(若买入100G的东西又卖出100G的东西的话则是金钱完全没有变化),也就是说系统会按照主角没买过东西那样判定……{/lh}
作者: 莳衍灵儿    时间: 2008-12-2 05:09
用这个~
http://rpg.blue/web/htm/news188.htm
然后在购买前增加对话~
选择买或者卖~
oTL~只能想到这样了~{/hx} [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 菜鸟飞呀飞    时间: 2008-12-2 05:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 精灵使者    时间: 2008-12-2 05:58
就是很囧的意思。
另外,可以在商店处理的脚本那里加上开关判断你是否买了商品,然后再放入事件判断。
作者: 五谷田园    时间: 2008-12-2 07:46
以下引用莳衍灵儿于2008-12-1 21:09:33的发言:

用这个~
http://rpg.blue/web/htm/news188.htm
然后在购买前增加对话~
选择买或者卖~
oTL~只能想到这样了~

那个就是我现在在用的商店脚本……看起来是没有其他办法了。{/lh}
多谢莳衍灵儿和忧伤的小猫两位大人,结帖了~

以下引用精灵使者于2008-12-1 21:58:52的发言:

另外,可以在商店处理的脚本那里加上开关判断你是否买了商品,然后再放入事件判断。

我不会写脚本,所以没可能做到{/lh}
作者: 天圣的马甲    时间: 2008-12-2 13:24
Scene_Shop部分找到
        # 购买处理
        $game_party.lose_gold(@number_window.number * @item.price)
        case @item
        when RPG::Item
          $game_party.gain_item(@item.id, @number_window.number)
        when RPG::Weapon
          $game_party.gain_weapon(@item.id, @number_window.number)
        when RPG::Armor
          $game_party.gain_armor(@item.id, @number_window.number)
        end

在下面加一句$game_switches[1] = true即可在买东西之后打开1号开关。需要判断此开关是否打开的时候用条件分歧即可。下次买东西呼叫商店之前把开关关闭。

作者: 五谷田园    时间: 2008-12-2 18:34
了解了,原来是这样~非常非常感谢{/wx}




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