icedream 210 Report post Posted February 16, 2015 本文转自《dr5腰斩脚本学习讨论(增加一个测试版)》,原作者为newalbert。放出一个测试版,稍微调高了一点子弹时间出现的几率,对腰斩调整如下: 1,横步重斩时,如果是MM敌人,斩首将变为斩腰。对男性以及其它斩首模式未做调整 2,腰斩时去掉了内脏,俺不喜欢 3,穿长袍等连体衣裤的也可以腰斩,衣服会丢在一旁 另外附带了两个自己做的对MM斩首和腰斩时的声音文件,原来的我不大喜欢 显然还有一些bug,而且我编入了一些无用信息,文件稍大(4M多),有兴趣的同学下着玩吧 文件名: DR5调整腰斩.rar 下载地址: http://www.rayfile.com/files/1a98c7cc-e232-11de-8a32-0014221b798a/ 对于重要人物的斩首,我以为自己已经修正了,没想到出了更恐怖的BUG,这版暂不放出吧 现在开始学习研究老滚的script,拿了DR5做参考,希望抛砖引玉,共同学习 老滚mod的script中,大概只有30%是真正完成作者的意图,其它都是一些善后处理和避免出现各种异常的补救代码 首先研究了DR5的腰斩,发出来共享一下:Scn skycaptainsNPCDecapQuestScript ;文件名 变量定义若干 。。。 外部对象引用定义若干 。。。 其它一些action 。。。elseif(action == 3) ;横步重斩死亡模式启动 if(Block >0) ;小子想挡? if(wristcut == 1) ;批准断手 。。。 。。。 。。。 if((Player.ispowerattacking == 0 || timer >2 ) && instaEffect == 0) ;如果不是重击或者超过一定时间,并且已经到了慢镜心跳模式的最后 Set action to 100 ;切换回普通攻击 elseif((instaeffect == 0 &&(myhealth - me.GetActorValue health >10 || me.GetActorValue health < 1)) || (instaEffect == 2 && me.GetDead == 0 && me.GetActorValue health >0)) ;这是腰斩和斩首的前置条件 ;(instaeffect == 0 && (myhealth - me.GetActorValue health >10 || me.GetActorValue health < 1)) ;这是第一个完整的前置条件,其实比较奇怪,要求你比敌人hp多10以上,或者敌人的hp<1!!! ;小于1就是0嘛,看来这个是一些特殊情况的处理,比方说敌人中毒,在hp从1到0的一瞬间,你给它重击了一下,同样可以把敌人斩首或腰斩,哪怕这时候你的hp也不多 ;(instaEffect == 2 && me.GetDead == 0 && me.GetActorValue health >0) ;这是第二个完整的前置条件,如果正在慢镜心跳模式中让玩家选择打击部位,并且敌人还没死,hp还高于0 if((weaponreach >0.5 &&anglex < (anglez) &&anglex >anglex2 &&myrobes == 0 &&myrobesNboots == 0 &&mywholebody == 0 &&instaEffect == 0) &&skullcrush == 0) ;腰斩的具体条件,比斩首要求高很多: ;慢镜心跳模式结束,武器距离,各种角度(是不是瞄准的腰部)都合适,而且敌人穿的不是连体袍子,也不是连靴袍,当然身体也是由upperbody和lowerbody构成的。 ;最后还有一个硬条件,当前不满足碎颅,碎颅是优先于腰斩的 ;好了,条件成熟,下面我们要把敌人腰斩 Set killed to 1 ;腰斩后敌人肯定挂了 Set count to (2 - count) me.AddItem stopflag count Set stopflagadded to 1 Set gutsUsed to 1 Set count to me.GetItemCount lookatweaponflag me.RemoveItem lookatweaponflag count me.PlayGroup idle 1 me.PlaySound3d cutsound ;咔嚓一声 Player.pushactoraway me 1 ;上半身飞出去 ;最有趣的部分来了,其实腰斩就是创建两个敌人模型,通过装备一个腰部伤口,一个把下半身隐藏掉,一个把上半身隐藏掉,这样来模拟身体的两个部分 ;me就是原来的敌人身体,现在变成上半身 ;myextra就是copy出来的一个身体,把上半身隐藏掉,冒充下半身 if(mygreaves != 0) myextra.AddItem mygreaves 1 ;这个装备,现在要出现在下半身 myextra.EquipItem mygreaves me.UnequipItem mygreaves 1 me.RemoveItem mygreaves 1 ;好了,下半身已经装备了,上半身就不需要了 else myextra.UnequipItem skycaptainslowercpants endif if(myboots != 0) ;如果原来敌人穿着鞋子, myextra.AddItem myboots 1 ;鞋子应该出现在下半身上 myextra.EquipItem myboots me.UnequipItem myboots 1 ;上半身不能出现鞋子了 me.RemoveItem myboots 1 ;删除之 else myextra.UnequipItem skycaptainsshoes endif myextra.UnequipItem skycaptainslowercshirt ;lowershirt这种上衣当然不能出现在下半身上 myextra.RemoveItem skycaptainslowercshirt 1 if(me.GetIsSex male == 1) ;敌人是男性 me.PlaySound3d maleScream ;男性惨叫 me.AddItem skycaptainsPlugLowerBody 1 ;me是原本敌人的身体,我们要把它变成只有上半身,做法是装备一个占据了lowerbody栏位的腰部伤口 me.EquipItem skycaptainsPlugLowerBody myextra.AddItem skycaptainsplugupperbody 1 ;下半身同理,装备一个占据了upperbody栏位的腰部伤口 myextra.EquipItem skycaptainsplugupperbody else ;敌人是MM me.PlaySound3d WomanScream ;MM惨叫 me.AddItem skycaptainsPlugLowerBodyfemale 1 me.EquipItem skycaptainsPlugLowerBodyfemale ;me是原本敌人的身体,我们要把它变成只有上半身,做法是装备一个占据了lowerbody栏位的腰部伤口 myextra.AddItem skycaptainsplugupperbodyfemale 1 myextra.EquipItem skycaptainsplugupperbodyfemale ;下半身同理,装备一个占据了upperbody栏位的腰部伤口 endif me.AddItem skycaptainsshoes 1 myextra.UnequipItem skycaptainsgloves ;继续处理装备,下半身肯定不能有袖子肩装等道具 myextra.RemoveItem skycaptainsgloves 1 myextra.AddItem skycaptainsGlovesForEmitter 1 myextra.EquipItem skycaptainsglovesForEmitter myextra.AddItem skycaptainsWaistExtraSplatter 1 下半身腰部伤口喷血 myextra.EquipItem skycaptainsWaistExtrasplatter me.AddItem skycaptainsWaistSplatter 1 上半身腰部伤口喷血 me.EquipItem skycaptainsWaistsplatter me.EquipItem skycaptainsshoes ;以下是摆放上下半身各自的位置和角度,以及一些善后处理 Set anglez to me.GetAngle z + me.GetHeadingAngle Player myextra.SetAngle z anglez Set anglez to anglez + 30 me.SetAngle z anglez Set posx to me.GetPos x Set posy to me.GetPos y Set posz to me.GetPos z if(me.GetDead == 0 &&me.GetActorValue health >0) me.Kill Player endif myextra.SetPos x posx myextra.SetPos y posy myextra.SetPos z posz 。。。 其实DR5的脚本并不难懂,我看到这些代码的时候,脑子里蹦出了无穷无尽的想法,但其实难的不是写script,而是做模型和贴图。。。 希望能找一下模型贴图方面的牛人大大帮忙 顺便说一下,DR6的最后一个内测版已经出来了,应该不久就会有正式版问世,哈哈 Share this post Link to post Share on other sites
xx22qq55 1 Report post Posted March 11, 2016 飞速垃圾不解释 Share this post Link to post Share on other sites
tiancaishu 4 Report post Posted March 1, 2017 (edited) 总感觉滚5的脚本性能比滚4低好多 你这种判断 脱 穿 判断 脱穿 不会弄出几秒时间么? 之前窝试着穷举玩家装备 结果。。。。那速度。。 啊……等等 这是滚4的脚本。。。。 最近眼花了。。。。。 Edited March 1, 2017 by tiancaishu 把滚4脚本当滚5脚本了 Share this post Link to post Share on other sites