导航:首页 > 编程语言 > 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

友情链接