Project1
标题:
如何设置角色死亡后物品掉在原处?
[打印本页]
作者:
t64744901
时间:
2015-8-22 12:29
标题:
如何设置角色死亡后物品掉在原处?
本帖最后由 t64744901 于 2015-8-22 12:45 编辑
如何设置角色死亡后物品掉在原处?
在论坛上暂时未找到。于是做伸手党。
个人认为主要是事件这块卡了。
12:42分更新
也可以用一个脚本指令来使角色物品掉落在脚下。
作者:
xjzsq
时间:
2015-8-22 12:37
本帖最后由 xjzsq 于 2015-8-22 13:08 编辑
那么的话,
再问一下,
是角色在固定位置死亡时才会掉物品,(例如打某个BOSS)
还是全地图?
如果是前者,
你在哪里设置一个事件(在人物下方),
当人物死亡时,将所有物品都去掉,
数量记下来(用变量,有点麻烦),
之后就新建事件页,
换成与人物同层,
设置成加物品(用刚刚的变量,有点麻烦),,就OK了。
全地图的话,就把事件复制粘贴到地图里,复制满能死的位置!!!
作者:
喵呜喵5
时间:
2015-8-22 12:45
http://himeworks.com/2013/03/28/corpse-retrieval/
死的时候执行事件脚本
create_party_corpse
复制代码
来把当前的东西扔到地上
作者:
Silentever
时间:
2015-8-23 02:18
http://himeworks.com/2013/03/28/corpse-retrieval/
那就改成掉落道具用的吧,注意插入顺序
module TH
module Corpse_Retrieval
Lose_Normal_Items = true # 是否丢失消耗道具
Lose_Key_Items = false # 是否丢失贵重道具
Lose_Weapons = true # 是否丢失武器
Lose_Armors = true # 是否丢失防具
Include_Equiped = true # (丢失装备时)是否包括装备中的装备
def self.setup_event_commands(corpse_items, list)
list << RPG::EventCommand.new(101, 0, ["", 0, 0, 2])
list << RPG::EventCommand.new(401, 0, ["Corpse retrieved"])
corpse_items[:item].each do |id, amount|
list << RPG::EventCommand.new(126, 0, [id, 0, 0, amount, false]); end
corpse_items[:weapons].each do |id, amount|
list << RPG::EventCommand.new(127, 0, [id, 0, 0, amount, false]); end
corpse_items[:armors].each do |id, amount|
list << RPG::EventCommand.new(128, 0, [id, 0, 0, amount, false]); end
list << RPG::EventCommand.new("delete_corpse_event")
list << RPG::EventCommand.new
end
end
end
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
corpse_items[item.id] = item_number(item)
lose_item(item, item_number(item)); end
return corpse_items
end
def collect_party_weapons
corpse_weapons = {}
weapons.each do |item|
corpse_weapons[item.id] = item_number(item)
lose_item(item, item_number(item)); end
return corpse_weapons
end
def collect_party_armors
corpse_armors = {}
armors.each do |item|
corpse_armors[item.id] = item_number(item)
lose_item(item, item_number(item)); end
return corpse_armors
end
def collect_corpse_items
corpse_items = {}
corpse_items[:item] = collect_party_items
corpse_items[:weapons] = collect_party_weapons if TH::Corpse_Retrieval::Lose_Weapons
corpse_items[:armors] = collect_party_armors if TH::Corpse_Retrieval::Lose_Armors
corpse_items
end
def create_party_corpse
$game_party.members.each {|member| member.clear_equipments} if TH::Corpse_Retrieval::Include_Equiped
corpse_items = collect_corpse_items
return corpse_items
end
end
复制代码
作者:
alexncf125
时间:
2020-8-11 09:38
Silentever 发表于 2015-8-23 02:18
那就改成掉落道具用的吧,注意插入顺序
大大您好,您写的这个扩充脚本很赞喔,感谢。
然而我觉得module各项 = true后,会把该项的东西全部掉光好像不太好,
能不能改成是在create_party_corpse后方加上几个参数,
例如create_party_corpse(25,0,10,15,true/false)
可以在有4个物品时丢失随机的1个物品,
有20个武器时丢失随机的2个武器,
有100个防具时丢失随机的15个防具
true/false控制在丢失装备时,是否包括装备中的装备
这样子的效果好像更好,大大觉得呢?
作者:
yxd5108
时间:
2022-6-12 21:16
Silentever 发表于 2015-8-23 02:18
那就改成掉落道具用的吧,注意插入顺序
这个mz能用吗?》能不能?
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1