查看: 2436|回复: 4

[已经解决] 关于23种战斗特效

  [复制链接]
梦石
0
星屑
50
在线时间
129 小时
注册时间
2011-9-19
回帖
9
发表于 2011-10-28 18:25:21 | 显示全部楼层 |阅读模式

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

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

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

这个的怎么设置呀,我打算把这20多种效果编成20种技能,可是怎么用一个公共事件来控制20种技能呀?(尤其是用分歧条件那段,很不理解。)
请各位高手为在下指点一下吧。
越详细越好,本人是新手,呵呵~

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
回帖
3515
发表于 2011-10-28 18:38:17 | 显示全部楼层
20个技能分别用20个特效的话一个技能一个公共事件不行?

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

梦石
0
星屑
49
在线时间
46 小时
注册时间
2011-10-7
回帖
83
发表于 2011-10-28 18:54:20 | 显示全部楼层
比如说:
  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
复制代码

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

使用道具 举报

梦石
0
星屑
50
在线时间
129 小时
注册时间
2011-9-19
回帖
9
 楼主| 发表于 2011-10-28 19:04:55 | 显示全部楼层
我不是字母君 发表于 2011-10-28 18:54
比如说:

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

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

使用道具 举报

虚空人形

梦石
0
星屑
4866
在线时间
2037 小时
注册时间
2011-8-11
回帖
3260

贵宾

发表于 2011-10-28 22:27:58 | 显示全部楼层
     条件分歧一次可控两种情况,如果在条件分歧内再加分歧(别忘了条件要真包含于前一级条件,否则无意义),一个公共事件就可控更多效果。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部