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

Project1

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

如何限制毒的血量以及限制某变量的上限?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
95
在线时间
24 小时
注册时间
2007-6-16
帖子
160
跳转到指定楼层
1
发表于 2007-12-16 23:01:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
    1,比如一个BOSS有10W血,中了毒状态,每回合会扣10000,比较恐怖。如何修改成在多少HP以下时中毒为1/10,而超过多少就给它赋一个最大值,比如毒最大不超过1000HP,也就是说当怪大于等于10000血时中毒只会扣1000HP,而血掉到少于10000时就会按1/10扣。
    2,另外如何限制一个变量的最大限度?比如我做了一招偷窃,当偷窃成功时“偷窃伤害”变量加3,而另一招是盗贼证明,配以公共事件,放特技时全体遭受到“偷窃伤害”的数值,如何把“偷窃伤害”限制在9999,而不是可以一直无限增长(不然练盗贼一个就可以了,无限偷,偷到N强大一下秒到最终BOSS orz)?
以上2问题求助,谢谢!
另,偷窃脚本如下:(我用的96号变量)
if rand(100) <= ((user.dex+0.01)/(self.dex+0.01))*100/2
r_pos = self.rare_item
#判定
if !r_pos.nil? && rand(10) <= 1
pos = r_pos
end
case pos["Category"]
when "i"
item = $data_items[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_item(item.id, pos["Num"])
when "w"
item = $data_weapons[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_weapon(item.id, pos["Num"])
when "a"
item = $data_armors[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_armor(item.id, pos["Num"])
when "g"
#偷窃获得
$game_party.gain_gold(pos["Num"])
end

if pos["Category"] == "g"
@effect_message = "#{pos["Num"]}#{$data_system.words.gold}偷到!"
$game_variables[96] += 3
else
@effect_message = "#{item.name}#{pos["Num"]}个偷到!"
$game_variables[96] += 3
end
@item_possession = false

self.damage = "Steal!" if self.damage == "Miss"
return true
else
@effect_message = "失手了,没有偷到"
#self.damage = "Miss
return false
end
版务信息:本贴由楼主自主结贴~
喜欢玩游戏,更喜欢自己做游戏

Lv1.梦旅人

梦石
0
星屑
95
在线时间
24 小时
注册时间
2007-6-16
帖子
160
2
 楼主| 发表于 2007-12-16 23:01:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
    1,比如一个BOSS有10W血,中了毒状态,每回合会扣10000,比较恐怖。如何修改成在多少HP以下时中毒为1/10,而超过多少就给它赋一个最大值,比如毒最大不超过1000HP,也就是说当怪大于等于10000血时中毒只会扣1000HP,而血掉到少于10000时就会按1/10扣。
    2,另外如何限制一个变量的最大限度?比如我做了一招偷窃,当偷窃成功时“偷窃伤害”变量加3,而另一招是盗贼证明,配以公共事件,放特技时全体遭受到“偷窃伤害”的数值,如何把“偷窃伤害”限制在9999,而不是可以一直无限增长(不然练盗贼一个就可以了,无限偷,偷到N强大一下秒到最终BOSS orz)?
以上2问题求助,谢谢!
另,偷窃脚本如下:(我用的96号变量)
if rand(100) <= ((user.dex+0.01)/(self.dex+0.01))*100/2
r_pos = self.rare_item
#判定
if !r_pos.nil? && rand(10) <= 1
pos = r_pos
end
case pos["Category"]
when "i"
item = $data_items[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_item(item.id, pos["Num"])
when "w"
item = $data_weapons[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_weapon(item.id, pos["Num"])
when "a"
item = $data_armors[pos["ID"]]
if item.nil?
print "这个物品不存在!"
return false
end
$game_party.gain_armor(item.id, pos["Num"])
when "g"
#偷窃获得
$game_party.gain_gold(pos["Num"])
end

if pos["Category"] == "g"
@effect_message = "#{pos["Num"]}#{$data_system.words.gold}偷到!"
$game_variables[96] += 3
else
@effect_message = "#{item.name}#{pos["Num"]}个偷到!"
$game_variables[96] += 3
end
@item_possession = false

self.damage = "Steal!" if self.damage == "Miss"
return true
else
@effect_message = "失手了,没有偷到"
#self.damage = "Miss
return false
end
版务信息:本贴由楼主自主结贴~
喜欢玩游戏,更喜欢自己做游戏
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-7
帖子
441
3
发表于 2007-12-16 23:11:01 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
24 小时
注册时间
2007-6-16
帖子
160
4
 楼主| 发表于 2007-12-17 05:32:36 | 只看该作者
某大,不是很懂你的意思,能详细一点么{/pz}
喜欢玩游戏,更喜欢自己做游戏
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-7-7
帖子
441
5
发表于 2007-12-17 07:04:27 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
24 小时
注册时间
2007-6-16
帖子
160
6
 楼主| 发表于 2007-12-18 05:33:31 | 只看该作者
已经完全解决,谢谢!
在self.damage上加了一条件分歧,
      if self.hp >= 10000
      self.damage = [self.damage,1000].max
    else
      self.damage = self.hp / 10
      end
这样的话当敌人大于10000血毒1000,小于10000血毒HP的1/10了。
第2个也已经解决,用的仍然是分歧,当96变量小于等于9996时,96变量加3。也就是偷到3333下时盗贼证明可以造成9999伤害,9999之后再偷变量便不再增长了。
巧合的是由于设置的是偷一下伤害变量加3,刚好9996能被3整除,呵呵,很好!
喜欢玩游戏,更喜欢自己做游戏
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-6-22 06:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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