!!关于Geck下脚本编译的问题!!诚心求教!!(水王留情)
*前(马)言(屁)*真的不是水贴,请水王留情!
接触辐射的时间越长,越有这种感觉--下载别人的mod玩,在感谢作者辛勤劳动的同时,总有认为自己不合适的地方.于是乎慢慢学习geck,动手修改.进游戏体验.测试.改完了自己也有小小的成就感.记得我刚开始玩fo3的时候,下载了一套服装,好看是好看,但是防御太低,属于观赏性的物品,出门打怪就不行了.特别是装了怪物增强模组之后.那时候就只会改改防御,改改重量等基本的修改.后来完了FNv 开始学习Object Effect 游戏玩的多了,熟练了.发现改的bt了没意思,慢慢的开始从平衡性的角度出发,适度的修改.因为我文化程度比较低(高一辍学)没有系统的学习英语,(编程是神马?写个bat还行)在熬了很多通宵之后学会了修改装备基本属性,Effects,修理列表,装备音效,将装备加入游戏世界(我那时候用的英文版).也许在很多人眼里很浅显易懂的玩意,对于我来说却比登天还难.没文化....真的很可怕~找mod不如自己学做mod,这是我在玩了Fo3和Fnv两个版本的重生、真永恒之心合集、外加Cwdolls &Cwclothes ... ...这些mod之后自己的感想.首先感谢这些mod的作者,你们的辛苦劳动为广大辐射爱好者带来了难忘的游戏体验.虽然我们各在一方,虽然我们相隔千里.但是在这里我要谢谢你们!衷心的感谢你们!同时感谢3dmgame游戏论坛,给予我们游戏爱好者一个交流和下载游戏的平台!
*正(求)题(助)
Geck的使用现在学会了.但是我的难题在于编译脚本.特别是Fose和MCM菜单等使用条件判断和嵌套的函数.在网上也没有找到相应的Script教程.所以在此,只要您有相关教程或者能够愿意教我的坛友,请在此回帖或者站内信. 非常感谢!
脚本编译是个真难题 qqqween007 发表于 2013-4-30 00:35 static/image/common/back.gif
脚本编译是个真难题
请问你有没有相关教程.英语的也行.打不了我自己慢慢嗑.~{:3_91:}
这里是GECK教学地址,有详细描述脚本指令的格式与用法
http://geck.bethsoft.com/index.php/Category:Functions_(GECK_1.1)
看不懂的地方用机翻吧
真永恒之心 发表于 2013-4-30 18:20 static/image/common/back.gif
这里是GECK教学地址,有详细描述脚本指令的格式与用法
http://geck.bethsoft.com/index.php/Category:Funct ...
非常感谢!
本帖最后由 xjdelc 于 2013-5-1 16:59 编辑
真永恒之心 发表于 2013-4-30 18:20 static/image/common/back.gif
这里是GECK教学地址,有详细描述脚本指令的格式与用法
http://geck.bethsoft.com/index.php/Category:Funct ...
Begin ScriptEffectStart
Set Selector to Selector == 0
Showmessage aaLuckLadys #已经添加自定义消息 ,内容不赘述
End
if IsKeyPressed 49 != sToggle
set sToggle to IsKeyPressed 49
if sToggle ;Button pressed
player.setav Nighteye 1 #根据猫眼药剂的脚本参数设置的,似乎没有效果~
playsound UIPipBoyLightOn
else ;Button released
player.setav Nighteye 0
playsound UIPipBoyStatic
endif
endif
End
游戏中体验效果不可行....求指点
思路是按一下n获得低光夜视,再按一下移除效果.大神帮我检查一下哪里错了~多谢
qqqween007 发表于 2013-4-30 00:35 static/image/common/back.gif
脚本编译是个真难题
帮忙看一下楼上的脚本有什么问题吧.谢谢了~
xjdelc 发表于 2013-5-1 14:04 static/image/common/back.gif
帮忙看一下楼上的脚本有什么问题吧.谢谢了~
请把完整脚本贴出, 不要截取片段
本帖最后由 xjdelc 于 2013-5-1 17:34 编辑
316a 发表于 2013-5-1 15:24 static/image/common/back.gif
请把完整脚本贴出, 不要截取片段
惊现316a!
是这样的,因为我根本不会写脚本.所以呢一般都是一半抄袭一半瞎蒙.看到你说把脚本全贴出来当时我就傻了.我的思路是这样的,给幸运眼罩增加夜视效果,这一步已经成功了,采用的是低光夜视也就是猫眼药剂的夜视效果.可是无法主动开关.于是想到了FOSE .用NVSE启动GECK 开始查找猫眼药剂的脚本. 如下
scn CateyeEffect
begin ScriptEffectStart
ApplyImageSpaceModifier CatEyeISFX #1允许图像空间模组 猫眼ISFX ? 也有可能是吃猫眼的时候画面模糊的效果?
player.setav Nighteye 1 #2上面那条看不懂瞎猜的,这条应该是脚本在游戏中执行的命令..打开夜视.
end
begin ScriptEffectFinish
RemoveImageSpaceModifier CatEyeISFX #3移除了#1.
ApplyImageSpaceModifier CatEyeFadeOutISFX #4 应该是药剂效果消失的时候画面模糊效果
player.setav Nighteye 0 #5执行命令,关闭低光夜视
end
脚本能看懂大概,但是想写,有点困难 .所以我参照了http://geck.bethsoft.com/index.php/Useful_Scripts中的
Hotkey脚本(Type Codes代码我也有)
ScriptName HotkeyReleasedShort sToggleBegin GameMode
if IsKeyPressed 25 != sToggle
set sToggle to IsKeyPressed 25
if sToggle ;Button pressed
;Do things when button 'p' is pressed, in this case, decrease karma
RewardKarma -650
else ;Button released
;Do things when button 'p' is released, in this case, increase karma
RewardKarma 650
endif
endif
End
##这段脚本因为用了很多分号所以排版有点问题(是因为html的原因?).
我把这两个脚本中的执行命令 RewardKarma -650跟 player.setav nighteye 1 相替换之后,就成了我前面发的脚本..我想大概是这样的吧.
结果很显然没有效果 .刚才测试了一下在控制台输入命令player.setav nighteye 1 也没有效果.我很疑惑.这到底应该怎么编写.
PS.因为夜视效果无法手动开关,我已经在编辑物品的时候将夜视跟脚本取消了.但是进了普瑞姆的赌场会自动开启.出门也在,快速旅行到其他地区再过一个门可破.难道阴魂不散?
求大神指点迷津!
本帖最后由 316a 于 2013-5-1 21:43 编辑
xjdelc 发表于 2013-5-1 17:21 static/image/common/back.gif
惊现316a!
是这样的,因为我根本不会写脚本.所以呢一般都是一半抄袭一半瞎蒙.看到你说把脚本全贴出来当时我 ...
简单看了一下, 发现几点, 仅供参考:
变量Selector未定义
变量sToggle未定义
按理说,变量未定义会使脚本无法编译, 估计你的脚本没有真正enable
Nighteye与是否有画面亮度效果无关, 真正有效的是相空间变化调用
按键的这套逻辑我一般不这么用, 以下是我编写的一段按键开启夜视的简单脚本(需nvse支持), 仅供参考
scn RCNVNVREDScript
short Selector
short NVon
Begin ScriptEffectStart
Set Selector to Selector == 0;变量初始化
Set NVon to0;变量初始化
End
Begin ScriptEffectUpdate
If (NVon == 0) ;没开夜视的情况下按N键
If Selector != IsKeyPressed 49
Set Selector to Selector == 0
If Selector
imod NVRED;启动夜视开机效果注意NVRED1~3是重生自带的ISM, 你不能照搬, 以下同
imod NVRED2;启动夜视常态效果
rimod NVRED3;关闭夜视关机效果
playsound UIPipBoyLightOn
Set NVon to 1
Endif
Endif
ElseIF (NVon == 1) ;开了夜视的情况下按N键
If Selector != IsKeyPressed 49
Set Selector to Selector == 0
If Selector
rimod NVRED;关闭夜视开机效果
rimod NVRED2;关闭夜视常态效果
imod NVRED3;启动夜视关机效果
playsound UIPipBoyStatic
Set NVon to 0
Endif
Endif
Endif
End
Begin ScriptEffectFinish ;为了使开夜视的情况下摘除装备自动移除夜视效果而必须的
If (NVon == 1)
rimod NVRED
rimod NVRED2
imod NVRED3
playsound UIPipBoyStatic
Endif
End
本帖最后由 xjdelc 于 2013-5-1 22:06 编辑
316a 发表于 2013-5-1 21:41 static/image/common/back.gif
简单看了一下, 发现几点, 仅供参考:
变量Selector未定义
原来是这样.看来编译脚本需要逻辑思维缜密才不会出现各种类似我这样奇葩的bug .
那么还请您来看下我失败的作品
begin ScriptEffectFinish
RemoveImageSpaceModifier CatEyeISFX #removeimagespacemodifier 是否等于您写的脚本里面的 rimod 命令行同样的imod是相对命令?
ApplyImageSpaceModifier CatEyeFadeOutISFX #Cateyeisfx 和CateyeFadeoutisfx是否是等同重生中NVRED ISM?
player.setav Nighteye 0 #那么猫眼中的这一条是何用意呢?不会是吃了猫眼后听到的猫咪叫声吧?
end
也就是说.夜视效果也就是ImageSpaceModifier和游戏本身的Effects是有根本区别的,前者应用于游戏程序.改变画面效果 .而Effects直接作用于角色.增加buff?
另外这两个变量Selector,sToggle 的详细意思还请您解说一下.
能否允许我用您的思(脚)路(本)改编一个自己的夜视效果?{:3_110:}
xjdelc 发表于 2013-5-1 22:02 static/image/common/back.gif
原来是这样.看来编译脚本需要逻辑思维缜密才不会出现各种类似我这样奇葩的bug .
begin ScriptEffectFinish ;作用于效果结束时
RemoveImageSpaceModifier CatEyeISFX ;移除猫眼常态效果
ApplyImageSpaceModifier CatEyeFadeOutISFX ;启动猫眼的淡出效果
player.setav Nighteye 0 ;没啥用
end
药品的调用基本效果和装备调用的基本效果是有区别的, 具体区别看原版的例子就能明白
装备调用ISM类基本效果一定要加条件: 猪脚用有效, 别人用无效, 否则晃瞎眼不解释
临时变量没啥好解释的, 只要不与全局变量重名就行, 它就是个代号
页:
[1]