导航:首页 > 编程语言 > 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代码相关的资料

热点内容
看新闻在哪个app看 浏览:138
存储的业务数据是什么 浏览:260
日本ip密码错误 浏览:63
tf卡能自己写程序吗 浏览:775
qq45454 浏览:324
2个独立excel文件并排查看 浏览:138
excel文件转换提示异常 浏览:461
眼睛电脑数据单怎么看 浏览:584
柱状图如何添加数据单位 浏览:173
电脑红警怎么设置网络 浏览:289
什么牌子苹果数据线最快 浏览:438
java如何访问mysql数据库 浏览:140
win7把桌面文件移动 浏览:897
恋爱app在哪里退订 浏览:206
小米手机的录音文件在哪个文件夹 浏览:714
uc浏览器有哪些app 浏览:168
下列哪个是创建数据库的命令 浏览:87
ghost文件超过4g的文件规则 浏览:901
qq高冷签名 浏览:678
miui刷完twrpota升级 浏览:193

友情链接