| 
 
| 赞 | 160 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 273 |  
| 经验 | 0 |  
| 最后登录 | 2025-10-31 |  
| 在线时间 | 5455 小时 |  
 Lv5.捕梦者 
	梦石0 星屑27250 在线时间5455 小时注册时间2016-3-8帖子1684 | 
| 
本帖最后由 alexncf125 于 2024-1-25 01:48 编辑
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  
 第一个脚本, 我把"全部数量"改成了"部分+随机数量"
 如何在第二个脚本里重现呢??
 
 第一个脚本出自https://rpg.blue/forum.php?mod=r ... amp;fromuid=2652223复制代码class Game_Party < Game_Unit
  
  def collect_party_items
    corpse_items = {}
    items.each do |item|
      if item.key_item?
        next unless TH::Corpse_Retrieval::Lose_Key_Items
      else
        next unless TH::Corpse_Retrieval::Lose_Normal_Items
      end
      
      #这里开始
      rand_item_number_item = item_number(item) / (10 / 3.0) + rand(item_number(item) / 10) - item_number(item) / 20
      rand_item_number_item = rand_item_number_item.to_i
      corpse_items[item.id] = rand_item_number_item
      lose_item(item, rand_item_number_item)
      #到这里
    end
    return corpse_items
  end
  
  def collect_corpse_items
    corpse_items = {}
    corpse_items[:item]    = collect_party_items
    corpse_items
  end
  
  def create_party_corpse
    corpse_items = collect_corpse_items
    return corpse_items
  end
  
end
 
 第二个脚本出自https://rpg.blue/thread-385044-1-1.html复制代码class wonderful < Game_Event
  def initialize
    map_id = $game_map.map_id    
    map = load_data(sprintf("Data/Map%03d.rvdata2", Poo::Map_ID))
    event = map.events[Poo::Event_ID]
    super(map_id,event)
    @map_id = map_id
    @event = event
    @id = $game_map.wonderful[map_id].size + 1000 rescue 1000
    moveto($game_player.x, $game_player.y)       
    refresh
    
    
    @gold = $game_party.gold
    $game_party.gold = 0
    
    
    @items = $game_party.items2.dup
    @weapons = $game_party.weapons2.dup
    @armors = $game_party.armors2.dup
    
    
    @items.delete_if {|k, v|
      $data_items[k].note.include?(Poo::Pen)}
    $game_party.items2.delete_if {|k, v| !$data_items[k].note.include?(Poo::Pen)}
    
    @weapons.delete_if {|k, v| $data_weapons[k].note.include?(Poo::Pen)}
    $game_party.weapons2.delete_if {|k, v| !$data_weapons[k].note.include?(Poo::Pen)}
    
    @armors.delete_if {|k, v| $data_armors[k].note.include?(Poo::Pen)}
    $game_party.armors2.delete_if {|k, v| !$data_armors[k].note.include?(Poo::Pen)}   
    
    
    $game_party.members.each {|actor|
      temp = actor.weapons.collect {|item| item.id unless item.note.include?(Poo::Pen)}
      temp.delete(nil)
      temp2 = {}
      temp.each {|id| temp2[id] ||= 0 ; temp2[id] += 1}
      @weapons.merge!(temp2) {|k, v1, v2| v1+v2}
      
      temp = actor.armors.collect {|item| item.id unless item.note.include?(Poo::Pen)}
      temp.delete(nil)
      temp2 = {}
      temp.each {|id| temp2[id] ||= 0 ; temp2[id] += 1}
      @armors.merge!(temp2) {|k, v1, v2| v1+v2}
      
      actor.equips2.each_with_index {|equip, index| 
        actor.equips2[index].object = nil unless equip.object.note.include?(Poo::Pen) if equip.object}
    } if Poo::Grandpa
    
    
    $game_map.wonderful[map_id] ||= []
    $game_map.wonderful[map_id].push self
    $game_map.events[@id] = self
    SceneManager.scene.spriteset.refresh_characters if SceneManager.scene.spriteset
  end
  def gold
    @gold
  end
  def items
    @items
  end
  def weapons
    @weapons
  end
  def armors
    @armors
  end
end
class Game_Party
  attr_accessor :gold
  attr_accessor :gameover
  def items2
    @items
  end
  def weapons2
    @weapons
  end
  def armors2
    @armors
  end
end
 | 
 |