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

Project1

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

[通用发布] 【通用】事件党拓展—地图上的纯事件即时战斗制作方法

[复制链接]

Lv3.寻梦者 (版主)

梦石
0
星屑
2310
在线时间
5538 小时
注册时间
2011-1-10
帖子
6619

青铜编剧史诗剧作家剧作品鉴家

跳转到指定楼层
1
发表于 2012-8-15 11:38:06 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 H·H·Y 于 2012-8-15 11:38 编辑

各位事件党的乡亲们,本人对这个技术“研究”了一年,算是弄出了些名堂。今天来给大家分享一下这个奇葩技术吧。(由于这个技术数据处理量大,电脑配置不好的慎重 )
※:此技术基于《惩罚者杰克》的战斗系统的基础上研制
————————————————(我是华丽的分割线)——————————————

基础
一、对事件指令的熟悉程度
1.变量操作
这种制作方法要用到大量的变量操作,主要判定玩家角色和敌人的坐标,敌人的血量和其他的比如SP剩余判定等。
2.条件分歧
这种制作方法要用到大量的条件分歧作为具体的游戏规则设定。
3.动画制作
动画制作能使得战斗更有动感,比方说枪战什么的制作角色往四个方向发射子弹的动画。
※:数据库里面的功能除了动画制作和角色的名字、HP及SP以外其他基本没啥用……

二、对坐标的了解
初中生都在数学课本里学过平面直角坐标系了,但是RM里的坐标似乎有些不同……
知道RM中的坐标原点在哪么?RM中的原点是在地图最左上角,但XY轴不变。从那里开始,越往下的点Y坐标越大,越往右的点X坐标越大。那么搞清楚这个设定,判定坐标就好弄了。

※:以下范例以XP为例
制作
一、坐标的判定
    一定要进行坐标判定,否则系统会找不到攻击的目标。
首先要把敌人的NPC创建好。
然后设置一个并行处理的事件,用变量操作中的不同变量代入(同Ace的赋值)角色和全体敌人的XY坐标。




二、攻击与伤害的判定
1.敌人的近身攻击
近身攻击好办。设置近身攻击敌人的触发条件为“与事件接触”,然后设置出发后的伤害效果(扣血什么的)
※:此处注意一点!最好设置主角后退一步或者等待×帧的指令,以免敌人接触主角后事件高速循环执行导致主角被秒杀!


2.敌人的远程攻击
嗯,这是个难点。
设置远程攻击敌人的触发条件为“并行处理”
————————————————————————(华丽的分割线)
请认真读以下文字:
设置条件分歧:当这个敌人的X坐标=角色的X坐标时
意思是说,当这个敌人与主角在一条纵线上时发生的情况。
设置条件分歧:当这个敌人的Y坐标>角色的Y坐标时
意思是说,当这个敌人在主角下方时发生的情况。
两个条件分歧合起来就是:
当这个敌人在主角的正下方时发生的情况。(注意,是正下方)

方位设置好了,再让这个敌人面朝角色,你就可以设置远程攻击的伤害了。
当然,如果你想要敌人远程攻击时有瞄准,给时间让主角逃跑的话,你就可以在满足上方判定之后等待×帧,然后再判定一次,如果条件再次满足才做伤害处理。

好了,别以为这就完了。现在你只判定了一个方向,如果是在游戏中,它只会在你走到它正下方的时候才会攻击你。你现在要把剩下的三个方位(上、左、右)全部设定完才算完成。原理是一样的。
※:请在做伤害判定之后制作等待×帧的指令,以免事件高速循环执行主角被远程秒杀。(在敌人不会瞄准直接攻击的情况下)


3.初始化敌人的血量
这个最简单了,弄个自动执行的事件,然后用与敌人数量相等的变量分别代入(同Ace的赋值)常量0,然后弄个独立开关为ON,新建事件页,用已打开的独立开关把上一页覆盖掉。(必须覆盖,不然敌人会出现打不死的情况)





