最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【mugen】舊神級(jí)技術(shù)講解1基礎(chǔ)原理

2018-11-23 15:03 作者:seilai  | 我要投稿

==============================

前言

==============================

因?yàn)橛腥讼M野l(fā)一下模板,我想了下深藍(lán)的的確對(duì)于沒(méi)有基礎(chǔ)的人過(guò)于抽象,于是把自己了解的東西寫一下,當(dāng)然可能難免會(huì)有錯(cuò)誤

涉及到隔離的內(nèi)容我會(huì)根據(jù)自己的了解適當(dāng)?shù)闹v一下,匯編以下的程度,隔離輔助的新技術(shù)我不會(huì)講,沒(méi)有研究過(guò)

親變更涉及到刷幾次值之類的運(yùn)算,比起看我寫的,不如直接看別人的,講的多細(xì)取決于我想記起來(lái)多少

順便,找不到封面,拿ff14充數(shù)一下

==============================

正文

==============================

1?基礎(chǔ)原理

基礎(chǔ)原理就是所謂的“三大bug”,即內(nèi)存溢出(超即死等),proj的親為本體(各種貫通炮),永續(xù)target,然而混線的原理實(shí)際上游離于三大bug之外(永續(xù)target只是其中一半)

本章講解神級(jí)基礎(chǔ)的技術(shù)原理,大傷害等普通人很好理解的內(nèi)容,各種后續(xù)派生技將在今后更新

1.1 內(nèi)存溢出

其實(shí)是各種程序普遍會(huì)有的一個(gè)bug,一般程序需要分配內(nèi)存空間,如果你使用的部分超出了預(yù)先分配好的內(nèi)存空間,就會(huì)造成溢出,占用其他內(nèi)容的內(nèi)存,從而產(chǎn)生數(shù)據(jù)覆蓋的現(xiàn)象,早年游戲的各種bug(常見(jiàn)于口袋妖怪)都是內(nèi)存溢出的現(xiàn)象

從性質(zhì)上來(lái)講,mugen中大部分修改內(nèi)存的途徑都是內(nèi)存溢出,statedef溢出、512超越本質(zhì)并無(wú)不同

理論上來(lái)說(shuō)任何程序?qū)τ趦?nèi)存溢出都有保護(hù)措施,mugen也不例外,但是通過(guò)某些手段可以越過(guò)這些措施以達(dá)到修改內(nèi)存的目的

1.1.1 512超越

mugen對(duì)于一個(gè)state(角色當(dāng)前的狀態(tài))在同一f(即mugen內(nèi)部的最小時(shí)間單位)可以同時(shí)運(yùn)作的控制器的上限是512個(gè),超過(guò)就會(huì)自動(dòng)報(bào)錯(cuò)

但是在角色有hitpausetime(擊中暫停時(shí)間)的情況下,則不會(huì)報(bào)錯(cuò),同時(shí)會(huì)因?yàn)閮?nèi)存溢出,達(dá)到覆蓋內(nèi)存數(shù)值的效果,這就是512超越

1.1.2 hitpausetime

角色的一個(gè)屬性,本質(zhì)是格斗游戲中擊中或者被擊中時(shí)為了增加打擊感產(chǎn)生的停頓時(shí)間,在mugen里用hitpausetime表示

hitpausetime可以防止512報(bào)錯(cuò),是神級(jí)實(shí)現(xiàn)內(nèi)存修改(現(xiàn)在看來(lái)比較low的遠(yuǎn)古隔離機(jī)也是這么玩的)的必要條件

取得hitpausetime有兩種方法,一是通過(guò)hitdef擊中對(duì)方(或者被對(duì)方reversaldef當(dāng)身),二是通過(guò)reversaldef當(dāng)身對(duì)方(或者自己的helper)的hitdef

需要注意的是,雖然被對(duì)方擊中也會(huì)產(chǎn)生停頓,但是此時(shí)并不是hitpausetime,而是被稱為hitshaketime的參量,兩個(gè)不可混淆

projectile控制器無(wú)法產(chǎn)生hitpausetime

hitpausetime防止512報(bào)錯(cuò)的原因不需要了解

1.1.3 控制器范例

以下是我的角色使用的一個(gè)范例

[State ]

type=Hitdef

trigger1=sysvar(4)<60

trigger2=time<60

trigger3 = 1

numhits=0

attr=C,HA

priority=7,hit

sparkno=-1

guard.sparkno=-1

pausetime=9+random%13,0

ignorehitpause=1

需要獲得hitpausetime,只需要注意紅色部分即可,前面的數(shù)字是給予自己的hitpausetime,后面是給予對(duì)方的hitshaketime

