Project1

标题: 求各位前辈请教 [打印本页]

作者: wang981766    时间: 2013-5-1 21:09
标题: 求各位前辈请教
   小子我刚学rpg maker xp不几天,找人任务,找东西任务,箱子都有点明目,唯独打怪任务纠结我2天了。
小子我想做这个任务(女主让男主去帮她杀3怪,然加入男主队伍),小子我按网上说的设了个打败怪物的变量,
大师无论怎么弄变量都是0,求各路前辈们帮帮忙。
作者: 风若·飘絮    时间: 2013-5-1 21:30
你要设置每次打完一个怪,变量都要+1的,设置了没?
作者: wang981766    时间: 2013-5-1 21:37
在媒体库里的队伍里把有幽灵的队伍的事件页,设置触发条件“幽灵1,hp为0%一下时”等等(有几个幽灵就要设置几页)
然后在事件页里填写:条件分歧,条件:打幽灵任务开关打开
                           打败怪物变量 +=1
                         分歧结束
然后npc再来个条件分歧:当某个变量>=5时,给奖励
                    除此以外的情况 显示文章:还不够5个
                 分歧结束
我按这个设置的   不好使啊
作者: 弗雷德    时间: 2013-5-1 23:20
先给LZ讲一讲思路吧:
首先接受任务什么的,LZ在设置上都没有问题,但量在杀怪后增加变量这里值得注意一下,
咱们分别从两点出发。

一、明雷遇敌

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

二、暗雷遇敌

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

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

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

打怪任务.rar (191.38 KB, 下载次数: 15)
作者: wang981766    时间: 2013-5-2 09:21
  谢谢前辈,但是你给我的那个工程明雷到是会了,暗雷的脚本看不懂,我是不是只要把你给的那个脚本,
粘在我的脚本里就行了?
作者: wang981766    时间: 2013-5-2 13:24
          谢谢各位前辈们的指点我终于做出来了,随便问下如果我以后再做个暗雷杀怪任务是不是
在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)

作者: 芯☆淡茹水    时间: 2013-5-3 01:34
弗雷德 发表于 2013-5-1 23:20
先给LZ讲一讲思路吧:
首先接受任务什么的,LZ在设置上都没有问题,但量在杀怪后增加变量这里值得注意一下 ...

  觉得这样简单点:


RUBY 代码复制
  1. if $game_switches[1] ==true #1号开关判断是否有接受任务
  2.     # 循环
  3.   for enemy in $game_troop.enemies
  4.     var = enemy.id + 100
  5.     $game_variables[var] += 1
  6.   end
  7. end


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

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

事件--->脚本:

RUBY 代码复制
  1. for i in 101..$data_enemies.size + 100
  2.   $game_variables[i] = 0
  3. end

作者: wang981766    时间: 2013-5-3 14:26
谢谢各位前辈问题已解决!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1