4.角色的远程攻击
这个的制作原理和敌人的远程攻击很像。只需要一个并行处理的事件处理即可。不过要注意四点。

其一:按键问题
条件分歧指令创建的时候会有很多选项,看到选项的最后一页,会看见一个“按钮×按下时”,这个是你要设定的攻击按键。如果你想顺手一点,按Z就可以发动攻击的话,那你就把按键设置成Z吧。那么,在游戏中是不是发生了怎么按Z都没有产生任何反应的情况?告诉你们,RM默认的按键是跟显示出来的按键不同的。以下是按键详解。

RM显示的按键    键盘对应按键
        上                       ↑
        下                       ↓
        左                       ←
        右                       →
        A                    Z、Shift
        B                X、Num0、Esc
        C               C、Enter、Space
        X                         A
        Y                         S
        Z                         D
        L                         Q
        R                        W

现在发现问题所在了吧?其实你们设置的Z,在游戏中要按下D才会生效。若想设置成按Z攻击,在工程中必须设置成“按钮A按下时”(除非你在游戏按F1设置了手柄)。

其二:在攻击条件生效之后,要根据武器的威力给对应的敌人扣血
所谓“扣血”其实是加血。如果你的武器威力是1,那么就给对应敌人的控制血量的变量+1.至于为什么不是扣血而是加血,之后的敌人死亡判定会做详细解释。

其三:注意主角朝向
在主角远程攻击时,要比敌人远程攻击加多一个条件分歧,那就是主角朝向。
你不可能朝着前面开枪而后面的人会中弹吧?所以,举个例子,当判定了敌人在角色的正下方时,你要判定角色的朝向是否朝下,才能决定是不是该给这个敌人伤害。

其四:记得在按键判定的最后等待×帧
这也是防止主角把敌人秒杀了的问题,携手共创和谐社会。
※:注意!是按键判定的最后!换句话说也就是设置子弹发射的频率。


5.角色的近身攻击
这可是一大重点难点,就连本人的最新作制作出来也是BUG频出的。(不知怎么搞得,我判定的近身攻击居然会在某种情况下变成远程攻击)

制作角色的近身攻击时,要在制作的第一点“坐标判定”的基础上再加上四个坐标判定,分别是“角色X坐标+1”“角色X坐标-1”“角色Y坐标+1”“角色Y坐标-1”。并且将前两个代入(赋值)角色的X坐标,后两个代入(赋值)角色的Y坐标。至于怎么用听我慢慢讲述。

新建一个“并行处理”的事件,按键攻击如同角色远程攻击,至于对攻击条件的判定请往下看。

设置条件分歧:当角色X坐标=某敌人X坐标时
意思是:角色和某个敌人在同一纵线上
设置变量操作:变量“角色Y+1”-加法-常量1;变量“角色Y-1”-减法-常量1
意思是:将这两个Y坐标分别移动到角色的上面一格和下面一格
设置条件分歧:当变量“角色Y+1”=这个敌人Y坐标时
意思是:角色的下面一格与这个敌人重合
设置条件分歧:当角色面朝向下
意思是:不解释
这一轮判定之后就是伤害处理了。

等等,还没完。在对两个角色Y坐标进行加减后,可以添加上以下指令与上面的角色向下攻击共存,不需要再另外判定向上攻击的判定了。
设置条件分歧:当变量“角色Y-1”=这个敌人Y坐标时
意思是:角色的上面一格与这个敌人重合
设置条件分歧:当角色面朝向上
意思是:不解释

现在判定之后角色可以在这个敌人的下面和上面对这个敌人进行攻击。
接着再用同样的原理使得角色可以左右攻击这个敌人。
※:同样,要防止把敌人秒杀。




三、敌人死亡与复活
1.敌人的死亡
终于可以给你们解释为什么是要给敌人加血而不是减血。
大家注意了,这与传统思想不同,传统思想是把敌人的血扣减为0的时候敌人会死,在这里,为了制作方便,换句话说就是对敌人进行攻击到一定次数敌人会死。
所以只需要设置条件分歧,当某敌人血大于或等于×(自己设定)的时候,弄一个开关为ON,再在敌人的NPC那里新建个空事件页即可。