需要給對(duì)方賦予hitpausetime只需要讓對(duì)方進(jìn)入此狀態(tài)即可

但是hitdef的hitpausetime會(huì)被受到reversaldef的hitpausetime所覆蓋,一般來(lái)說(shuō)使用reversaldef的更多

以下為reversaldef的范例

[State ]

type=Reversaldef

trigger1=sysvar(4)=[60,90]

trigger2=time=[60,90]

numhits=0

reversal.attr=SCA,AA,AT,AP

sparkno=-1

guard.sparkno=-1

pausetime=9+random%13,0

ignorehitpause=1

紅色部分與hitdef相同,不多做贅述(實(shí)際上hitdef、reversaldef、projeile三者有很多重復(fù)的參量)

reversaldef的優(yōu)點(diǎn)在于不會(huì)被其他控制器干擾,并且可以通過(guò)自己的helper觸發(fā)

同時(shí)也可以給予對(duì)方hitpausetime,只要將pausetime的第二個(gè)數(shù)字修改即可

1.1.4 512超越范例

這里我只是寫出典型的512超越范例,各種派生技術(shù),之后在寫

獲取了hitpausetime之后,轉(zhuǎn)移到有對(duì)應(yīng)控制器數(shù)量的狀態(tài),即可發(fā)生溢出修改對(duì)應(yīng)內(nèi)存位置的值,注意修改對(duì)應(yīng)位置的控制器,其ignorehitpause=1這條必須要有(自己加上即可),這樣才會(huì)在有hitpausetime的時(shí)候真正工作

需要注意的是除了親變更以外(至于隔離輔助需不需要刷那么多,我也不知道),大部分控制器個(gè)數(shù)在500多個(gè),這個(gè)區(qū)域是自己的內(nèi)存,所以要么是自己進(jìn)去刷自己的值(如palno,damage等)要么是讓對(duì)方進(jìn)去刷值(如超即死),所以很容易理解,對(duì)脫離效果很弱(應(yīng)該不會(huì)有人寫ignorehitpause=0的脫離的吧)

;超即死

[statedef 99999999]

type = U

movetype = U

physics = N

ctrl = 0

[state 1]?

type=null

trigger1=1

[state 2]

type=null

trigger1=1

[state 3]?

type=null

trigger1=1

……

……

……

[state 553]?

type=null

trigger1=1

ignorehitpause=1

[state 554]?

type=null

trigger1= 1

ignorehitpause=1

[state 555]?

type=null

trigger1= 1

ignorehitpause=1

[state 556]?

type=null

trigger1= 1

ignorehitpause=1

state之后的數(shù)字是控制器的編號(hào),方便記憶自己寫了多少個(gè)

553-556是自身alive的位置,所以這些控制器下要加ignorehitpause=1,即可超即死對(duì)方(是讓對(duì)方進(jìn)入這個(gè)狀態(tài),不是自己進(jìn)去,自己進(jìn)去對(duì)面死,那是直死,需要的控制器……嗯6、7千個(gè)吧……)


1.2 porj親為本體

看起來(lái)比較難理解,畢竟親(parent)、本體(root)是比較編程的講法,但是制作神級(jí)不需要懂那么多,這里我也不會(huì)

需要知道的只是,你的helper發(fā)出的proj(飛行道具,mugen中所有的飛行道具定義為有projectile控制器產(chǎn)生的),相當(dāng)于你本體發(fā)出的

那么關(guān)鍵的一點(diǎn)是其中的p1stateno屬性(p1跳轉(zhuǎn)狀態(tài),即proj擊中對(duì)方后,自己會(huì)跳轉(zhuǎn)到指定狀態(tài))會(huì)作用在你的本體上,而不是你的helper上,也就是說(shuō)你的helper發(fā)出一個(gè)proj擊中了別人,假如這個(gè)proj有一個(gè)p1stateno的屬性,那么你的本體會(huì)跳轉(zhuǎn)到指定狀態(tài)而非發(fā)出proj的helper

proj bug是mugen神級(jí)最直接的殺傷手段,絕大部分常用技術(shù)建立在proj bug上,這類技術(shù)統(tǒng)稱proj返

1.2.1?proj返范例

以下是我人物中的proj返,在這里并不詳細(xì)寫各種proj返的范例,只是指出關(guān)鍵的屬性,具體派生技術(shù)會(huì)在之后寫

[State Projectile];欠損殺手?

type =Projectile

trigger1=root,alive

trigger1=root,name="E youmu"

projId=1

attr = C,NP

