THE NVL Maker

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

[常见问题] 关于CG的收集数

[复制链接]

6

主题

19

帖子

0

精华

游戏开发者

积分
19
发表于 2024-12-4 16:06:30 | 显示全部楼层 |阅读模式
打算在CG分类页中每个人物图片上加入收集数,但不知道该怎样写?
回复

使用道具 举报

16

主题

1065

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
发表于 2024-12-5 19:08:11 | 显示全部楼层
cg是已经做了根据人物分类显示了吗?(就是每个人不同的cglist.txt
回复

使用道具 举报

6

主题

19

帖子

0

精华

游戏开发者

积分
19
 楼主| 发表于 2024-12-6 12:01:44 | 显示全部楼层
VariableD 发表于 2024-12-5 19:08
cg是已经做了根据人物分类显示了吗?(就是每个人不同的cglist.txt

人物分类页做了,就是想在人物分类页每个角色图片上加入收集数....参考了养成面板中笔记里的统计,还是没搞明白
回复

使用道具 举报

16

主题

1065

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
发表于 2024-12-7 12:28:14 | 显示全部楼层
想知道具体是哪里不会呢?不知道怎么统计已经解锁CG数,还是不知道怎么在角色图片上显示收集数?你的这个角色分类页是怎么实现的,首先是地图的话得改成养成面板。然后写一个函数统计对应已解锁cg数量,和当前txt总cg数,然后把这两个值用养成面板的文字显示出来应该就ok了。
回复

使用道具 举报

6

主题

19

帖子

0

精华

游戏开发者

积分
19
 楼主| 发表于 2024-12-9 13:17:11 | 显示全部楼层
我把地图改成了养成后,函数统计对应已解锁cg数量和当前txt总cg数不会写T.T....有没有类似的列子?
回复

使用道具 举报

16

主题

1065

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
发表于 2024-12-9 15:21:24 | 显示全部楼层
  1. [iscript]
  2. //取得当前cgtxt内总cg数、已解锁cg数
  3. function getCgCount()
  4. {
  5.         var total=0;
  6.         var unlocked=0;

  7.         var list=[].load(f.cginfo);

  8.         for (var i=0;i<list.count;i++)
  9.         {
  10.                 var obj=list[i];
  11.                 var arr=obj.split(",");
  12.                 //追加一行cg内总cg差分数
  13.                 total+=arr.count;
  14.                 //统计已解锁cg数
  15.                 for (var j=0;j<arr.count;j++)
  16.                 {
  17.                         var name=arr[j];
  18.                         //只有已经登录的CG才会被加入统计
  19.                         if (sf.cglist[name]==true)
  20.                         {
  21.                                 unlocked++;
  22.                         }
  23.                 }
  24.         }

  25.         return unlocked+"/"+total;
  26. }
  27. [endscript]
复制代码
回复

使用道具 举报

6

主题

19

帖子

0

精华

游戏开发者

积分
19
 楼主| 发表于 2024-12-11 12:21:05 | 显示全部楼层
本帖最后由 lint 于 2024-12-11 13:12 编辑

这组函数复制在cglist里吗?在养成面板中填写条件f.cglist.count>0?变数该怎样写?
回复

使用道具 举报

16

主题

1065

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
发表于 2024-12-11 15:56:22 | 显示全部楼层
复制在macro_cg里面,
返回的会是 "当前收集到的cg/当前人物分类的cg" 这样的字符串。
如果你是想在多个人物分类页面显示所有人的收集进度,而不是进到CG界面里面再显示这个数值,
就需要把f.cginfo 变成具体的txt名字,像下面这样,修改这个函数让他传入txt名。不需要填写任何变数,而是在养成面板文字显示部分,填写表达式,类似 getCgCount('cglist_a') 这样的。
  1. ;-------------------------------------------------------------------------------------------
  2. ;CG统计文字
  3. ;取得当前cgtxt内总cg数、已解锁cg数并返回0/0格式字符串
  4. ;-------------------------------------------------------------------------------------------
  5. [iscript]
  6. function getCgCount(filename)
  7. {
  8.         var total=0;
  9.         var unlocked=0;
  10.         var list=[].load(filename+".txt");
  11.        
  12.         for (var i=0;i<list.count;i++)
  13.         {
  14.                 var obj=list[i];
  15.                 var arr=obj.split(",");
  16.                 //追加一行cg内总cg差分数
  17.                 total+=arr.count;
  18.                 //统计已解锁cg数
  19.                 for (var j=0;j<arr.count;j++)
  20.                 {
  21.                 var name=arr[j];
  22.                         //只有已经登录的CG才会被加入统计
  23.                         if (sf.cglist[name]==true)
  24.                         {
  25.                                 unlocked++;
  26.                         }
  27.                 }
  28.         }
  29.         return unlocked+"/"+total;
  30. }
  31. [endscript]
复制代码


回复

使用道具 举报

6

主题

19

帖子

0

精华

游戏开发者

积分
19
 楼主| 发表于 2024-12-16 12:25:10 | 显示全部楼层
本帖最后由 lint 于 2024-12-16 12:33 编辑

复制在macro_cg中,把f.cginfo 变成具体的txt名字,启动的时候报错了.....cglist.txt里的CG列表文件F.cginfo也同步修改了,启动也是出现非法文字:“?”的问题
回复

使用道具 举报

16

主题

1065

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
发表于 2024-12-16 15:02:47 | 显示全部楼层
好像论坛复制的文本有问题(缩进会解析成错误),用下面这个吧。我也更新了这个函数到源代码版里面,可以下载新的macro_cg.ks看看。如果还有错请贴出你macro_cg里面的截图、编辑器内怎么调用这个函数的截图、以及报错截图。

;-------------------------------------------------------------------------------------------
;CG统计文字
;-------------------------------------------------------------------------------------------
[iscript]
//取得当前cgtxt内总cg数、已解锁cg数
function getCgCount(filename)
{
var total=0;
var unlocked=0;
var list=[].load(filename+".txt");

for (var i=0;i<list.count;i++)
{
var obj=list;
var arr=obj.split(",");
//追加一行cg内总cg差分数
total+=arr.count;
//统计已解锁cg数
for (var j=0;j<arr.count;j++)
{
var name=arr[j];
//只有已经登录的CG才会被加入统计
if (sf.cglist[name]==true)
{
unlocked++;
}
}
}
return unlocked+"/"+total;
}
[endscript]


回复

使用道具 举报

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

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2025-1-21 04:04 , Processed in 0.010234 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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