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

Project1

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

[已经解决] 如何在战斗中给敌人的能力值增加附加值呢?

[复制链接]

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
跳转到指定楼层
1
发表于 2014-10-17 13:33:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
距离上次提问真是间隔挺久了呢

于是我回来活跃一下提问区了!

基本问题就是如题所示,在敌群中执行事件增减敌人的能力值。

尽管可以通过状态增减,但是不大符合制作的需要。

因为这样的效果会运用到几乎所有敌人上,主要用于制作出“能力值随机浮动”的敌人。

$game_troop.members[0].mhp += rand(10000)
$game_troop.members[0].hp == mhp

是否有类似↑这样方便的句子能写出效果呢?

点评

……敌群事件可不可以强制使用技能……如果可以的话就好办了……  发表于 2014-10-17 15:40

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-10-17 15:25:41 | 只看该作者
本帖最后由 taroxd 于 2014-10-17 15:27 编辑

可以。在 Game_Enemy 定义一个 mhp= 方法,直接修改数据库的值(不存档)

如果不希望直接修改数据库的话,那么就利用一个实例变量吧

点评

这个方法怎么定义呢,能否麻烦举个栗子 _(:з」∠)_  发表于 2014-10-18 21:06
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2014-10-18 21:19:38 | 只看该作者
随手瞎写,只是提供思路

RUBY 代码复制
  1. class Game_Enemy
  2.   def mhp=(mhp)
  3.     @assigned_mhp = mhp
  4.   end
  5.  
  6.   alias mhp_from_database mhp
  7.   def mhp
  8.     @assigned_mhp || mhp_from_database
  9.   end
  10. end

点评

XD触泥这举例我都没理解啥意思诶……我是不是没救了……_(:з」∠)_  发表于 2014-10-18 23:35

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

4
发表于 2014-10-18 22:12:23 | 只看该作者
制作出“能力值随机浮动”的敌人?那直接在战斗开始的时候加判断呗···XP以前也有人问这样的问题,就是这样解决了···

点评

方法放楼下了,但是有缺陷  发表于 2014-10-18 22:22
有这么轻松就好了……  发表于 2014-10-18 22:18
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

5
发表于 2014-10-18 22:20:59 | 只看该作者
Game_Troop

  1.   #--------------------------------------------------------------------------
  2.   # ● 设置
  3.   #--------------------------------------------------------------------------
  4.   def setup(troop_id)
  5.     clear
  6.     @troop_id = troop_id
  7.     @enemies = []
  8.     troop.members.each do |member|
  9.       next unless $data_enemies[member.enemy_id]
  10.       enemy = Game_Enemy.new(@enemies.size, member.enemy_id)
  11.       enemy.hide if member.hidden
  12.       enemy.screen_x = member.x
  13.       enemy.screen_y = member.y
  14.       @enemies.push(enemy)
  15.     end
  16.     init_screen_tone
  17.     make_unique_names
  18.   end
复制代码
  1. init_screen_tone
复制代码
的上面加一段
  1.     for i in [email protected]
  2.       @enemies[i].hp*=1.25
  3.     end
复制代码
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

6
发表于 2014-10-18 22:21:58 | 只看该作者
本帖最后由 chd114 于 2014-10-18 05:28 编辑
chd114 发表于 2014-10-18 05:20
Game_Troop

的在的上面加一段


但是有个缺陷,这样处理不能让敌人的HP超过数据库里设置的数,比如数据库里的敌人MHP设置的是1000,那么随机的HP不能超过1000

因为在这处理读取不到mhp

点评

我就是用默认试的···你要传工程的话←_←  发表于 2014-10-19 14:49
只是默认系统达不到……  发表于 2014-10-19 14:36
如果你要让随即能力的敌人的HP超过MHP效果目测是达不到···  发表于 2014-10-19 09:23
这还达不到我需要的效果呢……  发表于 2014-10-18 23:34
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
7
 楼主| 发表于 2014-10-20 00:02:48 | 只看该作者
得到高人教诲,已经达到了需要的理想效果~

麻烦结贴~  @taroxd @VIPArcher  
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 10:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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