设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 182|回复: 4
打印 上一主题 下一主题

[有事请教] 类似怪猎的吃饭机制

[复制链接]

Lv2.观梦者

梦石
0
星屑
383
在线时间
52 小时
注册时间
2020-6-4
帖子
6
跳转到指定楼层
1
发表于 2024-12-12 18:23:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
如题,希望能在游戏里有类似怪物猎人的吃饭获得buff的系统,但是没有思路,希望能获得一些帮助

Lv5.捕梦者

梦石
0
星屑
39114
在线时间
5732 小时
注册时间
2006-11-10
帖子
6632
2
发表于 2024-12-13 20:59:52 | 只看该作者
事件指令 - 角色 -更改状态
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
383
在线时间
52 小时
注册时间
2020-6-4
帖子
6
3
 楼主| 发表于 2024-12-13 22:25:42 | 只看该作者
灯笼菜刀王 发表于 2024-12-13 20:59
事件指令 - 角色 -更改状态

状态里没办法设置固定几个战斗回合后状态消失,有没有什么办法让状态可以假设在打了六场战斗后状态消失
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
223
在线时间
28 小时
注册时间
2024-11-20
帖子
20
4
发表于 2024-12-14 14:53:42 | 只看该作者
本帖最后由 lvzi12345 于 2024-12-14 14:59 编辑
邦尼 发表于 2024-12-13 22:25
状态里没办法设置固定几个战斗回合后状态消失,有没有什么办法让状态可以假设在打了六场战斗后状态消失 ...


关于这个问题 其实我是这样认为的: 吃东西增加状态,那么喝黑暗料理是不是也是一种增加状态呢?那么我们就开始喝黑暗料理:首先在物品里面增加一个“黑暗料理”,添加一个剧毒的状态。 然后去状态页面给剧毒添加“一定步数”解除的条件。你在游戏里吃了黑暗料理就激活了中毒状态,步数一到就解除

黑暗料理.png (151.86 KB, 下载次数: 13)

黑暗料理.png

状态制作.png (133.85 KB, 下载次数: 14)

状态制作.png

中毒.png (114.8 KB, 下载次数: 14)

中毒.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39114
在线时间
5732 小时
注册时间
2006-11-10
帖子
6632
5
发表于 2024-12-14 16:42:45 | 只看该作者
邦尼 发表于 2024-12-13 22:25
状态里没办法设置固定几个战斗回合后状态消失,有没有什么办法让状态可以假设在打了六场战斗后状态消失 ...

RUBY 代码复制
  1. class Game_Interpreter
  2.   def 吃猫饭(actor_id,state_id,turn)
  3.     return if turn < 1
  4.     if actor_id == 0
  5.       $game_party.members.each{|i| i.add_state(state_id)}
  6.       b = "members.each{|i| i.remove_state(#{state_id})}"
  7.     else
  8.       $game_actors[actor_id].add_state(state_id)
  9.       b = "$game_actors[#{actor_id}].remove_state(#{state_id})"
  10.     end
  11.     $game_party.battle_end_inter_push(turn,b)
  12.   end
  13. end
  14. class Game_Party < Game_Unit
  15.   attr_accessor :battle_end_inter
  16.   alias :old_initialize :initialize
  17.   def initialize
  18.     old_initialize
  19.     @battle_end_inter = []
  20.   end
  21.   def battle_end_inter_push(turn,s)
  22.     @battle_end_inter ||= []
  23.     if @battle_end_inter[turn - 1].nil?
  24.       @battle_end_inter[turn - 1] = s
  25.     else
  26.       @battle_end_inter[turn - 1] += ";#{s}"
  27.     end
  28.   end
  29.   def on_battle_end
  30.     super
  31.     if @battle_end_inter != nil and (r=@battle_end_inter.shift) != nil
  32.       eval(r)
  33.     end
  34.   end
  35. end


把上面这段塞到插件脚本

然后, 吃饭时调用事件脚本  :   吃猫饭(角色id, 状态id, 持续几场战斗)
角色id填0的话就是队伍全员
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-22 16:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表