查看: 1742|回复: 7

[已经解决] 求各位前辈请教

[复制链接]
梦石
0
星屑
50
在线时间
20 小时
注册时间
2013-4-29
回帖
5
发表于 2013-5-1 21:09:05 | 显示全部楼层 |阅读模式

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

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

×
   小子我刚学rpg maker xp不几天,找人任务,找东西任务,箱子都有点明目,唯独打怪任务纠结我2天了。
小子我想做这个任务(女主让男主去帮她杀3怪,然加入男主队伍),小子我按网上说的设了个打败怪物的变量,
大师无论怎么弄变量都是0,求各路前辈们帮帮忙。

幻想天神

梦石
0
星屑
55
在线时间
166 小时
注册时间
2012-3-24
回帖
355
发表于 2013-5-1 21:30:24 | 显示全部楼层
你要设置每次打完一个怪,变量都要+1的,设置了没?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
20 小时
注册时间
2013-4-29
回帖
5
 楼主| 发表于 2013-5-1 21:37:43 | 显示全部楼层
在媒体库里的队伍里把有幽灵的队伍的事件页,设置触发条件“幽灵1,hp为0%一下时”等等(有几个幽灵就要设置几页)
然后在事件页里填写:条件分歧,条件:打幽灵任务开关打开
                           打败怪物变量 +=1
                         分歧结束
然后npc再来个条件分歧:当某个变量>=5时,给奖励
                    除此以外的情况 显示文章:还不够5个
                 分歧结束
我按这个设置的   不好使啊
回复

使用道具 举报

万兽

梦石
0
星屑
602
在线时间
2271 小时
注册时间
2006-11-4
回帖
4701

贵宾

发表于 2013-5-1 23:20:12 | 显示全部楼层
先给LZ讲一讲思路吧:
首先接受任务什么的,LZ在设置上都没有问题,但量在杀怪后增加变量这里值得注意一下,
咱们分别从两点出发。

一、明雷遇敌

也就是与事件接触后开始战斗,这种比较简单,战斗结束后直接在事件中增加变量就成了。

二、暗雷遇敌

理论上说来战斗事件中直接使用条件分歧判断敌人血量来增加变量是可行的,有几个敌人就配置几个事件页,
但是,如果多个敌人都在一个回合之内被干掉的话,那么将只执行一个事件页的内容,变量只会进行一次更改。
距离模式使用回合的话,如果战斗回合拖拉过长,又会发生变量重复运算的情况。
距离模式使用暂时的话,那么当敌人死亡游戏会直接陷入死循环,所以这里必要要用到脚本。

其次,暗雷遇敌也可能出现两种情况,这也取决于个人的数据库配置。
    1、敌人队伍都是一样的怪,那么咱们只需要在战斗结束后,一次性统计一遍敌人数量就成。
    2、敌人队伍杂乱怪物,这样的话,咱们还需要进行一次怪物类别的判断,否则,战斗中打败非任务指定目标也会改变变量。

既然思路有了,相信LZ看完这个范例应该就很明白了吧。修改过的脚本请全局搜索bearrpg

打怪任务.rar (191.38 KB, 下载次数: 15)

点评

其实逃跑这个事儿……逃跑了连经验都不给,所以可以理解为没有打败敌人~  发表于 2013-5-2 10:48
还真没考虑到这一点,那么还是直接用脚本来判断更准确的一点。 所以判断那里还得加个条件就是enemy.hidden  发表于 2013-5-1 23:28
其实明雷遇敌增加变量有个BUG:比如队伍是 2 只相同怪,胜利后,打怪变量 +2 。那如果打死一只后,角色逃跑了,其实也是打了一只。但变量不会增加  发表于 2013-5-1 23:24

评分

参与人数 1梦石 +1 收起 理由
hcm + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
20 小时
注册时间
2013-4-29
回帖
5
 楼主| 发表于 2013-5-2 09:21:13 | 显示全部楼层
  谢谢前辈,但是你给我的那个工程明雷到是会了,暗雷的脚本看不懂,我是不是只要把你给的那个脚本,
粘在我的脚本里就行了?

点评

是的,注意自己改变量 开关ID还有敌人名字。  发表于 2013-5-2 10:04
回复

使用道具 举报

梦石
0
星屑
50
在线时间
20 小时
注册时间
2013-4-29
回帖
5
 楼主| 发表于 2013-5-2 13:24:04 | 显示全部楼层
          谢谢各位前辈们的指点我终于做出来了,随便问下如果我以后再做个暗雷杀怪任务是不是
在Scene_Battle 2下面再加一行这个语句,然后把变量改了就行?
# 按下 C 键的情况下
    if Input.trigger?(Input::C)
      ##################bearrpg#####################
      if $game_switches[5] ==true #1号开关判断是否有接受任务
        # 循环
        for enemy in $game_troop.enemies
          if enemy.name == "火鸡" #判断敌人名字是否为幽灵
            $game_variables[3] += 1
          end
        end
       end
      ##################bearrpg#####################
      # 战斗结束
      battle_end(0)
回复

使用道具 举报

梦石
0
星屑
34467
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2013-5-3 01:34:59 | 显示全部楼层
弗雷德 发表于 2013-5-1 23:20
先给LZ讲一讲思路吧:
首先接受任务什么的,LZ在设置上都没有问题,但量在杀怪后增加变量这里值得注意一下 ...

  觉得这样简单点:


[pre lang="ruby" line="1"]if $game_switches[1] ==true #1号开关判断是否有接受任务
    # 循环
  for enemy in $game_troop.enemies
    var = enemy.id + 100
    $game_variables[var] += 1
  end
end[/pre]

胜利后,打死的怪的数量储存在 ID 为 -->怪的ID + 起始值为100    的变量里面。
这样就适合多次不同怪的打怪任务。

为了避免打怪任务时,与任务无关的怪也记录。交任务后,把所有记录打怪数量
的变量清零。

事件--->脚本:

[pre lang="ruby" line="1"]for i in 101..$data_enemies.size + 100
  $game_variables = 0
end[/pre]

评分

参与人数 1星屑 +120 收起 理由
hcm + 120 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
50
在线时间
20 小时
注册时间
2013-4-29
回帖
5
 楼主| 发表于 2013-5-3 14:26:36 | 显示全部楼层
谢谢各位前辈问题已解决!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部