projanim =231

projpriority = 999

numhits = 0

projscale = 1,1

sparkno = -1

hitsound ?= -1

projremovetime = 100

projedgebound = 9999

projstagebound = 9999

projheightbound = -9999,9999

hitflag = MAFD

hitonce = 1

postype = p1

offset = 0,99

pausetime = 0,0

p1stateno =ifelse(root,gethitvar(fall.damage),5110,4026)

projsprpriority = -1

ignorehitpause = 1

supermovetime = 2147483647

Pausemovetime = 2147483647

紅色部分即為proj返的關(guān)鍵,擊中后就會(huì)將本體跳轉(zhuǎn)到指定的狀態(tài)號(hào),從而達(dá)成殺傷的效果

一般proj返是配合混線讓對(duì)方的helper發(fā)射,從而達(dá)到控制對(duì)方狀態(tài)的目的

因?yàn)橐话闶亲寣?duì)方helper發(fā)射proj,所以注意的地方較多,我會(huì)之后寫

1.3 永續(xù)target和混線

現(xiàn)在狂級(jí)也很常見(jiàn)的利用,就是獲取對(duì)方target之后,用一個(gè)時(shí)常觸發(fā)的reversaldef控制器,能保持對(duì)方target不丟失,從而利用target操控的控制器操控對(duì)方

常用的target利用有targetstate,targetlifeadd,targetbind等,很基礎(chǔ)的內(nèi)容,不多做介紹

具體的target操作寫法,會(huì)后續(xù)補(bǔ)充,這里主要介紹混線

1.3.1混線bug

混線的基礎(chǔ)有兩部分組成,永續(xù)target和混線bug(找不到合適的形容)

混線bug指的是,mugen有60個(gè)分配給角色和helper的內(nèi)存空間,其中第1、2、3、4分別是1p、2p、3p、4p,剩下的56個(gè)就是分配給helper的

當(dāng)一個(gè)helper被消除的時(shí)候,其內(nèi)存空間會(huì)空出來(lái),新生成的helper就會(huì)占據(jù)這個(gè)位置

但是當(dāng)被消除的helper1被另一個(gè)helper2獲取了target的時(shí)候(比較繞),后來(lái)填充到這個(gè)位置的helper3,會(huì)被helper2獲取target,即后來(lái)填充的helper會(huì)被helper2所操控

當(dāng)然你只需要知道自己的helper能通過(guò)混線操控后來(lái)填充進(jìn)來(lái)的helper就行了(雙方的都可以)

所謂的混線,就是召喚helper然后獲取其中一部分的target,然后將這部分helper消除,之后等待對(duì)方helper踏入被取得target的位置

1.3.2 混線種類

混線有多種種類,以下做出講解

普通混線:說(shuō)實(shí)話現(xiàn)在很少有普通混線,而且普通混線也不是一個(gè)準(zhǔn)確的定義,我只是為了和之后介紹的完全混線區(qū)分開(kāi)而使用,指的就是普通的混線,不占滿所有helper位置,會(huì)導(dǎo)致對(duì)方一開(kāi)始召喚的helper無(wú)法混線,因?yàn)榇蟛糠纸巧年P(guān)鍵helper都是一開(kāi)始召喚的,所以普通混線的效果十分有限

完全混線:開(kāi)幕直接將所有helper的位置占滿的混線,有點(diǎn)顯而易見(jiàn),對(duì)方所有召喚出的helper都會(huì)進(jìn)入混線的范圍內(nèi),不會(huì)有遺漏,除非自己處于p2側(cè),對(duì)方一開(kāi)始召喚的helper必定無(wú)法混線,這就是大部分神在2p側(cè)殺傷力急劇下降的原因

這是根據(jù)開(kāi)幕占有情況的劃分

多重混線:mugen中一個(gè)對(duì)象最多能獲取8個(gè)target,讓一個(gè)helper獲取1個(gè)以上target的就是多重混線,因?yàn)?對(duì)8的精度會(huì)不夠,對(duì)親變更、gametime貫通等技術(shù)的兼容也不是很好,多見(jiàn)于遠(yuǎn)古神,親變更時(shí)代之后就很少出現(xiàn)了,硬要說(shuō)優(yōu)點(diǎn)的話……使用helper少演出能更豐富?

并列混線:一個(gè)helper對(duì)應(yīng)一個(gè)target,最泛用的形式,同時(shí)完美契合親變更,之后我會(huì)給出范例

