Project1

标题: 请教如何修改此脚本 [打印本页]

作者: sunzhaozhi    时间: 2008-6-1 04:22
标题: 请教如何修改此脚本
for i in 0...load_data("Data/Armors.rxdata").size
  $armor_maxhp_plus = 0 if $armor_maxhp_plus == nil
end

class Game_Actor
  #--------------------------------------------------------------------------
  # ● 获取 MaxHP
  #--------------------------------------------------------------------------
  def maxhp
    n = [[base_maxhp + @maxhp_plus, 1].max, 999999].min
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    n += armor1 != nil ? $armor_maxhp_plus[armor1.id] : 0
    n += armor2 != nil ? $armor_maxhp_plus[armor2.id] : 0
    n += armor3 != nil ? $armor_maxhp_plus[armor3.id] : 0
    n += armor4 != nil ? $armor_maxhp_plus[armor4.id] : 0
    for i in @states
      n *= $data_states.maxhp_rate / 100.0
    end
    n = [[Integer(n), 1].max, 999999].min
    return n
  end
end



因为我把装备栏扩展了,
现在只能获取4个防具属性,我想获取8个,除了加armor5 = $data_armors[@armor5_id]和
n += armor5 != nil ? $armor_maxhp_plus[armor5.id] : 0之外,还要怎么改?明白的请帮帮忙.多谢!

如果加了armor5 = $data_armors[@armor5_id]和n += armor5 != nil ? $armor_maxhp_plus[armor5.id] : 0,那么提示出错.新加这行出错. [LINE]1,#dddddd[/LINE]此贴于 2008-6-12 19:29:01 被版主darkten提醒,请楼主看到后对本贴做出回应。
作者: sunzhaozhi    时间: 2008-6-1 04:53
是太难?还是太简单?怎么没人理我呢
作者: jackxiao    时间: 2008-6-1 05:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: sunzhaozhi    时间: 2008-6-1 05:30
楼上的,能不能看懂别人在问什么呢?
作者: sunzhaozhi    时间: 2008-6-1 13:37
.......................................................
作者: 禾西    时间: 2008-6-1 14:01
好像沒有...你自己沒有試一下嗎?
作者: sunzhaozhi    时间: 2008-6-1 20:01
当然有试啊,for i in 0...load_data("Data/Armors.rxdata").size这句在说从数据库获取4种防具的资料,而我把装备扩展口,是8种防具....所以,后面4种扩展出来的,不会被算进去.....
作者: sunzhaozhi    时间: 2008-6-2 01:46
..........................................
作者: link006007    时间: 2008-6-2 01:51
以下引用sunzhaozhi于2008-6-1 12:01:01的发言:

然有试啊,for i in 0...load_data("Data/Armors.rxdata").size这句在说从数据库获取4种

这句话说告诉你的...  我都不知道有这个功能
作者: Infrared    时间: 2008-6-2 01:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: jackxiao    时间: 2008-6-2 02:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: sunzhaozhi    时间: 2008-6-2 02:51
什么扩展装备.....
这句是源自于防具增加MAXHP,
但是这句默认的是只获取数据库里4类防具的属性,而我已经使用了装备扩展,现在是8个装备槽.也就是说还有4类防具不被获取属性.
我想要达到的是获取全部8类防具的属性
作者: sunzhaozhi    时间: 2008-6-3 06:28
.......
作者: sunzhaozhi    时间: 2008-6-3 18:27
0000000000000
为什么没人理呢
作者: sunzhaozhi    时间: 2008-6-3 20:25
有这么难么??? [LINE]1,#dddddd[/LINE]版主对此帖的评论:『連帖+水+兩小時自頂一次』,积分『-100』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: 禾西    时间: 2008-6-3 20:39
1 × 1 = 1
1 + 1 = 2
我想把右邊改爲 3,可以在左邊加上個 1 嗎?

答:可以

可是我看見上面有 1 × 1 =1 啊!

答:關你P事
[LINE]1,#dddddd[/LINE]
不提醒我不知道連帖

