Project1

标题: VX 随机属性与扩张掉落物品 有冲突 [打印本页]

作者: rao125    时间: 2013-5-29 12:11
标题: VX 随机属性与扩张掉落物品 有冲突
本帖最后由 rao125 于 2013-6-2 17:03 编辑

工程里面有扩张掉落物品脚本,这个很好,可以避免敌人很多都是一样的,但是我又想掉落的物品,有属性,就加入了随机属性脚本,发现掉落的物品没有属性,单独使用脚本,是正常的。把扩张掉落物品脚本放在随机属性前面,就失去作用了,这2个脚本有冲突,求助高手解决冲突的问题。
7777.rar (754.96 KB, 下载次数: 94)
作者: 彭格列第XI代    时间: 2013-5-29 22:48


新插入脚本或替换【扩张掉落物品】最后的【Game_Troop】脚本。
  1. #==============================================================================
  2. # ■ Game_Troop
  3. #==============================================================================
  4. class Game_Troop < Game_Unit
  5.   alias make_drop_items_KGC_ExtraDropItem make_drop_items
  6.   LETTER_TABLE = [ 'A','B','C','D','E','F','G','H','I','J',
  7.                    'K','L','M','N','O','P','Q','R','S','T',
  8.                    'U','V','W','X','Y','Z']
  9.                   
  10.   def make_drop_items
  11.    drop_items = make_drop_items_KGC_ExtraDropItem
  12.    for enemy in dead_members
  13.      for di in enemy.extra_drop_items
  14.        next if di.kind == 0
  15.        if di.drop_prob > 0
  16.        # 概率指定
  17.          next if di.drop_prob < rand(100)
  18.        else
  19.        # 分母指定
  20.          next if rand(di.denominator) != 0
  21.        end
  22.        if di.kind == 1
  23.        drop_items.push($base_items[di.item_id])
  24.        elsif di.kind == 2
  25.        drop_items.push($base_weapons[di.weapon_id])
  26.        elsif di.kind == 3
  27.        drop_items.push($base_armors[di.armor_id])
  28.        end
  29.       end
  30.      end
  31.     return drop_items
  32.    end
  33.   #--------------------------------------------------------------------------
  34.   # ● 生成掉落物品队列
  35.   #--------------------------------------------------------------------------
  36.   def make_drop_items
  37.     drop_items = []
  38.     for enemy in dead_members
  39.       for di in [enemy.drop_item1, enemy.drop_item2]
  40.         next if di.kind == 0
  41.         next if rand(di.denominator) != 0
  42.         if di.kind == 1
  43.           drop_items.push($data_items[di.item_id])
  44.         elsif di.kind == 2
  45.           item = reini_chance($base_weapons[di.weapon_id], $game_party.equip_chance)
  46.           drop_items.push(item)
  47.         elsif di.kind == 3
  48.           item = reini_chance($base_armors[di.armor_id], $game_party.equip_chance)
  49.           drop_items.push(item)
  50.         end
  51.       end
  52.     end
  53.     return drop_items
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 处理极品爆率
  57.   #--------------------------------------------------------------------------
  58.   def reini_chance(item, chance)
  59.     @item = item
  60.     [url=home.php?mod=space&uid=115736]@Chance[/url] = [chance/100.0, Game_Equip::Equip_Chance[1]/100.0].min
  61.     [url=home.php?mod=space&uid=322055]@gifts[/url] = []
  62.     loop do
  63.       if rand(0) < @chance and @gifts.size < Game_Equip::GiftMax
  64.         @gifts << Game_Gift.new
  65.         @chance /= 2
  66.       else
  67.         return Game_Equip.reini(@item, @gifts)
  68.       end
  69.     end
  70.   end
  71. end
复制代码

作者: rao125    时间: 2013-5-30 00:56
本帖最后由 rao125 于 2013-5-30 01:01 编辑
彭格列第XI代 发表于 2013-5-29 22:48
新插入脚本或替换【扩张掉落物品】最后的【Game_Troop】脚本。

先谢谢大大的帮忙,晚上试了下,不论我是替换原先的物品掉落扩张脚本Game_Troop,还是新建脚本插进去,都会显示错误。这是新插入的脚本,错误的都是同一行。
作者: rao125    时间: 2013-5-30 15:12
rao125 发表于 2013-5-30 00:56
先谢谢大大的帮忙,晚上试了下,不论我是替换原先的物品掉落扩张脚本Game_Troop,还是新建脚本插进去,都 ...

pan点baidu点com/share/link?shareid=524137&uk=3828773415

居然没有权发链接。最近才开始迷恋上RPG的,辛苦大大了。




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