偶久网

 找回密码
 注册会员

QQ登录

只需一步,快速开始

首页 制图资源 制图教学 查看内容

魔兽争霸TD地图手把手教你怎样改成只有一个出口(掉线玩家方不再出怪)

2013-1-12 14:34| 发布者: 邪恶叔| 查看: 10428

首先了去网站下个改图一条龙
安装好后 打开SE 选择你需要的图 鼠标右键把J文件 解压出来,SE打不开可以用HWM解压J文件
然后打开改图一条龙上的J语编辑并打开刚解压的J文件
再分别在globals下面一行添加

location udg_danji3=null
location udg_danji4=null
real array udg_danji1
real udg_danji2=0
integer udg_danji0=0
trigger gg_trg_danji1=null
trigger gg_trg_danji2=null

魔兽争霸TD地图手把手教你怎样改成只有一个出口(掉线玩家方不再出怪)



然后搜索endglobals
在endglobals下面一行添加
function danji_1 takes nothing returns nothing
local integer i=0
set i=0
loop
exitwhen(i>1)
set udg_danji1=0
set i=i+1
endloop
set udg_danji2=0
set udg_danji0=0
endfunction
function Trig_danji1_Conditions takes nothing returns boolean
if(not(IsUnitEnemy(GetTriggerUnit(),Player(0))==true))then
return false
endif
return true
endfunction
function Trig_danji1_Func005Func001C takes nothing returns boolean
if(not(udg_danji1[udg_danji0]<=udg_danji2))then
return false
endif
return true
endfunction
function Trig_danji1_Func006Func001C takes nothing returns boolean
if(not(GetPlayerSlotState(ConvertedPlayer(udg_danji0))!=PLAYER_SLOT_STATE_PLAYING))then
return false
endif
if(not(udg_danji2==udg_danji1[udg_danji0]))then
return false
endif
return true
endfunction
function Trig_danji1_Actions takes nothing returns nothing
set udg_danji3=GetUnitLoc(GetTriggerUnit())
call SetUnitScalePercent(GetTriggerUnit(),70.00,70.00,70.00)
set udg_danji0=1
loop
exitwhen udg_danji0>10
set udg_danji4=GetPlayerStartLocationLoc(ConvertedPlayer(udg_danji0))
set udg_danji1[udg_danji0]=DistanceBetweenPoints(udg_danji3,udg_danji4)
set udg_danji2=udg_danji1[udg_danji0]
call RemoveLocation(udg_danji4)
set udg_danji0=udg_danji0+1
endloop
call RemoveLocation(udg_danji3)
set udg_danji0=1
loop
exitwhen udg_danji0>10
if(Trig_danji1_Func005Func001C())then
set udg_danji2=udg_danji1[udg_danji0]
call SetUnitUserData(GetTriggerUnit(),udg_danji0)
else
endif
set udg_danji0=udg_danji0+1
endloop
set udg_danji0=1
loop
exitwhen udg_danji0>10
if(Trig_danji1_Func006Func001C())then
call KillUnit(GetTriggerUnit())
call RemoveUnit(GetTriggerUnit())
else
endif
set udg_danji0=udg_danji0+1
endloop
endfunction
function InitTrig_danji1 takes nothing returns nothing
set gg_trg_danji1=CreateTrigger()
call TriggerRegisterEnterRectSimple(gg_trg_danji1,GetPlayableMapRect())
call TriggerAddCondition(gg_trg_danji1,Condition(function Trig_danji1_Conditions))
call TriggerAddAction(gg_trg_danji1,function Trig_danji1_Actions)
endfunction
function Trig_danji2_Func002A takes nothing returns nothing
call RemoveUnit(GetEnumUnit())
endfunction
function Trig_danji2_Func003001002 takes nothing returns boolean
return(IsUnitEnemy(GetFilterUnit(),Player(0))==true)
endfunction
function Trig_danji2_Func003Func001C takes nothing returns boolean
if(not(GetUnitUserData(GetEnumUnit())==GetConvertedPlayerId(GetTriggerPlayer())))then
return false
endif
return true
endfunction
function Trig_danji2_Func003A takes nothing returns nothing
if(Trig_danji2_Func003Func001C())then
call ExplodeUnitBJ(GetEnumUnit())
else
endif
endfunction
function Trig_danji2_Actions takes nothing returns nothing
call DisplayTimedTextToForce(GetPlayersAll(),10.00,(GetPlayerName(GetTriggerPlayer())+"  绂诲紑浜嗘父鎴忥紒宸插垹闄ゅ尯鍩熷唴鍗曚綅鍜屾晫浜恒 ?))
call ForGroupBJ(GetUnitsOfPlayerAll(GetTriggerPlayer()),function Trig_danji2_Func002A)
call ForGroupBJ(GetUnitsInRectMatching(GetPlayableMapRect(),Condition(function Trig_danji2_Func003001002)),function Trig_danji2_Func003A)
endfunction
function InitTrig_danji2 takes nothing returns nothing
set gg_trg_danji2=CreateTrigger()
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(0))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(1))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(2))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(3))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(4))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(5))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(6))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(7))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(8))
call TriggerRegisterPlayerEventLeave(gg_trg_danji2,Player(9))
call TriggerAddAction(gg_trg_danji2,function Trig_danji2_Actions)
endfunction
function danji_2 takes nothing returns nothing
call InitTrig_danji1()
call InitTrig_danji2()
endfunction

魔兽争霸TD地图手把手教你怎样改成只有一个出口(掉线玩家方不再出怪)
然后搜索InitBlizzard
然后在call  InitBlizzard的下面一行添加
call danji_1()
call danji_2()
魔兽争霸TD地图手把手教你怎样改成只有一个出口(掉线玩家方不再出怪)
然后保存J文件,用SE 打开地图,替换J文件,重压缩就可以了

返回顶部