重復(fù)混線:多個(gè)helper對(duì)應(yīng)一個(gè)target,據(jù)說(shuō)alaph zero的作者かませ氏就是使用的重復(fù)混線,很難講和并列混線誰(shuí)優(yōu)誰(shuí)劣,かませ氏的角色,他的角色在神最上測(cè)試?yán)锍煽?jī)也不錯(cuò),我覺(jué)得最后的差距不在并列混線和重復(fù)混線上

1.3.3 混線結(jié)構(gòu)

這部分講的是開(kāi)幕召喚helper的部分,可能也是本章最接近實(shí)戰(zhàn)的部分

首先,除了混線用的helper以外,神級(jí)還需要其他的輔助helper,例如永續(xù)、受擊、簡(jiǎn)單探查等

分配好這些helper的召喚順序,就是混線結(jié)構(gòu)

一般來(lái)說(shuō)結(jié)構(gòu)按照這樣的邏輯

第一層:各種功能性helper

第二層:混線helper和占有helper

第三層:最終helper(有些結(jié)構(gòu)為了配合親變更使用的,可以不要)

這樣將所有helper位置占據(jù)

以下是我使用的范例,數(shù)字表示在player列表中的位置,具體helper召喚的寫法我想有志于了解神級(jí)的人應(yīng)該不需要教了吧

1:本體

2:對(duì)方

3:/

4:/

5:裝甲

6:noko

7:時(shí)止解除確保/時(shí)止解除

8:受擊helper

9:making

10:anim習(xí)得用helper

11:state習(xí)得用helper

12:并列混線目標(biāo)1

13:并列混線1

14:并列混線目標(biāo)2

15:并列混線2

16:并列混線目標(biāo)3

17:并列混線3

18:并列混線目標(biāo)4

19:并列混線4

20:并列混線目標(biāo)5

21:并列混線5

22:并列混線目標(biāo)6

23:并列混線6

24:并列混線目標(biāo)7

25:并列混線7

26:并列混線目標(biāo)8

27:并列混線8

28:并列混線目標(biāo)10

29:并列混線10

30:并列混線目標(biāo)11

31:并列混線11

32:并列混線目標(biāo)12

33:并列混線12

34:并列混線目標(biāo)13

35:并列混線13

36:并列混線目標(biāo)14

37:并列混線14

38:并列混線目標(biāo)15

39:并列混線15

40:并列混線目標(biāo)16

41:并列混線16

42:并列混線目標(biāo)17

43:并列混線17

44:并列混線目標(biāo)18

45:并列混線18

46:并列混線目標(biāo)19

47:并列混線19

48:并列混線目標(biāo)20

49:并列混線20

50:并列混線目標(biāo)21

51:并列混線21

52:并列混線目標(biāo)22

53:并列混線22

54:并列混線目標(biāo)23

55:并列混線23

56:并列混線目標(biāo)24

57:并列混線24

58:占有

59:final

當(dāng)然混線結(jié)構(gòu)有很大的自由性,可以隨意參考,我也只是列出我使用的(也許過(guò)時(shí)了很久)

召喚helper時(shí)需要注意的是,混線helper和占有helpe的位置(pos)應(yīng)當(dāng)一一對(duì)應(yīng),以防互相干擾,并列混線來(lái)說(shuō),就是一個(gè)混線和一個(gè)占有的位置一樣,下一對(duì)在其他位置

1.3.4 混線helper

以下為并列混線基本模板(不兼容親變更,親變更兼容版本我后續(xù)再講(您會(huì)嗎?))


;混線

[statedef 100000]

type=a

movetype=i

physics=n

anim=20000000;(攻擊判定anim)


[State 1611, ]

type = ScreenBound

trigger1 = 1

value = 1

movecamera = 0,0

[state ]

type=nothitby

trigger1=ishelper

value=sca,aa,at,ap

time=-1

ignorehitpause=1

防止被干擾的設(shè)定


[state ];攻擊判定anim切換,hitdef攻擊

type=changeanim

trigger1=ishelper(1001)

trigger1=numtarget=0

trigger1=numhelper(1002)>0

trigger2=ishelper(1003)

trigger2=numtarget=0

trigger2=numhelper(1004)>0

trigger3=ishelper(1005)

trigger3=numtarget=0

trigger3=numhelper(1006)>0

trigger4=ishelper(1007)

trigger4=numtarget=0

trigger4=numhelper(1008)>0

trigger5=ishelper(1009)

trigger5=numtarget=0

trigger5=numhelper(1010)>0

trigger6=ishelper(1011)

trigger6=numtarget=0

trigger6=numhelper(1012)>0

trigger7=ishelper(1013)

trigger7=numtarget=0

trigger7=numhelper(1014)>0

