Project1
标题:
全部清空=>清除随机数量
[打印本页]
作者:
alexncf125
时间:
2020-9-4 12:01
标题:
全部清空=>清除随机数量
本帖最后由 alexncf125 于 2024-1-25 01:48 编辑
第一个脚本, 我把"全部数量"改成了"部分+随机数量"
如何在第二个脚本里重现呢??
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/forum.php?mod=r ... amp;fromuid=2652223
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
复制代码
第二个脚本出自
https://rpg.blue/thread-385044-1-1.html
作者:
alexncf125
时间:
2020-9-5 10:12
別沉
顶一下
作者:
alexncf125
时间:
2020-9-5 23:17
已自行解決, 原来挺简单的说...
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1