Project1
标题:
随机获得道具
[打印本页]
作者:
feizhaodan
时间:
2011-9-3 23:47
标题:
随机获得道具
本帖最后由 feizhaodan 于 2011-9-3 23:54 编辑
本人脚本第四弹:
#============================================================================
# 囧 随机获得道具
# 制作:feizhaodan
# 版本号:1.0.0(这个也不会动了(笑))
#============================================================================
#==============================================================================
# ■ Random_Got
#------------------------------------------------------------------------------
# 随机获取道具的设置页。
#==============================================================================
module Random_Got
Item_List = {} # ←请不要动这个。
# 在这里开始设置随机道具表
# 格式:Item_List[id] = [[kind, gid, num, per],...]
# ID是执行随机的道具ID
# kind 是获得的道具的种类
# gid 是获得的道具的ID
# num 是获得的道具的数量
# per 是获得的几率。实际几率为所有道具的几率分之per
# 有几个道具就写几个内容。
Item_List[21] = [[0, 6, 1, 25], [1, 25, 1, 25], [2, 1, 5, 50]]
end
#囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# 执行事件命令的解释器。本类在 Game_Map 类、Game_Troop 类、与
# Game_Event 类的内部使用。
#==============================================================================
class Game_Interpreter
alias random_command_126 command_126
#--------------------------------------------------------------------------
# ● 增减物品
#--------------------------------------------------------------------------
def command_126
if Random_Got::Item_List.include?(@params[0])
got_random_item
else
random_command_126
end
end
#--------------------------------------------------------------------------
# ● 计算获取随机道具
#--------------------------------------------------------------------------
def got_random_item
list = Random_Got::Item_List[@params[0]].clone
range = []
max = list.size
per = 0
num = 0
for i in list
per += i[3]
range[num] = per
num += 1
end
rand_num = (rand(per) + 1)
p rand_num
for i in 0...max
if rand_num <= range[i]
got_in_list = i
break
end
end
_list = list[got_in_list]
case _list[0]
when 0
item = $data_weapons[_list[1]]
when 1
item = $data_armors[_list[1]]
when 2
item = $data_items[_list[1]]
end
value = _list[2]
$game_party.gain_item(item, value)
end
end
复制代码
用法:在开头的设置里设置玩了之后,在游戏中用增减道具,把道具调成你设置的。注意,在这里设置的增加或减少没有用。
好了,本人的脚本第四弹就这样闭幕了。
PS:突然发现,我做的没有一个很闪亮的啊...
PS2:发了之后才发现已经有相似的。假如有问题的话PM下,我删。
PS3:在写东西时很会想用这个PS对吧?
作者:
fux2
时间:
2011-9-3 23:53
其实实现这个,10行以内代码足矣,还可以直接用道具注释。
作者:
summer92
时间:
2011-9-5 22:53
支持LZ啊,直白也没什么不好
作者:
一瞬间的幻觉
时间:
2012-10-17 04:33
还是不错了,就和楼上说的一样,表达简单,易于理解
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1