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

Project1

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

[已经解决] 關於刀下留人

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
帖子
149
跳转到指定楼层
1
 楼主| 发表于 2013-3-4 17:42:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何做出技能---刀下留人
解釋:比方說技能"刀下留人"----平時攻擊力=一般攻擊力*100%  就是說,攻擊力300使用下去打怪也是300(這個我會設定了,不用在教我^^)
然後打怪打一陣子之後,怪HP被打到剩下60點,使用"刀下留人",
正              常:狀況怪HP=>  60-300=-240  會直接判定怪陣亡(我目前的情況)
我需要的狀況:怪HP=>  60-300=-240  會再把怪的HP補回10%(比方說怪HP有400,怪被這招打到後雖然攻擊力超過所剩HP240點,但會自動幫怪補回HP40,始怪不死)

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
来自 2楼
发表于 2013-3-5 01:14:57 | 只看该作者
不能说是回血20点,应该是给怪物残留20点血,其实基本上是一样的
  1. if obj.is_a?(RPG::Skill) and obj.id == x ##x是刀下留人的ID
  2. if self.hp <= damage
  3.   damage = self.hp - 20 #当伤害值大于怪物剩余生命时,伤害值就比怪物的剩余血量少20
  4. end
  5. end
复制代码

点评

超級感謝,我的問題解決了!!多謝前輩教導!!  发表于 2013-3-5 01:21

评分

参与人数 1星屑 +100 梦石 +1 收起 理由
怪蜀黍 + 100 + 1 回答得无比精辟,好!!!

查看全部评分

这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
帖子
456
3
发表于 2013-3-4 18:40:49 | 只看该作者
直接把技能做成公共事件。
如此可将该技能作用的敌人HP回传至变量1中:
RUBY 代码复制
  1. a = $game_party.last_target_index
  2. $game_variables[0] = $game_troop.members[a].hp

这样就可以方便的判定了。
这样可以获取该技能该敌人的MAXHP至变量1中:
RUBY 代码复制
  1. a = $game_party.last_target_index
  2. $game_variables[0] = $game_troop.members[a].maxhp


然后条件分歧就好了。

评分

参与人数 1星屑 +80 收起 理由
怪蜀黍 + 80 感谢热心回答!

查看全部评分

卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

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

贵宾

4
发表于 2013-3-4 22:55:45 | 只看该作者
P叔不是很清楚,假定是如下数据:
怪剩余HP:240
我方攻击力:300
此时怪物刀下留人,你希望攻击后,怪物的HP是1还是60?
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
帖子
149
5
 楼主| 发表于 2013-3-4 22:58:19 | 只看该作者
protosssonny 发表于 2013-3-4 22:55
P叔不是很清楚,假定是如下数据:
怪剩余HP:240
我方攻击力:300

回P叔的話!!

都行,只要怪不死就好Q_Q

最好是兩種都教一下拉^^

点评

明天才有空了,P叔要睡觉了喵!  发表于 2013-3-4 23:01
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
483
在线时间
750 小时
注册时间
2012-11-10
帖子
924
6
发表于 2013-3-4 22:59:35 | 只看该作者
protosssonny 发表于 2013-3-4 22:55
P叔不是很清楚,假定是如下数据:
怪剩余HP:240
我方攻击力:300

LZ的意思是攻击后怪物的生命值会变成最大生命的10%...
说实话我觉得不是很科学,万一,一个怪一万的血量,在它剩200时用这个技能...怪回血了?

点评

居然差了一分钟OTZ  发表于 2013-3-4 23:11
LZ已经回应了。  发表于 2013-3-4 23:01
有本事就来阻止我啊,主体单元『天照』!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
7
发表于 2013-3-5 00:33:17 | 只看该作者
P叔去睡觉了,那我就试试看能不能帮你实现吧,
在Game_Battler中的技能伤害定义处
  1. if obj.is_a?(RPG::Skill) and obj.id == x ##x是刀下留人的ID
  2. if self.hp <= damage
  3.   damage = self.hp - 1 #这样怪物中招后就只剩下1点血了
  4.   self.hp += self.maxhp/10 - 1 #然后怪物会恢复总血量的10%
  5. end
  6. end
