楼主: lbky684
收起左侧

[讨论交流] 有无脚本大佬可以修改Racemenu高跟的条件,使得对Pama家具生效

[复制链接]

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-10 19:40:01 | 显示全部楼层
梗太多 发表于 2024-4-10 11:18
activator的运行机制跟家具不一样,不知道怎么判断
你先试试看有没有效果吧

我看了下这个代码应该是进入activator会通知,但是我进入没有通知。。。
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-10 21:58:59 | 显示全部楼层
梗太多 发表于 2024-4-10 21:24
一般都是在activator上挂脚本,从角色身上去监测是否激活activator好像没有什么好办法
如果这个acti ...

试了一下还是不行。如果实在不行的话那就算了,还是谢谢大佬了。改activator为furniture我恐怕是不会,这应该完全不是一个东西吧?他这个pama家具之所以是activator似乎是因为部分家具有多个部件组成,比如包括本体+控制杆这样。
我比较好奇是否能检测玩家当前状态为非可控,这样可以统一修复,毕竟进入所有家具和activator都是玩家不可控的。
还有就是玩家进入activator是否会有什么特征,比如会变为某个状态之类的,之前用初版测试进入pama家具会提示装备物品,是否进入activator会相当于装备什么?然后可以利用SPID、KID之类的分发法术或者关键词,再检测法术或者关键词来做到修复高度?
回复

使用道具 举报

17

主题

1512

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67962
积分
84159
发表于 2024-4-10 22:43:16 | 显示全部楼层
本帖最后由 梗太多 于 2024-4-10 22:48 编辑
lbky684 发表于 2024-4-10 21:58
试了一下还是不行。如果实在不行的话那就算了,还是谢谢大佬了。改activator为furniture我恐怕是不会,这 ...

刚才那个脚本需要让法术重新应用才有可能有效果

activator这个东西很少碰到,我也不太懂,原版游戏里最常见的就是门的控制杆。是一个东西激活另一个东西,一个中间件。
所以这个东西本质上应该是单向的,你使用了控制杆,控制杆变化了,但是人是没有状态变化的。家具,装备都是跟你人绑定了,所以能监测。

这个也只有从pama入手,看看他是如何定义这种人物的状态变化的,或许pama的脚本本身就会给使用着一些记号什么的

监测人物是否可控不太行,因为这种情况太多了,比如啪啪啪的时候也是不可控的,进入阿祖拉祭坛也是不可控的,应该会冲突的
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-10 23:27:16 | 显示全部楼层
梗太多 发表于 2024-4-10 22:43
刚才那个脚本需要让法术重新应用才有可能有效果

activator这个东西很少碰到,我也不太懂,原版游戏里 ...

试了下重新应用法术也没有效果。我比较好奇为什么进入activator的时候会提示装备物品呢?他是检测到什么了吗?我看那个代码是和object有关的,是否可以识别object物品的关键词?
我看了下树桩activator家具的代码,里面有一段似乎定义了受害者,代码是这样的: pamaTreeStump.psc (23.18 KB, 下载次数: 0)
回复

使用道具 举报

17

主题

1512

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67962
积分
84159
发表于 2024-4-10 23:43:11 | 显示全部楼层
lbky684 发表于 2024-4-10 23:27
试了下重新应用法术也没有效果。我比较好奇为什么进入activator的时候会提示装备物品呢?他是检测到什么 ...

你进activator的时候提示装备物品了?
那应该有办法了,明天再说把
回复

使用道具 举报

17

主题

1512

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67962
积分
84159
发表于 2024-4-11 10:59:06 | 显示全部楼层
本帖最后由 梗太多 于 2024-4-11 11:02 编辑
lbky684 发表于 2024-4-10 23:27
试了下重新应用法术也没有效果。我比较好奇为什么进入activator的时候会提示装备物品呢?他是检测到什么 ...

之前根据你的描述我一直以为这个activator本身是个“家具”,但是这样的话这个activator应该和原版游戏里的功能一样,只是个触发器。
就好比原版里你拉下控制杆或者闸刀以后,对应的铁门、墓穴门就会被打 开一样,这个activatorj仅仅只是为了激活另一件物品的激活器。

如果真像你说的使用activator就会显示装备物品的话那就很清楚了,之前之所以没效果是因为关键字绑在了这个activator上,而不是绑在
被装备的物品上,你需要通过esp或者控制台找到那个activator所对应的装备物,这样就能生效了。

另外新加的关键字最好是自己新建的而不是用之前原有的,因为这样可能会导致冲突,比如你在activator上加了关键字“pama家具”,
这样一来有可能其他脚本会误以为这也是个家具,自己新建一个关键字就不会有问题

