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

Project1

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

[已经过期] 自动加血 变量怎么写 才最好

[复制链接]

Lv2.观梦者

梦石
0
星屑
575
在线时间
1752 小时
注册时间
2008-11-7
帖子
1431
跳转到指定楼层
1
发表于 2012-12-18 14:33:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就如标题说的  战斗结束后 自动加血  跟网游一样  当然有个药库 回血后 药库会减少
RPG魔塔:http://rpg.blue/thread-254429-1-1.html
魔塔2:http://rpg.blue/thread-303601-1-1.html
魔塔3: 制作中...MV

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
2
发表于 2012-12-18 15:41:29 | 只看该作者
那就是非战斗时保持满血了,并行公共事件判断角色 hp < mhp 时,使用补血物品,
直到 hp == mhp 或补血物品用光为止。

Game_battler 默认脚本的 def on_battle_end 战斗结束处理部份,也可以加上消耗补血物品的语法补血。

点评

看不懂  发表于 2012-12-18 17:00
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
3
发表于 2012-12-19 07:14:10 | 只看该作者
本帖最后由 j433463 于 2012-12-19 07:15 编辑

如果是战斗后自动血魔全满,那很简单,
在 Game_battler 战斗结束处理的 def on_battle_end 中,
加个 actor.recover_all 完全还原就行了,
或是 actor.hp = actor.mhp actor.mp = actor.mmp

但要说像网游那样,网游有战斗后自动满血魔的吗?
那好像是内挂或外挂才有的自动喝药水补血功能,
一般来说,我只见过单机游戏战斗后走路回血魔,
还是你指的是网游那样站着不动或坐下来会慢慢回血回魔?



点评

非战斗 血低于某个数值 就自动加满  发表于 2012-12-19 08:03
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
4
发表于 2012-12-19 08:36:50 | 只看该作者
喔,那就是在 Game_battler 战斗结束处理的 def on_battle_end 中,
加个判断:
  1. actor.hp = actor.mhp if actor.hp < actor.hp / 4
复制代码
试试看,HP 小于四分之一时会不会补满?
如果会,再复制一行贴在下面,
把 .hp 改成 .mp,.mhp 改成 .mmp,
就是回魔了。

点评

你这样写是无限加的 要一个 大药罐的 比如说 可以加10万血  发表于 2012-12-19 08:55
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
5
发表于 2012-12-19 09:36:44 | 只看该作者
本帖最后由 j433463 于 2012-12-19 09:55 编辑

那就另一个方式,写一个公共事件,譬如 id 为 008 公共事件,
这个公共事件就是判断角色喝药水回复的,
然后在默认脚本 Scene_battle 中找到:
  1.   #--------------------------------------------------------------------------
  2.   # ● 结束前处理
  3.   #--------------------------------------------------------------------------
  4.   def pre_terminate
  5.     super
  6.     Graphics.fadeout(30) if SceneManager.scene_is?(Scene_Map)
  7.     Graphics.fadeout(60) if SceneManager.scene_is?(Scene_Title)
  8.   end
复制代码
的 super 下加一行
  1.     $game_temp.reserve_common_event(8)
复制代码
也就是说,只是改脚本在战斗结束时执行一次八号公共事件,
只有一行,纯粹是呼叫执行公共事件。

因为你要的是喝药水回复,还必须分歧条件判断角色身上有没有带药水,有药水才能喝,
这个在事件中你比较容易编写,而且可以写得比较细,还自己看得懂,
用变数代入每个角色的 HP,分歧条件当 HP 小于某数时使用药水,
MP 也一样。

如果是设置一个大药罐,每次战斗后自动用它来回复,每次回复药罐的水量会随之减少,
这也可以在公共事件中自己做,药罐的量就是一个变量,回复多少生命,减多少药量,
我不知道还有什么问题。

点评

什么意思?那么可以加十万血的大药罐是指什么?  发表于 2012-12-19 09:47
如果说用药瓶吃 还不如 自己直接吃药瓶  发表于 2012-12-19 09:42
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-4 10:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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