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

Project1

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

[已经解决] 合力技

[复制链接]

Lv1.梦旅人

梦石
0
星屑
95
在线时间
9 小时
注册时间
2018-12-31
帖子
9
跳转到指定楼层
发表于 2019-1-13 14:37:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
35星屑
请问如何让两个角色发动
我的意思是一个角色使用一个技能,另一个角色使用对应的技能,那么原来的技能失效,自动触发新技能。
举个栗子:吕布发动技能“天下无双”,同时貂蝉发动技能“离间计”,然后这两个技能都没有被发动,发动的是消耗两人的SP的另一个技能“天下离间”...
最难想象的是速度方面的问题。不过我打算把大部分角色的速度调得差不多。
这个问题可能有点难吧......真的有人能答得上来吗

最佳答案

查看完整内容

原理:只要在确定行动的时候替换下就好了, 默认战斗的话, 用它替换掉scene_battle 4 的 def make_action_orders 这段 这样, 只要有同时使用 10086号技能 和 10087号技能的时候, 第一个人就会什么都不做, 第二个人使用 10088号技能 class Game_Actor < Game_Battler def skill_can_use?(skill_id) return super end end class Scene_Battle def make_action_orders # 初始化序列 @action_battlers @ ...
我是一具行尸走肉

Lv1.梦旅人

梦石
0
星屑
90
在线时间
11 小时
注册时间
2017-6-8
帖子
14
6
发表于 2019-1-29 11:11:08 | 只看该作者
灯笼菜刀王 发表于 2019-1-13 14:37
原理:只要在确定行动的时候替换下就好了, 默认战斗的话, 用它替换掉scene_battle 4 的 def make_ ...

所以最后只用改相应技能的序号就可以了??
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
9 小时
注册时间
2018-12-31
帖子
9
5
 楼主| 发表于 2019-1-18 17:19:33 | 只看该作者
灯笼菜刀王 发表于 2019-1-13 17:47
原理:只要在确定行动的时候替换下就好了, 默认战斗的话, 用它替换掉scene_battle 4 的 def make_ ...

wooooo又试了好几次最后成功了不过为什么有时候管用有时候不管用啊...不过这个问题不重要了。十分感谢
我是一具行尸走肉
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
9 小时
注册时间
2018-12-31
帖子
9
4
 楼主| 发表于 2019-1-17 14:17:07 | 只看该作者
本帖最后由 粗布蚕宝宝 于 2019-1-17 14:18 编辑
灯笼菜刀王 发表于 2019-1-13 17:47
原理:只要在确定行动的时候替换下就好了, 默认战斗的话, 用它替换掉scene_battle 4 的 def make_ ...


我又复制了一次,还是不行,依然是普攻。
顺便说一下其实你说的这个可能性我也想到过,所以我曾尝试让他先学会合力技,但结果依然是普攻果然这个问题可能太难了吧

点评

经过我的测试, 新开个工程, 直接把脚本复制进去是有效果的  发表于 2019-1-17 15:51
我是一具行尸走肉
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
9 小时
注册时间
2018-12-31
帖子
9
3
 楼主| 发表于 2019-1-16 00:00:49 | 只看该作者
灯笼菜刀王 发表于 2019-1-13 17:47
原理:只要在确定行动的时候替换下就好了, 默认战斗的话, 用它替换掉scene_battle 4 的 def make_ ...

我试过了,结果是第一个人使用了普攻,第二个人没有行动。是不是脚本哪里出了问题

点评

= = 因为默认脚本里, 你没学会的技能不让那个你用, 要先去掉这个判定, 你重新复制下,现在可以了  发表于 2019-1-16 20:55
我是一具行尸走肉
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
9 小时
注册时间
2018-12-31
帖子
9
2
 楼主| 发表于 2019-1-14 21:44:05 | 只看该作者
灯笼菜刀王 发表于 2019-1-13 17:47
原理:只要在确定行动的时候替换下就好了, 默认战斗的话, 用它替换掉scene_battle 4 的 def make_ ...

请问10086、10087和10088都指的是技能名字吗?
再就是这个脚本该放到哪个地方?我不是很了解剧本

点评

脚本里一共有5个地方, 技能编号改成你对应的3个技能的编号就可以  发表于 2019-1-15 09:53
是技能编号哦, 也就是你数据库里技能的编号, 你把它们替换成你要的技能的编号就可以了, 位置嘛, 上面那些复制下来塞到main 前面就好  发表于 2019-1-15 09:49
我是一具行尸走肉
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39009
在线时间
5716 小时
注册时间
2006-11-10
帖子
6618
1
发表于 2019-1-13 14:37:35 | 只看该作者
本帖最后由 灯笼菜刀王 于 2019-1-16 21:00 编辑

原理:只要在确定行动的时候替换下就好了, 默认战斗的话, 用它替换掉scene_battle 4 的 def make_action_orders 这段

这样, 只要有同时使用 10086号技能 和 10087号技能的时候, 第一个人就会什么都不做, 第二个人使用 10088号技能

RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   def skill_can_use?(skill_id)
  3.     return super
  4.   end
  5. end
  6.  
  7. class Scene_Battle
  8.   def make_action_orders
  9.     # 初始化序列 @action_battlers
  10.     @action_battlers = []
  11.     # 添加敌人到 @action_battlers 序列
  12.     for enemy in $game_troop.enemies
  13.       @action_battlers.push(enemy)
  14.     end
  15.     # 添加角色到 @action_battlers 序列
  16.     a = 0
  17.     for actor in $game_party.actors
  18.       if actor.current_action.kind == 1 and [10086,10087].include?(actor.current_action.skill_id)
  19.           a += 1
  20.           actor.current_action.skill_id = 10088 if a == 2
  21.       end
  22.       @action_battlers.push(actor)
  23.     end
  24.     if a == 2
  25.       for actor in @action_battlers
  26.         if actor.current_action.kind == 1 and [10086,10087].include?(actor.current_action.skill_id)
  27.             actor.current_action.kind = 0
  28.             actor.current_action.basic = 3
  29.             a = 0
  30.             break
  31.        end
  32.      end
  33.     end
  34.     # 确定全体的行动速度
  35.     for battler in @action_battlers
  36.       battler.make_action_speed
  37.     end
  38.     # 按照行动速度从大到小排列
  39.     @action_battlers.sort! {|a,b|
  40.       b.current_action.speed - a.current_action.speed }
  41.   end
  42. end


评分

参与人数 1星屑 +100 收起 理由
RyanBern + 100 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 03:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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