设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2078|回复: 10
打印 上一主题 下一主题

[已经解决] 如何在脚本中自行修改数据库?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
170
在线时间
12 小时
注册时间
2018-12-23
帖子
13
跳转到指定楼层
1
发表于 2019-1-5 01:12:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
请问一下各位大佬,
如果我想要修改一些数据结构,诸如:增加一些特定的能力值给角色与敌人,增加一些特定的能力值给装备使得穿戴装备可以提高角色对应能力值,增加一些技能的构成,该如何才能自定义这些数据库里的东西呢?
我看其他大佬的类似的脚本,例如有个物品重量的脚本,做法是先建一个模组,确定了要加些什么还有一些条件判断,然后直接在Weapn/Item之类的类里面,定义一个方法直接return case @id, 然后when id then return 一个值,
然后就神奇的给对应id的东西赋加了重量这一属性,并且重量为给定的对应id的值。
还有其他什么给角色增加饥饿度之类的设定,也是类似的方法。
但是我拿着研究了半天也没加出一点半点的自定义内容。
还请各位大佬帮忙讲解一下思路。

Lv1.梦旅人

梦石
0
星屑
170
在线时间
12 小时
注册时间
2018-12-23
帖子
13
7
 楼主| 发表于 2019-1-6 08:37:12 | 只看该作者
冥昭 发表于 2019-1-5 17:06
我知道这个方法啊,但是我自己尝试了后却无法实现。例如我想给装备增加一个提高X属性的项目,就在class A ...

糊了大半个晚上,成功了。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
170
在线时间
12 小时
注册时间
2018-12-23
帖子
13
6
 楼主| 发表于 2019-1-5 17:06:48 | 只看该作者
灯笼菜刀王 发表于 2019-1-5 09:48
这个就是为 "类" 增加新的"方法"

具体教程可以看F1, 脚本入门-基础篇-定义类, 如果无法理解这部分内容, 建 ...

我知道这个方法啊,但是我自己尝试了后却无法实现。例如我想给装备增加一个提高X属性的项目,就在class Armor里面def X_plus, balabala end,然而实际尝试却加不上。。

点评

你怎么写的呢, 定义了方法后,还要通过修改其他脚本, 让定义的数值发挥作用才能看到效果哦, 否则就只是一个数字而已  发表于 2019-1-5 18:01
你没定义实例?  发表于 2019-1-5 17:16
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
170
在线时间
12 小时
注册时间
2018-12-23
帖子
13
5
 楼主| 发表于 2019-1-5 17:03:35 | 只看该作者
RyanBern 发表于 2019-1-5 09:58
一个通用的实现方法可以看我的视频教程,特别篇 02 的内容
https://rpg.blue/forum.php?mod=viewthread&tid ...

谢谢大佬。
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

4
发表于 2019-1-5 09:58:24 | 只看该作者
本帖最后由 RyanBern 于 2019-1-5 10:02 编辑

一个通用的实现方法可以看我的视频教程,特别篇 02 的内容
https://rpg.blue/forum.php?mod=viewthread&tid=381015

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
3
发表于 2019-1-5 09:48:49 | 只看该作者
本帖最后由 灯笼菜刀王 于 2019-1-5 09:58 编辑

这个就是为 "类" 增加新的"方法"

具体教程可以看F1, 脚本入门-基础篇-定义类, 如果无法理解这部分内容, 建议从脚本入门基础篇最开始消化

以下的就假设为你能理解"定义类"的内容来说明

武器,防具, 道具,技能的"类", 是在内部脚本里的, 可以在F1 - 脚本入门 - 解读篇 - 数据库 里找到它们的定义

然后复制同类名到默认脚本, 就可以给这个类添加或者覆盖方法了,

栗子,  

class Item
  def 重量
     return @price / 10000
  end
  def price
    return @price % 10000
  end
end

这样, 就给 道具增加了个"重量"的属性, 这个属性是用它的 价格/10000 来 设置的,  然后重定义了price的方法, 让 价格变成 只取设置的价格前4位数, 当然,定义的方式可以有各种各样的, 我这个栗子是在尽量不魔改数据库和脚本的情况下来添加属性, 思路就是"一个属性拆成两个用"

然后, 就可以在数据库里这样设置了, 1号 恢复药,价格:50050  实际等于, 恢复药的重量是5, 价格 50元

在游戏里调用 $data_items[1].重量  ,就可以得到 5 这个数值了

点评

汗, 找我的作品学习什么? 而且我也没作品╮(╯▽╰)╭  发表于 2019-1-7 17:53
牛肉菜刀王你有没什么作品,我想學习  发表于 2019-1-7 12:00
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
170
在线时间
12 小时
注册时间
2018-12-23
帖子
13
2
 楼主| 发表于 2019-1-5 01:46:07 | 只看该作者
我看大佬直接在Class Item里面def 一个weight, 然后 return case @id,  when 1 then return 1.0, 这个id 为1的物品就被赋予了一个“重量”属性,然后直接item.weight就能调用。。
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-26 07:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表