Project1

标题: 请问怎么修改脚本才能知道击中动画中的@skill [打印本页]

作者: lhbadsl    时间: 2008-7-24 04:47
标题: 请问怎么修改脚本才能知道击中动画中的@skill
如题,rm的起招动画中,如果写上[email protected]_action.skill_id,那么skill_id_now就是现在攻击方所用技能。但是有什么办法(一定是改脚本)当目标击中动画播放时[email protected]_action.skill_id这句起到同样作用。。。很急,高手来啊{/dk} [LINE]1,#dddddd[/LINE]此贴于 2008-7-24 0:06:38 被版主凌冰提醒,请楼主看到后对本贴做出回应。
作者: 灯笼菜刀王    时间: 2008-7-24 04:52
理解不能....

如果是要知道动画的句子:@animation1_id = 攻击方动画
                        @animation2_id = 受伤方动画
作者: lhbadsl    时间: 2008-7-24 04:58
晕,@battler就是动画的对象,可以是技能使用者或是承受者,请p一下,就知道我在讲什么了。。
作者: lhbadsl    时间: 2008-7-24 05:01
我还是自己来吧,看来这个问题是挺难的,如果本人对xp了解一点或者就不是这个结果了。。。。残念
作者: dbshy    时间: 2008-7-24 05:07
刚才看了几遍,实在是理解不能
请LZ将清楚
作者: lhbadsl    时间: 2008-7-24 05:21
就是让脚本从击中动画中知道中了什么技能,不过因为current_action要起作用(就是有动作),它其中的skill_id才有意义所以默认的击中动画中是没有技能判断的。。。
作者: lhbadsl    时间: 2008-7-24 05:22
因为被击中不是一个动作。。。
作者: lhbadsl    时间: 2008-7-24 05:33
我在想或者在Game_BattleAction类中重新定义一种被击中的“动作”,然后在代码中让他判断所中技能。。。那么因为@current_action = Game_BattleAction.new这一句,就可以知道它的skill_id了,呵呵。此贴不是高手请想一下在做答案,因为我试过的却有点难度。
作者: 灯笼菜刀王    时间: 2008-7-24 05:35
楼主最好直接说自己想要什么效果吧...我承认我理解有问题,还是理解不能

PS,不要连帖,有补充的可以用编辑功能。
作者: dbshy    时间: 2008-7-24 05:37
其实我根本没看动LZ在说什么 = =

你到底想实现什么效果
作者: lhbadsl    时间: 2008-7-24 05:38
呵呵,就是要实现这种“动作”。。
作者: dbshy    时间: 2008-7-24 05:42
以下引用lhbadsl于2008-7-23 21:38:05的发言:

呵呵,就是要实现这种“动作”。。


我实在是不动LZ所说
LZ还是把你的问题将清楚,句个例子

你说的不清楚,没人会帮你
你所说的SKILL直接用个变量保存就行

你连帖了


作者: lhbadsl    时间: 2008-7-24 05:49
rmxp中是用  
    @speed = 0
    @kind = 0
    @basic = 3
    @skill_id = 0
    @item_id = 0
    @target_index = -1
    @forcing = false
等变量定义动作的,当他们是一个不同的组合,就是一个动作,每个动作中,有不同的含义,然后实现一宗不同的功能,我要的就是中了击中动画这种不是动作的动作,然后让脚本理解这个动作的含义,这就是我要的效果,这个可以用在很多效果中,不会有bug,通用性好,我要实现的那个效果已经做好,但是我想要更好的方法,那个通用性不强。。。。不够纯粹。。。
作者: 灯笼菜刀王    时间: 2008-7-24 05:54
@变量你还想怎么通用法- -....

算了,越来越脑糊,无知遁..........
作者: dbshy    时间: 2008-7-24 05:56
定义HIT属性

我要实现的那个效果已经做好,但是我想要更好的方法,那个通用性不强。。。。不够纯粹。。。


你最好说出来,可能你走了弯路

作者: lhbadsl    时间: 2008-7-24 05:58
不是,当这个被击中时@skill是等于0的。虽然可以用攻击者的@skill代替用法,可是,当在精灵类中调用时不稳定(因为精灵是不断刷新的,没有一个稳定的值是调用不了的,在场景中是一种很好的办法),有很多效果实现起来很困难。。。HIT属性是什么?个人认为不会有比这更直的路了。。。因为这样只是改变了变量的规则,没有影响到其他代码的运行,所以是。。。最纯粹的办法,还有如果你可以定义“动作”那么调用“动作”的其他效果就会是最最容易的东西了。
作者: dbshy    时间: 2008-7-24 06:03
I HAVE TO NOTHING TO SAY

