【黑兔出品】上古卷轴5如何让自己的攻击手段更加多样化
更新时间:2020-06-07 09:47:52 | 编辑:气泡游戏网
【黑兔出品】上古卷轴5如何让自己的攻击手段更加多样化攻略
上一期我们讲了如何给武器附带剑气,但是仅仅只有一个剑气,那也太无趣了。
我们能不能一次攻击放出不同的魔法呢?
实现的方法也比较简单,那就是引入随机数的概念。
我们知道,mod制作工具本身是有一些随机数条件的,比如GetRandomPercent(随机概率)
但是要想随机释放单个法术却不行。
比如我要设定n个法术都写getrandompercent条件,那么有时候就会连发不同的法术,而不能指定每次只随机一个。
所以就需要脚本了。
首先,我们先设定一个魔法效果,效果为空。
再在空效果里添加脚本。
具体脚本的格式已经说了两次了,可以看之前的帖子。
这里只说思路以及新的知识点。
spell Property randSpell Auto
Explosion Property FireEXP Auto
Actor Victim ;声明Victim为角色
int randEff = 0 ;给randeff这堆字母赋值一个整数0,使他变成整数变量(实际上也可以不赋值,直接声明即可)
Event onEffectStart(Actor akTarget, Actor akCaster)
Victim = akTarget ;确定victim这个角色是受到效果的目标角色
If (akCaster == Game.GetPlayer()) ;如果施放者是主角
RandEff = utility.randomInt(1, 3) ;给randeff赋值随机整数1到3
EndIf
self.RandomEffect() ;启动自定义函数
EndEnvent
Function RandomEffect() ;Function即自定义函数,至于函数名可以自己填
If (RandEff == 1)
RandSpell.Cast(Game.GetPlayer()) ;主角再施放一个法术
ElseIf (RandEff == 2)
explosionMarker.setPosition( Victim.x, Victim.y, ( Victim.z + 75)) ;设置爆炸方位
Victim.placeAtMe(FireEXP) ;召唤一个爆炸(就是可以召唤44313的那个)
Victim.damageAV("Health", 60) ;造成固定伤害(不受任何削弱,包括难度)
game.getPlayer().restoreAV("Magicka", (game.getPlayer().getBaseAV("stamina") * 0.5))
;主角回复基础体力值一半的法力值
Else
Victim.kill(game.getPlayer()) ;直接杀死目标
EndIf
EndFunction
这样,每次我们发动该效果时,就会启动不同的法术效果了。
因为目标对象不是唯一的,可以是强盗也可以是巨人,所以这里目标对象不会声明
只需要在前面加上Actor victim即可,表明它是角色而不是其他东西。
game.getplayer()这里是重点,可以直接获取主角信息,相当于先声明对象,再用ck或者tes5edit在脚本对象里添加主角的序号(player [00000014])
int是整数,float是浮点数,=是赋值,==是等于。这些编程基础还是百度自学吧。
学会举一反三,这个随机数脚本是可以拆解到其他函数里的,而不仅仅是事件函数,因此可以在上期的剑气脚本里进行一些改编,具体自己思考吧。
另外因为这是一个法术的效果的脚本效果,所以远程必须要有抛射物接触敌人产生效果,近战要使用必须设置应用战斗击中魔法或者受击事件脚本(Onhit)。
本文转自bilibili【作者:深渊黑兔】
原贴地址:http://www.bilibili.com/read/cv6339196/
如有侵权请联系我们
-
相关文章
- Related articles
更多
-
热门资讯
- Hot News
更多
-
热游推荐
- Hot Game
更多
-
游戏视频
- Game Videos
更多
-
- 《黑色沙漠》【黑色沙漠台服】觉醒女拳码率录制测试bilibili(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】2021年万圣节活动 我遇见了阴间莎亦_网络游戏热门视频(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】降生 10代梦想马bilibili(视频)
- 时间:2021-11-12
-
- 《黑色沙漠》【黑色沙漠】万圣节前夜 韩服城战 天马攻城bilibili(视频)
- 时间:2021-11-12