導航:首頁 > 編程語言 > DOTA技能jass代碼

DOTA技能jass代碼

發布時間:2023-03-01 06:44:22

1. 關於觸發器在J文件里的命名 關鍵詞:jass//we//T//觸發//war3

globals
trigger gg_trg_abc= null
trigger gg_trg_def= null
endglobals
function Trig_abc_Actions takes nothing returns nothing
call DoNothing()
endfunction
function InitTrig_abc takes nothing returns nothing
set gg_trg_abc=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_abc, EVENT_PLAYER_UNIT_DEATH)
call TriggerAddAction(gg_trg_abc, function Trig_abc_Actions)
endfunction
function Trig_def_Actions takes nothing returns nothing
call PauseAllUnitsBJ(true)
endfunction
function InitTrig_def takes nothing returns nothing
set gg_trg_def=CreateTrigger()
call (gg_trg_def, LESS_THAN_OR_EQUAL, 12)
call TriggerAddAction(gg_trg_def, function Trig_def_Actions)
endfunction
function InitCustomTriggers takes nothing returns nothing
call InitTrig_abc()
call InitTrig_def()
endfunction

看上面的代碼(其實是倆觸發轉的吧dota我也看過.j裡面沒有這些觸發轉的j)
globals
trigger gg_trg_abc= null
trigger gg_trg_def= null
endglobals
這里是全局變數申明trigger gg_trg_abc= null 生成trigger型變數gg_trg_abc賦值沒有(null)
function InitTrig_abc takes nothing returns nothing
set gg_trg_abc=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_abc, EVENT_PLAYER_UNIT_DEATH)
call TriggerAddAction(gg_trg_abc, function Trig_abc_Actions)
endfunction
這個是名字InitTrig_abc的觸發器
裡面set gg_trg_abc=CreateTrigger() 這句是對trigger型變數gg_trg_abc賦值CreateTrigger() 一個新創建的觸發 就用上了globals全局變數裡面的gg_trg_abc
function InitCustomTriggers takes nothing returns nothing
call InitTrig_abc()
call InitTrig_def()
endfunction
這個是最後讀取地圖時候要讀取的觸發器call InitTrig_abc()就調用前面的
function InitTrig_abc takes nothing returns nothing
然後又調用了全局變數裡面的gg_trg_abc變數所保存的觸發
call TriggerRegisterAnyUnitEventBJ(gg_trg_abc, EVENT_PLAYER_UNIT_DEATH)
call TriggerAddAction(gg_trg_abc, function Trig_abc_Actions)
這個是gg_trg_abc對應的事件和動作
事件由任意單位事件EVENT_PLAYER_UNIT_DEATH產生
動作則調用函數function Trig_abc_Actions takes nothing returns nothing

還有不懂的繼續問
望採納 謝謝

用你的例子來說吧
把gg_trg_abc變成abc
gg_trg_def變成def 其他的函數無序排列就是
globals
trigger abc= null //這里是變數 叫什麼的無所謂 但是前面的trigger不能變 說明這個變數只能用來裝trigger 不能用來記錄其他東西
trigger def= null
endglobals
function AH takes nothing returns nothing //function AH 這個意思是函數名字AH
call DoNothing()
endfunction
function CH takes nothing returns nothing //不解釋function了
set abc=CreateTrigger() //變數abc記住的一個新建的觸發器 一個句柄類型的變數
call TriggerRegisterAnyUnitEventBJ(abc, EVENT_PLAYER_UNIT_DEATH) //向abc變數記住的觸發注冊事件 當事件發生的時候判斷條件 做動作 當然這個沒條件
call TriggerAddAction(abc, function AH) //向abc變數記住的觸發添加動作 注意添加動作時候的添加的是函數AH
endfunction
function BH takes nothing returns nothing
call PauseAllUnitsBJ(true)
endfunction
function DH takes nothing returns nothing
set def=CreateTrigger() //和上面差不多
call (def, LESS_THAN_OR_EQUAL, 12)
call TriggerAddAction(gg_trg_def, function BH)
endfunction
function InitCustomTriggers takes nothing returns nothing
call CH()
call DH()
endfunction
看明白了么通過函數InitCustomTriggers調用函數CH和DH
由CH生成觸發abc並且注冊事件條件動作
由DH生成觸發def並且注冊事件條件動作
然後map.j後面有最後一個主函數main調用InitCustomTriggers函數達到生成觸發的原理
魔獸的jass的結構就是 先變數 然後基礎函數 然後調用了基礎函數的函數 這樣一級一級往後面走最後是主函數main入口

不明白繼續問

閱讀全文

與DOTA技能jass代碼相關的資料

熱點內容
ios8最好的版本 瀏覽:400
錄屏決定文件大小的是什麼 瀏覽:322
數據用不了是哪裡壞掉了 瀏覽:310
百度網盤文件傳輸格式 瀏覽:455
蘋果系統txt文件 瀏覽:629
家裝網站怎麼設計 瀏覽:202
adc指令微程序 瀏覽:487
名片模板word 瀏覽:635
怎麼把文件夾上鎖 瀏覽:331
我不會英語怎麼編程 瀏覽:895
c盤和文件大小 瀏覽:63
maya工具架怎麼調出來 瀏覽:191
文件系統壞了怎麼辦 瀏覽:261
小公司網路布線 瀏覽:515
怎麼用二維碼編程 瀏覽:341
f9b文件能用手機看嗎 瀏覽:364
手機暴風視頻文件夾 瀏覽:394
vsftpdlinux下載文件 瀏覽:948
文件名修改後快捷方式還可以用嗎 瀏覽:387
親密愛人qq相冊名字 瀏覽:884

友情鏈接