检测商店花费
rpgmaker吧
全部回复
仅看楼主
level 1
maazhou 楼主
有办法检测玩家在一处商店总共花了多少钱吗?
2025年08月24日 04点08分 1
level 8
举例:1:首先在商店处理前让A变量等于红瓶持有数(变量 代入 物品)。
2:再进行商店的处理。
3:再在商店处理后让B变量等于红瓶持有数(变量 带入 物品)。
4:再B变量-A变量(变量 减法 变量),此时B变量就是红瓶的数量。
再弄个C变量使数量再乘以价格本身再加起来就行了,挺麻烦的
2025年08月24日 06点08分 2
看懂了,谢谢[哈哈]
2025年08月24日 14点08分
level 8
RMMZ事件页20破限_哔哩哔哩
bilibili.com/video/BV1i4JTz2EX8/?vd_source=fd84198c79e8abb85db5da3c83dba99e#reply263542401776
这里的评论区有下面这个脚本,好像是可以检测到玩家进入新地图。
[星星月亮]
const originalsetup = Game_Map.rototype.setup;Game_Map.prototype.setup = function(mapId) {originalsetup.call(this, mapId);if ($dataMap) {observer.eventEmitter.emit('mapcreate', $gameMap.mapId());}
//然后订阅mapcreate事件触发你写的回调逻辑
[星星月亮]
或许可以参考上面这个脚本来检测是不是触发了增减金币的代码,
增加100金钱 $gameParty.gainGold(100);
减少100金钱 $gameParty.loseGold(100);
就是originalsetup.call这个呼叫,好像是可以被检测到的。
是不是更换了所在的地图,是不是增减了生命值,是不是赋予消除了什么状态,是不是增减了金币,说不定是可以检测到的。
如果能检测到的话,那家商店或许会固定在某个编号的地图那里,或许会固定在某个区域编号那里,加一个区域判断或许就可以了。
[星星月亮]
$gameMap._mapId === 1
//这个区域编号是不是等于1,可以直接放到分支条件那里。
$gameMap.regionId($gameMap.event(this.eventId()).x, $gameMap.event(this.eventId()).y) === 2
//这个本事件所在位置的区域编号是不是等于2,也可以直接放到分支条件那里。
[星星月亮]
至于能不能实现和怎么实现,我不知道。
2025年08月27日 16点08分 3
搞错了, $gameMap._mapId === 1这个是地图编号,不是区域编号。
2025年08月27日 16点08分
1