复制代码
不过想LS说的,一个怪1W血,省下100.被你这招砍下去,反而有了1000血了,这到底是杀怪啊,还是救怪啊?
莫非LZ有耐人寻味的用意?
这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
帖子
149
8
 楼主| 发表于 2013-3-5 00:41:45 | 只看该作者
a364774426 发表于 2013-3-5 00:33
P叔去睡觉了,那我就试试看能不能帮你实现吧,
在Game_Battler中的技能伤害定义处不过想LS说的,一个怪1W血 ...

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # * 對於使用物品或使用技能所造成的傷害的計算
  3.   #     user : 技能的使用者或物品的使用者
  4.   #     obj  : 技能或物品(若是普通攻擊則為空)
  5.   #    最終所得的值將代入變數 @hp_damage 和 @mp_damage.
  6.   #--------------------------------------------------------------------------
  7.   def make_obj_damage_value(user, obj)
  8.     damage = obj.base_damage                        # 獲取基本傷害值
  9.     if damage > 0                                   # 一個正數?
  10.       damage += user.atk * 4 * obj.atk_f / 100      # 與使用者的攻擊力關係度
  11.       damage += user.spi * 2 * obj.spi_f / 100      # 與使用者的意志力關係度
  12.       unless obj.ignore_defense                     # 在無視防禦以外的情況下
  13.         damage -= self.def * 2 * obj.atk_f / 100    # 與目標的攻擊力關係度
  14.         damage -= self.spi * 1 * obj.spi_f / 100    # 與目標的意志力關係度
  15.       end
  16.       damage = 0 if damage < 0                      # 如果值為負數,則值歸零
  17.     elsif damage < 0                                # 一個負數?
  18.       damage -= user.atk * 4 * obj.atk_f / 100      # 與使用者的攻擊力關係度
  19.       damage -= user.spi * 2 * obj.spi_f / 100      # 與使用者的意志力關係度
  20.     end
  21.     damage *= elements_max_rate(obj.element_set)    # 屬性調整
  22.     damage /= 100
  23.     damage = apply_variance(damage, obj.variance)   # 分散度
  24.     damage = apply_guard(damage)                    # 防禦調整
  25.     if obj.damage_to_mp  
  26.       @mp_damage = damage                           # MP傷害
  27.     else
  28.       @hp_damage = damage                           # HP傷害
  29.     end
  30.   end



請問代碼要改哪一段啊@@
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
9
发表于 2013-3-5 00:46:18 | 只看该作者
  1. if damage > 0                                   # 一個正數?
  2.       damage += user.atk * 4 * obj.atk_f / 100      # 與使用者的攻擊力關係度
  3.       damage += user.spi * 2 * obj.spi_f / 100      # 與使用者的意志力關係度
  4.       unless obj.ignore_defense                     # 在無視防禦以外的情況下
  5.         damage -= self.def * 2 * obj.atk_f / 100    # 與目標的攻擊力關係度
  6.         damage -= self.spi * 1 * obj.spi_f / 100    # 與目標的意志力關係度
  7.       end
  8.       damage = 0 if damage < 0                      # 如果值為負數,則值歸零
  9.     elsif damage < 0                                # 一個負數?
  10.       damage -= user.atk * 4 * obj.atk_f / 100      # 與使用者的攻擊力關係度
  11.       damage -= user.spi * 2 * obj.spi_f / 100      # 與使用者的意志力關係度
  12.     end
复制代码
这下面就行
这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
帖子
456
10
发表于 2013-3-5 00:59:47 | 只看该作者
sakazaki 发表于 2013-3-5 00:41
#--------------------------------------------------------------------------
  # * 對於使用物品或 ...

果然还是脚本好用,另,我的答案被完全无视了么……泪奔……。。。

点评

錢被,別這麼說啦Q_Q,其實是因為我等級太低看不懂您寫的那個該如何使用啦(跟著淚奔......)  发表于 2013-3-5 01:07
卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2013-1-24
帖子
149
11
 楼主| 发表于 2013-3-5 01:05:38 | 只看该作者
a364774426 发表于 2013-3-5 00:46
这下面就行

請問!!
第一次使怪變身且HP剩下1/10之後
第二次使用[刀下留人]攻擊力瞬間降到剩下20-30點,這跟回復1/10怪HP有關嗎??

若是不回復1/10HP   改成回血20點,請問該怎麼改

self.hp += self.maxhp/10 - 1 #然后怪物会恢复总血量的10%

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 01:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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