Project1
标题:
物品种类限制数量(负重限制)
[打印本页]
作者:
westbugs
时间:
2008-7-2 22:07
标题:
物品种类限制数量(负重限制)
按物品种类限制数量的修改方法.
例: 只许带四种药品的情况下,如负重限制
药品 = {"小回复药","中回复药","大回复药","特大回复药"}
组合任挑,限带三瓶.
那以下的脚本可能帮得上.
注: 回应yangli2005的帖子
#==============================================================================
# 作者: westbugs
#------------------------------------------------------------------------------
# 回应yangli2005
#
# 按物品种类限制数量的修改方法.
# 例: 只许带四种药品的情况下
# 药品 = {"A","B","C","D"}
# 组合任挑
#==============================================================================
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● 增加物品(减少)
# item : 物品
# n : 个数
# include_equip : 包括装备
#--------------------------------------------------------------------------
def gain_item(item, n, include_equip = false)
number = item_number(item)
case item
when RPG::Item
@items[item.id] = [[number + n, 0].max, 99].min
when RPG::Weapon
@weapons[item.id] = [[number + n, 0].max, 99].min
when RPG::Armor
@armors[item.id] = [[number + n, 0].max, 99].min
end
n += number
if include_equip and n < 0
for actor in members
while n < 0 and actor.equips.include?(item)
actor.discard_equip(item)
n += 1
end
end
end
#插入处, 道具种类 = {"1","2","3","4"}
temp = $game_party.item_no(1) + $game_party.item_no(2) + $game_party.item_no(3) + $game_party.item_no(4)
if temp >3
$game_party.lose_item(item,1)
end
#插入处, 道具种类 = {"1","2","3","4"}
end
end
class Game_Party < Game_Unit
def item_no(n)
return item_number($data_items[n])
end
end
复制代码
改中间描述那一段就好了
作者:
越前リョーマ
时间:
2008-7-2 23:13
感觉用途不明确……
作者:
westbugs
时间:
2008-7-2 23:49
恩, 其实是回应yangli2005的帖子.感觉上yangli2005的构想是如下:
角色最大负重是3KG,总共有四个瓶子,一个瓶子重1KG, 载满3瓶后就不能再拿多余的瓶子了.
只是KG换成药品, 武器和 素材.
如盗墓游戏里, 玩者只能拿三颗夜光珠, 六枚玛瑙石,否则被诅咒.
这构想蛮有趣, 虽然我的游戏暂时不会用到(所以之前都是废话{/ll}).
作者:
越前リョーマ
时间:
2008-7-2 23:53
那怎么不直接开发一个负重系统呢……
作者:
westbugs
时间:
2008-7-3 00:35
写完, 测好后要更改. 感觉自由度太弱
#==============================================================================
# 作者: westbugs
#------------------------------------------------------------------------------
# 回应越前リョーマ
#
# 更改重量,预设值=10
#==============================================================================
class Game_Party < Game_Unit
#更改重量,预设值=10
def weight
return 10
end
#--------------------------------------------------------------------------
# ● 增加物品(减少)
# item : 物品
# n : 个数
# include_equip : 包括装备
#--------------------------------------------------------------------------
def gain_item(item, n, include_equip = false)
number = item_number(item)
case item
when RPG::Item
@items[item.id] = [[number + n, 0].max, 99].min
when RPG::Weapon
@weapons[item.id] = [[number + n, 0].max, 99].min
when RPG::Armor
@armors[item.id] = [[number + n, 0].max, 99].min
end
n += number
if include_equip and n < 0
for actor in members
while n < 0 and actor.equips.include?(item)
actor.discard_equip(item)
n += 1
end
end
end
temp = 0
for i in 1..99
temp += $game_party.item_no(i)
end
if temp >weight
$game_party.lose_item(item,1)
end
end
end
class Game_Party < Game_Unit
def item_no(n)
return item_number($data_items[n])
end
end
复制代码
作者:
越前リョーマ
时间:
2008-7-3 02:34
……
话说负重系统应该是一个变量当作负重最大数值……
然后每个物品拥有一个重量吧……
作者:
hide秀
时间:
2008-7-6 05:14
{/cy}每个物品一个重量~有意思
回头去写个负重系统XP版的~{/wx}
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1