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

Project1

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

[已经解决] 输出公式出问题了!加急!!

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1346
在线时间
806 小时
注册时间
2013-8-3
帖子
455
跳转到指定楼层
1
发表于 2017-4-30 19:31:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 小小西 于 2017-4-30 19:33 编辑

我这里有个攻击全体敌人,伤害递减公式 【敌人A】受到100伤害 【敌人B】受到70伤害 【敌人C】受到40伤害

刚刚仔细测试了一下这个公式:100 - b.index * 30

当A.B两个敌人死了,攻击C的时候伤害竟然是40,第二回合当A.B死了,C承受100伤害怎么改

@SailCat

【同人游戏】勇者斗恶龙TG
欢迎加入游戏测试群333599798
如有需私聊请加QQ:516425000

Lv5.捕梦者

梦石
0
星屑
36402
在线时间
10791 小时
注册时间
2009-3-15
帖子
4813
2
发表于 2017-4-30 21:35:42 | 只看该作者
公式可以用size么..不知道..

点评

大佬还没出现,好急!!  发表于 2017-4-30 21:56
那问问大佬...  发表于 2017-4-30 21:38
我也不知道  发表于 2017-4-30 21:37
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
帖子
649

开拓者

3
发表于 2017-5-1 01:06:16 | 只看该作者
本帖最后由 QQ蚊子湯 于 2017-5-1 01:09 编辑

睡前解題
大概是因為index是對象在敵群的位置
你要想辦法去拿到make_targets的數組
你可以參考這個內建方法
  1.   def use_item
  2.     item = @subject.current_action.item
  3.     @log_window.display_use_item(@subject, item)
  4.     @subject.use_item(item)
  5.     refresh_status
  6.     targets = @subject.current_action.make_targets.compact
  7.     show_animation(targets, item.animation_id)
  8.     targets.each {|target| item.repeats.times { invoke_item(target, item) } }
  9.   end
复制代码

点评

第6行的targets = @subject.current_action.make_targets.compact 會得到目標數組的臨時變數,你可以參照這個數組中目標的排序做傷害遞減  发表于 2017-5-1 21:43
完全看不懂 T T  发表于 2017-5-1 13:12

评分

参与人数 2星屑 +75 收起 理由
七重 + 45 内建醋虾
魔法丶小肉包 + 30 每晚都修仙=w=

查看全部评分

2016/07/17 加入RPG製作,勿忘初衷!
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
79
在线时间
33 小时
注册时间
2009-11-16
帖子
3
4
发表于 2017-5-1 21:31:26 | 只看该作者
本帖最后由 qootm2 于 2017-5-2 00:58 编辑
  1. d = 100;b.index.times{|t| d -= (b.friends_unit.members[t].alive? ? 30 : 0)};d
复制代码

簡單測試下可行

補充實測畫面:



=========================

好,大概知道樓主要什麼了,然後我想不到只靠傷害公式就搞定的方法,只能改腳本:

  1. class Scene_Battle < Scene_Base
  2.   def use_item
  3.     item = @subject.current_action.item
  4.     @log_window.display_use_item(@subject, item)
  5.     @subject.use_item(item)
  6.     refresh_status
  7.     targets = @subject.current_action.make_targets.compact
  8.     show_animation(targets, item.animation_id)
  9.     # 用50號變量記錄目標 index
  10.     $game_variables[50] = 0
  11.     targets.each {|target| item.repeats.times { invoke_item(target, item) } ; $game_variables[50] += 1 }
  12.   end
  13. end
复制代码


傷害公式寫:
100 - 30 * v[50]

点评

非常感谢!问题解决了。  发表于 2017-5-2 13:39
加了第二個方案  发表于 2017-5-2 01:03
那怪了...自己測可以,前面的要是死掉就沒遞減了  发表于 2017-5-1 23:43
测试了三次,前面112到最后109,伤害没有明显递减  发表于 2017-5-1 23:16

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

5
发表于 2017-5-1 21:46:19 | 只看该作者
  1. 100 - b.friends_unit.alive_members.index(b) * 30
复制代码

瞎写的没测试

点评

我测试了,的确是瞎写的~~~~~  发表于 2017-5-1 23:11
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

6
发表于 2017-5-2 00:47:31 | 只看该作者
不如设置一个变量,每次使用的时候-30,
比如每回合设置敌群事件 变量1 = 130
  1. $game_variables[1] -= 30; $game_variables[1];
复制代码

点评

原来的那个100-b.index也会啊!  发表于 2017-5-2 10:52
抱貓貓! 有目標太多導致傷害變成負數的可能!  发表于 2017-5-2 01:42
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2016-1-29
帖子
8
7
发表于 2017-5-2 11:21:00 | 只看该作者
不懂这里的代码。但是可不可以专门设置一个伤害次数参数,每次造成伤害该参数就+1,并且该技能的伤害取MAX【0,技能伤害】,这样是不是就可控了呢
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3574
在线时间
2338 小时
注册时间
2015-8-25
帖子
960

开拓者

8
发表于 2017-5-3 17:48:36 | 只看该作者
作为游戏设计的角度来看,这个技能按编号来作为次序这点多少会给玩家一种不太合理的感觉。
如果改为获取一次存活中的敌人数组再生成一个随机攻击次序会更合理吧。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 10:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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