查看: 7867|回复: 10

[RMVA发布] 【生活技能】【物品制造】【数据库】【模板】

[复制链接]
梦石
0
星屑
1394
在线时间
989 小时
注册时间
2011-5-11
回帖
418
发表于 2014-12-3 23:07:17 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 345912390 于 2014-12-7 08:24 编辑

游戏 物品制造,高手可以路过了!
注意:这个模板需要自己写一个分类文件 和一个配方列表文件。
【物品制造模板】以为数据文件生成示例
[fold=数据文件生成示例]=begin
#===============================================================================
#加工类型列表数据文件生成示例
#===============================================================================
$data_maker_type = []
type_id=0
#===============================================================================
#矿石加工列表[1-20]
#===============================================================================
Types=RPG::Maker_Type.new
Types.icon_index =11
Types.id=0
type_id+=1
Types.name="矿石加工"
Types.description="    加工系技能之一,可以把原矿加工成矿锭\n或宝石。"
Types.type_arr=["矿石加工","宝石加工"]
for i in 1..10
  Types.learnings.push(RPG::Maker_Type::Learning.new(i,i))#矿锭【1-10】
  Types.learnings.push(RPG::Maker_Type::Learning.new(i,10+i))#宝石【11-20】
end
$data_maker_type.push(Types)
#===============================================================================
save_data($data_maker_type,"Data/Maker_Type.rvdata2")
exit
=end

=begin
#===============================================================================
#配方列表数据文件生成示例
#===============================================================================
#配方材料列表
#kind类别:
#[0]:物品
#[1]:武器
#[2]:防具
#RPG::Maker_List::ItemArray.new(类别,DI,数量,千分比)
#===============================================================================
Arr_Exp=[5,10,30,80,140,210,400,600,750,1750]
$Lists_id=0
#===============================================================================
#扇【101-110】=矿锭*4+丝绸*4
#===============================================================================
Arr_Name=["折扇","乌木扇","白羽扇","玉骨扇","清风扇","松风扇","朱雀扇","青鸾扇","灵犀扇","寒溟扇"]
i=0
while i < 10
  lists=RPG::Maker_List.new
  lists.id=$Lists_id
  $Lists_id+=1
  lists.icon_index=236
  lists.name=Arr_Name+"配方"
  lists.description=Arr_Name+"配方"
  lists.type="扇"
  lists.exp=Arr_Exp*8
  lists.gold=Arr_Exp*16
  #放入材料数组
  lists.input.push(RPG::Maker_List::ItemArray.new(0,101+i,4))#矿锭【101-110】
  lists.input.push(RPG::Maker_List::ItemArray.new(0,131+i,4))#丝绸【131-140】
  #生成材料数组
  lists.output.push(RPG::Maker_List::ItemArray.new(1,391+i,1,200))#精良20%
  lists.output.push(RPG::Maker_List::ItemArray.new(1,261+i,1,750))#优秀75%
  lists.output.push(RPG::Maker_List::ItemArray.new(1,651+i,1,5))#传奇5‰
  lists.output.push(RPG::Maker_List::ItemArray.new(1,521+i,1,40))#稀有4%
  $data_maker_list.push(lists)
  i += 1
end
#===============================================================================
#save_data($data_maker_list,"Data/Maker_List.rvdata2")
#exit
=end
[/fold]
模块
[pre lang="ruby" line="1"]#===============================================================================
#加工类型
#===============================================================================
class RPG::Maker_Type< RPG::BaseItem
        attr_accessor :learnings#学习制作项
        attr_accessor :enabled#可用与否
        attr_accessor :exp_params#经验值参数
        attr_accessor :lev#
        attr_accessor :exp#
        attr_accessor :max_level#
        attr_accessor :type_arr#类型
        def initialize
                @learnings = []
                @type_arr=[]
                @enabled=false
                @lev=1
                    @exp=0
                @max_level = 10
                @exp_params = [0,125,250,750,2000,3500,5250,10000,15000,18750,43750]
        end
  #增加经验
        def add_exp(value_exp)
    @exp+=value_exp
    if @exp>=@exp_params[@lev]
      @exp-=@exp_params[@lev]
      @lev+=1
    end
    @lev=[@lev,@max_level].min
  end
  #增加等级
  def add_lev(value_lev)
    @lev+=value_lev
    @exp=0
    @lev=[@lev,@max_level].min
  end
  #学习配方列表中已有的配方
  def add_learnings(level,list_id,type)
    @learnings.push(RPG::Maker_Type::Learning.new(level,list_id))
    if !@type_arr.include?(type)
      @type_arr.push(type)
    end
  end
end
#===============================================================================
#加工列表
#===============================================================================
class RPG::Maker_Type::Learning
        def initialize(level,list_id,note='')
                @level =level
                @list_id = list_id
                @note = note
        end
        attr_accessor :level#需求等级
        attr_accessor :list_id#配方ID
        attr_accessor :note#备注
end
#===============================================================================
#配方列表
#===============================================================================
class RPG::Maker_List< RPG::BaseItem
        attr_accessor :exp#增加经验
        attr_accessor :gold#消耗金币
  attr_accessor :type#类型取<二级列表用>中的一个元素值
        attr_accessor :input#放入材料数组
        attr_accessor :output#生成材料数组
        def initialize
                @exp = 0
                @gold = 0
    @type=""
                @input=[]
                @output=[]
        end
