Project1

标题: RM脚本作者们,你们想到了吗? [打印本页]

作者: 九夜神尊    时间: 2010-10-1 14:39
标题: RM脚本作者们,你们想到了吗?
本帖最后由 九夜神尊 于 2010-10-1 15:11 编辑

今天受到站长大人的关注。
真的好机洞,66绝对比67让我泪目。


废话不多说,进入正题。

上图:


各位作者,能看出来张图片是用在什么脚本上的么?
看看名称和说明后面的符号。,
|
|
|
答案是不能,为什么?
|
|
|
我想说的是,这样做的脚本实在太多了。



这是数据库的ID排列

各位作者大概估计一下使用量。评价一下我说的对不对

角色:一般使用量在 50以下
职业:20以下
特技:200以下(事件升级除外)
物品:300以下
武器:150以下
防具:300以下
敌人:200以下
队伍:200以下
状态:50以下
动画:200以下(全动画除外)
图块:真正使用的只有50以下
公共事件:500以下

以上不知道有多少作者反对!!

这是一个比较大一点的游戏的数据库使用量,大多数都在50%下吧!
那么剩下的空间是否可以使用起来呢?

到底怎么用


先说几个我想到的:
1、技能冷却
   有的作者喜欢在名称后面@x就完成了定义技能的冷却时间。而我的做法是。
   技能的ID+100 这个状态为该技能的冷却设置,当使用技能以后,会获得该状态。
   状态可以设置几回合解除吧?然后具体实现只需要判断状态是否存在!
   很简单,很实用。冲突么?
   我想比@x要好的多吧,而且还可以来更多花样,因为状态多少使用方法,就有多少技能冷却使用方法了。
2、可成长装备
   估计某些作者会想到让使用者在脚本里面艰难的看完教学以后列一个哈希表出来吧???
   为什么不这样呢?
   让一个装备绑定一个空角色ID,可以设置装备ID +100号角色,为该装备的成长设置。
   那么这个装备成长需要的经验,成长的属性,甚至能学会技能。这些设置起来我想不难吧?
   冲突吗?我想跟角色有999个的游戏一定冲突……

3、多了……

还有别的地方么

1、装备有耐久度:
   有的作者也来了,给我发了一个脚本,就是装备的耐久度,也是@x设置好了耐久度。
   我就说这个有冲突么?
   没有……
   我想看到这里的,没有人会赞成吧?
   为什么不直接在说明上直接找耐久度关键字然后直接读取后面跟随的数值。
   那么,使用者也方面,冲突也少不是么?
   如此引申出来的还有,装备附加技能,你完全可以在装备说明上查找附加技能关键字,然后读取后面的技能名字,然后再找技能
   虽然不是很绝对可行(重名技能),技能使用物品。等等

数据的合成
http://rpg.blue/forum.php?mod=viewthread&tid=146878&from=home
   一个技能位置填不下需要的数值,我们可以用两个。看看我的技能树的写法,就是用两个技能
的位置完成一个技能的设定。这样再多的属性我想都有位置填了,而且在设置上跟别的脚本无冲突。
公共事件做函数用
   都知道,公共事件相当于一个方法,但是没有返回值。但是真的没有返回值么?
   那么多变量,你是不是觉得公共事件后面没有括号不能填入东西?
   错了!虽然没有,会C的都知道吧,指针也没有返回值呢
   实际上我们固定取用某变量,然后公共事件在更改固定变量,那么前前后后。
  不就相当于有参数了么?
  如果你希望参数是文本?——角色名呀,多么好用的东西

  这有什么用,用处大了,我说一个另类一点的用途
  全域条件技能!
  全域条件技能,就是技能的发动可以设置与任何东西有关可以设置。
     比如某变量,某开关,某角色位置等等。
  首先更改A变量为使用技能ID
   公共事件内通过分歧ID展开新的判断,这里可以由作者自由写事件
   完了以后更改固定开关。
   然后脚本在判断这个开关为开还是关,由此判断该技能是否可用。
   我想实现这点用不了几句脚本吧?
   非要有人觉得会占用唯一的公共事件槽?

在脚本花样越来越多的时候,脚本的兼容性也是脚本生存的一条道路,不希望作者们
还守着老人的坟墓。用新的眼光新的方法打造一片自己的天下

未命名.jpg (16.94 KB, 下载次数: 30)

未命名.jpg

作者: fux2    时间: 2010-10-1 14:51
厉害厉害,但是表示第一张图没看懂。
作者: 九夜神尊    时间: 2010-10-1 14:56
回复 fux2 的帖子


    看看名称和说明后面的符号。,
作者: 火ZHI意志    时间: 2010-10-1 14:59
厉害~~~赞一个~~~~
作者: fux2    时间: 2010-10-1 15:04
回复 九夜神尊 的帖子


    武器耐久?……如果物品增加耐久就不方便写了
作者: 后知后觉    时间: 2010-10-1 15:23
这种命名上的设置方法的冲突根本就不值一提.改几个字符就能解决.
而且就以前主站上的分类.所有的RM技术都是以【制作教程】而发布.
并不是【为了给你用】而发布.
发布者的发布目的是后者的话那就应该注意兼容问题.如果是前者.那冲突什么的就不关我事.

利用角色成长曲线什么的发掘数据库剩余价值的方法还是很值得提倡的.

P.S.直接 eval txt 然后 save_data 的人路过.
作者: 九夜神尊    时间: 2010-10-1 15:28
回复 后知后觉 的帖子

我想我是后者。

