THE NVL Maker

 找回密码
 注册
搜索
查看: 2592|回复: 4

[常见问题] 一个小问题,变量使用了函数输出数字0成【+0.0】是为什.....

[复制链接]

3

主题

6

帖子

0

精华

游戏开发者

积分
6
发表于 2022-9-19 23:31:22 | 显示全部楼层 |阅读模式
设计了一个变量f.疲劳,通过休息或者吃东西可以降低疲劳值,但是疲劳值不会降低到负值,比如疲劳值40的时候吃了一个可以降低100疲劳值的食物,吃完疲劳值是0而不是-60一开始是写了一段if
@if exp="(f.疲劳>=0)"
@eval exp="f.疲劳=f.疲劳-100"
@elsif exp="(f.疲劳<0)"
@eval exp="f.疲劳=0"

但是感觉每次都写这一段太繁琐了,想用最大值函数Math.max(f.疲劳-100,0)来简化这段代码
@eval exp="f.疲劳=Math.max(f.疲劳-100,0)"
但是如果遇到最大值取了0的情况,输出的变量f.疲劳数值是【+0.0】,请问怎么把这个【+0.0】调整成【0】呢?
回复

使用道具 举报

3

主题

6

帖子

0

精华

游戏开发者

积分
6
 楼主| 发表于 2022-9-20 01:26:29 | 显示全部楼层
还有一个问题是我参考了D大你的物品栏系统,里面的物品栏是在图片上描绘按钮,我想在这个图片上描绘几个变量来直观的体现物品使用以后数值的变化,请问一下这种情况需要怎么写呢?
*window
@history enabled="false"
;消息履历操作指令:消息履历的设定,消息履历不可显示
@locklink
@rclick jump="true" target="*返回" storage="other.ks" enabled="true"
@backlay
@image left="0" visible="true" page="back" layer="14" top="0" storage="bg_01"
;隐藏系统按钮层
@hidesysbutton page="back"
@current layer="message4" page="back"
@layopt left="0" visible="true" page="back" layer="message4" top="0"
@er
;描绘物品按钮
@eval exp="draw_item()"
;描绘翻页按钮
@item_page page="back"
@trans time="500" method="crossfade"
@wt
@s
*刷新画面
@current layer="message4"
@er
;描绘物品按钮
@eval exp="draw_item()"
;描绘翻页按钮
@item_page page="fore"
@s
回复

使用道具 举报

16

主题

1009

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1030
发表于 2022-9-29 12:19:58 | 显示全部楼层
(1)式子前面再加一个(int)应该可以。以及:可以不直接操作这个变量,写一个函数,传入值,然后最后再返回范围内的值,比如:
  1. //防止数值超出上下限
  2. function setLimit(val,min,max)
  3. {
  4.     if (val<min) val=min;
  5.     else if (val>max) val=max;
  6.     return val;
  7. }
复制代码
(2)没看懂,是指物品有几个参数,比如吃下去以后HP+10,想显示这个HP+10?
那样的话,首先在excel里加一列,然后取数据和显示就和显示物品名一样就行,在对应的TJS函数里面,指令应该是drawtext。




回复

使用道具 举报

3

主题

6

帖子

0

精华

游戏开发者

积分
6
 楼主| 发表于 2022-10-11 23:07:02 | 显示全部楼层
VariableD 发表于 2022-9-29 12:19
(1)式子前面再加一个(int)应该可以。以及:可以不直接操作这个变量,写一个函数,传入值,然后最后再返回 ...

呜呜呜不好意思D大现在才看见,第二点我的意思是比如一开始HP是100,打开物品栏界面就能看到主角的HP数值100,使用了一个HP加10的物品以后变量HP就变为110,现在我在想的是怎么描绘f.HP这个变量在我作为物品栏界面的图片上,一开始想的是用ptaxt指令,但是ptaxt无法描绘变量
回复

使用道具 举报

16

主题

1009

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1030
发表于 2022-10-19 21:59:44 | 显示全部楼层
没记错的话KR的指令结果应该都可以使用变量代替的。
不过不能写
ptext text=f.变量
应该写
ptext text=&f.变量

&号用来取得后面的内容。
你也可以写&"一些tjs表达式"来让它执行。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2024-7-13 12:28 , Processed in 0.008206 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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