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

Project1

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

[已经解决] 囧...简易偷窃脚本怎么会这样~

 关闭 [复制链接]

Lv3.寻梦者

梦石
0
星屑
3078
在线时间
764 小时
注册时间
2008-7-5
帖子
760
跳转到指定楼层
1
发表于 2009-7-21 00:11:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
用原来的脚本...一个怪就可以无限偷取


  1. #==============================================================================
  2. #  简易偷盗系统 By 绿发的Eclair
  3. #------------------------------------------------------------------------------
  4. #  在数据库中设定一个叫“偷盗”的属性,让想要做偷盗效果的技能附带这个属性
  5. #  就可以了*^_^*
  6. #  
  7. #  $偷盗属性名 :       数据库中偷盗属性的名字
  8. #  $偷盗几率修正:      偷盗成功率修正
  9. #  $不可偷盗敌人:      在这个数组中的敌人不能被偷盗,用于一些掉落唯一物品的敌人。
  10. #  数组中两个元素间要用英文半角逗号隔开~~~
  11. #  $偷盗失败孙数HP比例:偷盗失败时角色HP的减少量和最大HP的比例,为0就是不减少。
  12. #==============================================================================
  13. $偷盗属性名 = "偷盗"
  14. $偷盗几率修正 = 0.5
  15. $不可偷盗敌人 = [2]
  16. $偷盗失败损失HP比例 = 0.01
  17. class Game_Party
  18. attr_accessor :items
  19. attr_accessor :weapons
  20. attr_accessor :armors
  21. end
  22. class Scene_Battle
  23.   attr_accessor :help_window
  24.   #改名法重定义特技效果
  25.   alias update_phase4_step5_Eclairsteal :update_phase4_step5
  26.   def update_phase4_step5
  27.     if @active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].element_set.include?($data_system.elements.index($偷盗属性名)) and @active_battler.is_a?(Game_Actor)
  28.      for target in @target_battlers
  29.       next if target.is_a?(Game_Actor)
  30.      target.damage = "" if target.damage == "Miss"
  31.      if (target.item_id == 0 and target.weapon_id == 0 and target.armor_id == 0) or ($不可偷盗敌人.include?(target.id))
  32.      #帮助窗口显示"没有可偷盗的物品",对齐方式为中间对齐
  33.       @help_window.set_text("没有可偷盗的物品",1)
  34.       for i in 0...20
  35.       Graphics.update
  36.       @help_window.update
  37.       @spriteset.update
  38.       end
  39.      #直接结束
  40.       next
  41.      end
  42.     final = (@active_battler.dex.to_f + @active_battler.agi.to_f) / (target.dex.to_f + target.agi.to_f)
  43.     final *= target.treasure_prob
  44.     final *= $偷盗几率修正
  45.     final = final.round
  46.     if rand(100) < final
  47.       if target.item_id != 0
  48.       $game_party.gain_item(target.item_id,1)
  49.       text = "偷得:" + $data_items[target.item_id].name
  50.       end
  51.       if target.weapon_id != 0
  52.       $game_party.gain_weapon(target.weapon_id,1)
  53.       text = "偷得:" + $data_weapons[target.weapon_id].name
  54.       end
  55.       if target.armor_id != 0
  56.       $game_party.gain_armor(target.armor_id,1)
  57.       text = "偷得:" + $data_armors[target.armor_id].name
  58.       end
  59.       @help_window.set_text(text,1)
  60.       for i in 0...20
  61.       Graphics.update
  62.       @help_window.update
  63.       @spriteset.update
  64.       end
  65.     else  
  66.       @help_window.set_text("偷盗失败",1)
  67.       @active_battler.hp -= (@active_battler.maxhp * $偷盗失败损失HP比例).round
  68.       for i in 0...20
  69.       Graphics.update
  70.       @help_window.update
  71.       @spriteset.update
  72.       end
  73.     end
  74.   end
  75. end
  76.   update_phase4_step5_Eclairsteal
  77.   end
  78. end
  79. #==============================================================================
  80. # 简易偷盗系统 By 绿发的Eclair
  81. #==============================================================================
复制代码



