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

Project1

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

[已经解决] VX叶子任务脚本求救

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
59
在线时间
831 小时
注册时间
2010-8-23
帖子
487
跳转到指定楼层
1
发表于 2011-4-19 08:56:36 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
:'( :'( 其他都会了。。。击杀怪物的咋整。难道真的要修改成得到物品模式吗。菜鸟一枚

Lv1.梦旅人

梦石
0
星屑
59
在线时间
831 小时
注册时间
2010-8-23
帖子
487
4
 楼主| 发表于 2011-4-19 20:08:31 | 只看该作者
:'(  2位 可以用叶子的任务脚本里加不。。。。 汗。还是谢谢 大家。我还是用得物品法吧

点评

补上图了,你可以看看,希望你认可我的答案呵呵~  发表于 2011-4-19 21:10
你稍等我给你补上图吧  发表于 2011-4-19 20:30
我的方法不用改动任何脚本- -|| 不过就是敌人不能逃跑而已。。。。  发表于 2011-4-19 20:28
正统RPG进度更新~
剧情:■■■■■■■■■
系统:■■■■■■■■□□
设定:■■■■■■■■□□
左右时尚鞋坊 美丽从脚开始
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
105 小时
注册时间
2009-7-25
帖子
201
3
发表于 2011-4-19 15:30:13 | 只看该作者
本帖最后由 killkill2298 于 2011-4-19 15:41 编辑

在脚本编辑器最开头插入一行,里面插入以下代码:
  1. $enemy_defeat =[]
  2. for k in 0..999  
  3. $enemy_defeat[k] =0
  4. end
复制代码
$enemy_defeat[enemy_id] += 1
      p $enemy_defeat[enemy_id]
在 Game_Enemy的 def perform_collapse    中 Sound.play_enemy_collapse下面加入一行

  1.       $enemy_defeat[enemy_id] += 1
  2.       p enemy_id+"号敌人的已杀死数量为"+$enemy_defeat[enemy_id]
复制代码
第二行调试时用,正式游戏时删除
这时就把杀人敌人的数目储存在$enemy_defeat[k]全局变量数组中了,
在事件里面插入脚本
$game_variables[变量ID] = $enemy_defeat[敌人ID]
将数据读取出来后用条件分歧判断吧。
这时指定ID的敌人击杀数量已经被读取到指定ID号的变量中去了,
剩下的事情就是用条件分歧来判断,应该会用吧。如果还不会可以来问我~~

另外附赠几个语句:
$enemy_defeat[敌人ID] = 0 #由于这个计数是累加的,从游戏开始击杀的怪物数都会计算在内,所以接任务的时候应该清零,任务完成也可以再次清零。除非你想统计玩家对于各个怪物的击杀总数。
可以把Game_Enemy添加的那行语句改为:
  1. $enemy_defeat[enemy_id] += 1 if game_switches[开关ID] = true
复制代码
那么只有当指定ID开关开启时才开始计算击杀数。

点评

物品法这样简单方便 不知道杀怪物法咋整  发表于 2011-4-19 21:11
名称 = "\\c[6]克萝莉亚的药瓶" 简介 = 名称 + " \\c[9]任务目标: 问克萝莉亚要一个药瓶,交给西露达 \\c[0]药瓶:#{$game_party.item_no(1)}/1   发表于 2011-4-19 21:10
额,测试发现代码不起作用- -|| 并且加p的那段代码的时候出现String不能继承Fix的错误,具体原因不明。也许是和我别的脚本有冲突- -||  发表于 2011-4-19 20:30
我是好人

VX ARPG迷城的国度试玩版已经放出
后续版本紧张制作中

正在策划迷城的伊苏:以超难迷宫为主的中型游戏
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
73 小时
注册时间
2008-5-30
帖子
84
2
发表于 2011-4-19 10:50:00 | 只看该作者
本帖最后由 xzqcm111 于 2011-4-19 21:07 编辑

提供一个事件的方法 接受任务的时候打开一个开关比如 88号 然后在数据库中敌人队伍处设置事件 需要此开关打开才行 比如你任务需要杀十个史莱姆 那么 敌人队伍 史莱姆*2的时候  就在战斗胜利后执行一个事件 这个事件需要开关88号打开才生效 然后变量操作 任务变量+=2
一次类推 不知道楼主可有看懂 没看懂的话请加点评图片给你解释 交还任务的时候不要忘记关闭那个开关


xzqcm111于2011-4-19 12:15补充以下内容:
额,测试发现此方法有个bug,如果杀完怪战斗结束的话那么事件不会执行- -||  比如你杀掉第一个史莱姆再杀掉第二个战斗胜利那么第二个的数量并没有加上,这个不晓得什么办法可以修复。。。
PS:其实有折中的方法可以修复比如再加一只看不见的怪,其他的怪死了给他扣血,但是如果怪物逃跑的话那么。。。
我不会脚本,我的想法是应该可以在战斗脚本中加入空命令什么的来使的最后一只怪物死亡不立即结束战斗,这样就可以把最后一个怪物死亡的事件执行完了。
补充图片说明
首先我把叶子任务脚本中的任务一改成如下内容
  1. 名称 = "\\c[6]杀掉十个史莱姆"

  2. 简介 = "\\c[6]杀掉十个史莱姆
  3. \\c[9]任务目标:
  4. 杀掉十个史莱姆后向任务人员报告

  5. \\c[0]杀怪数目:\\v[88]/10

  6. 任务测试人员:
  7. \\c[Hff0000]快点!我等着你的好消息"

  8. @tasks_info[1] = Game_Task.new(名称, 简介)
复制代码
接下来在数据库中设置怪物以及战斗 我设置一个99号怪物作为战斗结束时也可以执行事件的无用怪物
注意属性有效度 状态有效度和回避率防御的设置

任务怪的设置(去掉逃跑)

假设我以88号开关和88号变量控制这个任务那么
敌人队伍的设置


需要说明的是:
队伍中有几只任务怪 就设置几个事件页,分别对应相应的任务怪,每一只任务怪死掉都给第99号怪物扣血,如果队伍中只有一只任务怪 那就一次扣完,两只就两次扣完,以此类推。
然后是任务的设置
接到任务

交还任务(独立开关A打开的时候)

如果想重复接的话(独立开关A打开的时候)

以下测试










点评

补充说明以下,在编辑敌人队伍的时候别忘了把99号怪物加进去- -|| 比如我队伍中的第五个怪物就是  发表于 2011-4-19 21:13

评分

参与人数 2星屑 +824 梦石 +2 收起 理由
铃仙·优昙华院·因幡 + 800 + 2 认可答案, 追加 300
嗨。猪头 + 24 不知道哪里认可。。。还是谢谢.

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-11 23:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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