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

Project1

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

[推荐问答] 如何在地图上设置一些怪,每次攻击都会使怪变量减少,然后...

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2013-3-28
帖子
8
跳转到指定楼层
1
发表于 2013-3-29 16:43:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 hcm 于 2013-4-15 13:04 编辑

新手报到!从此我是66rpg的一员了!
回归正题,我是脚本盲0 0
但比如说,我想在地图上设置一些怪,每次攻击都会使怪变量减少,然后消失- -
一张地图十几个怪还是有的- -请问,如何每个怪有一个临时变量?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
182 小时
注册时间
2011-2-17
帖子
518
2
发表于 2013-3-29 20:57:26 | 只看该作者
提供一个思路
介于你的要求
其一:在地图自带的遇敌功能里不设置 或者少设置遇敌几率
其二:用事件做遇敌(也就是明雷)但不用行走图(从而变成伪暗雷) 至于频率啊什么的自己设置就可以
其三:在事件遇敌设置当战斗结束时 此事件消除(你若想永久消除就用独立变量)
这样就可以达到你的需要了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
439 小时
注册时间
2013-3-2
帖子
710
3
发表于 2013-3-29 22:17:34 | 只看该作者


这样应该可以吧?

   
【RMXP共享】50个脚本整合的系统
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

4
发表于 2013-3-30 12:24:53 | 只看该作者
说的貌似是ARPG里怪物的HP
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2013-3-28
帖子
8
5
 楼主| 发表于 2013-3-30 13:29:48 | 只看该作者
有点偏离的感觉- -
不是系统自带的战斗- -
比如事件类ARPG的感觉- -
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
560 小时
注册时间
2012-12-29
帖子
1075
6
发表于 2013-3-30 13:34:21 | 只看该作者
MOBA以及回合制的一个创新,点这里查看游戏新思路
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2013-3-28
帖子
8
7
 楼主| 发表于 2013-3-30 13:41:17 | 只看该作者

YI

本帖最后由 ChaoSword 于 2013-3-30 13:42 编辑

XAS对我来说比较纠结- -
打算先做事件类ARPG练手- -
不过{:2_275:}就是这个类型,不让发图,我把我设置的事件流程大概写下- -
敌人
一开始是一个主角面向判定,然后X,Y双方值得判定- -
攻击开启判定- -
成功之后播放动画暂时消除事件,
问题是每一只怪都这么设置,一只怪的HP不让一下就死的话······
难不成每只怪都给个变量么?
所以求可以给一只怪设置个临时变量,过地图或者刷新就重新变为原值的- -
回复 支持 反对

使用道具 举报

Lv1.梦旅人

尽头

梦石
0
星屑
119
在线时间
278 小时
注册时间
2010-6-20
帖子
1280
8
发表于 2013-3-30 16:33:04 | 只看该作者
ChaoSword 发表于 2013-3-30 13:41
XAS对我来说比较纠结- -
打算先做事件类ARPG练手- -
不过就是这个类型,不让发图,我把我设置的事件 ...

打开脚本编辑器,查看Game_Event类.
在定义class内加入语句attr_accessor :hp, :sp, :exp
如图

这样做之后,所有事件都有它自己的变量hp, sp, 和exp。
既然现在每个事件有了自己的hp, sp, exp变量,那么,就可以在事件页中使用它。地图-->事件-->执行内容-->脚本
首先,先用脚本获取当前事件的实例。并且用变量@ev来保存获取的结果。 脚本:@ev = $game_map.events[@event_id]
执行该脚本之后,当前事件的信息都会被存在@ev变量中,这样的好处就是不用再获取事件,方便很多。不过要注意的是,@ev是局部变量,它只在本事件中有效,在别的事件中是无效的。
如图

接下来就是进行敌人的设置了,设置它的hp,sp和exp。
为了避免多次设置它的属性,我们做一个条件分歧。条件分歧:脚本:not @ev.hp。勾上当条件不符合的场合时的设置。
分歧好后,在条件中进行变量hp, sp, exp的初始化。
如图

这样,事件就有它自己的hp,sp,exp了。
另外,我建议敌人事件的触发条件设置为并行处理,这样做可以做出敌人在一定条件内会自动实时攻击,而玩家也可以在一定条件内实时攻击。原本一般的纯事件ARPG的缺点就是确定键执行事件,然后自动的主角打一下,敌人回击一下,跟回合制没什么分别。而并行处理,就可以由制作人设置敌人如何攻击,几时攻击;玩家呢也可以决定主角如何攻击、几时攻击。
如图


接下来就是ARPG处理了。在条件分歧:脚本 not @ev.hp的以外的场合里设置敌人的攻击条件。
我在这里示范的是敌人跟主角的坐标差1个格子时敌人就发动攻击,条件分歧:脚本:(@ev.x - $game_player.x).abs < 2 and (@ev.y - $game_player.y).abs < 2
然后在条件分歧内调用公共事件用来处理敌人的行为就可以了。
如图

在执行内容的最下行加上调用公共事件,用来处理主角的行为。
如图

这样一个简单的敌人就设置好了。


最后就是编写公共事件来处理伤害之类的了,这里我就不写复杂的伤害公式了,复杂的伤害波动什么的让up主自己发掘啦。
以下是我简单写的处理主角的公共事件:


然后是敌人的:



好了,一个算比较好的纯事件ARPG搞定了。更多的条件分歧由制作者发挥啦。
设置更多的敌人只需要改改数据,改改发动攻击判定就可以拉。
其实脚本只要大胆去用,没什么难不难可言的。

纯手写。累了2个小时。。。

未命名2.jpg (18.1 KB, 下载次数: 10)

未命名2.jpg

点评

还有……我蛋痛了……真抱歉。将两个公共事件第一行条件分歧里的脚本:@ev改成@ev != nil。各种手滑不好意思。  发表于 2013-3-30 17:08
我忘了在敌人消失后获得exp的设定了……在那个我方的公共事件中,当敌方hp不足时,@ev.hp = @ev.sp = @ev.exp = nil前加入$game_party.actors[0].exp += @ev.exp。抱歉..  发表于 2013-3-30 16:43
真心给力- -赞一个,谢谢!  发表于 2013-3-30 16:39

评分

参与人数 2星屑 +3 梦石 +1 收起 理由
hcm + 1 认可答案
紫英晓狼1130 + 3 不错哦~

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
195
在线时间
2 小时
注册时间
2014-2-13
帖子
3
9
发表于 2014-2-13 13:03:03 | 只看该作者
有没有简单点的啊
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
195
在线时间
2 小时
注册时间
2014-2-13
帖子
3
10
发表于 2014-2-13 13:03:44 | 只看该作者
给我个范例
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 04:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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