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

Project1

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

战斗特殊效果中的偷窃:如何让偷窃提示变慢一些?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
90
在线时间
216 小时
注册时间
2007-9-5
帖子
370
跳转到指定楼层
1
发表于 2008-8-22 18:58:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
偷到东西或没偷到都会出现一个提示,如何让这个提示框多停顿几秒钟?


战斗特殊效果
http://rpg.blue/web/htm/news184.htm



  1. #===================================================
  2. #レアアイテムの指定 
  3. #エネミーネームに -r種類 ID 個数(-na 10 10) と入れて指定。
  4. #種類は、i(アイテム) w(武器) a(防具)のいずれか一つ
  5. #個数は省略可能、自動で1扱い。
  6. #また、ドロップアイテムと同一にしたい場合は
  7. #エネミーネームに -rd 個数(-nd 2) と入れて指定。
  8. #個数は省略可能、自動で1扱い。
  9. #===================================================

  10. def rare_item
  11. return get_item_from_name("r")#オプション"r"の文字列から取得
  12. end

  13. #===================================================
  14. #*Nameからアイテムを抜き出す処理
  15. #===================================================
  16. def get_item_from_name(opt)
  17. names = $data_enemies[@enemy_id].name.split(/-/)
  18. if names.size > 1
  19. for i in 1...names.size
  20. if names[i][0,1] != opt
  21. next
  22. end

  23. names[i].sub!(/^.(.*)/){$1}
  24. ary = names[i].split(/ /)

  25. if ary[0][0,1] == "g"
  26. cgy = "g"
  27. id = 0
  28. if ary[1].nil?
  29. ary[1] = "1"
  30. elsif ary[1].sub!(/^([0-9]+)/){$1}.nil?
  31. ary[1] = "1"
  32. end
  33. possession = {"Category"=>cgy, "ID"=>id, "Num"=>ary[1].to_i}
  34. return possession

  35. elsif ary[0][0,1] == "d"
  36. cgy = ""
  37. id = 0
  38. if self.item_id != 0
  39. cgy = "i"
  40. id = self.item_id
  41. elsif self.weapon_id != 0
  42. cgy = "w"
  43. id = self.weapon_id
  44. elsif self.armor_id != 0
  45. cgy = "a"
  46. id = self.armor_id
  47. else
  48. return nil
  49. end

  50. if ary[1].nil?
  51. ary[1] = "1"
  52. elsif ary[1].sub!(/^([0-9]+)/){$1}.nil?
  53. ary[1] = "1"
  54. end
  55. possession = {"Category"=>cgy, "ID"=>id, "Num"=>ary[1].to_i}
  56. return possession

  57. elsif !ary[0].sub!(/^([iwa])/){$1}.nil? && !ary[1].sub!(/^([0-9]+)/){$1}.nil?
  58. if ary[2].nil? || ary[2].sub!(/^([0-9]+)/){$1}.nil?
  59. ary[2] = "1"
  60. end
  61. possession = {"Category"=>ary[0], "ID"=>ary[1].to_i, "Num"=>ary[2].to_i}
  62. return possession

  63. end
  64. end
  65. end
  66. return nil
  67. end

  68. #===================================================
  69. #スティールエフェクト
  70. #===================================================

  71. def steal_effect(user, skill) # 引数skillを追加

  72. pos = self.normal_item

  73. if !@item_possession || pos.nil?
  74. @effect_message = "没有东西可偷。"
  75. #self.damage = "Miss"
  76. return false
  77. end

  78. #盗み成功判定 アジリティが同一で50%、2倍で100%
  79. if rand(100) <= ((user.agi+0.01)/(self.agi+0.01))*100/2
  80. r_pos = self.rare_item
  81. #レアアイテム判定
  82. if !r_pos.nil? && rand(10) <= 1
  83. pos = r_pos
  84. end

  85. case pos["Category"]
  86. when "i"
  87. item = $data_items[pos["ID"]]
  88. if item.nil?
  89. print "这个物品不存在!"
  90. return false
  91. end
  92. $game_party.gain_item(item.id, pos["Num"])
  93. when "w"
  94. item = $data_weapons[pos["ID"]]
  95. if item.nil?
  96. print "这个物品不存在!"
  97. return false
  98. end
  99. $game_party.gain_weapon(item.id, pos["Num"])
  100. when "a"
  101. item = $data_armors[pos["ID"]]
  102. if item.nil?
  103. print "这个物品不存在!"
  104. return false
  105. end
  106. $game_party.gain_armor(item.id, pos["Num"])
  107. when "g"
  108. # ゴールド獲得
  109. $game_party.gain_gold(pos["Num"])
  110. end

  111. if pos["Category"] == "g"
  112. @effect_message = "#{pos["Num"]}#{$data_system.words.gold}偷到!"
  113. else
  114. @effect_message = "#{item.name}#{pos["Num"]}个偷到!"
  115. end
  116. @item_possession = false

  117. self.damage = "Steal!" if self.damage == "Miss"
  118. return true
  119. else
  120. @effect_message = "没有东西可偷???"
  121. #self.damage = "Miss
  122. return false
  123. end

  124. return false # 念のためfalse返す処理追加
  125. # 多分なくてもifの結果(false)が返ると思うけど…
  126. end
  127. end
复制代码

版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
2
发表于 2008-8-22 19:13:04 | 只看该作者
@wait_count = 20
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
216 小时
注册时间
2007-9-5
帖子
370
3
 楼主| 发表于 2008-8-22 19:25:03 | 只看该作者
这么加??

case pos["Category"]
when "i"
item = $data_items[pos["ID"]]
if item.nil?
print "这个物品不存在!"
@wait_count = 20
return false
end
$game_party.gain_item(item.id, pos["Num"])
when "w"
item = $data_weapons[pos["ID"]]
if item.nil?
print "这个物品不存在!"
@wait_count = 20
return false
end
$game_party.gain_weapon(item.id, pos["Num"])
when "a"
item = $data_armors[pos["ID"]]
if item.nil?
print "这个物品不存在!"
@wait_count = 20
return false
end
$game_party.gain_armor(item.id, pos["Num"])
when "g"
# ゴールド獲得
$game_party.gain_gold(pos["Num"])
@wait_count = 20
end


回复 支持 反对

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
4
发表于 2008-8-22 19:45:40 | 只看该作者
我也不太清楚,没测试

应该在显示前添加吧~! 、

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-28 03:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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