【DragonsReach MOD】自制法术:螺旋念气场&蓄念炮V1.2 —【Wasawasa Studio】—修复蓄念炮击退&念气场消失
本帖最后由 mvpv5 于 2016-7-3 14:10 编辑http://att.3dmgame.com/att/album/201605/29/192208aiirrsxph1rrccpq.png
未经我同意就转载的,死一户口本!
本帖报名http://bbs.3dmgame.com/thread-5101913-1-1.html
—————————分割线———————————————
修复日志在最下面,1.0版本玩家可以看一下~感谢大家的反馈和支持!(更多预览的动图在帖子后半段,看完描述估计动图也加载好)http://att.3dmgame.com/att/album/201605/29/172910qpx9wfww3zp6kzkg.gif
如题,两个法术,一个是螺旋念气场,一个是蓄念炮。创意和造型部分参考平面游戏DNF中女气功,并且调用了女气功的声音(本mod不适合男性)。本MOD是3D立体版,纯自制,从模型到脚本。(怒拉仇恨一波,ID欧尼酱,刚开气功二觉时开到的。无限蓄念炮没了好伤心 )http://att.3dmgame.com/att/album/201605/29/192207ujkz43cui3px3icz.jpg
螺旋念气场:分为两种,一种是符合原版dnf的,释放时是蓝白条纹旋转的螺旋念气。另一种是旋转的光球~因为好看所以单独分离出来。这两种螺旋念气场,在释放的时候,都会产生能量环绕的视觉效果哦!击中敌人会产生感电效果,以及额外的打击感!正常天际里,再强大的法术,打中敌人,敌人都能行动自如。。不科学!而被螺旋念气场打中的敌人,动作将会被迟缓,小到人类,大到龙,都会像幻灯片一样挥舞地很艰难的感觉(注意不会打断龙息之类),希望由此给大家带来全新体验!
蓄念炮:一种环绕着强大电流的能量炮,击中后,敌人会被击退一段距离(不会像不泄之力一样吹飞敌人,而是被推过去的感觉),并因强大的电流进入失去部分对身体的控制的“失魂”状态,例如无法行走,无法攻击,中断正在喷的龙息,无法转向玩家,甚至把空中的龙停在半空中不再前进(不过掉不下来)!不同于控制台按个tai,失魂的角色身体会保持着部分动作,例如无意识的用脚行走,挥翅膀,摇尾巴。也不同于麻痹那种直接倒在那儿,更不会被免疫麻痹的怪物直接免疫,所有生物都有效!(但是脚本定义的动作无效,比方龙飞起来。龙不停提升高度,到指定高度然而才会因为蓄念炮的效果停在空中)
然后是参数,螺旋念气场的伤害是7.5x施法者等级/每秒的伤害,蓄念炮是每发3x施法者等级的伤害。这两者的伤害不受任何减免和吸收!如果嫌伤害过高或过低,可以回复本帖或者私聊我给予我宝贵的建议,以后我还会做法术,好有个数~此外,在控制台输入“set wasawasa_gandianxishu to 数值”(set空格wasawasa_感电系数空格to空格数值)会改变上面两者的伤害,默认值0.5,设为1的话,螺旋念气场是15x施法者等级/每秒,蓄念炮6x施法者等级。(乘法)(5月31日更新,现在输入有效了,改的是全局变量)
需要指出的是,蓄念炮飞行参数完全参考原版冰风暴(icestorm),也就是飞的缓慢的球形伤害判定。能不能打中看你们的了!
前置:SKSE(1.2版本不需要FINS更新。技术换代了)
获取方法:掌握毁灭75级技能后,铁匠锻造。两万金币一本。。享受rmb玩家的特权,看看原版npc身上只有7到8金币的穷样子关于脚本:本MOD所有脚本的运行不会对游戏产生任何影响,在卸除后绝对不会有脚本再次调用的可能性,放心食用。如果念气场打人没有明显的闪电爆炸,请重新装备法术,比方从左手卸下,再装在左手。注意:螺旋念气场使用时,想停止法术,正确的做法是松开鼠标,所有脚本都会停止。直接按r收起法术,游戏会因接收不到停止命令,而一直在面前感电敌人。螺旋念气场装备时身上的buff是用来检测是玩家施法,还是NPC施法的,对角色属性没有影响~
【DragonsReach MOD】Wasawasa Studio出品
转载本MOD以及使用本MOD的内容需经我同意!本人ID:mvpv5
链接:http://pan.baidu.com/s/1o7FTjVO 密码:**** Hidden Message *****
戳我:【DragonsReach MOD】 ——Wasawasa Studio——作品目录贴
感谢各位朋友对我的支持!尤其是hardhard姐的耐心指导!
—————————下面是图———————————————
rishi法术无视掉,暂时不放出,我在想创意http://att.3dmgame.com/att/album/201605/29/174123s5tto447zauqesak.jpghttp://att.3dmgame.com/att/album/201605/29/174121v71xsrz1bibx9hbm.jpg
http://att.3dmgame.com/att/album/201604/28/235809ds00n7toqsmh5nqy.gif
http://att.3dmgame.com/att/album/201605/29/173845k6itpohhttzlntnt.gif下图是粒子效果的特写
http://att.3dmgame.com/att/album/201605/29/192829q9z3y8rn0wj99x3x.gif
下图展示的是龙被蓄念炮击中后顿时不能移动的情况(腰部是感电效果)
http://att.3dmgame.com/att/album/201605/29/190206popxfnrkrix4tr5n.gif
http://att.3dmgame.com/att/album/201605/29/190119gmjmudmgtvg0v090.gif
—————————更新日志———————————————V1.1修复蓄念炮无法击退问题(esp里附加脚本的名字写错了)
V1.2部分玩家光球消失问题:使用螺旋念气场,会出现有伤害,没有光球的情况。经排查,属于脚本冲突
详细解释:1.0版本用的是脚本命令cast来施展念气场,这个cast命令理解为“让对象不做动作施法”。如果有其它的cast命令运行于玩家,那么我的念气场的cast会被打断。这意味着什么?这意味着部分人安装的mod,里面的脚本时时刻刻在调用玩家cast,以至于打断了我写的concentrate型cast(纯英文0esp环境下安装测试后绝对不会打断,我测试完后才发的mod)。我没有时间一一测试,但是箭头指向无心整合里,里面的某位作者写出这种时时刻刻cast的脚本。
解决办法:脚本全部推倒重写
脚本1
Scriptname _wasawasa_luoxuannianqi1 extends ActiveMagicEffect
; -----------------Wasawasa Stuiod出品[主创:MVPV5]-------------------------
Explosion property Wasawasa_damage_exp auto
Explosion property Wasawasa_gandian_exp2 auto
Spell Property wasawasa_nianqi1_spell1Auto
Spell Property wasawasa_nianqi1_spell2Auto
Activator Property Wasawasa_nianqi1_Activator_1 Auto
; -------------
ObjectReference Wasawasa_obj
Actor TheTarget
Actor TheCaster
Spell spellCast
; -----------------检测施法者-------------------------
Event OnEffectStart(Actor akTarget, Actor akCaster)
TheCaster = akCaster
GotoState("Luoxuannianqi")
EndEvent
; -----------------阶段:螺旋念气场-------------------------
State Luoxuannianqi
; -----------------检测施法-------------------------
Event OnSpellCast(Form akSpell)
spellCast = akSpell as Spell
if spellCast && spellCast == wasawasa_nianqi1_spell1
wasawasa_gandian_damage()
RegisterForAnimationEvent(TheCaster, "CastStop")
elseifspellCast && spellCast == wasawasa_nianqi1_spell2
wasawasa_gandian_damage()
RegisterForAnimationEvent(TheCaster, "CastStop")
else
EndIf
EndEvent
; -----------------阶段:螺旋念气场-------------------------
EndState
; -----------------注册的动作-------------------------
Event OnAnimationEvent(ObjectReference akSource, string asEventName)
if(asEventName == "CastStop")
;TheCaster.placeatme(Wasawasa_gandian_exp2)
UnregisterForUpdate()
;TheCaster.interruptcast()
Wasawasa_obj.Delete()
EndIf
EndEvent
; -----------------自定义功能-------------------------
Function wasawasa_gandian_damage()
;TheCaster = game.getplayer()
Wasawasa_obj = TheCaster.PlaceAtMe(wasawasa_nianqi1_Activator_1)
Wasawasa_obj.MoveTo(TheCaster, 225.0 * Math.Sin(TheCaster.GetAngleZ()), 225.0 * Math.Cos(TheCaster.GetAngleZ()),TheCaster.GetHeight() +5)
Wasawasa_obj.placeatme(Wasawasa_damage_exp)
RegisterForUpdate(0.3)
EndFunction
; -----------------更新动作-------------------------
Event OnUpdate()
Wasawasa_obj.MoveTo(TheCaster, 225.0 * Math.Sin(TheCaster.GetAngleZ()), 225.0 * Math.Cos(TheCaster.GetAngleZ()),TheCaster.GetHeight() +5)
Wasawasa_obj.placeatme(Wasawasa_damage_exp)
EndEvent
脚本2
Scriptname _wasawasa_luoxuannianqi2 extends ActiveMagicEffect
; -----------------Wasawasa Stuiod出品[主创:MVPV5]-------------------------
Float Property Wasawasa_CD1 Auto
GlobalVariable Property Wasawasa_gandianxishu Auto
Explosion property Wasawasa_gandian_exp auto
; ------------------------------------------
Actor TheTarget
Actor TheCaster
float Wasawasa_Level
; -----------------主阶段-------------------------
Event OnEffectStart(Actor Target, Actor Caster)
TheTarget = Target
TheCaster = Game.GetPlayer()
TheTarget.EnableAI(false)
Wasawasa_Level = Wasawasa_gandianxishu.GetValue() * TheCaster.GetLevel()
Wasawasa_Level = 5 *Wasawasa_Level
TheTarget.placeatme(Wasawasa_gandian_exp)
TheTarget.DamageAV("Health",Wasawasa_Level)
Utility.wait(0.15)
TheTarget.EnableAI()
EndEvent
脚本3
Scriptname _wasawasa_xunianpao1 extends ActiveMagicEffect
; -----------------Wasawasa Stuiod出品[主创:MVPV5]-------------------------
Activator Property FXEmptyActivator Auto
Float Property Wasawasa_CD1 Auto
GlobalVariable Property Wasawasa_gandianxishu Auto
Explosion property Wasawasa_gandian_exp auto
Spell Property Wasawasa_jidao1Auto
; ------------------------------------------
ObjectReference Wasawasa_obj
Actor TheTarget
Actor TheCaster
float Wasawasa_Level
; -----------------主阶段-------------------------
Event OnEffectStart(Actor Target, Actor Caster)
TheTarget = Target
TheCaster = Caster
Wasawasa_Level = Wasawasa_gandianxishu.GetValue() * TheCaster.GetLevel()
;Wasawasa_Level =2 *Wasawasa_gandianxishu.GetValue() * TheCaster.GetLevel()
Wasawasa_obj = TheCaster.PlaceAtMe(FXEmptyActivator)
TheTarget.GetActorBase().SetInvulnerable(false)
Wasawasa_obj.MoveTo(TheTarget, 188.0 * Math.Sin(TheCaster.GetAngleZ()), 188.0 * Math.Cos(TheCaster.GetAngleZ()))
;Wasawasa_obj.MoveTo(TheTarget, 155.0 * Math.Sin(TheCaster.GetAngleZ()), 155.0 * Math.Cos(TheCaster.GetAngleZ()),TheTarget.GetHeight())
;Wasawasa_CD1 = TheTarget.GetAngleZ()
;RegisterForUpdate(0.1)
;TheTarget.ForceAddRagdollToWorld()
;TheCaster.PushActorAway(TheTarget,0)
If (TheTarget.IsUnconscious())
TheTarget.TranslateToRef(Wasawasa_obj, 622)
wasawasa_gandian_damage()
else
TheTarget.SetUnconscious()
;TheTarget.SetRestrained()
;Wasawasa_jidao1.cast(Wasawasa_obj,TheTarget)
TheTarget.TranslateToRef(Wasawasa_obj, 622)
wasawasa_gandian_damage()
utility.wait(7)
;UnregisterForUpdate()
;Wasawasa_obj.interruptcast()
Wasawasa_obj.Delete()
TheTarget.StopTranslation()
TheTarget.SetUnconscious(false)
TheTarget.SetRestrained(false)
EndIf
EndEvent
; -----------------循环段-------------------------
Event OnUpdate()
TheTarget.SetAngle(0,0,Wasawasa_CD1)
Wasawasa_CD1 = Wasawasa_CD1 + 20
EndEvent
; -----------------自定义功能-------------------------
Function wasawasa_gandian_damage()
TheTarget.placeatme(Wasawasa_gandian_exp)
TheTarget.DamageAV("Health",Wasawasa_Level)
utility.wait(0.2)
TheTarget.placeatme(Wasawasa_gandian_exp)
TheTarget.DamageAV("Health",Wasawasa_Level)
utility.wait(0.4)
TheTarget.placeatme(Wasawasa_gandian_exp)
TheTarget.DamageAV("Health",Wasawasa_Level)
utility.wait(0.1)
TheTarget.placeatme(Wasawasa_gandian_exp)
TheTarget.DamageAV("Health",Wasawasa_Level)
utility.wait(0.1)
TheTarget.placeatme(Wasawasa_gandian_exp)
TheTarget.DamageAV("Health",Wasawasa_Level)
utility.wait(0.1)
TheTarget.placeatme(Wasawasa_gandian_exp)
TheTarget.DamageAV("Health",Wasawasa_Level)
EndFunction
谢谢分享
回复看看,谢谢分享阿 666666666
6666666666666666
ddddddddddddddddddd
謝謝分享 谢谢楼主分享 感谢楼主分享 大后排支持 +++++++++++++++++++++++++++++++++++++
谢谢分享
666666666666
666666666666666666666
给楼主点赞,希望继续分享!感谢分享!论坛因你更精彩! 厉害l了 大佬
支持一下 谢谢楼主 不知道怎么样呀
谢谢楼主
謝謝分享 222222222222222222222222222 辛苦楼主搬运,感谢 后排支持
支持支持~~~ 支持一下 支持一下 谢谢楼主 66666666666666
666666666666666666
辛苦楼主搬运,感谢