THE NVL Maker

 找回密码
 注册
搜索
查看: 10433|回复: 9

[系统修改] 为了避免刷屏就把蠢兮兮的问题都放在一个楼吧

[复制链接]

2

主题

6

帖子

0

精华

游戏开发者

积分
6
发表于 2015-5-6 23:17:24 | 显示全部楼层 |阅读模式
本帖最后由 wander 于 2015-5-8 03:55 编辑

1. 关于物品和用变量定义变量名称
D大做的物品范例文件的other.ks,我把它(以及其它相关文件)导入了自己的工程并且改名为item.ks,然后修改了相关参数(至少我觉得都改掉了),物品显示和获取都没有问题,但是读取使用物品内容的时候会跳框,跳错的是类似这样的语句:
[if exp="f.item[f.选择物品编号].name=='羊毛'"]
无法将 (void) 类型变换为 Object 。对于要求 Object 型的参数传递了 Object 型以外的值将会产生此错误

然后顺便也问一下KS里面要根据函数定义另外一个函数名怎么写?(关于标签的已经找到了)
比如
eval exp="tf.random=intrandom(1,2)"
eval exp="f.item[tf.random]_num+=1"
@主角
获得了一个[emb exp=f.item[tf.random]_name]。

这样的好像都不行?TAT

2. 关于系统按钮出现的问题
从面板跳转或者从面板回归的时候,对话框旁边的系统按钮会谜の消失,有没有办法固定让它出现或者消失,整个游戏都不用改动呢?

3. 关于修改背景图片/面板/地图默认淡入时间的问题
好像没在config.tjs里面找到,NVL有相关功能吗?还是要每次出现图片/面板/地图的时候手动改?

4. 关于选项框默认字体颜色的修改
好像也没在config.tjs里面找到,能够通过脚本更改吗?

暂时就这么多,谢谢D大!



回复

使用道具 举报

16

主题

990

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1011
发表于 2015-5-9 00:45:44 | 显示全部楼层
(1)
[if exp="f.item[f.选择物品编号].name=='羊毛'"]
无法将 (void) 类型变换为 Object 。对于要求 Object 型的参数传递了 Object 型以外的值将会产生此错误
我想应该是EXP的语法错误问题,把对应判断写成TJS式或者[if exp="f.item["+&f.选择物品编号+"].name=='羊毛'"]试试(没查文档,盲打的不太确认,不过总之是TJS语法问题,最好是单独写个函数取得对应的值,例如getItemName(f.选择物品编号)=='羊毛'这种)。
eval exp="tf.random=intrandom(1,2)"
eval exp="f.item[tf.random]_num+=1"

这个_num也是同样,语法不对,假设你要的是f.item1_num这样的变数,那应该写成
[iscript]
tf.random=intrandom(1,2);
Scripts.eval("f.item"+tf.random+"_num+=1");
[endscript]

(2)在macro_map.ks/macro_edu.ks/macro_play.ks里面改

(3)选项框默认字体就是选项按钮的字体颜色啊,在NVL第一页【系统设置】里改w
回复

使用道具 举报

2

主题

6

帖子

0

精华

游戏开发者

积分
6
 楼主| 发表于 2015-5-10 22:59:48 | 显示全部楼层
本帖最后由 wander 于 2015-5-11 08:19 编辑

