|
///////////////////////////////////////////////////////////////////////
/// 请添加下列变量
///////////////////////////////////////////////////////////////////////
//globals
// unit udg_FWG_UNIT = null
//{{ 修改这里
// // 设置反外挂自动检测时间间隔
// real udg_FWG_TIME = 1
// // 不要在其他地方使用这个单位类型
// // 单位类型满足下列要求
// // 不能移动,没有视野,无敌, 没有模型
// integer udg_FWG_UID = 'H000'
// // 将 FWG_LOC_X, FWG_LOC_Y 修改成在你的地图中
// // 整个游戏过程中任何玩家都不能拥有视野的点的坐标
// real udg_FWG_LOC_X = 0
// real udg_FWG_LOC_Y = 0
////}}
//endglobals
///////////////////////////////////////////////////////////////////////
function FWG_Hide takes boolean b returns nothing
if b then
call ShowInterface(false , 0)
call EnableUserUI(false)
call SetCineFilterTexture("ReplaceableTextures\\CameraMasks\\Black_mask.blp")
call SetCineFilterBlendMode(BLEND_MODE_BLEND)
call SetCineFilterTexMapFlags(TEXMAP_FLAG_NONE)
call SetCineFilterStartUV(0 , 0 , 1 , 1)
call SetCineFilterEndUV(0 , 0 , 1 , 1)
call SetCineFilterStartColor(0 , 0 , 0 , 255)
call SetCineFilterEndColor(0 , 0 , 0 , 255)
call SetCineFilterDuration(0)
call DisplayCineFilter(true)
else
call DisplayCineFilter(false)
call EnableUserUI(true)
call ShowInterface(true , 0.01)
endif
endfunction
function FWG_Kick takes player p returns nothing
call BJDebugMsg("|cFFFF0000英雄"+I2S(GetPlayerId(p))+" 正在作弊!|r")
call TriggerSleepAction(5.0)
endfunction
function FWG_Seek takes nothing returns nothing
local integer uid = udg_FWG_UID
local unit u = udg_FWG_UNIT
local player p = GetTriggerPlayer()
if GetUnitTypeId(GetTriggerUnit()) == uid then
if GetTriggerEventId() == EVENT_PLAYER_UNIT_SELECTED then
call FWG_Kick(p)
if GetLocalPlayer() == p then
call SelectUnit(u, FALSE)
endif
elseif GetTriggerEventId() == EVENT_PLAYER_UNIT_DESELECTED then
if GetLocalPlayer() == p then
call FWG_Hide(false)
endif
endif
endif
endfunction
function FWG_Core takes nothing returns nothing
local lightning ltn = null
//{{Import Global var
local real x = udg_FWG_LOC_X
local real y = udg_FWG_LOC_Y
local unit u = udg_FWG_UNIT
//}}
//TRUE参数表示检查可见性后再创建,如果不可见则不会创建Lightning.
set ltn = AddLightning("CLPB" , TRUE , x , y , x , y)
if ltn != null then
//只有作弊的玩家可以执行到,所以不需要 GetLocalPlayer()==Player(i)
call DestroyLightning(ltn)
call FWG_Hide(TRUE)
call SelectUnit(u, TRUE)
endif
endfunction
function InitTrig_FWG takes nothing returns nothing
local integer i = 0
local real x = udg_FWG_LOC_X
local real y = udg_FWG_LOC_Y
local real t = udg_FWG_TIME
local integer uid = udg_FWG_UID
local integer i = 0
set udg_FWG_UNIT = CreateUnit(Player(13),uid,x,y,0)
set gg_trg_FWG = CreateTrigger()
loop
exitwhen i > 11
call TriggerRegisterPlayerUnitEvent(gg_trg_FWG, Player(i) , EVENT_PLAYER_UNIT_SELECTED, null)
call TriggerRegisterPlayerUnitEvent(gg_trg_FWG, Player(i) , EVENT_PLAYER_UNIT_DESELECTED, null)
set i = i + 1
endloop
call TriggerAddAction(gg_trg_FWG, function FWG_Seek)
set gg_trg_FWG = CreateTrigger()
call TriggerRegisterTimerEvent(gg_trg_FWG, t, TRUE)
call TriggerAddAction(gg_trg_FWG, function FWG_Core)
endfunction
以上是个反作弊的JASS,我自己不懂得JASS,所以修改上很难。麻烦高手帮我吧其中 call BJDebugMsg("|cFFFF0000英雄"+I2S(GetPlayerId(p))+" 正在作弊!|r") 这里改成T效果中 【英雄 +(玩家名字)+正在作弊】的效果,现在这个无论是哪个玩家作弊,系统提示是 【英雄0正在作弊】,貌似判断不出玩家几,所以求助于大家,先谢谢了。 |
|