用下面这个修改的,数据库和脚本这些其他的都没动...战斗中又没有偷取效果...一直在MISS~

  1. #==============================================================================
  2. # 简易偷盗系统 By 绿发的Eclair
  3. #------------------------------------------------------------------------------
  4. # 在数据库中设定一个叫“偷盗”的属性,让想要做偷盗效果的技能附带这个属性
  5. # 就可以了*^_^*
  6. #
  7. # $偷盗属性名 : 数据库中偷盗属性的名字
  8. # $偷盗几率修正: 偷盗成功率修正
  9. # $不可偷盗敌人: 在这个数组中的敌人不能被偷盗,用于一些掉落唯一物品的敌人。
  10. # 数组中两个元素间要用英文半角逗号隔开~~~
  11. # $偷盗失败损失P比例:偷盗失败时角色HP的减少量和最大HP的比例,为0就是不减少。
  12. #==============================================================================
  13. #==============================================================================
  14. # 简易偷盗系统加強 By snstar2006
  15. #------------------------------------------------------------------------------
  16. # 加强部分
  17. # 1. 偷盗後物品就会归零。
  18. # 2. 四格掉宝设置的宝物无法偷盗。
  19. # 3. 用探查技能可以看见能够偷得到的宝物。
  20. # 4. 增加偷取金钱的功能。
  21. # 5. 金钱只能偷取一次,偷窃後便无法在战斗结束时获得。
  22. # 6. $偷盗金钱的机率:偷取时所得到的是物品还是金钱的机率。
  23. # 7. 不想被偷的掉落物就用四格掉宝来掉落。
  24. # 数据库设置的掉落物不会掉落。
  25. # 8. 增加了修改敌人掉落物品时的方法,调用$game_enemy.item_id、.weapon_id、
  26. # .armor_id 和 .gold 时要注意。
  27. # 这是考虑到像仙剑的
  28. #==============================================================================
  29. $偷盗属性名 = "偷盜"
  30. $偷盗几率修正 = 0.5
  31. $不可偷盗敌人 = [2]
  32. $偷盗失败损失HP比例 = 0.01
  33. $偷盗金钱的机率 = 50 # 百分比
  34. class Game_Party
  35. attr_accessor :items
  36. attr_accessor :weapons
  37. attr_accessor :armors
  38. end
  39. class Scene_Battle
  40. attr_accessor :help_window
  41. #改名法重定义特技效果
  42. alias update_phase4_step5_Eclairsteal :update_phase4_step5
  43. def update_phase4_step5
  44. if @active_battler.current_action.kind == 1 and $data_skills[@active_battler.current_action.skill_id].element_set.include?($data_system.elements.index($偷盗属性名)) and @active_battler.is_a?(Game_Actor)
  45. for target in @target_battlers
  46. next if target.is_a?(Game_Actor)
  47. target.damage = "" if target.damage == "Miss"
  48. if (target.item_id == 0 and target.weapon_id == 0 and
  49. target.armor_id == 0 and target.gold == 0) or ($不可偷盗敌人.include?(target.id))
  50. #帮助窗口显示"没有可偷盗的物品",对齐方式为中间对齐
  51. @help_window.set_text("没有可偷盗的物品",1)
  52. for i in 0...20
  53. Graphics.update
  54. @help_window.update
  55. @spriteset.update
  56. end
  57. #直接结束
  58. next
  59. end
  60. final = (@active_battler.dex.to_f + @active_battler.agi.to_f) / (target.dex.to_f + target.agi.to_f)
  61. final *= target.treasure_prob
  62. final *= $偷盗几率修正
  63. final = final.round
  64. if rand(100) < final
  65. if (rand(100) < $偷盗金钱的机率)
  66. if target.item_id != 0
  67. $game_party.gain_item(target.item_id,1)
  68. text = "偷得:" + $data_items[target.item_id].name
  69. target.item_id = 0
  70. end
  71. if target.weapon_id != 0
  72. $game_party.gain_weapon(target.weapon_id,1)
  73. text = "偷得:" + $data_weapons[target.weapon_id].name
  74. target.weapon_id = 0
  75. end
  76. if target.armor_id != 0
  77. $game_party.gain_armor(target.armor_id,1)
  78. text = "偷得:" + $data_armors[target.armor_id].name
  79. target.armor_id = 0
  80. end
  81. else
  82. if target.gold != 0
  83. $game_party.gain_gold(target.gold)
  84. text = "偷得:" + target.gold.to_s + " " +$data_system.words.gold
  85. target.gold = 0
  86. end
  87. end
  88. @help_window.set_text(text,1)
  89. for i in 0...20
  90. Graphics.update
  91. @help_window.update
  92. @spriteset.update
  93. end
  94. else
  95. @help_window.set_text("偷盗失败",1)
  96. @active_battler.hp -= (@active_battler.maxhp * $偷盗失败损失HP比例).round
  97. for i in 0...20
  98. Graphics.update
  99. @help_window.update
  100. @spriteset.update
  101. end
  102. end
  103. end
  104. end
  105. update_phase4_step5_Eclairsteal
  106. end
  107. end
  108. class Game_Enemy < Game_Battler
  109. def item_id=(id)
  110. $data_enemies[@enemy_id].item_id = id
  111. end
  112. def weapon_id=(id)
  113. $data_enemies[@enemy_id].weapon_id = id
  114. end
  115. def armor_id=(id)
  116. $data_enemies[@enemy_id].armor_id = id
  117. end
  118. def gold=(g)
  119. $data_enemies[@enemy_id].gold = g
  120. end
  121. end
  122. #==============================================================================
  123. # 简易偷盗系统 By 绿发的Eclair
  124. #==============================================================================
复制代码


tell  me why~
阿姨我还未填平坑.....
自己是“擅长美工的笨蛋策划在干着程序的活”
  

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
2
发表于 2009-7-21 00:33:49 | 只看该作者
测试正常,至于你说没有效果,是因为
$偷盗属性名 = "偷盜"
中的偷盗的盜是繁体字,所以不会出现效果~
只需将其改成简体即可~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3078
在线时间
764 小时
注册时间
2008-7-5
帖子
760
3
 楼主| 发表于 2009-7-21 00:35:54 | 只看该作者
那路或多!!!谢谢~~~~~~
阿姨我还未填平坑.....
自己是“擅长美工的笨蛋策划在干着程序的活”
  
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-17 03:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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