多谢D大!关于(1),这两种我都尝试了,程序依然锲而不舍地报错……
但是事实上这就是物品范例的script,我只是粘贴过来了而已,为什么物品范例用起来没有问题呢TAT我是不是漏粘贴了什么事实上我想做的就是一个礼物系统,在赠送礼物的时候在物品面板把一个变数设定为礼物名,然后跳回对话画面进行判定
但是这两种都报错:
[eval exp="f.this_weeks_gift="f.item["+&f.选择物品编号+"].name"]
以及:
[iscript]
Scripts.eval(f.this_weeks_gift="f.item"+f.选择物品编号+".name");
[endscript]

求D大拯救(

------------------


以及菜单谜の消失的问题(主楼的#2),我分析了一下有两种情况……第一种是我自定义了一个面板,从主属性面板进入,每次从那个面板返回主属性面板再返回正常对话就会消失。这似乎是因为我没有使用@call和@return而使用了@jump,有办法在使用@jump的时候也让菜单按钮显示吗?
第二种是从地图页面选择据点然后跳转到剧情的时候会消失,然后剧情如果出现选项,进行选择后就会再出现(谜)。
回复

使用道具 举报

16

主题

990

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1011
发表于 2015-5-12 18:15:42 | 显示全部楼层
得先告诉我你的那个f.item到底是个数组还是啥的……
之前给我的范例看起来好像是一批变数分别叫做f.item_1/f.item_2这种,但是看你后面这个似乎又是一个数组叫做f.item里面每行是个字典……

但不管是哪种得先搞清楚TJS的字符串的语法……

如果是后者的话应该是
Scripts.eval("f.this_weeks_gift=f.item["+f.选择物品编号+"].name");

系统按钮在macro_map.ks的宏里面有隐藏系统按钮和显示系统按钮的指令……
所以说从地图页面选择据点跳转以后的第一个指令一定要是[clmap]能够把系统按钮什么的都还原回来……


回复

使用道具 举报

16

主题

990

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1011
发表于 2015-5-12 18:17:02 | 显示全部楼层
还有……最好不要一直编辑首楼提出新的问题……
刷屏才能保证每个问题都有单独的帖子和单独的关键字……要不然很难搜索的……
回复

使用道具 举报

2

主题

6

帖子

0

精华

游戏开发者

积分
6
 楼主| 发表于 2015-5-13 01:58:04 | 显示全部楼层
本帖最后由 wander 于 2015-5-13 04:42 编辑
VariableD 发表于 2015-5-12 18:15
得先告诉我你的那个f.item到底是个数组还是啥的……
之前给我的范例看起来好像是一批变数分别叫做f.item_1/ ...
是字典,其实就是物品范例啦~
谢谢D大,终于解决了!不对,以为解决了结果又坏了_(:з」∠)_
之前用了D大物品范例代码里面的语法,用[eval exp="f.this_weeks_gift=f.item[f.选择物品编号].name"]又试了一下,结果好了
于是我很放心地导入了所有物品相关代码再试了一下,然后又报错了……
最奇怪的是我其实有两个面板,一个处理物品赠送的item_gift.ks,一个正常的item.ks
item.ks就是物品范例里面的other.ks,我完全没有动过(除了更改相关链接etc)
刚刚item_gift.ks是好的时候,item.ks也是好的,可以吃东西
现在item_gift.ks坏掉了,我又试了一下在item.ks里面吃东西,也报错了…………就算我改了别的我肯定没改过item.ks
对不起这已经完全超出我的智商理解范围了TAT!

很奇怪的是我从地图比如说跳脚本.ks的*start,第一个命令确实是@clmap(要不啥都看不到啊!)
但是系统按钮还是谜の消失
奇怪的是,从面板跳则不会有这个问题

以后我会另外开新帖的❤
回复

使用道具 举报

16

主题

990

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1011
发表于 2015-5-13 11:48:34 | 显示全部楼层
那个……详细告诉我到底要做什么……我在范例里加上……吧……=_=b
如果clmap不会恢复系统按钮,那就在clmap的宏里面加一个[showsysbutton]啦~
回复

使用道具 举报

2

主题

6

帖子

0

精华

游戏开发者

积分
6
 楼主| 发表于 2015-5-13 12:47:16 | 显示全部楼层
在我删除了所有存档文件以后又好了………………………………_(:з」∠)_
(完全呆滞脸,对于我等愚蠢者来说代码简直像魔法一样……)
我再测试一下,暂时不麻烦D大了_(:з」∠)_谢谢D大TAT
回复

使用道具 举报

2

主题

6

帖子

0

精华

游戏开发者

积分
6
 楼主| 发表于 2015-5-17 10:30:10 | 显示全部楼层

继续:关于系统按钮的显示

不好意思又麻烦D大了,尝试了@showsysbutton还是无法在地图后显示系统按钮,代码如下:

*load_map
@clmap
@clsel(这里有clmap和clsel是因为有时候会从其它地图/剧情选项链接过来)
@map storage="city_map.map" time=0
@showsysbutton
@wait

(然后地图跳转的目标是*target_1)
*target_1
@clmap
@showsysbutton
@jump target="*start" storage="target_1_events.ks"

(也曾经尝试过把@showsysbutton放在target_1_events.ks里面,同样没有效果)

谢谢D大TAT
回复

使用道具 举报

16

主题

990

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1011
发表于 2015-5-26 10:39:16 | 显示全部楼层
啊不好意思这几天忙没有看到……
@showsysbutton应该写在macro_map.ks的自定义map宏的[s]之前哦w
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2024-4-29 05:16 , Processed in 0.014108 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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