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

Project1

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

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

[复制链接]

Lv3.寻梦者 (版主)

梦石
0
星屑
2305
在线时间
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

点评

我不得不吐槽:这是最笨的方法,通用的方法是用事件脚本判定。 但对新人还是有帮助。  发表于 2012-8-15 16:25

评分

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

查看全部评分

Lv3.寻梦者 (版主)

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

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

2
 楼主| 发表于 2012-8-15 12:12:00 | 只看该作者
本帖最后由 H·H·Y 于 2015-11-9 21:49 编辑

范例工程已制作好

=猛击此处下载=
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1316
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
3
发表于 2012-8-15 13:23:19 | 只看该作者
给力,清晰的思维。给好多意做事件ARPG的
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
255
在线时间
611 小时
注册时间
2011-6-6
帖子
1335
4
发表于 2012-8-15 13:35:00 | 只看该作者
一直想弄下ARPG。。但总是没能从事件上找到思路来。。。{:2_270:}

点评

3Q  发表于 2012-8-16 14:05
来我教你。  发表于 2012-8-15 16:29
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
99
在线时间
179 小时
注册时间
2012-6-25
帖子
299
5
发表于 2012-8-15 13:37:23 | 只看该作者
精品啊……至尊啊……厉害啊……啊啊啊……
我可能是世界上最帅气可爱的吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
54
在线时间
409 小时
注册时间
2012-5-14
帖子
615
6
发表于 2012-8-15 14:37:09 | 只看该作者
那么技能如何设置呢?
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

7
 楼主| 发表于 2012-8-15 14:44:57 | 只看该作者
折戬沉沙 发表于 2012-8-15 14:37
那么技能如何设置呢?

可以设置普通攻击为Z键,那么剩下的ASDQW可以当做技能按键(XC在不F1更改手柄按键的情况下是不能用的,因为X=Esc,C=Enter)。用并行处理的事件循环代入角色SP,再设置一个并行处理的事件
条件分歧:当×键(以上提供的按键)按下时
条件分歧:当变量角色的SP大于或等于×值以上
这里就是技能的效果
那么接下来就是弄一个减少角色SP的指令
就这么简单

你可以弄一个全键盘脚本,那么按技能会舒服些。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
319
在线时间
1406 小时
注册时间
2010-12-8
帖子
2805

贵宾

8
发表于 2012-8-15 16:08:56 | 只看该作者
长串事件把我吓死了= =只要一条出错就全部完蛋而且还不好检查
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

9
 楼主| 发表于 2012-8-15 17:57:55 | 只看该作者
lianran123456 发表于 2012-8-15 16:08
长串事件把我吓死了= =只要一条出错就全部完蛋而且还不好检查

某种意义上是这样子,但是可以通过临床症状判断是哪里出了问题。
还有攻击的设定可以用复制粘贴来减少错误几率。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
319
在线时间
1406 小时
注册时间
2010-12-8
帖子
2805

贵宾

10
发表于 2012-8-15 18:34:12 | 只看该作者
惩罚者杰克厉害的是剧情和光影效果
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-26 12:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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