導航:首頁 > 編程語言 > 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代碼相關的資料

熱點內容
蘋果電腦安全軟體 瀏覽:195
u深度取消贊助密碼 瀏覽:168
編程寫東西都寫得是什麼 瀏覽:35
蔚來怎麼推薦app 瀏覽:269
6s輸入密碼來使用siri 瀏覽:742
程序員黑客頭像酷 瀏覽:739
mvc接受上傳文件 瀏覽:365
程序員可以轉金融嗎 瀏覽:193
無需用戶名密碼的共享 瀏覽:775
一加怎麼和win10傳輸文件 瀏覽:425
大數據分析哪些行業 瀏覽:848
win10刪除自動更新文件在哪裡 瀏覽:581
cad打開一個文件要關閉另一文件 瀏覽:432
鋼鐵雄心4升級包 瀏覽:558
一加找不到恢復文件 瀏覽:960
遼寧高中查分數的app有哪些 瀏覽:790
考研復試編程題可以考什麼 瀏覽:118
微信老男人頭像圖片 瀏覽:588
貸款app有哪些東西 瀏覽:74
sim卡突然無網路連接怎麼辦 瀏覽:150

友情鏈接