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

Project1

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

[已经解决] 请教下如何能实现不同角色或职业使用不同的普通攻击

[复制链接]

Lv1.梦旅人

梦石
0
星屑
160
在线时间
96 小时
注册时间
2012-2-27
帖子
7
跳转到指定楼层
1
发表于 2012-3-22 21:55:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 szqcbh 于 2012-3-22 22:01 编辑

        事情是这样的,因为自己的工程使用了后知后觉前辈的横版战斗脚本,然后发现只能设置不同武器的普通攻击动画和不同技能的动画,但是我想为不同角色的普通攻击设置不同的攻击动画,自己想到的两个解决方案一个是往横版战斗脚本里插入相应的内容,但是发现在技能栏普通攻击里面加备注设置的动画没有真位移,另一种方案是通过将不同角色或职业的普通攻击设置为不同的技能来实现。
        因为本人刚刚接触RM,脚本什么的勉强能在基础上进行一些小的改动,自己写实在是写不来,试过用各种关键字搜索也没发现相关的帖子,所以恳请各位前辈帮忙解决,自己的经验只有这些每天登陆得来的。感谢大家的帮助。

Lv1.梦旅人

梦石
0
星屑
49
在线时间
58 小时
注册时间
2012-1-1
帖子
38
2
发表于 2012-3-22 22:12:32 | 只看该作者
本帖最后由 caihuax 于 2012-3-22 22:35 编辑

如果是按职业ID来设置攻击动画的话应该可以这样
找到后知后觉大大的脚本的241行开始
  1. class RPG::Enemy < RPG::BaseItem
  2.   def animation1_id
  3.     return @animation1_id unless @animation1_id.nil?
  4.     if @actor.class_id == X #X为角色的职业ID
  5.       return (@animation1_id = Y) #Y为你想要的动画ID
  6.     elsif @actor.class_id == X #X为角色的职业ID,第二个分支及以后用elsif
  7.       return (@animation1_id = Y) #Y为你想要的动画ID
  8.     else
  9.       if /@a1id\[(\d+?)\]/ =~ @note
  10.         return (@animation1_id = $1.to_i)
  11.       else
  12.         return (@animation1_id = 0)
  13.       end
  14.     end
  15.   end
复制代码
后面的animation2_id和animation3_id同理
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
160
在线时间
96 小时
注册时间
2012-2-27
帖子
7
3
 楼主| 发表于 2012-3-22 22:56:42 | 只看该作者
本帖最后由 szqcbh 于 2012-3-23 07:14 编辑
caihuax 发表于 2012-3-22 22:12 如果是按职业ID来设置攻击动画的话应该可以这样 找到后知后觉大大的脚本的241行开始后面的animation2_id和a ...

十分感谢你的帮助~ 我尝试了一下会报错

后来试了试把@actor.class_id改为@class_id就可以了,不过还是木有真位移……不知道有没有什么方法能给普通攻击加上真位移呢……
话说照这个思路来看把存储职业id的变量换成角色id的变量就能使不同的角色使用不同的动画了吧~
断网了,手机编辑,各种没信号ORZ……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
59
在线时间
831 小时
注册时间
2010-8-23
帖子
487
4
发表于 2012-3-23 10:01:35 | 只看该作者
|YC11|同求。。一样的问题哈哈
正统RPG进度更新~
剧情:■■■■■■■■■
系统:■■■■■■■■□□
设定:■■■■■■■■□□
左右时尚鞋坊 美丽从脚开始
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
160
在线时间
96 小时
注册时间
2012-2-27
帖子
7
5
 楼主| 发表于 2012-3-23 14:18:39 | 只看该作者
本帖最后由 szqcbh 于 2012-3-23 14:18 编辑

问题基本解决了。。。
在脚本第273行开始,改为
  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 取得普通攻击的行动方动画 ID (新增定义)
  4.   #--------------------------------------------------------------------------
  5.   def animation1_id
  6.     if @name == "X" #X为角色的名字     
  7.       return (@animation1_id = Y) #Y为你想要的动画ID
  8.     elsif @name == "X" #X为角色的名字,第二个分支及以后用elsif
  9.       return (@animation1_id = Y) #Y为你想要的动画ID
  10.     end
  11.   end
  12. end
复制代码
原本的代码貌似是获取武器备注里的内容然后决定使用的动画。
这样改就能为不同的角色设置不同的普通攻击动画。
不过设置武器备注改动画就应该没用了。
自己尝试了下是可以的,暂时没发现什么问题。。。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
58 小时
注册时间
2012-1-1
帖子
38
6
发表于 2012-3-23 20:13:00 | 只看该作者
szqcbh 发表于 2012-3-22 22:56
十分感谢你的帮助~ 我尝试了一下会报错

后来试了试把@actor.class_id改为@class_id就可以了,不过还是 ...

多谢指正!|YC41|
不过横板的制作工程巨大啊,战斗动画要慢慢弄
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 07:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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