trigger8=ishelper(1015)

trigger8=numtarget=0

trigger8=numhelper(1016)>0

trigger9=ishelper(1017)

trigger9=numtarget=0

trigger9=numhelper(1018)>0

trigger10=ishelper(1019)

trigger10=numtarget=0

trigger10=numhelper(1020)>0

trigger11=ishelper(1021)

trigger11=numtarget=0

trigger11=numhelper(1022)>0

trigger12=ishelper(1023)

trigger12=numtarget=0

trigger12=numhelper(1024)>0

trigger13=ishelper(1025)

trigger13=numtarget=0

trigger13=numhelper(1026)>0

trigger14=ishelper(1027)

trigger14=numtarget=0

trigger14=numhelper(1028)>0

trigger15=ishelper(1029)

trigger15=numtarget=0

trigger15=numhelper(1030)>0

trigger16=ishelper(1031)

trigger16=numtarget=0

trigger16=numhelper(1032)>0

trigger17=ishelper(1033)

trigger17=numtarget=0

trigger17=numhelper(1034)>0

trigger18=ishelper(1035)

trigger18=numtarget=0

trigger18=numhelper(1036)>0

trigger19=ishelper(1037)

trigger19=numtarget=0

trigger19=numhelper(1038)>0

trigger20=ishelper(1039)

trigger20=numtarget=0

trigger20=numhelper(1040)>0

trigger21=ishelper(1041)

trigger21=numtarget=0

trigger21=numhelper(1042)>0

trigger22=ishelper(1043)

trigger22=numtarget=0

trigger22=numhelper(1044)>0

trigger23=ishelper(1045)

trigger23=numtarget=0

trigger23=numhelper(1046)>0

trigger24=ishelper(1047)

trigger24=numtarget=0

trigger24=numhelper(1048)>0

value=20000002

ignorehitpause=1

沒(méi)什么可說(shuō)的,混線要獲取target的話,需要hitdef,所以必定是帶紅框的動(dòng)畫,條件一般是自己沒(méi)有helper,而且對(duì)應(yīng)的占用helper id已經(jīng)出現(xiàn)

[state ];狀態(tài)轉(zhuǎn)換,hitdef生效

type=statetypeset

trigger1=ishelper(1001)

trigger1=numtarget=0

trigger1=numhelper(1002)>0

trigger2=ishelper(1003)

trigger2=numtarget=0

trigger2=numhelper(1004)>0

trigger3=ishelper(1005)

trigger3=numtarget=0

trigger3=numhelper(1006)>0

trigger4=ishelper(1007)

trigger4=numtarget=0

trigger4=numhelper(1008)>0

trigger5=ishelper(1009)

trigger5=numtarget=0

trigger5=numhelper(1010)>0

trigger6=ishelper(1011)

trigger6=numtarget=0

trigger6=numhelper(1012)>0

trigger7=ishelper(1013)

trigger7=numtarget=0

trigger7=numhelper(1014)>0

trigger8=ishelper(1015)

trigger8=numtarget=0

trigger8=numhelper(1016)>0

trigger9=ishelper(1017)

trigger9=numtarget=0

trigger9=numhelper(1018)>0

trigger10=ishelper(1019)

trigger10=numtarget=0

trigger10=numhelper(1020)>0

trigger11=ishelper(1021)

trigger11=numtarget=0

trigger11=numhelper(1022)>0

trigger12=ishelper(1023)

trigger12=numtarget=0

trigger12=numhelper(1024)>0

trigger13=ishelper(1025)

trigger13=numtarget=0

trigger13=numhelper(1026)>0

trigger14=ishelper(1027)

trigger14=numtarget=0

trigger14=numhelper(1028)>0

trigger15=ishelper(1029)

trigger15=numtarget=0

trigger15=numhelper(1030)>0

trigger16=ishelper(1031)

trigger16=numtarget=0

trigger16=numhelper(1032)>0

trigger17=ishelper(1033)

trigger17=numtarget=0

trigger17=numhelper(1034)>0

trigger18=ishelper(1035)

trigger18=numtarget=0

trigger18=numhelper(1036)>0

trigger19=ishelper(1037)

trigger19=numtarget=0

trigger19=numhelper(1038)>0

trigger20=ishelper(1039)

trigger20=numtarget=0

trigger20=numhelper(1040)>0

trigger21=ishelper(1041)

trigger21=numtarget=0

trigger21=numhelper(1042)>0

trigger22=ishelper(1043)

trigger22=numtarget=0

trigger22=numhelper(1044)>0

trigger23=ishelper(1045)