脚本里我新加了两个关键字判断,一个"PamaEquipment",一个"PamaObject",你试着加加看有没有效果
RaceMenuHHScaleEffect.psc (4.26 KB, 下载次数: 1)
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 20:01:01 | 显示全部楼层
本帖最后由 lbky684 于 2024-4-11 20:04 编辑
梗太多 发表于 2024-4-11 10:59
之前根据你的描述我一直以为这个activator本身是个“家具”,但是这样的话这个activator应该和原版游戏里 ...

       我自建了关键词,给所有activator加上了PamaObject,给所有pama的Armor项目加上PamaEquipment,我现在大概知道为什么会提示装备物品了
       因为起初我测试的activator是会自动给玩家装备套索的,所以才会提示这个。所以只有一部分activator可以给玩家装备物品,这时候应该检测玩家装备物品是否有PamaEquipment关键词。但是对于不会给玩家装备物品的(例如上面的树桩)恐怕没有什么办法,除非能检测activator上的关键词(我用OAR函数可以查到这个activator上有关键词的)
       所以大佬如果没有办法解决activator上的关键词的话那就改个检测玩家装备关键词的代码吧,至少一部分能生效
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 20:04:43 | 显示全部楼层
我服了,怎么9DM还有和谐 K@}DKD@PG}JSY]UMM}_R@TM.png
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 20:19:56 | 显示全部楼层
本帖最后由 lbky684 于 2024-4-11 20:21 编辑
梗太多 发表于 2024-4-11 10:59
之前根据你的描述我一直以为这个activator本身是个“家具”,但是这样的话这个activator应该和原版游戏里 ...

然后我问了问AI,activator和furniture的区别,以及脚本问题。
Activator(激活器):
Activators是游戏中的对象,玩家可以与之互动,但它们通常不提供坐下或使用家具的动画。
例如,一个门可以是一个activator,玩家与之互动时会打开门进入另一个区域。
Activators可以触发脚本事件或特殊效果,如启动任务、改变环境或显示信息。
Furniture(家具):
Furniture项则是玩家可以与之互动并触发特定动画的对象,如坐下、躺下或使用工作台。
家具项通常用于玩家角色进行休息、工作或进行其他特定活动时的动画。
家具可以有多个使用位置,例如一张桌子周围可以有多个坐的位置。
在mod开发中,这两种项目的使用取决于你想要玩家与对象互动的方式。如果你想要对象仅仅是被激活并触发事件,那么使用activator会比较合适。如果你想要玩家与对象互动时有特定的动画,那么使用furniture会更加合适。

当然可以使用脚本来检测furniture和activator上的关键词。在《上古卷轴5:天际》中,你可以使用Papyrus脚本语言来实现这一功能。以下是一个基本的脚本示例,它可以检测玩家是否与具有特定关键词的furniture或activator互动:

; 假设你有一个名为MyKeyword的关键词
; 这个脚本将会检测玩家是否与含有MyKeyword的furniture或activator互动

ObjectReference Property MyFurniture Auto
ObjectReference Property MyActivator Auto
Keyword Property MyKeyword Auto

Event OnActivate(ObjectReference akActionRef)
    If akActionRef.HasKeyword(MyKeyword)
        ; 如果玩家与含有MyKeyword的对象互动
        ; 在这里执行你想要的操作
        Debug.Notification("你已经与含有特定关键词的对象互动。")
    EndIf
EndEvent在这个脚本中,MyFurnitureMyActivator是你想要检测的对象的引用,MyKeyword是你想要检测的关键词。当玩家与这些对象互动时,OnActivate事件会被触发,如果这些对象有MyKeyword关键词,脚本会执行相应的操作。
回复

使用道具 举报

17

主题

1512

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67962
积分
84159
发表于 2024-4-11 20:26:19 | 显示全部楼层
lbky684 发表于 2024-4-11 20:01
我自建了关键词,给所有activator加上了PamaObject,给所有pama的Armor项目加上PamaEquipment,我 ...

26楼的脚本已经是监测装备上的关键字了,左上角没有出提示吗?
RaceMenuHHScaleEffect.psc (4.31 KB, 下载次数: 1)
回复

使用道具 举报

17

主题

1512

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67962
积分
84159
发表于 2024-4-11 20:31:08 | 显示全部楼层
lbky684 发表于 2024-4-11 20:19
然后我问了问AI,activator和furniture的区别,以及脚本问题。
Activator(激活器):
Activators是游戏 ...

OnActivate(ObjectReference akActionRef)这个事件函数你已经证明没有效果了,20楼的就是OnActivate事件函数。
如果这个函数真的有效,那就是你没有测试完全
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 20:38:09 | 显示全部楼层
梗太多 发表于 2024-4-11 20:26
26楼的脚本已经是监测装备上的关键字了,左上角没有出提示吗?

26L的脚本左上角提示的是装备的物品和FormID,现在这个30L的脚本OK了,可以在进入家具并装备pamaobject的物品时移除高度了,就是通知可以删一下,他甚至还检测NPC装备了什么。然后大佬你看下29楼AI给出的脚本是否可行?如果不行那就这样吧,辛苦了,不知道是否有编译的教程,我也好自己改脚本玩
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 20:41:29 | 显示全部楼层
梗太多 发表于 2024-4-11 20:31
OnActivate(ObjectReference akActionRef)这个事件函数你已经证明没有效果了,20楼的就是OnActivate事件 ...

