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

Project1

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

[已经过期] 如果让怪物中一个状态,死后必掉落对应的物品?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1606
在线时间
149 小时
注册时间
2018-12-27
帖子
321
跳转到指定楼层
1
发表于 2019-2-14 23:29:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这样:
一个怪物中了一个ID多少多少的状态,在状态消失前把他打死必掉落一个道具

类似于断尾必掉落尾部素材之类

Lv5.捕梦者

梦石
0
星屑
33148
在线时间
10485 小时
注册时间
2009-3-15
帖子
4756
2
发表于 2019-2-15 16:16:46 | 只看该作者
怪物死亡时就不存在战斗不能以外的状态..
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
7030
在线时间
643 小时
注册时间
2017-1-9
帖子
582

我没有哭开拓者

3
发表于 2019-2-15 18:00:50 | 只看该作者
如果只需要断尾效果的话可以用战斗事件做啊……
这个B天天摸鱼,快点来个谁把他从被窝里拖出来
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4863
在线时间
485 小时
注册时间
2018-6-18
帖子
613
4
发表于 2019-2-17 08:19:56 手机端发表。 | 只看该作者
本帖最后由 RMVXA 于 2019-2-17 08:23 编辑

特殊BOSS的话(最好一个敌人),可以设置断尾状态时免疫死亡,然后战斗事件中设置分歧:BOSS状态断尾且HP小于1%时获得XXX(加入对话或文字描述等等)-中止战斗(或者BOSS去掉状态并附加死亡)。
未测试…… 不过普通怪的话最好还是改脚本吧。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6176
在线时间
239 小时
注册时间
2016-8-8
帖子
32
5
发表于 2019-2-17 08:36:51 | 只看该作者
没试过,不过如果是我的话我的思路是:尾巴和本体是两个怪物,打掉尾巴必定掉落,打掉本体则绕过尾巴死亡直接判定胜利
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1939
在线时间
316 小时
注册时间
2018-3-4
帖子
57
6
发表于 2019-2-18 02:50:42 | 只看该作者
可以利用「敵人變身」的效果的說

製作兩個敵人「蜥蝪」、「斷尾蜥蝪」
「蜥蝪」就是普通掉落
「斷尾蜥蝪」數據都複製「蜥蝪」再改掉落物品

製作技能「砍尾巴攻擊」
執行公共事件「我砍」
機率附加「斷尾」狀態

製作公共事件「我砍」
開啟開關「斷掉了嗎」

製作敵群事件
「斷掉了嗎」開啟時即時執行
如果「蜥蝪」狀態為「斷尾」
「蜥蝪」變身為「斷尾蜥蝪」
開啟開關「還真斷掉了」
關閉開關「斷掉了嗎」
否則
關閉開關「斷掉了嗎」

製作另一個敵群事件
「還真斷掉了」開啟時回合執行
如果變量「又長回來了」 == 3
「斷尾蜥蝪」變身為「蜥蝪」
變量「又長回來了」 = 0
關閉開關「還真斷掉了」
否則
變量「又長回來了」 += 1

大概就這樣

点评

「事件指令」第三頁右邊「戰鬥事件」第六項的說 ˊ __>ˋ  发表于 2019-2-21 00:41
就是事件状态篮里的{敌人变身}?  发表于 2019-2-20 16:42
回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
400
在线时间
32 小时
注册时间
2018-12-9
帖子
3
7
发表于 2019-2-19 10:53:38 | 只看该作者
本帖最后由 深渊之中一咸鱼 于 2019-2-19 10:54 编辑



在下的方法是:
1,建一个数组,比如叫a。
2,战斗时,循环所有敌人,获取其状态,如果有所需的状态(肯定活着)就在数组对应位置做个标记,比如记录a[1]=true。
同时,如果对应位置上有记录,但是这个敌人既没有对应状态,也没有死,那么就把记录改回nil。
这是两次循环,但是消去记录应该放在前面,添加记录放在后面。
这样一个回合结束后,数组里会记录下每一个敌人会不会提供物品。
3,最后,战斗结束时按照数组里的记录收物品。并且把数组改回空值(或者战斗开始前改也行,但那就又多一处)
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1606
在线时间
149 小时
注册时间
2018-12-27
帖子
321
8
 楼主| 发表于 2019-2-20 16:41:28 | 只看该作者
深渊之中一咸鱼 发表于 2019-2-19 10:53
在下的方法是:
1,建一个数组,比如叫a。
2,战斗时,循环所有敌人,获取其状态,如果有所需的状态(肯 ...

这个是脚本是吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
400
在线时间
32 小时
注册时间
2018-12-9
帖子
3
9
发表于 2019-2-21 08:24:31 | 只看该作者
本帖最后由 深渊之中一咸鱼 于 2019-2-21 08:26 编辑


生成数组肯定是脚本,不过没有任何难度,因为可以设置成全局变量。

第三步需要改module BattleManager里的self.battle_end(result)方法,但其实也就是加一句$a=[]而已。
照着说明书加在后面或者直接加在原处都无所谓(如果是自己玩)。

第二步可以用部分事件代替,不过可能会麻烦些。
分支条件里面有判断敌人状态,一个个判断然后赋值给数组就好(赋值确实还是脚本操作,不过不必生成class之类,只要一句$a[x]=n这样的就好)


写的时候又想了想,不想建立数组也行,纯事件的话,动用8个全局变量(用编辑器提供的就好,用8个是为了保险,实际敌群中如果敌人数量可控,这里也可以减少些)代替数组的8个位置。
思路和上面一样,只是省掉了1、3两步。
第二步只要逻辑搞清楚就好。(1生死,没死的参与下一个判定;2状态,无状态则消去记录)
只不过,个人是奉行尽量少用全局的,所以不太喜欢这种方案。

点评

个人还是没入脚本坑,不过如果您对我的游戏制作有兴趣欢迎来帮忙,会按你的需求给报酬的  发表于 2019-2-21 13:24
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-20 08:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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