2.敌人的复活
新建一个“并行处理”的事件页,你可以调整敌人的复活时间(就是等待×帧),然后设置事件位置,把敌人移动到复活点,再把控制敌人死亡的开关关掉。注意!这里一定要加个指令:变量操作:把这个敌人的血代入(赋值)常量0,如果不加上这个指令,那么这个敌人就会……
复活之后立刻死掉,复活之后立刻死掉,复活之后立刻死掉,无限循环中……


四、游戏的测试
到了这里教程就完了,希望大家能制作出属于自己的纯事件即时战斗游戏,祝大家制作愉快。

※:如有疑问请回复





初始血量2.png (40.93 KB, 下载次数: 48)

初始血量2.png

评分

参与人数 5星屑 +56 +1 收起 理由
Abyssstew + 1 精品文章
woshiying8 + 30 我很赞同
1105659784 + 10 塞糖
八宝粥先生 + 4 没分了..
不会脚本 + 12 精品文章

查看全部评分

Lv1.梦旅人

梦石
0
星屑
60
在线时间
5 小时
注册时间
2017-9-28
帖子
8
23
发表于 2017-9-28 20:01:35 | 只看该作者
想問大家....如囝我用事件的方式來增加敵方和友方,攻擊如何設定?都是用該"事件"作XY來做到攻擊結果?,另問的是....如何做到在指定的格數內才攻擊?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
22527
在线时间
2340 小时
注册时间
2005-10-15
帖子
1160

开拓者

22
发表于 2016-1-27 00:24:23 | 只看该作者
近身判定变远程的问题,试试在角色坐标那里外包一个条件分歧:脚本 not $game_player.moving?
因为当你向某个方向走动时,系统是先更改坐标,然后再把角色挪过去的
SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
96
在线时间
8 小时
注册时间
2016-1-20
帖子
8
21
发表于 2016-1-25 20:53:11 | 只看该作者
终于找到事件的了 我今年刚学 想加即时战斗

楼主 有没有 ACE范例工程

打不开你给的 工程

我找了3天了 脚本不会用 所有想要事件的 楼主 楼主 楼主!!!!

求ACE范例工程 十分感谢

点评

另外,这是个老教程,新教程在此:http://rm.66rpg.com/thread-375877-1-1.html。新教程的系统运行效率要比这个高。  发表于 2016-1-25 22:07
_(:з」∠)_去下个XP呗。RM的事件设置都是通用的,在VA里面照着范例工程的指令弄就行。  发表于 2016-1-25 22:05
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1001
在线时间
5 小时
注册时间
2016-1-4
帖子
4
20
发表于 2016-1-5 13:41:19 | 只看该作者
求问楼主{:2_278:},如何让远程攻击被墙阻挡
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
20 小时
注册时间
2015-9-11
帖子
21
19
发表于 2015-11-9 12:51:49 | 只看该作者
艾玛,范例工程没了╮(╯_╰)╭@H·H·Y  
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
732
在线时间
2 小时
注册时间
2015-8-24
帖子
2
18
发表于 2015-8-25 18:19:04 | 只看该作者
LZ范例工程打不开怎么办,说少了RGSS RTP但是那个我装了呀
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2163
在线时间
1367 小时
注册时间
2011-2-10
帖子
602

开拓者

17
发表于 2014-10-23 17:01:43 | 只看该作者
同是制作过纯事件ARPG的路过,我的思路一直都受范例血肉地狱的影响,里面摸索出的东西大概都包括了。现在参考过VA的大雄的生化危机,看到VA扩展性更强一些,只不过里面用到了一点脚本
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2014-7-30
帖子
21
16
发表于 2014-10-23 11:52:56 | 只看该作者
。。。。你会va的吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2014-7-30
帖子
21
15
发表于 2014-10-19 20:21:28 | 只看该作者
。。。。。给我事件和脚本吧rpgmakervxace的。。。大神!!!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-15 23:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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