TO BE HONEST,I DON'T UNDERSTAND YOU MEANING

请LZ找一个能理解你说的是什么的语文高手把
作者: lhbadsl    时间: 2008-7-24 06:08
不是,只是ls你不太了解rm的结构而已。。。我晕。。。。rm就是一个代码来的所以“动作”,场景,窗口等等都是代码没有不同。。。。一样的。。。只有脚本高手才能理解,不是语文高手。。。就是要你告诉我rm的“动作类”是怎么重定义的。。
作者: dbshy    时间: 2008-7-24 06:13
以下引用lhbadsl于2008-7-23 22:08:45的发言:

不是,只是ls你不太了解rm的结构而已。。。我晕。。。。rm就是一个代码来的所以“动作”,场景,窗口等等都是代码没有不同。。。。一样的。。。只有脚本高手才能理解,不是语文高手。。。


好吧,我承认我脚本废柴,希望你能找到你的脚本高手


作者: lhbadsl    时间: 2008-7-24 06:15
晕,我不是上来晒命的。。。。
作者: J个音符    时间: 2008-7-24 06:40
楼主的意思:我左手从左侧击中你的脸,程序能判断出来这个---是左勾拳

对吗{/gg}
作者: lhbadsl    时间: 2008-7-24 07:03
终于有高手了。。。。是的,太对了{/dk},要怎么做
楼主的意思:我左手从左侧击中你的脸,程序能判断出来这个---是左勾拳

对吗

作者: 凌冰    时间: 2008-7-24 07:56
以下引用lhbadsl于2008-7-23 22:08:45的发言:

不是,只是ls你不太了解rm的结构而已。。。我晕。。。。rm就是一个代码来的所以“动作”,场景,窗口等等都是代码没有不同。。。。一样的。。。只有脚本高手才能理解,不是语文高手。。。就是要你告诉我rm的“动作类”是怎么重定义的。。


[本贴由作者于 2008-7-23 22:11:52 最后编辑]

好吧~~既然楼主这样说,我也只能承认自己是脚本废柴了

楼主是不是想在技能命中时得知技能的ID

其实楼主说的通俗一点多好,多少有些卖弄的嫌疑

搜索def skill_effect(user, skill)

在最后的return effective加入
if self.damage != "Miss"
$game_variables[xxx] = skill.id
else
$game_variables[xxx] = 0
end
这样就可以把命中的技能ID存储到游戏变量里了
xxx为变量ID
作者: lhbadsl    时间: 2008-7-24 07:57
搞定了。。。看来还是只有自力更生啊。。。。
作者: lhbadsl    时间: 2008-7-24 08:02
好吧~~既然楼主这样说,我也只能承认自己是脚本废柴了

楼主是不是想在技能命中时得知技能的ID

其实楼主说的通俗一点多好,多少有些卖弄的嫌疑

不是卖弄,这个很难说的清楚,因为我在做一个系统要在精灵里做场景的动作,没有稳定的值没有办法,这个方法是搞不了的,不过我做了个另外的方法,就是在调用精灵的地方,直接赋值。。哎。。还是没有纯粹啊
    for target in @target_battlers
      #彩虹神剑入口
      target.current_action.skill_id = @skill.id
      target.skill_effect(@active_battler, @skill)
    end
  end
作者: 凌冰    时间: 2008-7-24 08:05
看楼上的楼上的楼上

另外,请不要连贴
还有就是,我又听不懂你说话了= =
作者: lhbadsl    时间: 2008-7-24 08:09
target.skill_effect(@active_battler, @skill)这句就是你的skill_effect(user, skill)它只是调用特效,但是特效的目标就是target没有改变。。。所以我把使用者的@skill_id直接赋了进去。。。就是target.current_action.skill_id = @skill.id这一句,其中@skill.id是使用者的特技id

作者: 凌冰    时间: 2008-7-24 08:11
但是判断命不命中确是这个函数
作者: lhbadsl    时间: 2008-7-24 08:13
不是,是调用特技。。。
作者: 凌冰    时间: 2008-7-24 08:29
调用特技的时候判断是否命中- -
作者: lhbadsl    时间: 2008-7-24 08:31
哈哈,就是把。。。不过这个系统已经完成了,呵呵,多谢。。
作者: lhbadsl    时间: 2008-7-24 08:38
有问题。。。。凌冰大人。。
作者: 凌冰    时间: 2008-7-24 08:39
什么问题
作者: lhbadsl    时间: 2008-7-24 08:42
你不是提醒我吗????????????




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1