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

Project1

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

[推荐问答] 怎么让敌人拥有”呼叫伙伴“的技能。

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2019
在线时间
1871 小时
注册时间
2009-8-17
帖子
256
跳转到指定楼层
1
发表于 2012-7-9 22:41:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
类似勇者斗恶龙那种。呼叫同伴。不一定得是技能,其他的实现方法也行。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-7-2
帖子
157
2
发表于 2012-7-10 09:52:48 | 只看该作者
用战斗事件不能实现吗?
回复

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4699
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

3
发表于 2012-7-10 10:22:05 | 只看该作者
本帖最后由 protosssonny 于 2012-7-10 20:25 编辑

总思路:让死去或逃跑的敌人回到战场,并让它变身成指定的敌人。
首先,要保证每次战斗的敌人数量为最大,默认是8个。如果需要少于8个,可以在战斗一开始就设置不需要出现的敌人逃跑,用脚本
  1. $game_troop.members[i].hidden
复制代码
来实现,逃跑的实质就是将敌人隐藏起来。
再次,设计一个变量,用于控制敌人呼叫同伴的敌人种类,这里使用10号变量:$game_variables[10]
然后在脚本最后,main之前添加定义:
  1. def call_friends
  2.   #如果敌人当前数量等于敌人最大数量,则什么也不做并返回。
  3.   return if $game_troop.existing_members.size == $game_troop.members.size
  4.   for i in 0...$game_troop.members.size
  5.     #计算死去或逃走的敌人,并为此空位增加敌人作准备。
  6.     enemy = $game_troop.members[i] unless $game_troop.members[i].exist?
  7.   end
  8.   enemy.turn_back  #让当前空位逃跑的敌人回到战场
  9.   enemy.hp = 1     #让当前死去的敌人复活
  10.   for state in enemy.states #解除包括死亡在内的任何状态
  11.     enemy.remove_state(state.id)
  12.   end
  13.   if enemy != nil
  14.     #下面请你自己设计呼叫同伴的种类,在执行本脚本之前,必须让10号变量变到想呼叫敌人对应的数值。
  15.     #呼叫同伴的实质就是变更敌人enemy.transform()。
  16.     case $game_variables[10]
  17.     when 0 #如果10号变量为0,则敌人呼叫15号敌人为同伴。
  18.       enemy.transform(15)
  19.     when 1 #如果10号变量为1,则敌人呼叫637号敌人为同伴。
  20.       enemy.transform(637)
  21.     when 2 #如果10号变量为2,则敌人呼叫120号敌人为同伴。
  22.       enemy.transform(120)
  23.     end
  24.   end
  25.   #让被呼叫的敌人满血满蓝
  26.   enemy.hp += 999999
  27.   enemy.mp += 999999
  28.   $game_troop.make_unique_names
  29. end


  30. class Game_Enemy < Game_Battler
  31.   #--------------------------------------------------------------------------
  32.   # ● 重回战场
  33.   #--------------------------------------------------------------------------
  34.   def turn_back
  35.     @hidden = false
  36.   end  
  37. end
复制代码
最后,设计某号技能调用公共事件1,而公共事件1的内容就是执行脚本:call_friends
在事件脚本中写上call_friends即可,而某某敌人被呼叫等的文字,请LZ自行编写,在此不赘述。
{:2_259:}

附带范例:
Project2.rar (238.7 KB, 下载次数: 90)

点评

恩,谢谢了。效果达到了。可惜的是经验貌似不会累加。  发表于 2012-7-10 20:41
我试了,但是第8行“turn_back”会报错。。不知道是不是操作不对。  发表于 2012-7-10 19:46
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2019
在线时间
1871 小时
注册时间
2009-8-17
帖子
256
4
 楼主| 发表于 2012-7-10 17:51:27 | 只看该作者
protosssonny 发表于 2012-7-10 10:22
总思路:让死去或逃跑的敌人回到战场,并让它变身成指定的敌人。
首先,要保证每次战斗的敌人数量为最大, ...

能不能帮忙做个范例。
这个实在看不太明白。。{:2_280:}

点评

漏了一个定义,现在改好了。  发表于 2012-7-10 20:23
设计某敌人会“呼叫技能”,这个技能按我的提示来设计。调用公共事件,事件执行内容为脚本:call_friends  发表于 2012-7-10 19:02
你只要设计一个8个敌人的战斗,并插入上面的脚本,就可以了。  发表于 2012-7-10 19:01
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 03:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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