trigger23=numtarget=0

trigger23=numhelper(1046)>0

trigger24=ishelper(1047)

trigger24=numtarget=0

trigger24=numhelper(1048)>0

type=a

movetype=a

physics=n

ignorehitpause=1

hitdef需要movetype=A才能生效,所以需要狀態(tài)轉(zhuǎn)換

[State ];目標(biāo)取得用hitdef

type=hitdef

triggerall = (root,var(49) & 2)

triggerall =enemy,name!="Rasetsu-K"?

trigger1=ishelper(1001)

trigger1=numtarget=0

trigger1=numhelper(1002)>0

trigger2=ishelper(1003)

trigger2=numtarget=0

trigger2=numhelper(1004)>0

trigger3=ishelper(1005)

trigger3=numtarget=0

trigger3=numhelper(1006)>0

trigger4=ishelper(1007)

trigger4=numtarget=0

trigger4=numhelper(1008)>0

trigger5=ishelper(1009)

trigger5=numtarget=0

trigger5=numhelper(1010)>0

trigger6=ishelper(1011)

trigger6=numtarget=0

trigger6=numhelper(1012)>0

trigger7=ishelper(1013)

trigger7=numtarget=0

trigger7=numhelper(1014)>0

trigger8=ishelper(1015)

trigger8=numtarget=0

trigger8=numhelper(1016)>0

trigger9=ishelper(1017)

trigger9=numtarget=0

trigger9=numhelper(1018)>0

trigger10=ishelper(1019)

trigger10=numtarget=0

trigger10=numhelper(1020)>0

trigger11=ishelper(1021)

trigger11=numtarget=0

trigger11=numhelper(1022)>0

trigger12=ishelper(1023)

trigger12=numtarget=0

trigger12=numhelper(1024)>0

trigger13=ishelper(1025)

trigger13=numtarget=0

trigger13=numhelper(1026)>0

trigger14=ishelper(1027)

trigger14=numtarget=0

trigger14=numhelper(1028)>0

trigger15=ishelper(1029)

trigger15=numtarget=0

trigger15=numhelper(1030)>0

trigger16=ishelper(1031)

trigger16=numtarget=0

trigger16=numhelper(1032)>0

trigger17=ishelper(1033)

trigger17=numtarget=0

trigger17=numhelper(1034)>0

trigger18=ishelper(1035)

trigger18=numtarget=0

trigger18=numhelper(1036)>0

trigger19=ishelper(1037)

trigger19=numtarget=0

trigger19=numhelper(1038)>0

trigger20=ishelper(1039)

trigger20=numtarget=0

trigger20=numhelper(1040)>0

trigger21=ishelper(1041)

trigger21=numtarget=0

trigger21=numhelper(1042)>0

trigger22=ishelper(1043)

trigger22=numtarget=0

trigger22=numhelper(1044)>0

trigger23=ishelper(1045)

trigger23=numtarget=0

trigger23=numhelper(1046)>0

trigger24=ishelper(1047)

trigger24=numtarget=0

trigger24=numhelper(1048)>0

attr=,na

damage=0,0

numhits=0

guardflag=

hitflag=mafdp

priority=7,hit

pausetime=0,10

sparkno = -1

hitsound = -1

affectteam=f;(重要)

ignorehitpause=1

hitdef部分,以上的affectteam=F是關(guān)鍵,有這個(gè)屬性hitdef才能攻擊到自己的helper取得target

[state ];判定無(wú)anim,保護(hù)

type=changeanim

trigger1=ishelper && numtarget?

value=1

ignorehitpause=1

切換動(dòng)畫到無(wú)框的空白動(dòng)畫,不必須,只是一種保護(hù)和開(kāi)關(guān)

[state ];維持

type=reversaldef

trigger1=ishelper && numtarget?

reversal.attr=sca,aa,at,ap

priority=2147483647

pausetime=0,0

sparkno=-1

hitsound=-1

ignorehitpause=1

[State 0, VarSet]

type = VarSet

trigger1 = ishelper && !numtarget?

v = 51 ? ?;fv = 10

value = 0

ignorehitpause =1?

維持永續(xù)target

[State ];狀態(tài)轉(zhuǎn)換,保護(hù)

type=statetypeset

trigger1=ishelper && numtarget?

type=a

movetype=i

physics=n

ignorehitpause=1

切換狀態(tài),不必須,只是一種保護(hù)和開(kāi)關(guān)


;helper定位?

[State 18001]

type = Bindtoroot

trigger1 = ishelper(1001)||ishelper(1003)||ishelper(1005)||ishelper(1007)||ishelper(1009)||ishelper(1011)||ishelper(1013)||ishelper(1015)

