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

Project1

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

[已经解决] 请教关于技能判定的问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
跳转到指定楼层
1
发表于 2015-2-6 17:27:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
when1 case的是技能ID,当使用攻击(ID:1)时,调试台出现ddd,说明已经判断,但是“第二部判断”却始终没有显示,说明根本就没有进到这个判断,弄了半个小时,没有报错,单没有效果,特此求教。
def make_damage_value(user, item)
    value = item.damage.eval(user, self, $game_variables)
  #-------------------------   a     b      v
  # ● 公式
  #-------------------------               
                if item.is_a?(RPG::Skill)
                        case item.id
                        when 5
                                value = (user.atk+user.def)*2 +user.add_state(5).to_i

                       
                        when 1
                                p"ddd"
                                if user.skill_learn?($data_skills[10])
                                        p"第二部判断"
                                value = 1<30 ? user.atk+100 : user.atk
                                end
                               
                        end
               
                       
                       
                 
                end
               
         #-------------------------
  # ● end
  #-------------------------       
    value *= item_element_rate(user, item)
    value *= pdr if item.physical?
    value *= mdr if item.magical?
    value *= rec if item.damage.recover?
    value = apply_critical(value) if @result.critical
    value = apply_variance(value, item.damage.variance)
    value = apply_guard(value)
    @result.make_damage(value.to_i, item)
  end

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
7
发表于 2015-2-7 13:20:15 | 只看该作者
本帖最后由 三途亚梦 于 2015-2-7 14:25 编辑
tan12345 发表于 2015-2-7 11:37
user.skills.include?($data_skills[80]) if user.is_a?(Game_Actor)
敌人类没有这个方法,所以要加个if ...


简单举例:
value = 100 if user.skills.include?($data_skills[80])

这样就可以了呀,敌人没有技能反正会返回false的,判断行动主体是不是玩家并不是必须的吧。

================================================

那我换这个姿势好了
value = 100 if (user.skills.include?($data_skills[51]) if user.is_a?(Game_Actor))

点评

已发布,欢迎仔细看~ http://rm.66rpg.com/thread-376270-1-1.html  发表于 2015-2-7 14:34
_(:з」∠)_ 只要自己知道脚本之间有啥作用就好了,其实还得怪我没仔细看过你那个脚本。  发表于 2015-2-7 14:30
所以我每次测试都新开工程。QQ群里你也看到了,三天开了8个新工程……  发表于 2015-2-7 14:28
解决之前那个问题的时候添加你的脚本做测试,顺手把内容直接贴在“▼ 插件脚本”里面就忘记它的存在了,2333  发表于 2015-2-7 14:26
有我的那个东西都可以直接 skill?(skill_id) 了,还要那么复杂干啥= =  发表于 2015-2-7 14:26
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
6
发表于 2015-2-7 11:37:56 | 只看该作者
三途亚梦 发表于 2015-2-7 02:20
user.skills.include?(skill.id)

user.skills.include?($data_skills[80]) if user.is_a?(Game_Actor)
敌人类没有这个方法,所以要加个if

点评

谢谢  发表于 2015-2-7 21:15

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
5
发表于 2015-2-7 02:20:18 | 只看该作者
本帖最后由 三途亚梦 于 2015-2-7 13:20 编辑

user.skills.include?(skill.id)

=============================================

我错了,我还是应该写具体一点的。
if user.skills.include?($data_skills[80])

点评

请不要再把实例变量和方法混为一谈了好不好- -  发表于 2015-2-7 07:52
永远返回 false  发表于 2015-2-7 07:51
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
4
 楼主| 发表于 2015-2-6 23:54:09 | 只看该作者
chd114 发表于 2015-2-6 19:48
if user.skill_learn?($data_skills[10])#使用者是否学习了10号技能

确实如楼上所言,再请教下,判断只要列表里含有这个技能的语句该如何写?还有为何每次战斗第一次都不进行这些判断?第二次才进行。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

3
发表于 2015-2-6 19:48:14 | 只看该作者
if user.skill_learn?($data_skills[10])#使用者是否学习了10号技能


这说明使用者没有学习10号技能,所以没判断(这里的学习不代表可以使用)

点评

还有通过职业获得的技能也算  发表于 2015-2-7 07:51
必须是通过事件指令那种学习特技来学会才算  发表于 2015-2-6 23:32
这里的学习不代表可以使用,不理解这句话,我技能栏里有10号技能。  发表于 2015-2-6 23:06
不存在这个问题,我已经学习了10号技能  发表于 2015-2-6 23:06
已学  发表于 2015-2-6 23:05
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-2-6 19:20:58 | 只看该作者
说明使用者没有习得10号技能呀= =

点评

所以没有学会  发表于 2015-2-7 07:51
我从数据库直接把10号技能加在一号角色上。  发表于 2015-2-6 23:12
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 20:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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