作者: sunzhaozhi    时间: 2008-6-3 20:56
回楼上禾西的,我试过把下面加了,但是不行.加了的就出错.
作者: sunzhaozhi    时间: 2008-6-3 20:56
armor5 = $data_armors[@armor5_id]
n += armor5 != nil ? $armor_maxhp_plus[armor5.id] : 0
我加过,只要一加就出错
[LINE]1,#dddddd[/LINE]版主对此帖的评论:『你又連帖了,善用編輯功能。另外,不講出出錯原因沒有人能够幫你。請學會怎樣提問』,积分『-5』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: sunzhaozhi    时间: 2008-6-4 02:02
...................................
作者: 洛克人SZ    时间: 2008-6-4 02:28
以下引用sunzhaozhi于2008-6-1 12:01:01的发言:

当然有试啊,for i in 0...load_data("Data/Armors.rxdata").size这句在说从数据库获取4种防具的资料,而我把装备扩展口,是8种防具....所以,后面4种扩展出来的,不会被算进去.....


数据库中没有的东西当然无法读出来了,扩展的装备的数据要用脚本来生成,用几个循环就可以了,很简单啊。生成后才可以获取扩展的装备的数据。
作者: sunzhaozhi    时间: 2008-6-4 03:40
回楼上的,问题是不会搞.....比如我新增加了防具--鞋,这个脚本不会读取它.
作者: 禾西    时间: 2008-6-4 18:40
我不知道你的出錯信息是甚麽,解决不了。另外,不要用...............來頂帖。提醒你好多次了
作者: sunzhaozhi    时间: 2008-6-4 18:58
回禾西.......没有出错信息....只是不获取我扩展出来的4类防具的属性,
另外".........."回帖我没看到,现在知道了,以后会注意.
作者: 禾西    时间: 2008-6-4 19:13
1.確認你有在 $armor_maxhp_plus 當中填寫該個防具的Hp附加值
2.確認你有 @armor5_id 這個變量
作者: sunzhaozhi    时间: 2008-6-4 20:29
回复禾西,以上2个,我都确认.
作者: sunzhaozhi    时间: 2008-6-4 20:32
$armor_maxhp_plus = []
$armor_maxhp_plus = {
#==========================================================
# 这里设置

# 装备编号 => 增加的HP

3 => 50,

#==========================================================
}
for i in 0...load_data("Data/Armors.rxdata").size
  $armor_maxhp_plus = 0 if $armor_maxhp_plus == nil
end

class Game_Actor
  #--------------------------------------------------------------------------
  # ● 获取 MaxHP
  #--------------------------------------------------------------------------
  def maxhp
    n = [[base_maxhp + @maxhp_plus, 1].max, 999999].min
    armor1 = $data_armors[@armor1_id]
    armor2 = $data_armors[@armor2_id]
    armor3 = $data_armors[@armor3_id]
    armor4 = $data_armors[@armor4_id]
    #armor5 = $data_armors[@armor5_id]
   # armor6 = $data_armors[@armor6_id]
   # armor7 = $data_armors[@armor7_id]
   # armor8 = $data_armors[@armor8_id]
    n += armor1 != nil ? $armor_maxhp_plus[armor1.id] : 0
    n += armor2 != nil ? $armor_maxhp_plus[armor2.id] : 0
    n += armor3 != nil ? $armor_maxhp_plus[armor3.id] : 0
    n += armor4 != nil ? $armor_maxhp_plus[armor4.id] : 0
   # n += armor5 != nil ? $armor_maxhp_plus[armor5.id] : 0
   # n += armor6 != nil ? $armor_maxhp_plus[armor6.id] : 0
   # n += armor7 != nil ? $armor_maxhp_plus[armor7.id] : 0
   # n += armor8 != nil ? $armor_maxhp_plus[armor8.id] : 0
    for i in @states
      n *= $data_states.maxhp_rate / 100.0
    end
    n = [[Integer(n), 1].max, 999999].min
    return n
  end
end

修改成以上,如果去掉注释,那么出错,显示是:no implicit conversion from nil into integer
作者: 禾西    时间: 2008-6-4 20:48
第八行多了個
,
作者: sunzhaozhi    时间: 2008-6-4 20:52
回复禾西,我用"'"是用来连接下一句,因为不只5号防具,还有其他防具,比如:
3 => 50,
4 => 55,
6 => 70
如果我是错误的,那么也就是说不需要用"'"连接,空格就可以了吗?

作者: sunzhaozhi    时间: 2008-6-5 15:55
已经好多天了,来人帮一下吧.




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