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

热点内容
dbf文件c语言处理excel 浏览:138
金蝶kis支持win10吗 浏览:113
常州采集物联网大数据平台有哪些 浏览:950
win10休眠文件改到d盘 浏览:626
如何编程手机app软件 浏览:656
node获取文件名 浏览:367
iphoneios7怎么设置铃声 浏览:52
手机qq激活星钻 浏览:302
html中引入js文件路径 浏览:83
0基础自学编程可以看什么书 浏览:860
javapoi导出excel 浏览:212
迷你编程迷小酷为什么邮箱里没有 浏览:33
ipadqq接收的文件在哪里 浏览:15
拼多多初级看哪些数据 浏览:848
win10开机密码屏幕键盘 浏览:162
文件夹乐高 浏览:914
外置文件夹挂载 浏览:304
人人视频本地缓存文件 浏览:194
java俄罗斯方块项目描述 浏览:354
win10系统被冻结 浏览:460

友情链接