Project1

标题: 关于23种战斗特效 [打印本页]

作者: an1ji1er1    时间: 2011-10-28 18:25
标题: 关于23种战斗特效
我用了http://www.66rpg.com/htm/news19.htm这里写得23种战斗特效脚本,可是其中一段话不明太怎么弄。如下:
步骤3:这些公共事件的用法
  想要哪个效果,就复制哪个效果的脚本。
  将你要用到的效果脚本全部粘贴到同一个公共事件中
  把要实现效果的技能的公共事件设为该事件
  用条件分歧(以技能名称为条件)来实现不同的效果
  这样做有两点好处:
  1. 允许一个技能多重效果(当然,要注意一下排放的先后顺序问题),优先级如下:
     有修改攻击范围的最优先,其次是修改伤害计算法则的,最后是只含有附加效果的
  2. 节省公共事件,也就是节省内存

这个的怎么设置呀,我打算把这20多种效果编成20种技能,可是怎么用一个公共事件来控制20种技能呀?(尤其是用分歧条件那段,很不理解。)
请各位高手为在下指点一下吧。
越详细越好,本人是新手,呵呵~dsu_plus_rewardpost_czw
作者: Wind2010    时间: 2011-10-28 18:38
20个技能分别用20个特效的话一个技能一个公共事件不行?
作者: 我不是字母君    时间: 2011-10-28 18:54
比如说:
  1. 条件分歧 $scene.skill.name=="十字斩"
  2. 脚本:
  3. for t in $scene.target_battlers
  4.   t.hp = t.last_hp
  5. end
  6. @a=$scene.active_battler
  7. n=[]
  8. if @a.is_a?(Game_Enemy)
  9.   for actor in $game_party.actors
  10.     n.push(actor) if actor.exist?
  11.   end
  12. else
  13.   for enemy in $game_troop.enemies
  14.     n.push(enemy) if enemy.exist?
  15.   end
  16. end
  17. $scene.target_battlers=n
  18. s=$scene.skill
  19. for t in $scene.target_battlers
  20.   t.skill_effect(@a,s)
  21. end
  22. 条件分歧 $scene.skill.name=="佯攻"
  23. for t in $scene.target_battlers
  24.   t.hp = t.last_hp
  25. end
  26. n=[]
  27. for actor in $game_party.actors
  28.   n.push(actor) if actor.exist?
  29. end
  30. for enemy in $game_troop.enemies
  31.   n.push(enemy) if enemy.exist?
  32. end
  33. $scene.target_battlers=n
  34. a=$scene.active_battler
  35. s=$scene.skill
  36. for t in $scene.target_battlers
  37.   t.skill_effect(a,s)
  38. end
复制代码

这就代表十字斩全体化而佯攻全域化。这两个技能都可以选择同一个公共事件,避免写过多的公共事件

作者: an1ji1er1    时间: 2011-10-28 19:04
我不是字母君 发表于 2011-10-28 18:54
比如说:

这就代表十字斩全体化而佯攻全域化。这两个技能都可以选择同一个公共事件,避免写过多的公共事件 ...

请问是在数据库里的公共事件吗?
条件分歧 $scene.skill.name=="十字斩"
是不是点条件分歧然后选第4页的脚本项然后输入 $scene.skill.name=="十字斩"呀?

作者: hcm    时间: 2011-10-28 22:27
     条件分歧一次可控两种情况,如果在条件分歧内再加分歧(别忘了条件要真包含于前一级条件,否则无意义),一个公共事件就可控更多效果。




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