我看了下20L的脚本,是FixHeight(IsOtherFurniture(akActionRef As Form)),括号里的是什么?我看原版似乎就是FixHeight()
回复

使用道具 举报

17

主题

1512

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67962
积分
84159
发表于 2024-4-11 20:53:53 | 显示全部楼层
lbky684 发表于 2024-4-11 20:41
我看了下20L的脚本,是FixHeight(IsOtherFurniture(akActionRef As Form)),括号里的是什么?我看原版似 ...

新建位图图像 (3).jpg
20L的第35行是有通知的,用的就是OnActivate,当你激活activator的时候照道理是会通知的,但是你测试下来没反应,所以我就Pass掉了


回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 20:56:09 | 显示全部楼层
梗太多 发表于 2024-4-11 20:53
20L的第35行是有通知的,用的就是OnActivate,当你激活activator的时候照道理是会通知的,但是你测试下 ...

说实话,一开始那个脚本的这个通知非常乱,我站着不同都能调一堆通知,我怀疑是否不太准确?我刚测了下站着不同左上角都会跳进入家具和离开家具。。。我刚问了下AI的建议,不知道是否可行,如果不行就算了吧,30L的脚本基本可用了,就是要注释掉通知:
要修改代码以便无论是furniture还是activator对象,只要它们具有PamaFurniture关键词,在玩家与之互动或者进入时就会调整高度,你可以按照以下步骤进行:

确保OnActivate事件能够响应所有类型的对象,不仅仅是furniture。
修改IsOtherFurniture函数,使其能够检测所有类型的对象是否具有PamaFurniture关键词。
确保FixHeight函数能够根据对象类型正确地调整高度。
以下是修改后的代码示例:

Event OnActivate(ObjectReference akActionRef)
    If akActionRef.HasKeyword(FormList Property PamaFurnitureList Auto)  ; 检查对象是否有PamaFurniture关键词
        Debug.Notification("是PamaFurniture对象")
        FixHeight(akActionRef)  ; 调用FixHeight函数,传入当前激活的对象
    EndIf
EndEvent

Function FixHeight(ObjectReference akObj)
    ; 你的高度调整逻辑...
    ; 根据akObj的类型(furniture或activator)进行高度调整
EndFunction
回复

使用道具 举报

17

主题

1512

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67962
积分
84159
发表于 2024-4-11 21:22:02 | 显示全部楼层
lbky684 发表于 2024-4-11 20:56
说实话,一开始那个脚本的这个通知非常乱,我站着不同都能调一堆通知,我怀疑是否不太准确?我刚测了下站 ...

RaceMenuHHScaleEffect.psc (4.42 KB, 下载次数: 1)
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 21:29:24 | 显示全部楼层
梗太多 发表于 2024-4-11 21:22
1.测试的部分都已经注掉了,OnActivate函数不管有用没用也帮你加进去了
2.下载个CK,然后搭建环境就能 ...

好的,谢谢大佬,我去试试
2.我有CK,关键就是你说的什么搭建环境啥的,太笼统我听不明白
5.AI是免费的,就是原来是newbingAI,现在改名叫Copilot,需要用EDGE浏览器,并且注册账号,但是需要科学上网才能使用。https://www.bing.com/search?form ... g+AI&showconv=1
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 21:45:44 | 显示全部楼层
梗太多 发表于 2024-4-11 21:22
1.测试的部分都已经注掉了,OnActivate函数不管有用没用也帮你加进去了
2.下载个CK,然后搭建环境就能 ...

测试了一下,确实onactivate无效,其他都没问题,谢谢了。
回复

使用道具 举报

17

主题

1512

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67962
积分
84159
发表于 2024-4-11 21:53:47 | 显示全部楼层
lbky684 发表于 2024-4-11 21:29
好的,谢谢大佬,我去试试
2.我有CK,关键就是你说的什么搭建环境啥的,太笼统我听不明白
5.AI是免费的 ...

搭建环境用老滚的说法就是放前置
通俗得说也就是前置脚本
一般来说你不能编译其他mod作者的脚本无非就是没有把前置脚本放进去
举个例子,你要编译关于瑟瑟Mod的脚本,那你需要把SexLab这个前置的脚本全部复制到你的编译文件夹下
一般来说是Skyrim Special Edition\Data\Scripts\Source下面,具体根据你自己CK的情况
说白了纯粹就是力气活,没你想象得那么复杂需要教程,只不过你要找齐所有的前置很费力罢了,毕竟每个人装的mod也不一样
回复

使用道具 举报

110

主题

1482

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
118416
积分
131873
 楼主| 发表于 2024-4-11 23:10:51 | 显示全部楼层
梗太多 发表于 2024-4-11 21:53
搭建环境用老滚的说法就是放前置
通俗得说也就是前置脚本
一般来说你不能编译其他mod作者的脚本无非就 ...

不是,其实我连怎么把psc转化为pex这一步都不会,更别说什么前置了。。我只能找到pas转化为pex的软件,但是pas文件根本无法阅读。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|玖大猫论坛

GMT+8, 2025-7-5 16:35

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.