查看: 3468|回复: 10

[已经解决] 烛光脚本 以变量控制黑暗度报错

[复制链接]
梦石
0
星屑
35248
在线时间
4171 小时
注册时间
2007-12-15
回帖
9489
发表于 2017-8-3 10:44:08 | 显示全部楼层 |阅读模式

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

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

×
@RyanBern版主移植的烛光系统
https://rpg.blue/forum.php?mod=v ... p;extra=&page=1
其中在第二页 11楼主提到了

可以用变量控制黑暗程度0~255
提到的修改脚本内容如下:

全局搜索HN_Light::DARK_OPACITY,把它改成$game_variables[X]。其中X为你想使用的变量ID。使用时调节改变量的值(0~255)即可。
还需要改一个地方,就是原脚本的266~269行,要加一句:

def update
  super
  @@base_color = Color.new(255, 255, 255, $game_variables[X])
  refresh
end

X的含义同上。

全局搜索后 189行为   @@base_color = Color.new(255,255,255,HN_Light::DARK_OPACITY)
改为                           @@base_color = Color.new(255,255,255,$game_variables[7])

266行后粘贴
def update
  super
  @@base_color = Color.new(255, 255, 255, $game_variables[X])
  refresh
end

运行后提示
NOmethod error
undefined method [] for nil: nilclass

求修正。非常感谢。
梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2017-8-3 21:33:22 | 显示全部楼层
189 行保持不变,只在266-269行加入原回复的脚本试试。
当时回答可能比较脑抽所以我也不确定那方案到底对不对。

点评

嗯,这回可以用变量控黑暗度了,非常感谢。  发表于 2017-8-5 09:25
改完后整个脚本里只出现一次 def update,如果按照原先错误的改法脚本里会有两个 def update  发表于 2017-8-4 09:13
可能是表述有问题。266-269行里面只添加一句话@@base_color = Color.new(255, 255, 255, $game_variables[X])。不是整段复制然后粘贴到前面。  发表于 2017-8-4 09:13
无效,变量x等于任何数值,都是程序25行 DARK_OPACITY = 的数值 似乎要另寻他法?  发表于 2017-8-3 23:32

评分

参与人数 1星屑 +140 收起 理由
89444640 + 140

查看全部评分

回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-8-3 11:03:21 | 显示全部楼层
本帖最后由 guoxiaomi 于 2017-8-3 11:04 编辑

$game_variables是在scene title结束后定义的,你在定义类变量@@base_color的时候引用全局变量肯定报错,把类变量的定义放在initialize方法里应该就行?

其实我从来没用过类变量

点评

听……听不懂,initialize方法是啥--b  发表于 2017-8-3 11:24

评分

参与人数 1星屑 +1 收起 理由
RyanBern + 1 这猫叔

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
222
在线时间
63 小时
注册时间
2016-7-28
回帖
8
发表于 2019-1-30 12:49:37 | 显示全部楼层
能麻烦楼主发下改完的范例么?谢谢。
回复

使用道具 举报

梦石
0
星屑
35248
在线时间
4171 小时
注册时间
2007-12-15
回帖
9489
 楼主| 发表于 2019-1-31 10:30:35 | 显示全部楼层
920586066 发表于 2019-1-30 12:49
能麻烦楼主发下改完的范例么?谢谢。

范例
变量控制烛光.rar (442.78 KB, 下载次数: 140)

其实应该很容易调节,不过放一段时间我也忘,当给自己强化记忆吧。
《烛光系统》脚本中  

# 玩家的烛光类型使用的变量号码
  PLAYER_LIGHT_TYPE = 4
这里的编号4,表示用4号变量的数值来控制玩家手里的烛光效果,需要多少种做多少种,比如******(以上为不好的形容词,自己脑补,不知道爽横线划掉代码怎么写ORZ)的恐怖解密游戏,可以用来表示手电筒/蜡烛/生命值的剩余量,越少越暗。

#以为5号变量控制黑暗程度0~255
    @@base_color = Color.new(255, 255, 255, $game_variables[5])
  end
这里是5号变量编号是控制黑暗程度。

想要调节诸如血红之夜出“逢魔”然后贝姐变狂战什么的……自己调节RGB 255,0,0 可以再加个变量去分歧,比如用菜刀流变量编号10086控制,当变量等于0时候白天 1时候纯黑的 2时候血红夜 3时候沙尘暴夜什么什么的……
不过我脚本不知道怎么写程序能认出来,别问我ORZ。
回复

使用道具 举报

梦石
0
星屑
222
在线时间
63 小时
注册时间
2016-7-28
回帖
8
发表于 2019-2-1 12:29:21 | 显示全部楼层

嗯,如果改一改的话应该可以做到变量控制烛光色调。谢谢!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部