end
#===============================================================================
#配方材料列表
#kind类别:
#[0]:物品
#[1]:武器
#[2]:防具
#===============================================================================
class RPG::Maker_List::ItemArray
        def initialize(kind,data_id,count=1,percent=1000)
                @kind =kind
                @data_id = data_id
                @count= count
                @percent=percent
        end
        attr_accessor :kind#材料类别
        attr_accessor :data_id#ID
        attr_accessor :count#数量
        attr_accessor :percent#成功千分比
end
module Maker
  Lev_Rate=0.2#等级加成
  #Percent:随机数0-Percent如改动请连带改RPG::Maker_List::ItemArray后,
  #再生成配方数据文件
  Percent=1000
  PercentChar="‰"#几率符号
  SUCCESS_SE = RPG::SE.new("Hammer", 100, 100)#音效
end
[/pre]

[fold=游戏截图]
一级分类末开启

一级分类末开启

一级分类末开启

一级分类开启

一级分类开启

一级分类开启

二级分类,配方,材料不足提示

二级分类,配方,材料不足提示

二级分类,配方,材料不足提示

分类学习配方列表中存在的配方

分类学习配方列表中存在的配方

分类学习配方列表中存在的配方

配方状态与初始生成几率<几率为自己设定值,不一定要用1000比,可以改动>

配方状态与初始生成几率

配方状态与初始生成几率

等级加成后的配方生成几率<对显示不满意者,自行修改:Window_List_Status窗口>

等级加成后的配方生成几率

等级加成后的配方生成几率

制造过渡窗口<对显示不满意者,自行修改。搜索关键字:show_loading_window>

制造过度

制造过度

制造成功提示<对显示不满意者,自行修改。搜索关键字:show_gain_window>

制造成功提示

制造成功提示

[/fold]
几率算法说明:
[fold=几率算法说明]以1000比为例:
A:5‰;        B:200‰;        C:750‰;        D:40‰( 这个几率是自己设定的,可以没有顺序,显示的时候会按几率大小自动排序)
配方等级:1,当前分类的等级为:3
Lev_Rate=0.2
那么新的几率为:A:7‰;        B:280‰;        C:1050‰;        D:56‰
(新的几率=设定几率×(1+Lev_Rate×(分类的等级-配方等级))
几率判断:随机数N=Rand(1000)
A:0<N<=7
D:7+56<N<=7+56
B:7+56<N<=7+56+280
C:7+56+280<N<=7+56+280+1050
判断顺序为A--->D--->B--->C(是用它们的几率由小到大判断的)[/fold]
【物品制造模板】
不提供兼容性的解决方法
http://rpg.blue/static/image/smiley/yct/A059.gif中国字认识都不到一半,哪的心情学英语呀!
梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2014-12-5 22:56:12 | 显示全部楼层
第三张图上面的点是你在放音乐显示的面板歌词还是制作时的进度条···

点评

用的是字符。在Scene_Maker_Status的show_loading_window里可以改的。下面的那条点评发错了  发表于 2014-12-6 13:23
这个可能是我没考虑到,因为那个是以小到大排序后判断的。如果不喜欢可以取消等级差对成功率的加成即:Lev_Rate=0  发表于 2014-12-6 12:34
那个真的是进度条啊- -|||你用的图片还是字符?  发表于 2014-12-6 07:45
那个制造进度不喜欢可以删除  发表于 2014-12-6 07:43
我用QQ音乐的时候可以放出这样的效果···  发表于 2014-12-5 23:20
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

路路 该用户已被删除
发表于 2014-12-6 00:06:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
1394
在线时间
989 小时
注册时间
2011-5-11
回帖
418
 楼主| 发表于 2014-12-6 13:11:03 | 显示全部楼层
路路 发表于 2014-12-6 00:06
这个概率误导性满满的- -,750% ,5%怎么出的…当然这是字面看上去的反馈

以1000比为例:
A:5‰;B:200‰;C:750‰( 这个几率是自己设定的,可以没有顺序,显示的时候会按几率大小自动排序)
配方等级:1,当前分类的等级为:3
Lev_Rate=0.2
那么新的几率为:A:7‰;B:280‰;C:1050‰
(新的几率=设定几率×(1+Lev_Rate×(分类的等级-配方等级))
几率判断:随机数N=Rand(1000)
A:0<=N<7
B:7<=N<7+280
C:7+280<=N<7+280+1050
判断顺序为A--->B--->C(是用它们的几率由小到大判断的)
至于显示窗口你自己可以跟据自己的喜好修改
http://rpg.blue/static/image/smiley/yct/A059.gif中国字认识都不到一半,哪的心情学英语呀!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
16 小时
注册时间
2015-2-12
回帖
5
发表于 2015-2-18 12:10:32 | 显示全部楼层
悲哀的发现自己根本看不懂.......
回复 1 0

使用道具 举报

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
回帖
693
发表于 2015-4-22 11:32:56 | 显示全部楼层
这个感觉不错,有范例吗?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
回帖
693
发表于 2015-4-22 12:44:41 | 显示全部楼层
范例找到了,位置不太明显。
对了,如果我想让制作消耗体力(HP或者MP),但该怎么加?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
回帖
693
发表于 2015-4-22 13:01:10 | 显示全部楼层
模板是找到了,但没找到里面显示的配方实际是怎么操作的。慢慢试还是得很麻烦
回复

使用道具 举报

梦石
0
星屑
50
在线时间
1019 小时
注册时间
2012-4-25
回帖
693
发表于 2015-4-22 13:36:24 | 显示全部楼层
没办法了,使用不简单,又没有范例,只能放弃了。
回复

使用道具 举报

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
回帖
6325
发表于 2015-4-22 13:51:13 | 显示全部楼层
不是有个物品合成的脚本拓展性很好又简洁

点评

关键字?  发表于 2015-4-22 14:24
长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部