pos = 0,ishelper(1001)+ishelper(1003)*1000+ishelper(1005)*2000+ishelper(1007)*3000+ishelper(1009)*4000+ishelper(1011)*5000+ishelper(1013)*6000+ishelper(1015)*7000

ignorehitpause = 1

;定位2?

[State 18001]

type = Bindtoroot

trigger1 = ishelper(1017)||ishelper(1019)||ishelper(1021)||ishelper(1023)||ishelper(1025)||ishelper(1027)||ishelper(1029)||ishelper(1031)

pos = 0,ishelper(1017)*8000+ishelper(1019)*9000+ishelper(1021)*10000+ishelper(1023)*11000+ishelper(1025)*12000+ishelper(1027)*13000+ishelper(1029)*14000+ishelper(1031)*15000

ignorehitpause = 1

;定位3

[State 18001]

type = Bindtoroot

trigger1 = ishelper(1033)||ishelper(1035)||ishelper(1037)||ishelper(1039)||ishelper(1041)||ishelper(1043)||ishelper(1045)||ishelper(1047)

pos = 0,ishelper(1033)*8000+ishelper(1035)*9000+ishelper(1037)*10000+ishelper(1039)*11000+ishelper(1041)*12000+ishelper(1043)*13000+ishelper(1045)*14000+ishelper(1047)*15000

ignorehitpause = 1

helper位置綁定,寫法不唯一,也可以用posset之類的寫,不過(guò)以本體為參考的bindtoroot也許更精確一點(diǎn),注意每個(gè)位置都不同,以及與之后占有helper的位置對(duì)應(yīng)


[State 2004,5];獲得目標(biāo)綁定到本體,以便于監(jiān)視

type = BindToRoot

trigger1 = ishelper

trigger1 = NumTarget > 0

IgNoreHitPause = 1?

[State 2004,5];獲得目標(biāo)綁定到本體,以便于監(jiān)視

type = targetbind

trigger1 = ishelper

trigger1 = NumTarget > 0

pos = 0,0

IgNoreHitPause = 1?




1.3.5?占有helper

說(shuō)實(shí)話,一個(gè)出來(lái)被打一下就消失的helper沒(méi)什么技術(shù)含量的地方(親變更另說(shuō),其實(shí)也沒(méi)多少)

以下為范例(依舊是非親變更兼容版)

;混線target?

[statedef 100001]

type=s

movetype=h

physics=n

anim=20000001;受擊判斷anim

很自然,是帶藍(lán)框的動(dòng)畫,同時(shí)注意movetype=h

[State 1611, ]

type = ScreenBound

trigger1 = 1

value = 1

movecamera = 0,0



[state ]

type=hitby

Trigger1 = ishelper(1002) && !helper(1001),numtarget

Trigger2 = ishelper(1004) && !helper(1003),numtarget

Trigger3 = ishelper(1006) && !helper(1005),numtarget

Trigger4 = ishelper(1008) && !helper(1007),numtarget

Trigger5 = ishelper(1010) && !helper(1009),numtarget

Trigger6 = ishelper(1012) && !helper(1011),numtarget

Trigger7 = ishelper(1014) && !helper(1013),numtarget

Trigger8 = ishelper(1016) && !helper(1015),numtarget

Trigger9 = ishelper(1018) && !helper(1017),numtarget

Trigger10 = ishelper(1020) && !helper(1019),numtarget

Trigger11 = ishelper(1022) && !helper(1021),numtarget

Trigger12 = ishelper(1024) && !helper(1023),numtarget

Trigger13 = ishelper(1026) && !helper(1025),numtarget

Trigger14 = ishelper(1028) && !helper(1027),numtarget

Trigger15 = ishelper(1030) && !helper(1029),numtarget

Trigger16 = ishelper(1032) && !helper(1031),numtarget

Trigger17 = ishelper(1034) && !helper(1033),numtarget

Trigger18 = ishelper(1036) && !helper(1035),numtarget

Trigger19 = ishelper(1038) && !helper(1037),numtarget

Trigger20 = ishelper(1040) && !helper(1039),numtarget

Trigger21 = ishelper(1042) && !helper(1041),numtarget

Trigger22 = ishelper(1044) && !helper(1043),numtarget

Trigger23 = ishelper(1046) && !helper(1045),numtarget

Trigger24 = ishelper(1048) && !helper(1047),numtarget

value=sca,na

ignorehitpause=1

確定自己會(huì)被打到的hitby控制器

[State ];取得target后消除,

