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

Project1

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

[已经解决] 如何制作消耗HP的技能?

[复制链接]

Lv2.观梦者

梦石
0
星屑
483
在线时间
750 小时
注册时间
2012-11-10
帖子
924
跳转到指定楼层
1
发表于 2013-6-22 18:11:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 结城照美 于 2013-7-7 14:18 编辑

RT,角色使用该技能时消耗一定值的HP,如果HP小于需要的量则不能使用该技能。

点评

已经解决的问题,请不要擅自改成已经解决,请到置顶的认可答案帖申请认可答案,或者在本提问帖将认可的楼层置顶。免得版主忘加分  发表于 2013-6-22 22:49
的确是写错了,已修改。  发表于 2013-6-22 22:03

评分

参与人数 1星屑 +20 收起 理由
怪蜀黍 + 20 手动置顶认可答案都奖励

查看全部评分

有本事就来阻止我啊,主体单元『天照』!

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4679
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

来自 4楼
发表于 2013-6-22 21:46:57 | 只看该作者
本帖最后由 protosssonny 于 2013-6-22 22:03 编辑

1、Game_Battler类下找到:
  1.   #--------------------------------------------------------------------------
  2.   # ● 可以使用技能的判定
  3.   #     skill : 技能
  4.   #--------------------------------------------------------------------------
  5.   def skill_can_use?(skill)
  6.     return false unless skill.is_a?(RPG::Skill)
  7.     return false unless movable?
  8.     return false if silent? and skill.spi_f > 0
  9.     return false if calc_mp_cost(skill) > mp
  10.     return false if skill.id == xx and @hp < yy # 请自己设定技能ID为xx且当HP小于yy不能使用
  11.     if $game_temp.in_battle
  12.       return skill.battle_ok?
  13.     else
  14.       return skill.menu_ok?
  15.     end
  16.   end
复制代码
2、Scene_Battle类下找到:
  1.   #--------------------------------------------------------------------------
  2.   # ● 执行战斗行动:使用技能
  3.   #--------------------------------------------------------------------------
  4.   def execute_action_skill
  5.     skill = @active_battler.action.skill
  6.     text = @active_battler.name + skill.message1
  7.     @message_window.add_instant_text(text)
  8.     unless skill.message2.empty?
  9.       wait(10)
  10.       @message_window.add_instant_text(skill.message2)
  11.     end
  12.     targets = @active_battler.action.make_targets
  13.     display_animation(targets, skill.animation_id)
  14.     @active_battler.mp -= @active_battler.calc_mp_cost(skill)
  15.     @active_battler.hp -= yy if skill.id == xx # 刚才xx、yy是多少这里就写多少
  16.     $game_temp.common_event_id = skill.common_event_id
  17.     for target in targets
  18.       target.skill_effect(@active_battler, skill)
  19.       display_action_effects(target, skill)
  20.     end
  21.   end
复制代码
3、Scene_Skill类下找到:
  1.   #--------------------------------------------------------------------------
  2.   # ● 非同伴目标使用物品
  3.   #--------------------------------------------------------------------------
  4.   def use_skill_nontarget
  5.     Sound.play_use_skill
  6.     @actor.mp -= @actor.calc_mp_cost(@skill)
  7.     @actor.hp -= yy if @skill.id == xx # 刚才xx、yy是多少这里就写多少
  8.     @status_window.refresh
  9.     @skill_window.refresh
  10.     @target_window.refresh
  11.     if $game_party.all_dead?
  12.       $scene = Scene_Gameover.new
  13.     elsif @skill.common_event_id > 0
  14.       $game_temp.common_event_id = @skill.common_event_id
  15.       $scene = Scene_Map.new
  16.     end
  17.   end
复制代码

点评

OTZ不好意思没看到  发表于 2013-6-22 22:54
我似乎做得麻烦了……原来可以直接调用@hp OTZ  发表于 2013-6-22 22:29
哎呀……来晚了!  发表于 2013-6-22 22:28
解决,非常感谢~  发表于 2013-6-22 22:07
OTZ谢谢P叔,但是第2第3是不是写错了?应该是扣除HP而不是MP吧?  发表于 2013-6-22 22:01

评分

参与人数 1星屑 +160 收起 理由
Password + 160 精品文章

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
55 小时
注册时间
2011-7-15
帖子
48
2
发表于 2013-6-22 18:12:22 | 只看该作者
特技里加上公共事件,公共事件设置HP减少。

点评

哥,你在特技里加公共事件,就说明你【使用该特技】后再触发公共事件啊!  发表于 2013-6-22 21:42
用条件分歧应该能行吧。。  发表于 2013-6-22 20:29
重点是后面的“HP小于需求值则不能选择使用该技能”啊...  发表于 2013-6-22 18:13
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
153 小时
注册时间
2010-12-18
帖子
167
3
发表于 2013-6-22 18:42:11 | 只看该作者
用变量开关
回复 支持 反对

使用道具 举报

Lv4.逐梦者

送快递的水表员

梦石
10
星屑
4847
在线时间
3303 小时
注册时间
2012-6-27
帖子
7160

开拓者贵宾

5
发表于 2013-6-22 22:27:28 | 只看该作者
本帖最后由 Password 于 2013-6-22 22:31 编辑

范例: Project1.rar (238.16 KB, 下载次数: 90)

做好了,纯脚本改动,所有修改过的脚本的脚本名前都用“★”标出,详细的修改点可以用全局搜索“修改点”找到~
目测效果会很完美。

当前的功能:
1,实现此技能使用后减掉使用者的一些HP,而并不用公共事件,也就是说可以让所有角色甚至敌人也学会此技能。
2,此技能可同时消耗MP(消耗MP是消耗HP的倍数,实际上这俩共用了一个值)
3,此技能在HP或MP不足时无法使用并且技能名变灰。

但是这次的改动比较大,修改的东西也比较碎,见谅

哎呀……难得P叔抢饭菜 QwQ@protosssonny  

点评

虽然你完成了主要功能,但是你的改动,对于无技能目标和无技能伤害的技能是无效的,所以我的改法比你的好些喵。  发表于 2013-6-22 22:46

评分

参与人数 2星屑 +20 梦石 +1 收起 理由
怪蜀黍 + 1 You're late
结城照美 + 20 好感动可是比P叔晚了安慰非常谢谢.

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 09:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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