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

热点内容
网络中常用的传输介质 浏览:518
文件如何使用 浏览:322
同步推密码找回 浏览:865
乐高怎么才能用电脑编程序 浏览:65
本机qq文件为什么找不到 浏览:264
安卓qq空间免升级 浏览:490
linux如何删除模块驱动程序 浏览:193
at89c51c程序 浏览:329
怎么创建word大纲文件 浏览:622
袅袅朗诵文件生成器 浏览:626
1054件文件是多少gb 浏览:371
高州禁养区内能养猪多少头的文件 浏览:927
win8ico文件 浏览:949
仁和数控怎么编程 浏览:381
项目文件夹图片 浏览:87
怎么在东芝电视安装app 浏览:954
plc显示数字怎么编程 浏览:439
如何辨别假网站 浏览:711
宽带用别人的账号密码 浏览:556
新app如何占有市场 浏览:42

友情链接