作者: 薄荷冰水    时间: 2010-10-1 15:30
我对那个技能冷却很感兴趣,纯事件可以吗?要是牵扯到脚本我就不会了,因为我用CP制,听说冷却脚本和CP冲突(也不算冲突,就是回合计算不准确)
作者: 六祈    时间: 2010-10-1 15:30
回复 九夜神尊 的帖子

其实从本质上分析一下:
无论是装备加强,还是装备耐久,都需要【额外的信息】和脚本配合使用

那么,从哪里去设置和取得这个【额外的信息】

1、在脚本中设置【其实对于会点脚本的人来说,这种方式是最理想的,可以最大可能的避免冲突】

2、在数据库设置里动手脚,比如在名字后面加@xx或者,xx,这种方法不可避免的产生了【独占性】,【所谓独占性,就是指这个@我用了,你就没法用,你如果也要用,咱们的脚本就会冲突】

3、如小九的做法,开辟新的未使用的项目作为【额外信息】的载体,这种做法很有创意,值得鼓励~~而且冲突可能性比第2种方法要小很多很多。但是也存在【独占性】,【比如一个装备加强和一个装备耐久脚本,都使用了原装备id+100的位置,那么就冲突了】

然后用公共事件作为全局函数的做法很有创意,非常不错,能够方便的使用事件命令来完成脚本的任务

最后ps一下:VX有备注框作为【额外信息】的载体,冲突可能性基本上与写在脚本里一样了【被众人pia飞~~~~~乃还是xp版主么…


作者: 九夜神尊    时间: 2010-10-1 16:21
回复 陈安 的帖子

实现起来很简单,但是还是稍微要对脚本做点手脚,是我做我的游戏的时候想到的方法。
然后,作为你顶我贴的回报,我可以忙你整合,发工程(>50M的只发脚本文件)
   
作者: 薄荷冰水    时间: 2010-10-1 17:12
回复

实现起来很简单,但是还是稍微要对脚本做点手脚,是我做我的游戏的时候想到的方法。
然后,作为你顶 ...
九夜神尊 发表于 2010-10-1 16:21



谢谢了,我一直在为技能的利用率烦恼,因为如果没有冷却,一般都喜欢用高级技能炸,就不用低级技能了,有了冷却系统,就可以把低级技能也用上了 = =..

您让我又沦陷成为了伸手党= = ,元老级的..
作者: orochi2k    时间: 2010-10-1 17:14
表示数据库的999完全不够用的某人飘过
作者: 沉影不器    时间: 2010-10-1 17:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: 九夜神尊    时间: 2010-10-1 18:50
回复 沉影不器 的帖子

如果只是为了一两个数字,何必使用数据库偏移呢?
使用偏移,可以获得一个很多填写属性的位置。
比如偏移一个角色ID,我们可以获得6*99个数字填写位置,还有等级,和无限多的技能位置。并不是一个数字。
   
作者: orochi2k    时间: 2010-10-1 19:16
改数据结构,要多少数据有多少数据~
啥?米有RM那样的界面了?
那就自己写一个嘛
作者: 后知后觉    时间: 2010-10-1 19:55
解决命名冲突最简单解决方法就是:
比如
脚本A要求在名字后加@数字.
脚本B要求在名字后加★数字
那么可以命名成2种:
①.铜剑@2@★3
②.铜剑★3★@2
作者: 沉影不器    时间: 2010-10-1 23:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 禾西    时间: 2010-10-2 04:16
直接在腳本中寫對應表。當初接手某個工程的時候,一堆都是附加數字,看得蛋痛。如果不太抱怨效率的問題,也可以用屬性法或者名字法。添加後綴的做法我是一百萬倍的反對啊!!!
作者: moy    时间: 2010-10-2 05:39
在脚本中用数字写对应表的飘过= =b
读取人物属性的时候调用然后直接case啥的弄个数组返回回去
  1. def attack_add
  2.   case self.weapon_id
  3.   when 1
  4.     add = [12,3,3,3]
  5.   end
  6.   return add
  7. end
复制代码
之类的......多美好= =+

作者: IamI    时间: 2010-10-2 13:12
外挂脚本的格式不是问题,RM本身才是问题。
VX下习惯于嵌合沉影的ini脚本这样兼容性很大。
XP就没办法了,个人对嵌套哈希表有一种莫名爱好= =b
作者: goahead    时间: 2010-10-3 16:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: ProfesstionR    时间: 2010-10-3 16:24
话说我用了
特技:1200个
武器:400个
动画:3100个
图块:150个

不过冷却的思路不错
作者: 九夜神尊    时间: 2010-10-3 16:28
回复 ProfesstionR 的帖子


    看到你的签名就知道你是个另类
作者: 精灵使者    时间: 2012-1-12 16:40
精灵:在纯事件的应用中,我就把公共事件做成函数了的说。
输入输出都用变量来导入导出
作者: xmenstore    时间: 2012-2-24 15:03
这个一看就是高手
作者: 杂兵天下的马甲    时间: 2012-2-26 11:57
九夜出品,就是精品。
作者: viktor    时间: 2012-2-27 14:36
RPGVX以上有【备注】功能,可以解决这种兼容性问题。
作者: 夜中の枫叶    时间: 2012-3-4 09:22
话说表示看不懂的亚历山大
作者: azlunvice    时间: 2012-3-11 21:18
我始終不明白啊大大
作者: trentswd    时间: 2012-3-11 22:45
{:nm_9:}rm资源还没有紧张到要利用到这种程度吧
要是有自定义数据我还是会选择在脚本里面自定义结构,完全不会去动数据库

再说vx有了note,就不必在名称里面写了
vxa还有了一个特性列表,更别说了




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