Project1

标题: 【生活技能】【物品制造】【数据库】【模板】 [打印本页]

作者: 345912390    时间: 2014-12-3 23:07
标题: 【生活技能】【物品制造】【数据库】【模板】
本帖最后由 345912390 于 2014-12-7 08:24 编辑

游戏 物品制造,高手可以路过了
注意:这个模板需要自己写一个分类文件 和一个配方列表文件。
【物品制造模板】以为数据文件生成示例
数据文件生成示例

模块
RUBY 代码复制
  1. #===============================================================================
  2. #加工类型
  3. #===============================================================================
  4. class RPG::Maker_Type< RPG::BaseItem
  5.         attr_accessor :learnings#学习制作项
  6.         attr_accessor :enabled#可用与否
  7.         attr_accessor :exp_params#经验值参数
  8.         attr_accessor :lev#
  9.         attr_accessor :exp#
  10.         attr_accessor :max_level#
  11.         attr_accessor :type_arr#类型
  12.         def initialize
  13.                 @learnings = []
  14.                 @type_arr=[]
  15.                 @enabled=false
  16.                 @lev=1
  17.                     @exp=0
  18.                 @max_level = 10
  19.                 @exp_params = [0,125,250,750,2000,3500,5250,10000,15000,18750,43750]
  20.         end
  21.   #增加经验
  22.         def add_exp(value_exp)
  23.     @exp+=value_exp
  24.     if @exp>=@exp_params[@lev]
  25.       @exp-=@exp_params[@lev]
  26.       @lev+=1
  27.     end
  28.     @lev=[@lev,@max_level].min
  29.   end
  30.   #增加等级
  31.   def add_lev(value_lev)
  32.     @lev+=value_lev
  33.     @exp=0
  34.     @lev=[@lev,@max_level].min
  35.   end
  36.   #学习配方列表中已有的配方
  37.   def add_learnings(level,list_id,type)
  38.     @learnings.push(RPG::Maker_Type::Learning.new(level,list_id))
  39.     if !@type_arr.include?(type)
  40.       @type_arr.push(type)
  41.     end
  42.   end
  43. end
  44. #===============================================================================
  45. #加工列表
  46. #===============================================================================
  47. class RPG::Maker_Type::Learning
  48.         def initialize(level,list_id,note='')
  49.                 @level =level
  50.                 @list_id = list_id
  51.                 @note = note
  52.         end
  53.         attr_accessor :level#需求等级
  54.         attr_accessor :list_id#配方ID
  55.         attr_accessor :note#备注
  56. end
  57. #===============================================================================
  58. #配方列表
  59. #===============================================================================
  60. class RPG::Maker_List< RPG::BaseItem
  61.         attr_accessor :exp#增加经验
  62.         attr_accessor :gold#消耗金币
  63.   attr_accessor :type#类型取<二级列表用>中的一个元素值
  64.         attr_accessor :input#放入材料数组
  65.         attr_accessor :output#生成材料数组
  66.         def initialize
  67.                 @exp = 0
  68.                 @gold = 0
  69.     @type=""
  70.                 @input=[]
  71.                 @output=[]
  72.         end
  73. end
  74. #===============================================================================
  75. #配方材料列表
  76. #kind类别:
  77. #[0]:物品
  78. #[1]:武器
  79. #[2]:防具
  80. #===============================================================================
  81. class RPG::Maker_List::ItemArray
  82.         def initialize(kind,data_id,count=1,percent=1000)
  83.                 @kind =kind
  84.                 @data_id = data_id
  85.                 @count= count
  86.                 @percent=percent
  87.         end
  88.         attr_accessor :kind#材料类别
  89.         attr_accessor :data_id#ID
  90.         attr_accessor :count#数量
  91.         attr_accessor :percent#成功千分比
  92. end
  93. module Maker
  94.   Lev_Rate=0.2#等级加成
  95.   #Percent:随机数0-Percent如改动请连带改RPG::Maker_List::ItemArray后,
  96.   #再生成配方数据文件
  97.   Percent=1000
  98.   PercentChar="‰"#几率符号
  99.   SUCCESS_SE = RPG::SE.new("Hammer", 100, 100)#音效
  100. end


游戏截图

几率算法说明:
几率算法说明

【物品制造模板】
不提供兼容性的解决方法
作者: chd114    时间: 2014-12-5 22:56
第三张图上面的点是你在放音乐显示的面板歌词还是制作时的进度条···
作者: 路路    时间: 2014-12-6 00:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: 345912390    时间: 2014-12-6 13:11
路路 发表于 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(是用它们的几率由小到大判断的)
至于显示窗口你自己可以跟据自己的喜好修改
作者: 44545655    时间: 2015-2-18 12:10
悲哀的发现自己根本看不懂.......
作者: lirn    时间: 2015-4-22 11:32
这个感觉不错,有范例吗?
作者: lirn    时间: 2015-4-22 12:44
范例找到了,位置不太明显。
对了,如果我想让制作消耗体力(HP或者MP),但该怎么加?
作者: lirn    时间: 2015-4-22 13:01
模板是找到了,但没找到里面显示的配方实际是怎么操作的。慢慢试还是得很麻烦
作者: lirn    时间: 2015-4-22 13:36
没办法了,使用不简单,又没有范例,只能放弃了。
作者: 上贺茂润    时间: 2015-4-22 13:51
不是有个物品合成的脚本拓展性很好又简洁
作者: lirn    时间: 2015-4-22 14:14
上贺茂润 发表于 2015-4-22 13:51
不是有个物品合成的脚本拓展性很好又简洁

哪里?

我主要是看中这个类似生活技能所需要的经验,稍微修改一下,也可以限制每天的合成次数。

单纯是合成的脚本我也有下过。但只要有材料就无限合成的,不是太想要。

如果再不行,我只有想通过事件来达到了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1