type=destroyself

Trigger1 = ishelper(1002) && helper(1001),numtarget

Trigger2 = ishelper(1004) && helper(1003),numtarget

Trigger3 = ishelper(1006) && helper(1005),numtarget

Trigger4 = ishelper(1008) && helper(1007),numtarget

Trigger5 = ishelper(1010) && helper(1009),numtarget

Trigger6 = ishelper(1012) && helper(1011),numtarget

Trigger7 = ishelper(1014) && helper(1013),numtarget

Trigger8 = ishelper(1016) && helper(1015),numtarget

Trigger9 = ishelper(1018) && helper(1017),numtarget

Trigger10 = ishelper(1020) && helper(1019),numtarget

Trigger11 = ishelper(1022) && helper(1021),numtarget

Trigger12 = ishelper(1024) && helper(1023),numtarget

Trigger13 = ishelper(1026) && helper(1025),numtarget

Trigger14 = ishelper(1028) && helper(1027),numtarget

Trigger15 = ishelper(1030) && helper(1029),numtarget

Trigger16 = ishelper(1032) && helper(1031),numtarget

Trigger17 = ishelper(1034) && helper(1033),numtarget

Trigger18 = ishelper(1036) && helper(1035),numtarget

Trigger19 = ishelper(1038) && helper(1037),numtarget

Trigger20 = ishelper(1040) && helper(1039),numtarget

Trigger21 = ishelper(1042) && helper(1041),numtarget

Trigger22 = ishelper(1044) && helper(1043),numtarget

Trigger23 = ishelper(1046) && helper(1045),numtarget

Trigger24 = ishelper(1048) && helper(1047),numtarget

ignorehitpause = 1

確認(rèn)對(duì)應(yīng)混線獲得helper后消除,寫法不唯一,也可以讓混線helper用targetstate丟進(jìn)消除state里消除,也可以自己用selfstate來(lái)我?消?我 自?己



;helper定位?

[State 18001]

type = Bindtoroot

trigger1 =?ishelper(1002)||ishelper(1004)||ishelper(1006)||ishelper(1008)||ishelper(1010)||ishelper(1012)||ishelper(1014)||ishelper(1016)

pos = 0,ishelper(1002)+ishelper(1004)*1000+ishelper(1006)*2000+ishelper(1008)*3000+ishelper(1010)*4000+ishelper(1012)*5000+ishelper(1014)*6000+ishelper(1016)*7000

ignorehitpause = 1

;定位2?

[State 18001]

type = Bindtoroot

trigger1 = ishelper(1018)||ishelper(1020)||ishelper(1022)||ishelper(1024)||ishelper(1026)||ishelper(1028)||ishelper(1030)||ishelper(1032)

pos = 0,ishelper(1018)*8000+ishelper(1020)*9000+ishelper(1022)*10000+ishelper(1024)*11000+ishelper(1026)*12000+ishelper(1028)*13000+ishelper(1030)*14000+ishelper(1032)*15000

ignorehitpause = 1

;定位3

[State 18001]

type = Bindtoroot

trigger1 = ishelper(1034)||ishelper(1036)||ishelper(1038)||ishelper(1040)||ishelper(1042)||ishelper(1044)||ishelper(1046)||ishelper(1048)

pos = 0,ishelper(1034)*8000+ishelper(1036)*9000+ishelper(1038)*10000+ishelper(1040)*11000+ishelper(1042)*12000+ishelper(1044)*13000+ishelper(1046)*14000+ishelper(1048)*15000

ignorehitpause = 1

helper位置綁定,寫法不唯一,與對(duì)應(yīng)混線位置一一對(duì)應(yīng)

需要注意的是,以上兩個(gè)模板,和我給的混線結(jié)構(gòu)模板并不是對(duì)應(yīng)的,自己寫的時(shí)候請(qǐng)自己考慮模板




【mugen】舊神級(jí)技術(shù)講解1基礎(chǔ)原理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
财经| 丹凤县| 阜南县| 玛纳斯县| 共和县| 岗巴县| 普定县| 阿拉尔市| 龙门县| 灵丘县| 贺兰县| 蒲江县| 桃源县| 福清市| 全南县| 宁国市| 寻乌县| 庆安县| 浦东新区| 涟水县| 杭州市| 抚远县| 盘山县| 错那县| 永泰县| 龙岩市| 朝阳市| 上思县| 阳泉市| 通城县| 阜康市| 庆安县| 肇源县| 清原| 内乡县| 聂拉木县| 穆棱市| 鄂尔多斯市| 筠连县| 张掖市| 中西区|