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

Project1

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

[讨论] 想做一个不用脚本的抓宠事件,谁能给个思路吗?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1881
在线时间
414 小时
注册时间
2012-7-30
帖子
82
跳转到指定楼层
1
发表于 2012-8-2 20:59:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
想做一个不用脚本的抓宠事件,谁能给个思路吗?

Lv1.梦旅人

梦石
0
星屑
49
在线时间
491 小时
注册时间
2012-1-27
帖子
421

整合系统大赛RMVA达人

2
发表于 2012-8-2 22:01:23 | 只看该作者
弄个抓宠技能 调公共事件 一定概率秒杀敌人,得宠物蛋  宠物蛋消耗品 加个队友
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
505
在线时间
24 小时
注册时间
2011-1-19
帖子
1
3
发表于 2012-8-4 00:55:20 | 只看该作者
本帖最后由 sinwulala 于 2012-8-4 15:02 编辑

提供你一些想法
(虽然尽力使用事件,但在某些情况下无可避免的还是得使用脚本)


流程: 使用技能→判断捉取对象→机率判断→(如果成功)获取敌人ID→获得宠物蛋(或直接加入)

1.使用技能
首先当然就是先做出抓宠技能(或是道具)

2.判断捉取对象
再来有个还挺麻烦的问题
就是游戏内建的选项中,没有办法让你得知你的技能(物品)选的是几号敌人
(战场上的编号)

这个问题如果不解决,之后的事也不用说了

不过幸好还是有其他比较迂回的方法能解决这问题
如果LZ有仔细看过条件分歧的第二页,有个敌人状态条件,可以从这里下手
创建一叫做”捉宠状态”的状态
然后让你的技能(物品)附上这个技能,记得敌人方面状态有效度必须调A才能保证必定附上这个状态

然后在公共事件中这么做
条件分歧 :[1.] 为[捉宠状态]

结束
条件分歧 :[2.] 为[捉宠状态]

结束


…做八个条件分歧

跑下来就知道选的是哪个敌人了
*公共事件结束后记得把状态解除

3.机率判断
不知道LZ的捉宠机率想怎么设
提供我的想法:
我想让机率与敌人损失血量呈正相关

所以在当前血量大于时50%必然失败
小于50%的话为{log[log(敌人MaxHP)-log(敌人HP)]^2+10]-1}*3500(校正常数)
我知道内建没有对数运算,要用脚本才做得到,但是这个公式的出的曲线还满漂亮的,而脚本其实也不难,可以参考一下
*公式中有两个变数” 敌人MaxHP”与” 敌人HP
就在条件上面条件分歧设立,也是八次

也就是:
条件分歧 :[1.] 为[捉宠状态]
变数操作 : [敌人MaxHP] = [1.]的MaxHP
变数操作 : [敌人HP] = [1.]的HP



结束
条件分歧 :[2.] 为[捉宠状态]
变数操作 : [敌人MaxHP] = [2.]的MaxHP
变数操作 : [敌人HP] = [2.]的HP



结束
….


再设一个”随机”变数,范围为0~1000
若是比上面算出的机率小就是成功
P.S若是不用脚本,硬是要凑成当前血量与最大血量的关系,就会变得很奇怪,LZ可以试试看



4.
(1) 创立8个变数记载敌人ID
      在资料库-队伍栏(有多少队伍以下动作就要做几次)中的战斗事件中
      设立变数1对应敌人1 的ID
             变数2对应敌人2 的ID…………以此类推

       并且设定发生条件为第零回合



(2) 创建一个变数”最终敌人ID”,其目的为确定捕捉敌人ID
     也就是
     条件分歧 :[1.] 为[捉宠状态]
      变数操作 : [敌人MaxHP] = [1.]的MaxHP
      变数操作 :  [敌人HP] = [1.]的HP
      变数操作 :  [最终敌人ID] = 变数1

       …
     分结束
     条件分歧 :[2.] 为[捉宠状态]
      变数操作 : [敌人MaxHP] = [2.]的MaxHP
      变数操作 : [敌人HP] = [2.]的HP
      变数操作 : [最终敌人ID] = 变数2

      …
    分结束
      …
      …
5.获得宠物蛋(或直接加入)
这个必定要靠脚本才能做到,因为内建不提供变数带入的队员更换
脚本: $game_party.add_actor(角色编号)

直接加入:脚本输入$game_party.add_actor($game_variables[最终敌人ID的变数编号])
             *记得注意当前队伍人数
宠物蛋: 将”最终敌人ID”加入一个数组,需要时再访问即可

完成



补记:
如果还是执意要用事件也不是做不到,但是很麻烦
思考流程:
1. 要先为每个敌人量身订造一个宠物蛋 e.g 幽灵的宠物蛋天使的宠物蛋…..
2. 要如何判定加入哪个宠物蛋-----条件分歧!!
e.g
条件分歧 : 变数[最终敌人ID] == 2
增减物品 : [幽灵的宠物蛋] + 1
分歧结束
条件分歧 : 变数[最终敌人ID] == 3
增减物品 : [天使的宠物蛋] + 1
分歧结束


3.
再为每个敌人量身打造一个公共事件
例如在天使的公共事件中,输入一个指令---加入队员天使
4.
宠物蛋执行效果配上相对应的公共事件,一个箩卜一个坑,也是可以达到相同的效果(不过很自虐就是了…)

直接加入也是差不多的方法(比较简单,只需要条件分歧)

暂时只有想到这个办法



回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-30 01:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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