I tried to ask a follow-up but the fulfiller didn't reply after a week or two so I created this thread.
Map: X Hero Siege 4.80
Map is located here... http://forum.wc3edit.net/fulfilled-requests-f75/x-hero-siege-4-80-t33671.html#p191521
The description I will be saying now will be long.
I found a command in the game but I don't have a clue whatsoever it is and what it's for.devoltz wrote:I didn't took a deep look on script, moving back to request.
-Edit-
To remove HKE, delete these lines.
Line 27Line 73 - 74Spoiler:Code: Select all
string k="hke"
Line 1645 - 6499 *there some lines of map script in this, but is not a deep change in gameplay, maybe the script optimizer messed them*Spoiler:Code: Select all
integer jv=0 string Jv="èœå• |cFFFF0000Hke1.25B|r By ç«é¾™ QQ:|cFF00FF3321764538|r|n群:|cFFE500AF19938997 7803814 47099542 17263424 19908229|r|n|cFF00FF33Www.WuHansen.Com|r"
Line 12237Spoiler:Code: Select all
function ap takes real np,location Vp returns group set ux=CreateGroup() call GroupEnumUnitsInRangeOfLoc(ux,Vp,np,wx) return ux endfunction function Ep takes player Xp returns group set ux=CreateGroup() call GroupEnumUnitsOfPlayer(ux,Xp,wx) return ux endfunction function Op takes player Xp,integer Rp returns group set ux=CreateGroup() set bj_groupEnumTypeId=Rp call GroupEnumUnitsOfPlayer(ux,Xp,filterGetUnitsOfPlayerAndTypeId) return ux endfunction function Ip takes player Xp returns force set Ux=CreateForce() call ForceEnumAllies(Ux,Xp,wx) return Ux endfunction function Ap takes player Xp returns force set Ux=CreateForce() call ForceEnumEnemies(Ux,Xp,wx) return Ux endfunction function Np takes trigger bp,player Bp,integer cp returns nothing local playerevent Cp=ConvertPlayerEvent(cp) call TriggerRegisterPlayerEvent(bp,Bp,Cp) set Cp=null endfunction function dp takes trigger bp,player Bp,integer cp returns nothing local playerunitevent Cp=ConvertPlayerUnitEvent(cp) call TriggerRegisterPlayerUnitEvent(bp,Bp,Cp,null) set Cp=null endfunction function Dp takes integer cp,player Bp returns nothing call TriggerRegisterPlayerUnitEvent(re[cp],Bp,ConvertPlayerUnitEvent(24),null) call TriggerRegisterPlayerUnitEvent(ae[cp],Bp,ConvertPlayerUnitEvent(25),null) call Np(Ve[cp],Bp,17) call Np(Xe[cp],Bp,266) call Np(Ee[cp],Bp,268) call Np(Oe[cp],Bp,262) call Np(Re[cp],Bp,264) call TriggerRegisterTimerExpireEvent(Qx,Bv[cp]) call TriggerRegisterTimerExpireEvent(qx,kx[cp]) call dp(ie[cp],Bp,32) call dp(ne[cp],Bp,35) call TriggerRegisterDialogEvent(Fe[cp],Me[cp]) call TriggerRegisterDialogEvent(Ye[cp],oe[cp]) call TriggerRegisterDialogEvent(ge[cp],oe[cp]) call TriggerRegisterDialogEvent(Ge[cp],oe[cp]) call TriggerRegisterDialogEvent(Le[cp],me[cp]) call TriggerRegisterDialogEvent(le[cp],Me[cp]) call TriggerRegisterDialogEvent(He[cp],me[cp]) call TriggerRegisterDialogEvent(je[cp],oe[cp]) call TriggerRegisterDialogEvent(vx[cp],me[cp]) call TriggerRegisterDialogEvent(he[cp],me[cp]) call TriggerRegisterDialogEvent(ke[cp],oe[cp]) call TriggerRegisterDialogEvent(Je[cp],oe[cp]) call TriggerRegisterDialogEvent(Ke[cp],me[cp]) call TriggerRegisterDialogEvent(Ze[cp],oe[cp]) call TriggerRegisterDialogEvent(ze[cp],oe[cp]) call TriggerRegisterDialogEvent(Gx[cp],oe[cp]) call TriggerRegisterDialogEvent(gx[cp],oe[cp]) call dp(Pe[cp],Bp,38) call dp(qe[cp],Bp,39) call dp(Qe[cp],Bp,40) call dp(De[cp],Bp,276) call dp(De[cp],Bp,275) call dp(fe[cp],Bp,276) call dp(fe[cp],Bp,275) call dp(Dx[cp],Bp,18) call TriggerRegisterPlayerStateEvent(Ce[cp],Bp,PLAYER_STATE_RESOURCE_FOOD_USED,GREATER_THAN_OR_EQUAL,0) call TriggerRegisterPlayerStateEvent(Be[cp],Bp,PLAYER_STATE_RESOURCE_GOLD,GREATER_THAN_OR_EQUAL,0) call TriggerRegisterPlayerStateEvent(ce[cp],Bp,PLAYER_STATE_RESOURCE_LUMBER,GREATER_THAN_OR_EQUAL,0) call dp(de[cp],Bp,20) call TriggerRegisterPlayerChatEvent(pe[cp],Bp,"-",false) call dp(Mv[cp],Bp,39) set lv[cp]=true endfunction function fp takes player Fp,integer gp,boolean Gp returns nothing if(Gp)then call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(Fp,PLAYER_STATE_RESOURCE_GOLD)+gp) call SetPlayerStateBJ(Fp,PLAYER_STATE_GOLD_GATHERED,GetPlayerState(Fp,PLAYER_STATE_GOLD_GATHERED)-gp) else call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(Fp,PLAYER_STATE_RESOURCE_GOLD)-gp) endif endfunction function hp takes player Fp,integer gp,boolean Gp returns nothing if(Gp)then call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_LUMBER,GetPlayerState(Fp,PLAYER_STATE_RESOURCE_LUMBER)+gp) call SetPlayerStateBJ(Fp,PLAYER_STATE_LUMBER_GATHERED,GetPlayerState(Fp,PLAYER_STATE_LUMBER_GATHERED)-gp) else call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_LUMBER,GetPlayerState(Fp,PLAYER_STATE_RESOURCE_LUMBER)-gp) endif endfunction function Hp takes player Fp returns nothing local player Bp=GetLocalPlayer() if Fp==Bp then set Bp=Player(-1) endif set Bp=null endfunction function jp takes unit Jp,unit kp,boolean Kp returns nothing local location lp local location Lp set lp=GetUnitLoc(Jp) set Lp=GetUnitLoc(kp) call SetUnitPositionLoc(Jp,Lp) if(Kp)then call SetUnitPositionLoc(kp,lp) call SetUnitPositionLoc(Jp,Lp) endif call RemoveLocation(lp) call RemoveLocation(Lp) set lp=null set Lp=null endfunction function mp takes integer Mp returns nothing if(Mp==0)then set Vx=100 set nx=100 set ax=100 set ix="|cFFFFFFFF" return endif if(Mp==1)then set Vx=50 set nx=50 set ax=50 set ix="|cFF7F7F7F" return endif if(Mp==2)then set Vx=0 set nx=0 set ax=0 set ix="|cFF000000" return endif if(Mp==3)then set Vx=100 set nx=0 set ax=0 set ix="|cFFFF0000" return endif if(Mp==4)then set Vx=100 set nx=50 set ax=0 set ix="|cFFFF7F00" return endif if(Mp==5)then set Vx=100 set nx=100 set ax=0 set ix="|cFFFFFF00" return endif if(Mp==6)then set Vx=0 set nx=100 set ax=0 set ix="|cFF00FF00" return endif if(Mp==7)then set Vx=0 set nx=100 set ax=100 set ix="|cFF00FFFF" return endif if(Mp==8)then set Vx=0 set nx=0 set ax=100 set ix="|cFF0000FF" return endif if(Mp==9)then set Vx=100 set nx=0 set ax=100 set ix="|cFFFF00FF" return endif endfunction function pp takes integer Mp,unit Pp,string qp returns nothing local texttag Qp local location lp call mp(Mp) set lp=GetUnitLoc(Pp) set Qp=CreateTextTagLocBJ(qp,lp,0,20,Vx,nx,ax,0) call RemoveLocation(lp) set lp=null call SetTextTagPermanent(Qp,false) call SetTextTagLifespan(Qp,q) set Qp=null endfunction function sp takes nothing returns nothing local trigger Sp=GetTriggeringTrigger() local timer tp=GetExpiredTimer() local timerdialog H_dio call DestroyTrigger(Sp) call UnlockGameSpeedBJ() call SetGameSpeed(Nx) call DestroyTimerDialog(cx) call DestroyTimer(tp) set Sp=null set tp=null endfunction function Tp takes nothing returns nothing local timer tp local trigger Sp if(bx)then else set Nx=GetGameSpeed() set Bx=IsMapFlagSet(MAP_LOCK_SPEED) call UnlockGameSpeedBJ() call SetGameSpeed(MAP_SPEED_SLOWEST) call LockGameSpeedBJ() set Sp=CreateTrigger() set tp=CreateTimer() call StartTimerBJ(tp,false,Ax) set cx=CreateTimerDialogBJ(tp,"å弹时间") call TriggerAddAction(Sp,function sp) call TriggerRegisterTimerExpireEvent(Sp,tp) endif endfunction function up takes trigger Up returns nothing if(IsTriggerEnabled(Up))then call DisableTrigger(Up) else call EnableTrigger(Up) endif endfunction function wp takes trigger Up,boolean Wp returns nothing if(IsTriggerEnabled(Up)==Wp)then else call up(Up) endif endfunction function yp takes integer gp,boolean Gp returns nothing call wp(Be[gp],Gp) call wp(ce[gp],Gp) call wp(Ce[gp],Gp) call wp(De[gp],Gp) call wp(de[gp],Gp) call wp(fe[gp],Gp) call wp(Dx[gp],Gp) endfunction function Yp takes nothing returns nothing local unit Jp=GetEnumUnit() if(GetUnitUserData(Jp)==2176)then call RemoveUnit(Jp) endif set Jp=null endfunction function zp takes player Fp returns nothing local group Zp if(xx[GetPlayerId(Fp)])then set Zp=Ep(Fp) call ForGroup(Zp,function Yp) set xx[GetPlayerId(Fp)]=false call DestroyGroup(Zp) set Zp=null endif endfunction function vP takes unit Jp,player Fp returns nothing local location lp local integer eP local unit xP local item oP local integer cp=0 if(IsUnitType(Jp,UNIT_TYPE_HERO))then set lp=GetUnitLoc(Jp) set eP=GetUnitTypeId(Jp) set xP=CreateUnitAtLoc(Fp,eP,lp,bj_UNIT_FACING) call SetUnitUserData(xP,2176) set xx[GetPlayerId(Fp)]=true if(Ov)then call SetUnitUseFood(xP,false) endif call SetHeroLevelBJ(xP,GetHeroLevel(Jp),false) call SetHeroStat(xP,0,GetHeroStatBJ(0,Jp,false)) call SetHeroStat(xP,1,GetHeroStatBJ(1,Jp,false)) call SetHeroStat(xP,2,GetHeroStatBJ(2,Jp,false)) loop exitwhen cp>5 set oP=UnitItemInSlot(Jp,cp) call UnitAddItemById(xP,GetItemTypeId(oP)) set cp=cp+1 endloop endif call RemoveLocation(lp) set lp=null set xP=null set oP=null endfunction function rP takes integer iP,player aP,location nP,boolean VP,boolean EP returns nothing local unit xP set xP=CreateUnitAtLoc(aP,iP,nP,bj_UNIT_FACING) if(Ov)then call SetUnitUseFood(xP,false) endif if(VP)then call SetUnitUserData(xP,2176) endif if(EP)then call UnitApplyTimedLife(xP,'BTLF',90) endif set xP=null endfunction function XP takes integer iP,player aP,location nP returns nothing local unit xP set xP=CreateUnitAtLoc(aP,iP,nP,bj_UNIT_FACING) if(Ov)then call SetUnitUseFood(xP,false) set xP=null endif endfunction function OP takes unit RP,player aP,integer IP,boolean EP returns nothing local location lp local integer eP local integer cp set lp=GetUnitLoc(RP) set eP=GetUnitTypeId(RP) set cp=1 loop exitwhen cp>IP call rP(eP,aP,lp,true,EP) set cp=cp+1 endloop call RemoveLocation(lp) set xx[GetPlayerId(aP)]=true set lp=null endfunction function AP takes unit RP,player aP,integer IP returns nothing call OP(RP,aP,IP,false) endfunction function NP takes unit Jp,integer gp,boolean bP returns nothing local integer cp set cp=GetResourceAmount(Jp) if(bP)then set cp=cp+gp else set cp=cp-gp endif if(cp<0)then if(bP)then set cp=GetResourceAmount(Jp) else set cp=0 endif endif call SetResourceAmount(Jp,cp) endfunction function BP takes integer gp,player Fp,boolean cP returns nothing if(cP)then call SetPlayerTechMaxAllowed(Fp,'HERO',50000) else call SetPlayerTechMaxAllowed(Fp,'HERO',3) endif endfunction function CP takes integer gp,boolean Wp returns nothing if(Wp)then call EnableTrigger(Ie[gp]) call EnableTrigger(Ae[gp]) call EnableTrigger(Ne[gp]) call EnableTrigger(be[gp]) call EnableTrigger(Ve[gp]) call EnableTrigger(Ee[gp]) call EnableTrigger(Xe[gp]) call EnableTrigger(Oe[gp]) call EnableTrigger(Re[gp]) else call DisableTrigger(Ie[gp]) call DisableTrigger(Ae[gp]) call DisableTrigger(Ne[gp]) call DisableTrigger(be[gp]) call DisableTrigger(Ve[gp]) call DisableTrigger(Ee[gp]) call DisableTrigger(Xe[gp]) call DisableTrigger(Oe[gp]) call DisableTrigger(Re[gp]) endif endfunction function dP takes integer gp,boolean DP returns nothing if(DP)then call EnableTrigger(ie[gp]) call EnableTrigger(ne[gp]) call EnableTrigger(Mv[gp]) else call DisableTrigger(ie[gp]) call DisableTrigger(ne[gp]) call DisableTrigger(Mv[gp]) endif endfunction function fP takes nothing returns nothing local integer gp set gp=0 loop exitwhen gp>11 call CP(gp,false) set gp=gp+1 endloop endfunction function FP takes integer gp returns nothing set Z[gp]=false call GroupClear(Iv[gp]) if(Rv)then call DestroyFogModifier(z[gp]) endif call DisableTrigger(re[gp]) call DisableTrigger(ae[gp]) call DisableTrigger(pe[gp]) call DisableTrigger(Be[gp]) call DisableTrigger(ce[gp]) call DisableTrigger(Ce[gp]) call DisableTrigger(de[gp]) call DisableTrigger(De[gp]) call DisableTrigger(fe[gp]) call DisableTrigger(Dx[gp]) call DisableTrigger(Fe[gp]) call DisableTrigger(ge[gp]) call DisableTrigger(Ye[gp]) call DisableTrigger(Ge[gp]) call DisableTrigger(Le[gp]) call DisableTrigger(He[gp]) call DisableTrigger(ke[gp]) call DisableTrigger(Je[gp]) call DisableTrigger(Ke[gp]) call DisableTrigger(Ze[gp]) call DisableTrigger(ze[gp]) call DisableTrigger(le[gp]) call DisableTrigger(je[gp]) call DisableTrigger(vx[gp]) call DisableTrigger(he[gp]) call DisableTrigger(Gx[gp]) call DisableTrigger(gx[gp]) call DisableTrigger(Lx[gp]) call DisableTrigger(ie[gp]) call DisableTrigger(ne[gp]) call DisableTrigger(Mv[gp]) call CP(gp,false) endfunction function gP takes integer gp,player Fp returns nothing set Z[gp]=true if(lv[gp])then else call Dp(gp,Fp) endif call EnableTrigger(re[gp]) call EnableTrigger(ae[gp]) call EnableTrigger(pe[gp]) call CP(gp,true) endfunction function GP takes integer gp,boolean hP returns nothing if(hP)then if((Nv[gp])and(bv[gp])and(se[gp]))then call EnableTrigger(Pe[gp]) call EnableTrigger(qe[gp]) call EnableTrigger(Qe[gp]) endif else call DisableTrigger(Pe[gp]) call DisableTrigger(qe[gp]) call DisableTrigger(Qe[gp]) endif endfunction function HP takes integer Mp returns nothing if(Mp==0)then set Ex=0 return endif if(Mp==1)then set Ex=10 return endif if(Mp==2)then set Ex=15 return endif if(Mp==3)then set Ex=20 return endif if(Mp==4)then set Ex=40 return endif if(Mp==5)then set Ex=50 return endif if(Mp==6)then set Ex=70 return endif if(Mp==7)then set Ex=80 return endif if(Mp==8)then set Ex=90 return endif if(Mp==9)then set Ex=100 return endif endfunction function jP takes unit Jp,integer JP,integer kP returns nothing call HP(kP) call mp(JP) call SetUnitVertexColorBJ(Jp,Vx,nx,ax,Ex) endfunction function KP takes integer JP,integer kP returns nothing call HP(kP) call mp(JP) call SetWaterBaseColorBJ(Vx,nx,ax,Ex) endfunction function lP takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call jP(Jp,GetRandomInt(3,9),0) set Jp=null endfunction function LP takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call jP(Jp,0,0) set Jp=null endfunction function mP takes integer gp,boolean hP returns nothing local integer cp local integer MP if(jx[gp]==hP)then else set jx[gp]=hP if(hP)then call EnableTrigger(Tx) else set cp=0 set MP=0 loop exitwhen cp>11 if(jx[cp])then set MP=MP+1 endif set cp=cp+1 endloop if(MP==0)then call DisableTrigger(Tx) endif endif endif endfunction function pP takes integer PP returns nothing if(PP==0)then call SetSkyModel(null) return endif if(PP==1)then call SetSkyModel("Environment\\Sky\\BlizzardSky\\BlizzardSky.mdl") return endif if(PP==2)then call SetSkyModel("Environment\\Sky\\DalaranSky\\DalaranSky.mdl") return endif if(PP==3)then call SetSkyModel("Environment\\Sky\\FelwoodSky\\FelwoodSky.mdl") return endif if(PP==4)then call SetSkyModel("Environment\\Sky\\FoggedSky\\FoggedSky.mdl") return endif if(PP==5)then call SetSkyModel("Environment\\Sky\\Sky\\SkyLight.mdl") return endif if(PP==6)then call SetSkyModel("Environment\\Sky\\LordaeronFallSky\\LordaeronFallSky.mdl") return endif if(PP==7)then call SetSkyModel("Environment\\Sky\\LordaeronSummerSky\\LordaeronSummerSky.mdl") return endif if(PP==8)then call SetSkyModel("Environment\\Sky\\LordaeronWinterSky\\LordaeronWinterSky.mdl") return endif if(PP==9)then call SetSkyModel("Environment\\Sky\\LordaeronWinterSkyBrightGreen\\LordaeronWinterSkyBrightGreen.mdl") return endif if(PP==10)then call SetSkyModel("Environment\\Sky\\LordaeronWinterSkyPink\\LordaeronWinterSkyPink.mdl") return endif if(PP==11)then call SetSkyModel("Environment\\Sky\\LordaeronWinterSkyPurple\\LordaeronWinterSkyPurple.mdl") return endif if(PP==12)then call SetSkyModel("Environment\\Sky\\LordaeronWinterSkyYellow\\LordaeronWinterSkyYellow.mdl") return endif if(PP==13)then call SetSkyModel("Environment\\Sky\\Outland_Sky\\Outland_Sky.mdl") return endif endfunction function qP takes integer QP returns integer if(QP==0)then return 'RAhr' endif if(QP==1)then return 'RAlr' endif if(QP==2)then return 'MEds' endif if(QP==3)then return 'FDbh' endif if(QP==4)then return 'FDbl' endif if(QP==5)then return 'FDgh' endif if(QP==6)then return 'FDgl' endif if(QP==7)then return 'FDrh' endif if(QP==8)then return 'FDrl' endif if(QP==9)then return 'FDwh' endif if(QP==10)then return 'FDwl' endif if(QP==11)then return 'RLhr' endif if(QP==12)then return 'RLlr' endif if(QP==13)then return 'SNbs' endif if(QP==14)then return 'SNhs' endif if(QP==15)then return 'SNls' endif if(QP==16)then return 'WOcw' endif if(QP==17)then return 'WOlw' endif if(QP==18)then return 'LRaa' endif if(QP==19)then return 'LRma' endif if(QP==20)then return 'WNcw' endif return 0 endfunction function sP takes integer QP,boolean hP returns nothing set QP=QP-1 if(hP)then if(Ox[QP]==false)then if(qP(QP)==0)then else set Xx[QP]=AddWeatherEffect(ov,qP(QP)) call EnableWeatherEffect(Xx[QP],true) set Ox[QP]=true endif endif else if(Xx[QP]==null)then else call EnableWeatherEffect(Xx[QP],false) call RemoveWeatherEffect(Xx[QP]) set Ox[QP]=false set Xx[QP]=null endif endif endfunction function SP takes nothing returns nothing local integer gp=1 loop exitwhen gp>21 call sP(gp,false) set gp=gp+1 endloop endfunction function tP takes integer TP returns integer if(TP==0)then return 'LTlt' endif if(TP==1)then return 'FTtw' endif if(TP==2)then return 'WTtw' endif if(TP==3)then return 'ATtr' endif if(TP==4)then return 'ATtc' endif if(TP==5)then return 'BTtw' endif if(TP==6)then return 'KTtw' endif if(TP==7)then return 'YTwt' endif if(TP==8)then return 'YTct' endif if(TP==9)then return 'YTft' endif if(TP==10)then return 'YTst' endif if(TP==11)then return 'JTct' endif if(TP==12)then return 'JTtw' endif if(TP==13)then return 'DTsh' endif if(TP==14)then return 'CTtr' endif if(TP==15)then return 'CTtc' endif if(TP==16)then return 'ITtw' endif if(TP==17)then return 'ITtw' endif if(TP==18)then return 'NTtc' endif if(TP==19)then return 'OTtw' endif if(TP==20)then return 'ZTtw' endif if(TP==21)then return 'GTsh' endif if(TP==22)then return 'VTlt' endif if(TP==23)then return 'VTlt' endif return 0 endfunction function uP takes nothing returns integer return tP(GetRandomInt(0,23)) endfunction function UP takes unit Jp,integer wP,integer TP,integer WP returns nothing local real yP local real YP local real gp=0 local boolean zP=true set yP=GetUnitX(Jp) set YP=GetUnitY(Jp) if(wP==1)then loop exitwhen gp==WP if(zP)then call CreateDestructable(TP,yP,YP+gp*40,GetRandomReal(0,360),1,0) else call CreateDestructable(TP,yP,YP-gp*40,GetRandomReal(0,360),1,0) endif set zP=not(zP) set gp=gp+1 endloop endif if(wP==2)then loop exitwhen gp==WP if(zP)then call CreateDestructable(TP,yP+gp*40,YP,GetRandomReal(0,360),1,0) else call CreateDestructable(TP,yP-gp*40,YP,GetRandomReal(0,360),1,0) endif set zP=not(zP) set gp=gp+1 endloop endif if(wP==3)then loop exitwhen gp==WP if(zP)then call CreateDestructable(TP,yP+gp*40,YP+gp*40,GetRandomReal(0,360),1,0) else call CreateDestructable(TP,yP-gp*40,YP-gp*40,GetRandomReal(0,360),1,0) endif set zP=not(zP) set gp=gp+1 endloop endif if(wP==4)then loop exitwhen gp==WP if(zP)then call CreateDestructable(TP,yP+gp*40,YP-gp*40,GetRandomReal(0,360),1,0) else call CreateDestructable(TP,yP-gp*40,YP+gp*40,GetRandomReal(0,360),1,0) endif set zP=not(zP) set gp=gp+1 endloop endif endfunction function ZP takes integer gp returns nothing set vv[gp]=true call StartTimerBJ(Bv[gp],false,2.) endfunction function vq takes integer gp,boolean eq returns nothing local integer cp local integer xP local item oP local location lp local unit Jp set Jp=ev[gp] set xP=1 loop exitwhen xP>6 if(eq)then set lp=GetUnitLoc(te[gp]) else set lp=GetUnitLoc(Jp) endif set oP=UnitItemInSlotBJ(Jp,xP) if(GetItemCharges(oP)>0)then set cp=GetItemCharges(oP) set oP=CreateItemLoc(GetItemTypeId(oP),lp) call SetItemCharges(oP,cp) else call CreateItemLoc(GetItemTypeId(oP),lp) endif call RemoveLocation(lp) set xP=xP+1 endloop set Jp=null set lp=null set oP=null endfunction function xq takes integer gp,player Fp returns nothing local integer cp local force oq local player Bp if(cv[gp])then call DestroyFogModifier(z[gp]) set cv[gp]=false else set oq=CreateForce() set cp=0 loop exitwhen cp>11 set Bp=Player(cp) if(GetPlayerAlliance(Fp,Bp,ALLIANCE_SHARED_VISION))then call ForceAddPlayer(oq,Bp) call SetPlayerAlliance(Fp,Bp,ALLIANCE_SHARED_VISION,false) endif set cp=cp+1 endloop set z[gp]=CreateFogModifierRect(Fp,FOG_OF_WAR_VISIBLE,ov,false,false) call FogModifierStart(z[gp]) set cv[gp]=true set cp=0 loop exitwhen cp>11 set Bp=Player(cp) if(IsPlayerInForce(Bp,oq))then call SetPlayerAlliance(Fp,Bp,ALLIANCE_SHARED_VISION,true) endif set cp=cp+1 endloop call DestroyForce(oq) set oq=null set Bp=null endif endfunction function rq takes integer gp,player Fp returns nothing local integer cp local unit Jp local item oP local item array iq set Jp=FirstOfGroup(Iv[gp]) if((Fp==GetOwningPlayer(Jp))and(UnitInventorySizeBJ(Jp)>0))then set cp=1 loop exitwhen cp>6 set oP=UnitItemInSlotBJ(Jp,cp) set iq[(cp-1)]=oP call UnitRemoveItemSwapped(oP,Jp) call SetItemVisible(oP,false) set cp=cp+1 endloop set cp=1 loop exitwhen cp>6 set oP=Kv[(gp*18)+(Lv[gp]*6)+(cp-1)] call UnitAddItem(Jp,oP) set Kv[(gp*18)+(Lv[gp]*6)+(cp-1)]=iq[(cp-1)] set iq[(cp-1)]=null set cp=cp+1 endloop if(Lv[gp]==0)then set Lv[gp]=Te-1 else set Lv[gp]=(Lv[gp]-1) endif set oP=null endif set Jp=null set Fp=null endfunction function aq takes unit Jp returns nothing local integer cp local item oP set cp=1 loop exitwhen cp>6 set oP=UnitItemInSlotBJ(Jp,cp) call UnitRemoveItemSwapped(oP,Jp) set cp=cp+1 endloop set oP=null endfunction function nq takes integer gp returns nothing local integer cp local item oP local location lp set lp=GetUnitLoc(te[gp]) set cp=1 loop exitwhen cp>6 set oP=UnitItemInSlotBJ(ev[gp],cp) call UnitRemoveItemSwapped(oP,ev[gp]) call SetItemPositionLoc(oP,lp) set cp=cp+1 endloop call RemoveLocation(lp) set oP=null set lp=null endfunction function Vq takes integer gp returns nothing local integer xP local integer zP local unit Jp local item Sp local item Eq set Jp=FirstOfGroup(Iv[gp]) set xP=1 loop exitwhen xP>5 set Sp=UnitItemInSlotBJ(Jp,xP) if(GetItemCharges(Sp)>0)then set zP=xP+1 loop exitwhen zP>6 set Eq=UnitItemInSlotBJ(Jp,zP) if(GetItemTypeId(Sp)==GetItemTypeId(Eq))then call SetItemCharges(Sp,(GetItemCharges(Sp)+GetItemCharges(Eq))) call RemoveItem(Eq) endif set zP=zP+1 endloop endif set xP=xP+1 endloop set Sp=null set Eq=null set Jp=null endfunction function Xq takes integer gp,integer cp returns nothing local unit Jp local item oP set Jp=FirstOfGroup(Iv[gp]) set oP=UnitItemInSlotBJ(Jp,1) call SetItemCharges(oP,(GetItemCharges(oP)+cp)) set oP=null set Jp=null endfunction function hke_ZZ8Z takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call GroupAddUnit(Gv,Jp) set Jp=null endfunction function hke_ZZ9Z takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call GroupRemoveUnit(Gv,Jp) set Jp=null endfunction function Oq takes nothing returns nothing local unit Jp=GetTriggerUnit() if((IsUnitDeadBJ(Jp))and(IsUnitType(Jp,UNIT_TYPE_HERO)))then call GroupRemoveUnit(Gv,Jp) endif endfunction function Rq takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call ReviveHeroLoc(Jp,Av[jv],true) call SetUnitManaPercentBJ(Jp,100) set Jp=null endfunction function Iq takes player Fp returns nothing local group Zp set Zp=Ep(Fp) set jv=GetPlayerId(Fp) call ForGroup(Zp,function Rq) call DestroyGroup(Zp) set Zp=null endfunction function Aq takes nothing returns nothing local unit Jp=GetEnumUnit() call ModifyHeroStat(Ue,Jp,We,ue) set Jp=null endfunction function Nq takes integer gp,integer bq,integer Bq,boolean Gp returns nothing local integer cq if(Gp)then set cq=0 else set cq=1 endif if(m)then set We=cq set Ue=bq set ue=Bq call ForGroup(Iv[gp],function Aq) else call ModifyHeroStat(bq,ev[gp],cq,Bq) endif endfunction function Cq takes unit Jp,integer Bq,boolean Gp returns nothing local integer gp set gp=GetHeroLevel(Jp) if(Gp)then set gp=gp+Bq else set gp=gp-Bq endif call SetHeroLevelBJ(Jp,gp,false) endfunction function dq takes nothing returns nothing local unit Jp=GetEnumUnit() call Cq(Jp,ye,kv) set Jp=null endfunction function Dq takes integer gp,integer Bq,boolean Gp returns nothing if(m)then set ye=Bq set kv=Gp call ForGroup(Iv[gp],function dq) else call Cq(ev[gp],Bq,Gp) endif endfunction function fq takes string Fq returns integer local string gq="0123456789" local string Gq="ABCDEFGHIJKLMNOPQRSTUVWXYZ" local string hq="abcdefghijklmnopqrstuvwxyz" local integer Id=0 local integer Hq=1 local integer jq=1 loop exitwhen Hq>StringLength(Fq) loop exitwhen jq>10 if SubString(Fq,Hq-1,Hq)==SubString(gq,jq-1,jq)then set Id=Id+R2I((48+jq-1)*Pow(256.,I2R(StringLength(Fq)-Hq))) set jq=jq+1 else set jq=jq+1 endif endloop set jq=1 loop exitwhen jq>26 if SubString(Fq,Hq-1,Hq)==SubString(Gq,jq-1,jq)then set Id=Id+R2I(I2R(65+jq-1)*Pow(256.,I2R(StringLength(Fq)-Hq))) set jq=jq+1 else set jq=jq+1 endif endloop set jq=1 loop exitwhen jq>26 if SubString(Fq,Hq-1,Hq)==SubString(hq,jq-1,jq)then set Id=Id+R2I((97+jq-1)*Pow(256.,I2R(StringLength(Fq)-Hq))) set jq=jq+1 else set jq=jq+1 endif endloop set jq=1 set Hq=Hq+1 endloop return Id endfunction function Jq takes integer kq returns string local string gq="0123456789" local string Gq="ABCDEFGHIJKLMNOPQRSTUVWXYZ" local string hq="abcdefghijklmnopqrstuvwxyz" local string Kq="" local integer Hq=0 local integer lq=0 loop exitwhen kq==0 set Hq=ModuloInteger(kq,256) if Hq>=48 and Hq<=57 then set lq=Hq-48 set Kq=SubString(gq,lq,lq+1)+Kq endif if Hq>=65 and Hq<=90 then set lq=Hq-65 set Kq=SubString(Gq,lq,lq+1)+Kq endif if Hq>=97 and Hq<=122 then set lq=Hq-97 set Kq=SubString(hq,lq,lq+1)+Kq endif set kq=kq/256 endloop return Kq endfunction function Lq takes unit Jp returns string local integer gp set gp=GetUnitTypeId(Jp) if(gp==0)then return"" else return Jq(gp) endif endfunction function mq takes unit Jp returns string local item oP=UnitItemInSlotBJ(Jp,1) local integer gp=GetItemTypeId(oP) if(gp==0)then return"" else set oP=null return Jq(gp) endif endfunction function Mq takes integer pq returns integer local string Pq=GetEventPlayerChatString() if(StringLength(Pq)==pq+3)then return(fq(SubStringBJ(Pq,pq,pq+3))) else return 0 endif endfunction function qq takes unit Jp,integer eP,boolean Gp returns nothing local location lp local integer gp set gp=Mq(eP) if(gp==0)then else if(Gp)then set lp=GetUnitLoc(Jp) call CreateItemLoc(gp,lp) call RemoveLocation(lp) set lp=null else call UnitAddItemById(Jp,gp) endif endif endfunction function Qq takes unit Jp,real sq,boolean Gp returns nothing local location lp=GetUnitLoc(Jp) local player Fp=GetOwningPlayer(Jp) call SetBlightRadiusLocBJ(Gp,Fp,lp,sq) call RemoveLocation(lp) set lp=null set Fp=null endfunction function Sq takes unit Jp,real sq returns nothing call SetUnitFlyHeight(Jp,sq,.0) endfunction function tq takes nothing returns integer local integer Tq=0 local integer uq=0 local integer array Uq local integer gp=0 local player Fp=GetLocalPlayer() loop exitwhen gp>11 set Uq[gp]=0 set gp=gp+1 endloop loop exitwhen Tq>14 call StoreInteger(Mx,"Hke_Player","Hke_number",GetPlayerId(Fp)+1) call TriggerSyncStart() call SyncStoredInteger(Mx,"Hke_Player","Hke_number") call TriggerSyncReady() set uq=GetStoredInteger(Mx,"Hke_Player","Hke_number")-1 set Uq[uq]=Uq[uq]+1 call FlushStoredMission(Mx,"Hke_Player") set Tq=Tq+1 endloop set uq=0 set Tq=0 set Fp=null loop exitwhen Tq>11 if Uq[uq]<Uq[Tq]then set uq=Tq endif set Tq=Tq+1 endloop return uq+1 endfunction function wq takes unit Jp,integer Wq,boolean Gp returns nothing if(Gp)then call UnitAddAbility(Jp,Wq) call SetUnitAbilityLevel(Jp,Wq,100) call UnitMakeAbilityPermanent(Jp,true,Wq) else call UnitMakeAbilityPermanent(Jp,false,Wq) call UnitRemoveAbility(Jp,Wq) endif endfunction function yq takes nothing returns nothing local unit Jp=GetEnumUnit() call wq(Jp,sv,Sv) set Jp=null endfunction function Yq takes integer gp,integer Wq,boolean Gp returns nothing if(m)then set sv=Wq set Sv=Gp call ForGroup(Iv[gp],function yq) else call wq(ev[gp],Wq,Gp) endif endfunction function zq takes string Pq returns integer if(Pq=="mm")then return 'ACm3' endif if(Pq=="xj")then return 'ANpi' endif if(Pq=="zj")then return 'AHbh' endif if(Pq=="zm")then return 'AOcr' endif if(Pq=="ft")then return 'AUts' endif if(Pq=="xx")then return 'AIva' endif if(Pq=="sb")then return 'AEev' endif if(Pq=="yx")then return 'Apiv' endif if(Pq=="rh")then return 'ANic' endif if(Pq=="fl")then return 'ANca' endif if(Pq=="bs")then return 'ACes' endif if(Pq=="jg")then return 'AItx' endif if(Pq=="jf")then return 'AId0' endif if(Pq=="js")then return 'AIsx' endif if(Pq=="jm")then return 'AIsr' endif if(Pq=="jj")then return 'ARal' endif if(Pq=="fy")then return 'Atru' endif if(Pq=="ghh")then return 'AHab' endif if(Pq=="ghj")then return 'AOae' endif if(Pq=="gqj")then return 'AEar' endif if(Pq=="gxx")then return 'AUav' endif if(Pq=="gzz")then return 'AHad' endif if(Pq=="gxe")then return 'AUau' endif if(Pq=="gjj")then return 'AEah' endif if(Pq=="gml")then return 'ACac' endif if(Pq=="gyl")then return 'Aoar' endif if(Pq=="gjs")then return 'Aasl' endif if(Pq=="qhy")then return 'AIfb' endif if(Pq=="qdy")then return 'AIpb' endif if(Pq=="qlh")then return 'AIso' endif if(Pq=="qyz")then return 'AIdn' endif if(Pq=="qbd")then return 'AIob' endif if(Pq=="qfs")then return 'AIcb' endif if(Pq=="qsd")then return 'AIll' endif if(Pq=="qjs")then return 'AIsb' endif if(Pq=="qha")then return 'AIdf' endif return 0 endfunction function Zq takes nothing returns nothing local unit Jp=GetEnumUnit() call SetUnitInvulnerable(Jp,Sv) call wq(Jp,'Avul',Sv) set Jp=null endfunction function vQ takes integer gp,boolean Gp returns nothing if(m)then set Sv=Gp call ForGroup(Iv[gp],function Zq) else call SetUnitInvulnerable(ev[gp],Gp) call wq(ev[gp],'Avul',Gp) endif endfunction function eQ takes nothing returns nothing local unit Jp=GetEnumUnit() call SetUnitPathing(Jp,not(Sv)) set Jp=null endfunction function xQ takes integer gp,boolean Gp returns nothing if(m)then set Sv=Gp call ForGroup(Iv[gp],function eQ) else call SetUnitPathing(ev[gp],not(Gp)) endif endfunction function oQ takes unit Jp,boolean Gp returns nothing if(Gp)then call SetUnitMoveSpeed(Jp,1000) else call SetUnitMoveSpeed(Jp,GetUnitDefaultMoveSpeed(Jp)) endif endfunction function rQ takes nothing returns nothing local unit Jp=GetEnumUnit() call oQ(Jp,Sv) set Jp=null endfunction function iQ takes integer gp,boolean Gp returns nothing if(m)then set Sv=Gp call ForGroup(Iv[gp],function rQ) else call oQ(ev[gp],Gp) endif endfunction function aQ takes integer gp,boolean Gp returns nothing call ForGroup(Gv,function Oq) if(m)then if(Gp)then if(CountUnitsInGroup(Gv)==0)then call EnableTrigger(tx) endif call GroupAddGroup(Iv[gp],Gv) else call GroupRemoveGroup(Iv[gp],Gv) if(CountUnitsInGroup(Gv)==0)then call DisableTrigger(tx) endif endif else if(Gp)then if(CountUnitsInGroup(Gv)==0)then call EnableTrigger(tx) endif call GroupAddUnit(Gv,ev[gp]) else call GroupRemoveUnit(Gv,ev[gp]) if(CountUnitsInGroup(Gv)==0)then call DisableTrigger(tx) endif endif endif endfunction function nQ takes unit Jp,boolean Gp returns nothing call wq(Jp,'AHab',Gp) call wq(Jp,'AOae',Gp) call wq(Jp,'AEar',Gp) call wq(Jp,'AUav',Gp) call wq(Jp,'AHad',Gp) call wq(Jp,'AUau',Gp) call wq(Jp,'ACac',Gp) call wq(Jp,'AEah',Gp) call wq(Jp,'Aoar',Gp) call wq(Jp,'Aasl',Gp) endfunction function VQ takes nothing returns nothing local unit Jp=GetEnumUnit() call nQ(Jp,Sv) set Jp=null endfunction function EQ takes integer gp,boolean Gp returns nothing if(m)then set Sv=Gp call ForGroup(Iv[gp],function VQ) else call nQ(ev[gp],Gp) endif endfunction function XQ takes unit Jp returns nothing call wq(Jp,'ACm3',false) call wq(Jp,'ANpi',false) call wq(Jp,'AHbh',false) call wq(Jp,'AOcr',false) call wq(Jp,'AUts',false) call wq(Jp,'AIva',false) call wq(Jp,'AEev',false) call wq(Jp,'Apiv',false) call wq(Jp,'ANic',false) call wq(Jp,'ANca',false) call wq(Jp,'Avul',false) call wq(Jp,'ACes',false) call wq(Jp,'AItx',false) call wq(Jp,'AId0',false) call wq(Jp,'AIsx',false) call wq(Jp,'AIsr',false) call wq(Jp,'Atru',false) call SetUnitInvulnerable(Jp,false) call SetUnitPathing(Jp,true) call oQ(Jp,false) call GroupRemoveUnit(Gv,Jp) endfunction function OQ takes nothing returns nothing local unit Jp=GetEnumUnit() call XQ(Jp) set Jp=null endfunction function RQ takes integer gp returns nothing if(m)then call ForGroup(Iv[gp],function OQ) else call XQ(ev[gp]) endif endfunction function IQ takes nothing returns nothing local unit Jp=GetTriggerUnit() local trigger Sp=GetTriggeringTrigger() call RemoveUnit(Jp) call DisableTrigger(Sp) call DestroyTrigger(Sp) set Jp=null set Sp=null endfunction function AQ takes integer eP,unit NQ,player bQ returns nothing local location lp local unit Jp local integer BQ=0 local integer cQ=0 local trigger Sp if(eP==0)then set BQ='AOvd' set cQ=852503 endif if(eP==1)then set BQ='AEtq' set cQ=852184 endif if(eP==2)then set BQ='AEsf' set cQ=852183 endif if((BQ==0)and(cQ==0))then return endif set lp=GetUnitLoc(NQ) set Jp=CreateUnitAtLoc(bQ,'nbal',lp,bj_UNIT_FACING) call UnitAddAbility(Jp,'Avul') call UnitAddAbility(Jp,BQ) call ShowUnit(Jp,false) call SetUnitUseFood(Jp,false) call SetUnitScale(Jp,.01,.01,.01) call SetUnitState(Jp,UNIT_STATE_MANA,GetUnitState(Jp,UNIT_STATE_MAX_MANA)) call IssueImmediateOrderById(Jp,cQ) set Sp=CreateTrigger() call TriggerRegisterUnitEvent(Sp,Jp,EVENT_UNIT_SPELL_ENDCAST) call TriggerRegisterUnitEvent(Sp,Jp,EVENT_UNIT_SPELL_FINISH) call TriggerAddAction(Sp,function IQ) call RemoveLocation(lp) set lp=null set Sp=null set Jp=null endfunction function CQ takes unit NQ returns nothing local player Fp=GetTriggerPlayer() local location lp=GetUnitLoc(NQ) local trigger Sp=CreateTrigger() local unit Jp=CreateUnitAtLoc(Fp,'hfoo',lp,bj_UNIT_FACING) call UnitAddAbility(Jp,'Avul') call UnitAddAbility(Jp,'AIse') call ShowUnit(Jp,false) call SetUnitUseFood(Jp,false) call SetUnitScale(Jp,.01,.01,.01) call IssuePointOrderByIdLoc(Jp,852592,lp) call TriggerRegisterUnitEvent(Sp,Jp,EVENT_UNIT_SPELL_ENDCAST) call TriggerRegisterUnitEvent(Sp,Jp,EVENT_UNIT_SPELL_FINISH) call TriggerAddAction(Sp,function IQ) call RemoveLocation(lp) set lp=null set Sp=null set Fp=null endfunction function dQ takes integer gp,dialog DQ,trigger Up returns nothing set fx[gp]=DQ set Fx[gp]=Up endfunction function fQ takes integer gp,string FQ returns nothing call DialogClear(fx[gp]) call DialogSetMessage(fx[gp],(FQ+Jv+rx)) endfunction function gQ takes integer gp,player Fp,boolean hP returns nothing if(hP)then call EnableTrigger(Fx[gp]) call DialogDisplay(Fp,fx[gp],true) call TimerStart(kx[gp],Q,false,null) else call DisableTrigger(Fx[gp]) call DialogDisplay(Fp,fx[gp],false) endif endfunction function GQ takes integer gp,player Fp returns nothing call dQ(gp,Me[gp],Fe[gp]) call fQ(gp,"主") set Tv[gp]=DialogAddButton(fx[gp],"资æºèœå•[A]",65) set Uv[gp]=DialogAddButton(fx[gp],"自动化设置[B]",66) set wv[gp]=DialogAddButton(fx[gp],"选定å•ä½ç‰¹æ®Šå±žæ€§[C]",67) set uv[gp]=DialogAddButton(fx[gp],"个人选项设置[D]",68) set zv[gp]=DialogAddButton(fx[gp],"帮助èœå•[E]",69) if(Fp==Y)then set Yv[gp]=DialogAddButton(fx[gp],"其他玩家作弊管ç†[F]",70) set yv[gp]=DialogAddButton(fx[gp],"其他玩家管ç†[G]",71) set Wv[gp]=DialogAddButton(fx[gp],"游æˆä½œå¼Šé€‰é¡¹[H]",72) if(px)then set ve[gp]=DialogAddButton(fx[gp],"å…³é—录åƒ(æ— æ³•å†å¼€)[L]",72) endif endif set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) endfunction function hQ takes integer gp,player Fp returns nothing local string Pq call dQ(gp,oe[gp],ge[gp]) call fQ(gp,"自动化设置") if(IsTriggerEnabled(Be[gp]))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Tv[gp]=DialogAddButton(fx[gp],(Pq+"è‡ªåŠ¨åŠ é’±[A]"),65) if(IsTriggerEnabled(ce[gp]))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Uv[gp]=DialogAddButton(fx[gp],(Pq+"è‡ªåŠ¨åŠ æœ¨å¤´[B]"),66) if(IsTriggerEnabled(Ce[gp]))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set wv[gp]=DialogAddButton(fx[gp],(Pq+"自动清人å£[C]"),67) if(IsTriggerEnabled(De[gp]))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set uv[gp]=DialogAddButton(fx[gp],(Pq+"自动清CD[D]"),68) if(IsTriggerEnabled(de[gp]))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set zv[gp]=DialogAddButton(fx[gp],(Pq+"è‹±é›„æ— é™é‡ç”Ÿ[E]"),69) if(IsTriggerEnabled(fe[gp]))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Yv[gp]=DialogAddButton(fx[gp],(Pq+"é”法释放åŽè‡ªåŠ¨MP"+I2S(R2I(rv))+"%[F]"),70) if(IsTriggerEnabled(Dx[gp]))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set yv[gp]=DialogAddButton(fx[gp],(Pq+"生命低于"+I2S(R2I(Cx))+"%åŠ åˆ°"+I2S(R2I(Se))+"%[G]"),71) set Wv[gp]=DialogAddButton(fx[gp],"全部开å¯[O]",79) set ve[gp]=DialogAddButton(fx[gp],"全部关é—[U]",85) set Zv[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set ee[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Pq="" endfunction function HQ takes integer gp,player Fp returns nothing call dQ(gp,oe[gp],Ge[gp]) call fQ(gp,"选定å•ä½ç‰¹æ®Šå±žæ€§") set Tv[gp]=DialogAddButton(fx[gp],"æ— æ•Œ[A]",65) set Uv[gp]=DialogAddButton(fx[gp],"永久éšå½¢[B]",66) set wv[gp]=DialogAddButton(fx[gp],"穿越物体[C]",67) set uv[gp]=DialogAddButton(fx[gp],"é”å…[D]",68) set zv[gp]=DialogAddButton(fx[gp],"åéšå½¢[E]",69) set Yv[gp]=DialogAddButton(fx[gp],"移动速度[F]",70) set yv[gp]=DialogAddButton(fx[gp],"å„ç§å…‰çŽ¯[G]",71) set Wv[gp]=DialogAddButton(fx[gp],"æ¢é¡µ[N]",78) if((hv)or(Y==Fp))then set ve[gp]=DialogAddButton(fx[gp],"秒æ€æ¨¡å¼[K]",75) endif set Zv[gp]=DialogAddButton(fx[gp],"å–消全部(ä¸å«å…‰çŽ¯)[U]",85) set ee[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) endfunction function jQ takes integer gp,player Fp returns nothing call dQ(gp,me[gp],Le[gp]) call fQ(gp,"选定å•ä½ç‰¹æ®Šå±žæ€§") set Tv[gp]=DialogAddButton(fx[gp],"永久献ç¥[A]",65) set Uv[gp]=DialogAddButton(fx[gp],"é—ªé¿[B]",514) set wv[gp]=DialogAddButton(fx[gp],"é‡å‡»[C]",67) set uv[gp]=DialogAddButton(fx[gp],"致命一击[D]",68) set zv[gp]=DialogAddButton(fx[gp],"åå¼¹(å°å¼ºçš„壳)[E]",69) set Yv[gp]=DialogAddButton(fx[gp],"分裂攻击[F]",70) set yv[gp]=DialogAddButton(fx[gp],"燃ç°[G]",71) set Wv[gp]=DialogAddButton(fx[gp],"å‡å°‘é”法伤害33%[H]",72) set ve[gp]=DialogAddButton(fx[gp],"é—ªé¿100%[I]",73) set Zv[gp]=DialogAddButton(fx[gp],"æ¢é¡µ[N]",78) set ee[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) endfunction function JQ takes integer gp,player Fp returns nothing call dQ(gp,me[gp],He[gp]) call fQ(gp,"光环") set Tv[gp]=DialogAddButton(fx[gp],"辉煌光环[A]",65) set Uv[gp]=DialogAddButton(fx[gp],"è†æ£˜å…‰çŽ¯[B]",66) set wv[gp]=DialogAddButton(fx[gp],"è€ä¹…光环[C]",67) set uv[gp]=DialogAddButton(fx[gp],"强击光环[D]",68) set zv[gp]=DialogAddButton(fx[gp],"邪æ¶å…‰çŽ¯[E]",69) set Yv[gp]=DialogAddButton(fx[gp],"å¸è¡€å…‰çŽ¯[F]",70) set yv[gp]=DialogAddButton(fx[gp],"专注光环[G]",71) set Wv[gp]=DialogAddButton(fx[gp],"命令光环(战鼓)[H]",72) set ve[gp]=DialogAddButton(fx[gp],"医疗光环[I]",73) set Zv[gp]=DialogAddButton(fx[gp],"å‡é€Ÿå…‰çŽ¯[J]",74) set ee[gp]=DialogAddButton(fx[gp],"关所有光环[K]",75) set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) endfunction function kQ takes integer gp,player Fp returns nothing local integer cp=0 local string Pq local string KQ local player Bp call dQ(gp,oe[gp],ke[gp]) call fQ(gp,"玩家作弊管ç†") loop exitwhen cp>11 set Bp=Player(cp) if((GetPlayerController(Bp)==MAP_CONTROL_USER)and(GetPlayerSlotState(Bp)==PLAYER_SLOT_STATE_PLAYING)and(Bp!=Y))then set KQ=GetPlayerName(Bp) if(Z[cp])then set Pq="ç¦æ¢" else set Pq="å…许" endif set iv[cp]=DialogAddButton(fx[gp],(Pq+KQ+"作弊"),0) endif set cp=cp+1 endloop set Tv[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set Uv[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Bp=null set Pq="" set KQ="" endfunction function lQ takes integer gp,player Fp returns nothing set xv[gp]=0 call dQ(gp,Me[gp],le[gp]) call fQ(gp,"å•ä½") set Tv[gp]=DialogAddButton(fx[gp],"å‡100级[A]",65) set Uv[gp]=DialogAddButton(fx[gp],("åŠ ä¸‰å›´"+(I2S(T)+"[B]")),66) set wv[gp]=DialogAddButton(fx[gp],"å¤åˆ¶ç‰©å“[C]",67) set uv[gp]=DialogAddButton(fx[gp],"å¤åˆ¶å•ä½[D]",68) set zv[gp]=DialogAddButton(fx[gp],"掉身上物å“[E]",69) set Yv[gp]=DialogAddButton(fx[gp],"共享该å•ä½è§†é‡Ž[F]",70) set yv[gp]=DialogAddButton(fx[gp],"特殊属性èœå•[G]",71) if((gv)or(Y==Fp))then set Wv[gp]=DialogAddButton(fx[gp],"控制它[H]",72) endif if(Y==Fp)then endif if(Fp==Y)then set Zv[gp]=DialogAddButton(fx[gp],"改å˜å•ä½æ‰€æœ‰è€…[J]",74) endif set ee[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) endfunction function LQ takes integer gp,player Fp returns nothing local string Pq call dQ(gp,oe[gp],je[gp]) call fQ(gp,"游æˆä½œå¼Šé€‰é¡¹") if(m)then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Tv[gp]=DialogAddButton(fx[gp],(Pq+"æ“作所有å•ä½[A]"),65) set Uv[gp]=DialogAddButton(fx[gp],("设置背包数[B]"),66) if(Xv)then set Pq="å…³é—" else set Pq="å¼€å¯" endif set wv[gp]=DialogAddButton(fx[gp],(Pq+"ä¿æŠ¤CheatMaster[C]"),67) if(Ov)then set Pq="å…³é—" else set Pq="å¼€å¯" endif set uv[gp]=DialogAddButton(fx[gp],(Pq+"çž¬é—´é€ å…µä¸å 用人å£[D]"),68) if(Rv)then set Pq="å…³é—" else set Pq="å¼€å¯" endif set zv[gp]=DialogAddButton(fx[gp],("å–消作弊时"+Pq+"地图全开[E]"),69) if(hv)then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Yv[gp]=DialogAddButton(fx[gp],(Pq+"他人秒æ€æ¨¡å¼[F]"),70) if(Hv)then set Pq="å…³é—" else set Pq="å¼€å¯" endif set yv[gp]=DialogAddButton(fx[gp],(Pq+"ç¦æ¢ç§’æ€å»ºç‘[G]"),71) if(gv)then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Wv[gp]=DialogAddButton(fx[gp],(Pq+"他人å æ®å•ä½[H]"),72) if(ox)then set Pq="å…³é—" else set Pq="å¼€å¯" endif set ve[gp]=DialogAddButton(fx[gp],(Pq+"ç¦æ¢å…‹éš†æ“作农民[I]"),73) set Zv[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set ee[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Pq="" endfunction function mQ takes integer gp,player Fp returns nothing local string KQ local integer cp=0 local player Bp call dQ(gp,oe[gp],Je[gp]) call fQ(gp,"玩家管ç†") loop exitwhen cp>11 set Bp=Player(cp) if(GetPlayerSlotState(Bp)==PLAYER_SLOT_STATE_PLAYING)then set KQ=GetPlayerName(Bp) set iv[cp]=DialogAddButton(fx[gp],("选择"+KQ+"æ“作"),0) endif set cp=cp+1 endloop set iv[12]=DialogAddButton(fx[gp],("选择ä¸ç«‹ç”Ÿç‰©æ“作"),90) set Tv[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set Uv[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set KQ="" set Bp=null endfunction function MQ takes integer gp,player Fp returns nothing local player Bp=Player(mv) call dQ(gp,me[gp],Ke[gp]) call fQ(gp,"玩家管ç†") set Tv[gp]=DialogAddButton(fx[gp],"资æºç®¡ç†[A]",65) set Uv[gp]=DialogAddButton(fx[gp],"åŒç›Ÿç®¡ç†[B]",66) if(GetPlayerTaxRate(Bp,Fp,PLAYER_STATE_RESOURCE_GOLD)==0)then set wv[gp]=DialogAddButton(fx[gp],"å‘他收税黄金"+I2S(Rx)+"%[C]",67) else set wv[gp]=DialogAddButton(fx[gp],"åœæ¢å‘他收黄金[C]",67) endif if(GetPlayerTaxRate(Bp,Fp,PLAYER_STATE_RESOURCE_LUMBER)==0)then set uv[gp]=DialogAddButton(fx[gp],"å‘他收税木æ"+I2S(Rx)+"%[D]",68) else set uv[gp]=DialogAddButton(fx[gp],"åœæ¢å‘他收木æ[D]",67) endif set ee[gp]=DialogAddButton(fx[gp],"回选择èœå•[R]",82) set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Bp=null endfunction function pQ takes integer gp,player Fp returns nothing local integer cp=0 local player Bp local string Pq local string KQ call dQ(gp,me[gp],he[gp]) call fQ(gp,"选定å•ä½æŽ§åˆ¶") loop exitwhen cp>12 set Bp=Player(cp) if(GetPlayerSlotState(Bp)==PLAYER_SLOT_STATE_PLAYING)then set KQ=GetPlayerName(Bp) set iv[cp]=DialogAddButton(fx[gp],("ç»™"+KQ+"控制"),0) endif set cp=cp+1 endloop set Tv[gp]=DialogAddButton(fx[gp],"回å•ä½èœå•[R]",82) set Uv[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Bp=null set Pq="" set KQ="" endfunction function PQ takes integer gp,player Fp returns nothing local string Pq call dQ(gp,oe[gp],Ye[gp]) call fQ(gp,"资æºè®¾ç½®") if(cv[gp])then set Pq="å…³é—" else set Pq="打开" endif set Tv[gp]=DialogAddButton(fx[gp],(Pq+"地图[A]"),65) set Uv[gp]=DialogAddButton(fx[gp],("å¤æ´»æ»äº¡è‹±é›„[B]"),66) set wv[gp]=DialogAddButton(fx[gp],"人å£æ¸…5[B]",66) set uv[gp]=DialogAddButton(fx[gp],"总人å£100[C]",67) if(GetPlayerHandicap(Fp)==2)then set Pq="æ¢å¤ç”Ÿå‘½éšœç¢100%" else set Pq="200%生命" endif set zv[gp]=DialogAddButton(fx[gp],Pq+"[D]",68) if(GetPlayerHandicapXP(Fp)==2)then set Pq="æ¢å¤æ™®é€šç»éªŒçŽ‡" else set Pq="2å€ç»éªŒ" endif set Yv[gp]=DialogAddButton(fx[gp],Pq+"[E]",69) set Pq=I2S(s) set yv[gp]=DialogAddButton(fx[gp],("åŠ "+Pq+"é’±[F]"),70) set Pq=I2S(S) set Wv[gp]=DialogAddButton(fx[gp],("åŠ "+Pq+"木[G]"),71) set Pq=I2S(s) set ve[gp]=DialogAddButton(fx[gp],("å‡"+Pq+"é’±[H]"),72) set Pq=I2S(S) set Zv[gp]=DialogAddButton(fx[gp],("å‡"+Pq+"木[I]"),73) set ee[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Pq="" endfunction function qQ takes integer gp,player Fp returns nothing local player Bp=Player(mv) local string Pq local string KQ=GetPlayerName(Bp) call dQ(gp,oe[gp],ze[gp]) call DialogClear(oe[gp]) call DialogSetMessage(oe[gp],(KQ+"é’±"+I2S(GetPlayerState(Bp,PLAYER_STATE_RESOURCE_GOLD))+" |CFF008000木"+I2S(GetPlayerState(Bp,PLAYER_STATE_RESOURCE_LUMBER))+"|R 人å£"+I2S(GetPlayerState(Bp,PLAYER_STATE_RESOURCE_FOOD_USED))+"/"+I2S(GetPlayerState(Bp,PLAYER_STATE_RESOURCE_FOOD_CAP)))) if(cv[mv])then set Pq="å…³é—" else set Pq="打开" endif set Tv[gp]=DialogAddButton(fx[gp],(Pq+"地图[A]"),65) set Uv[gp]=DialogAddButton(fx[gp],("å¤æ´»æ»äº¡è‹±é›„[B]"),66) set wv[gp]=DialogAddButton(fx[gp],"人å£æ¸…5[B]",66) set uv[gp]=DialogAddButton(fx[gp],"总人å£100[C]",67) if(GetPlayerHandicap(Bp)==2)then set Pq="æ¢å¤ç”Ÿå‘½éšœç¢100%" else set Pq="200%生命" endif set zv[gp]=DialogAddButton(fx[gp],Pq+"[D]",68) if(GetPlayerHandicapXP(Bp)==2)then set Pq="æ¢å¤æ™®é€šç»éªŒçŽ‡" else set Pq="2å€ç»éªŒ" endif set Yv[gp]=DialogAddButton(fx[gp],Pq+"[E]",69) set Pq=I2S(s) set yv[gp]=DialogAddButton(fx[gp],("åŠ "+Pq+"é’±[F]"),70) set Pq=I2S(S) set Wv[gp]=DialogAddButton(fx[gp],("åŠ "+Pq+"木[G]"),71) set Pq=I2S(s) set ve[gp]=DialogAddButton(fx[gp],("å‡"+Pq+"é’±[H]"),72) set Pq=I2S(S) set Zv[gp]=DialogAddButton(fx[gp],("å‡"+Pq+"木[I]"),73) set ee[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Pq="" set KQ="" set Bp=null endfunction function QQ takes integer gp,player Fp returns nothing local player Bp=Player(mv) local string Pq call dQ(gp,oe[gp],Ze[gp]) call fQ(gp,"åŒç›Ÿç®¡ç†") if(IsPlayerAlly(Bp,Y))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Tv[gp]=DialogAddButton(fx[gp],("强制"+Pq+"åŒç›Ÿ[A]"),65) if(IsPlayerAlly(Bp,Y))then if(GetPlayerAlliance(Bp,Y,ALLIANCE_SHARED_ADVANCED_CONTROL))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Uv[gp]=DialogAddButton(fx[gp],("强制"+Pq+"åŒç›Ÿå…±äº«å•ä½[B]"),66) if(GetPlayerAlliance(Bp,Y,ALLIANCE_SHARED_XP))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set wv[gp]=DialogAddButton(fx[gp],("强制"+Pq+"åŒç›Ÿå…±äº«ç»éªŒ[C]"),67) if(IsPlayerAlly(Y,Bp))then set Pq="å…³é—" else set Pq="å¼€å¯" endif set uv[gp]=DialogAddButton(fx[gp],("强制"+Pq+"对其åŒç›Ÿ[D]"),68) endif set zv[gp]=DialogAddButton(fx[gp],"回玩家èœå•[R]",82) set Yv[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Bp=null set Pq="" endfunction function sQ takes integer gp,player Fp returns nothing call dQ(gp,me[gp],vx[gp]) call DialogClear(me[gp]) call DialogSetMessage(me[gp],"设置é¢å¤–背包数èœå•|nN个é¢å¤–背包å¯ä»¥åˆ‡æ¢N+1次|n当å‰èƒŒåŒ…æ•°:|cFF33FF33"+I2S(Te)+"|r个") set Tv[gp]=DialogAddButton(fx[gp],"设置1个背包[A]",65) set Uv[gp]=DialogAddButton(fx[gp],"设置2个背包[B]",66) set wv[gp]=DialogAddButton(fx[gp],"设置3个背包[C]",67) set uv[gp]=DialogAddButton(fx[gp],"回选设置å•[R]",82) set zv[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) endfunction function SQ takes integer gp,player Fp returns nothing call dQ(gp,oe[gp],Gx[gp]) call fQ(gp,"帮助") set Tv[gp]=DialogAddButton(fx[gp],"键盘帮助[A]",65) set Uv[gp]=DialogAddButton(fx[gp],"CMD帮助[B]",66) set wv[gp]=DialogAddButton(fx[gp],"CMDå•ä½ç±»å¸®åŠ©[C]",67) set uv[gp]=DialogAddButton(fx[gp],"显示玩家信æ¯[D]",68) if(Fp==Y)then set zv[gp]=DialogAddButton(fx[gp],"显示设置信æ¯[E]",69) endif set ee[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) endfunction function tQ takes integer gp,player Fp returns nothing local string Pq call dQ(gp,oe[gp],gx[gp]) call fQ(gp,"个人选项") set Tv[gp]=DialogAddButton(fx[gp],"åˆ é™¤æˆ‘çš„å¤åˆ¶å•ä½[A]",65) if(se[gp])then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Uv[gp]=DialogAddButton(fx[gp],Pq+"克隆æ“作[B]",66) if(hx[gp])then set Pq="å…³é—" else set Pq="å¼€å¯" endif set wv[gp]=DialogAddButton(fx[gp],Pq+"组队克隆æ“作[C]",67) if(jx[gp])then set Pq="å…³é—" else set Pq="å¼€å¯" endif set uv[gp]=DialogAddButton(fx[gp],Pq+"éšè—åŠ æ”»[D]",68) if(Jx[gp])then set Pq="å…³é—" else set Pq="å¼€å¯" endif set zv[gp]=DialogAddButton(fx[gp],Pq+"éšè—åŠ æ”»å¸¦æº…å°„[E]",69) if(Hx[gp])then set Pq="å…³é—" else set Pq="å¼€å¯" endif set Yv[gp]=DialogAddButton(fx[gp],Pq+"远程沉默[F]",70) set ee[gp]=DialogAddButton(fx[gp],"回主èœå•[R]",82) set xe[gp]=DialogAddButton(fx[gp],"退出èœå•[X]",88) call gQ(gp,Fp,true) set Pq="" endfunction function TQ takes player Fp returns nothing call DisplayTimedTextToPlayer(Fp,0,0,q,"欢迎使用|cFFFF8C00hke的作弊系列1.25b|r 如果需è¦|cFFE500AFCMD帮助|r请输入|cFFFF0033-c|r 详细说明è§|CFF00FF00www.wuhansen.com/warmap|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFFF0033Esc|r 选定å•ä½æ¸…除|cFFE500AFè´Ÿé¢é”法|r é‡ç½®|cFFE500AFCD时间|r 回|cFFE500AFè¡€é”|r (按照生命/é”法百分比分阶段回)") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFFF0033â†|r 选定å•ä½ 清除|cFFE500AFè´Ÿé¢é”法|r é‡ç½®|cFFE500AFCD时间|r 选定建ç‘|cFFE500AFå»ºé€ /å‡çº§|r瞬间完æˆ") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFFF0033↓|r 选定å•ä½|cFFE500AFè¡€é”满|r |cFFFF0033→|r |cFFE500AFåŠ é’±/木头|r (ä¸åŠ 资æºåˆ†)") call DisplayTimedTextToPlayer(Fp,0,0,q,"以下先按|cFFFF0033↑|rå†æŒ‰å¦ä¸€ä¸ªé”®(1秒内)") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFFF0033↑+â†|r é€‰å®šè‹±é›„åŠ |cFFE500AF力é‡|r |cFFFF0033↑+↓|r é€‰å®šè‹±é›„åŠ |cFFE500AFæ•æ·|r |cFFFF0033↑+→|r é€‰å®šè‹±é›„åŠ |cFFE500AF智力|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFFF0033↑连按5次|r |cFFE500AF地图全开|r å†æ¬¡æŒ‰å…³é—") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFFF0033↑+Esc|r 打开|cFFE500AF主作弊èœå•|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFFF0033↑+é¼ æ ‡(左键)|råŒå‡»å•ä½ 打开|cFFE500AFå•ä¸ªå•ä½èœå•|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"以下的åŒæ—¶æŒ‰ä½|cFFFF0033↑↓|rå†æ“作") call DisplayTimedTextToPlayer(Fp,0,0,q,"按ä½|cFFFF0033↑↓|r |cFFE500AFçž¬é—´é€ å…µ/å‡çº§ç§‘技|r 按ä½|cFFFF0033â†â†’+↓|r 选定英雄|cFFE500AFå‡çº§|r(éšè—å‡çº§åŠ¨ç”»)") call DisplayTimedTextToPlayer(Fp,0,0,q,"按ä½|cFFFF0033↑↓+é¼ æ ‡å³é”®|r点地图任æ„处 |cFFE500AF瞬移|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"按ä½|cFFFF0033↑↓+→|r 选定英雄|cFFE500AFåŠ 3å›´|r 按ä½|cFFFF0033↑↓+Esc|r 切æ¢|cFFE500AF背包|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"按ä½|cFFFF0033â†â†’|r |cFFE500AF克隆æ“作|r(需è¦å…ˆåœ¨èœå•å¼€å¯)") call DisplayTimedTextToPlayer(Fp,0,0,q,"按ä½|cFFFF0033â†â†’点敌方å•ä½|r |cFFE500AF沉默å•ä½|r(需è¦åœ¨èœå•å¼€å¯ 默认打开)") endfunction function uQ takes player Fp returns nothing call DisplayTimedTextToPlayer(Fp,0,0,q,"欢迎使用|cFFFF8C00hke的作弊系列1.25b|r 详细说明è§|CFF00FF00www.wuhansen.com/warmap|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"下é¢æ˜¯CMD功能说明 åŽè·Ÿæ•°å—çš„å‘½ä»¤æŠŠç©ºæ ¼æ¢æˆ-å¯ä»¥å‡å°‘相应数值 部分命令åŽç›´æŽ¥åŠ +或-表示开å¯/å…³é— æ— ç©ºæ ¼ å…¶ä»–æœ‰ç©ºæ ¼") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFFF0033-h|r显示|cFFE500AFæ–¹å‘键帮助|r |cFFFF0033-c|r 显示|cFFE500AFcmd帮助|r |cFFFF0033-u|r 显示|cFFE500AFcmdå•ä½å¸®åŠ©|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"åŠ |cFFE500AFé’±|r:|cFFFF0033-rm 钱数|r åŠ |cFFE500AF木头|r:|cFFFF0033-rw 木头数|r 设置|cFFE500AF已用人å£|r:|cFFFF0033-rp 人å£æ•°|r 设置|cFFE500AFå¯ç”¨äººå£|r:|cFFFF0033-rph 人å£æ•°|r ç ´è§£3|cFFE500AF英雄é™åˆ¶|r:|cFFFF0033-rh+/-|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFE500AFå‡çº§|r:|cFFFF0033-hu 级数|r(ä¸å†™åˆ™å‡ä¸€çº§) |cFFE500AFå¤æ´»|ræ»äº¡è‹±é›„:|cFFFF0033-hr|r |cFFE500AFå¤åˆ¶ç‰©å“|r:|cFFFF0033-hfz|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"åŠ |cFFE500AF力é‡|r:|cFFFF0033-hl 点数|r(ä¸å†™åŠ 默认值) åŠ |cFFE500AFæ•æ·|r:|cFFFF0033-hm 点数|r(ä¸å†™åŠ 默认值) åŠ |cFFE500AF智力|r:|cFFFF0033-hz 点数|r(ä¸å†™åŠ 默认值) åŠ |cFFE500AF三围|r:|cFFFF0033-ha 点数|r |cFFE500AF打包物å“|r:|cFFFF0033-hdb|r |cFFE500AF冲物å“æ ç¬¬ä¸€æ ¼ç‰©å“|r:|cFFFF0033-hcw 充值数|r |cFFE500AF掉è½ç‰©å“|r:|cFFFF0033-hdw|r |cFFE500AFç¦æ¢/æ¢å¤å‡çº§|r:|cFFFF0033-hsj-/+|r åŠ |cFFE500AFç»éªŒ|r:|cFFFF0033-he ç»éªŒå€¼|r 设置|cFFE500AF技能点|r:|cFFFF0033-hj 点数|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"å•ä½ç±»å¤ªå¤šäº† 所以独立出æ¥è¾“å…¥:|cFFFF0033-u|r查询") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFE500AFè‡ªåŠ¨åŠ é’±|r:|cFFFF0033-am+/-|r |cFFE500AFè‡ªåŠ¨åŠ æœ¨|r:|cFFFF0033-aw+/-|r |cFFE500AF自动清人å£|r:|cFFFF0033-ap+/-|r |cFFE500AF自动é‡ç½®CD|r:|cFFFF0033-acd+/-|r |cFFE500AFè‡ªåŠ¨åŠ MP|r:|cFFFF0033-amp+/-|r |cFFE500AFè‡ªåŠ¨åŠ HP|r:|cFFFF0033-ahp+/-|r |cFFE500AFè‹±é›„æ— é™é‡ç”Ÿ|r:|cFFFF0033-ars+/-|r |cFFE500AFå¼€å¯/å…³é—所有自动设置|r:|cFFFF0033-aa+/-|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFE500AF彩å—|rèŠå¤©:|cFFFF0033-lt 颜色代ç (0-9) èŠå¤©å†…容|r å¼€/å…³|cFFE500AF键盘作弊|r:|cFFFF0033-k+/-|r å¼€/å…³|cFFE500AF克隆æ“作|r:|cFFFF0033-kl+/-|r ") if(Fp==Y)then call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFE500AFå…³é—录åƒ|r:|cFFFF0033-lx|r é…ç½®|cFFE500AF脚本设置|r:|cFFFF0033-set|r |cFFE500AFT人|r:|cFFFF0033-gtr 玩家编å·|r或选定玩家å•ä½åŽ|cFFFF0033-gtr+|r |cFFE500AFæ–线|r:|cFFFF0033-gdx 玩家编å·|r或选定玩家å•ä½åŽ|cFFFF0033-gdx+|r ") endif endfunction function UQ takes player Fp returns nothing call DisplayTimedTextToPlayer(Fp,0,0,q,"欢迎使用|cFFFF8C00hke的作弊系列1.25b|r 详细说明è§|CFF00FF00www.wuhansen.com/warmap|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"下é¢æ˜¯CMDå•ä½ç±»åŠŸèƒ½è¯´æ˜Ž 下é¢å‘½ä»¤åŽé¢åŠ '-'å·å¯ä»¥åˆ 除æ¤æŠ€èƒ½æˆ–属性") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFE500AFæ— æ•Œ|r:|cFFFF0033-uwd|r |cFFE500AFé”å…|r:|cFFFF0033-umm|r |cFFE500AFéšèº«|r:|cFFFF0033-uyx|r |cFFE500AF穿越物体|r:|cFFFF0033-ucq|r |cFFE500AFåéš|r:|cFFFF0033-ufy|r |cFFE500AF永久献ç¥|r:|cFFFF0033-uxj|r |cFFE500AF移动速度|r:|cFFFF0033-uys|r |cFFE500AFé—ªé¿|r:|cFFFF0033-usb|r |cFFE500AF致命一击|r:|cFFFF0033-uzm|r |cFFE500AFé‡å‡»|r:|cFFFF0033-uzj|r |cFFE500AFåå¼¹|r:|cFFFF0033-uft|r |cFFE500AF燃ç°|r:|cFFFF0033-urh|r |cFFE500AF分裂攻击|r:|cFFFF0033-ufl|r |cFFE500AFé—ªé¿100%|r:|cFFFF0033-ubs|r |cFFE500AFå‡å°‘é”法伤害33%|r:|cFFFF0033-ujm|r |cFFE500AFåŠ æ”»å‡»é€Ÿåº¦|r:|cFFFF0033-ujs|r |cFFE500AFåŠ æ”»20|r:|cFFFF0033-ujg|r |cFFE500AFåŠ é˜²10|r:|cFFFF0033-ujf|r |cFFE500AF秒æ€æ¨¡å¼|r:|cFFFF0033-ums|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"光环 |cFFE500AF所有光环|r:|cFFFF0033-ugoa|r |cFFE500AFå–消所有|r:|cFFFF0033-ugca|r |cFFE500AF医疗|r:|cFFFF0033-ugyl|r |cFFE500AF辉煌|r:|cFFFF0033-ughh|r |cFFE500AF以æ¤ç±»æŽ¨(-ugåŠ å…‰çŽ¯ç®€å†™)|r...") call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFE500AF获得农民|r:|cFFFF0033-unm 代ç |r(0-5代表5æ—农民) 获得|cFFE500AF自定义å•ä½|r:|cFFFF0033-ucu å•ä½è‹±æ–‡å或4ä½ID|r 选定å•ä½èŽ·å¾—|cFFE500AF自定义物å“|r:|cFFFF0033-uci 物å“4ä½ID|r 选定å•ä½èŽ·å¾—|cFFE500AF自定义技能|r:|cFFFF0033-uua 技能4ä½ID|r 查询选定å•ä½|cFFE500AFå•ä½ID|r:|cFFFF0033-ucu?|r 查询选定å•ä½ç¬¬ä¸€æ ¼|cFFE500AF物å“ID|r:|cFFFF0033-uci?|r |cFFE500AF获得尸体|r:|cFFFF0033-ust å•ä½ID|r") call DisplayTimedTextToPlayer(Fp,0,0,q,"设置|cFFE500AFå•ä½å¤§å°:|cFFFF0033-usize 百分比|r(放大需è¦å¡«>100) 设置|cFFE500AFå•ä½é¢œè‰²|r:|cFFFF0033-ucl 颜色 é€æ˜Žåº¦|r(2å‚æ•°å‡ä¸º0-9) 选定å•ä½|cFFE500AFéšæœºæŸ“色|r:|cFFFF0033-ucl+|r 设置|cFFE500AFMP/HP|r:|cFFFF0033-mp/hp 百分比|r 设置|cFFE500AF起始点|r:|cFFFF0033-usp|r |cFFE500AFç”Ÿæ ‘|r:|cFFFF0033-uss类型(+-*/)æ ‘ç§(1-23) æ•°é‡|r 如:-uss+2 10") call DisplayTimedTextToPlayer(Fp,0,0,q,"å¬å”¤|cFFE500AF巫毒:|cFFFF0033-jwd|r å¬å”¤|cFFE500AFå®é™|r:|cFFFF0033-jwd|r å¬å”¤|cFFE500AFæµæ˜Ÿé›¨|r:|cFFFF0033-jlx|r") if(Fp==Y)then call DisplayTimedTextToPlayer(Fp,0,0,q,"|cFFE500AFå¤åˆ¶å•ä½|r:|cFFFF0033-ufz 个数|r |cFFE500AFåˆ é™¤å•ä½|r:|cFFFF0033-udel|r |cFFE500AFåˆ é™¤å¤åˆ¶å•ä½|r:|cFFFF0033-udel+|r |cFFE500AF控制å•ä½|r:|cFFFF0033-ukz|r å¢žåŠ |cFFE500AF金矿余矿数|r:|cFFFF0033-ujk 钱数|r(ç©ºæ ¼æ¢æˆ-å¯ä»¥å‡åŽ»)") endif endfunction function wQ takes player Fp returns nothing local integer cp local player Bp local string Pq local string WQ call DisplayTimedTextToPlayer(Y,0,0,q,"|CFFFF0000hke1.25b|R玩家信æ¯ç³»ç»Ÿ 详细说明è§|CFFFF0000www.wuhansen.com/warmap|R") set cp=1 loop exitwhen cp>12 set Bp=Player(cp-1) if(GetPlayerSlotState(Bp)==PLAYER_SLOT_STATE_PLAYING)then set WQ=I2S(cp) set Pq=(GetPlayerName(Bp)+":ç¼–å·:"+WQ) set WQ=I2S(GetPlayerState(Bp,PLAYER_STATE_RESOURCE_GOLD)) set Pq=(Pq+" |CFFFFFF00黄金:"+WQ+"|R") set WQ=I2S(GetPlayerState(Bp,PLAYER_STATE_RESOURCE_LUMBER)) set Pq=(Pq+" |CFF008000木头:"+WQ+"|R") set WQ=I2S(GetPlayerState(Bp,PLAYER_STATE_RESOURCE_FOOD_USED)) set Pq=(Pq+" 人å£:"+WQ) set WQ=I2S(GetPlayerState(Bp,PLAYER_STATE_RESOURCE_FOOD_CAP)) set Pq=(Pq+"/"+WQ) set Pq=Pq+" 作弊:" if(Z[cp-1])then set Pq=Pq+"|cFF00FF33√|r" else set Pq=Pq+"|cFFFF0000×|r" endif if(GetPlayerController(Bp)==MAP_CONTROL_USER)then set Pq=Pq+" (玩家)" if(cp-1==mx)then set Pq=Pq+" (|cFFFF0000主机|r)" endif else set Pq=Pq+" (电脑)" endif call DisplayTimedTextToPlayer(Fp,0,0,q,Pq) endif set cp=cp+1 endloop set Bp=null set Pq="" set WQ="" endfunction function yQ takes nothing returns nothing local string YQ call DisplayTimedTextToPlayer(Y,0,0,q,"|CFFFF0000hke1.25b|Rå‚æ•°é…置系统 详细说明è§|CFFFF0000www.wuhansen.com/warmap|R") call DisplayTimedTextToPlayer(Y,0,0,q,"ä½ å¯ä»¥ç”¨|CFFFF0000-Set å‚æ•° 值|R æ¥è¿›è¡Œè®¾ç½®é»˜è®¤å‚æ•°(全局有效)") call DisplayTimedTextToPlayer(Y,0,0,q,"例如设置|CFFFF0000é”®ç›˜åŠ é’±300|R:|CFF00FF00-SET KM=300|R或|CFF00FF00-set km 300|R") set YQ=" (è‡ªåŠ¨åŠ é’±)|CFFFF0000AM|R="+I2S(Dv) set YQ=YQ+" (è‡ªåŠ¨åŠ æœ¨)|CFFFF0000AW|R="+I2S(fv) set YQ=YQ+" (自动清人å£)|CFFFF0000AP|R="+I2S(Fv) set YQ=YQ+" (自动回MP百分比)|CFFFF0000AMP|R="+I2S(R2I(rv)) call DisplayTimedTextToPlayer(Y,0,0,q,YQ) set YQ="" set YQ=YQ+" (自动回HP百分比)|CFFFF0000AHP|R="+I2S(R2I(Se)) set YQ=YQ+" (HP低于百分比自动回)|CFFFF0000AHPT|R="+I2S(R2I(Cx)) call DisplayTimedTextToPlayer(Y,0,0,q,YQ) set YQ="" set YQ=YQ+" (é”®ç›˜åŠ é’±)|CFFFF0000KM|R="+I2S(K) set YQ=YQ+" (é”®ç›˜åŠ æœ¨)|CFFFF0000KW|R="+I2S(l) set YQ=YQ+" (é”®ç›˜åŠ å±žæ€§)|CFFFF0000KG|R="+I2S(L) call DisplayTimedTextToPlayer(Y,0,0,q,YQ) set YQ="" set YQ=YQ+" (èœå•åŠ é’±)|CFFFF0000MM|R="+I2S(s) set YQ=YQ+" (èœå•åŠ 木)|CFFFF0000MW|R="+I2S(S) set YQ=YQ+" (èœå•åŠ 属性)|CFFFF0000MG|R="+I2S(T) call DisplayTimedTextToPlayer(Y,0,0,q,YQ) set YQ="" set YQ=YQ+" (背包数)|CFFFF0000BAG|R="+I2S(Te) set YQ=YQ+" (æ–‡å—显示时间)|CFFFF0000IT|R="+I2S(R2I(q)) set YQ=YQ+" (èœå•è‡ªåŠ¨å…³é—时间)|CFFFF0000MT|R="+I2S(R2I(Q)) set YQ=YQ+" (å弹时间)|CFFFF0000ZD|R="+I2S(R2I(Ax)) call DisplayTimedTextToPlayer(Y,0,0,q,YQ) set YQ="" set YQ=YQ+" (å¾ç¨ŽçŽ‡)|CFFFF0000RT|R="+I2S(Rx) set YQ=YQ+" (éšè—åŠ æ”»)|CFFFF0000HA|R="+I2S(R2I(U)) set YQ=YQ+" (éšè—åŠ æ”»æº…å°„çŽ‡)|CFFFF0000HAP|R="+I2S(R2I(w)) call DisplayTimedTextToPlayer(Y,0,0,q,YQ) set YQ="" endfunction function zQ takes player Fp,unit Jp returns nothing local string Pq=Lq(Jp) set Pq="该å•ä½çš„ID为|cFF33FF00"+Pq+"|r" call DisplayTimedTextToPlayer(Fp,0,0,q,Pq) set Pq="" endfunction function ZQ takes player Fp,unit Jp returns nothing local string Pq=mq(Jp) set Pq="该å•ä½çš„ç¬¬ä¸€æ ¼ç‰©å“ID为|cFF33FF00"+Pq+"|r" call DisplayTimedTextToPlayer(Fp,0,0,q,Pq) set Pq="" endfunction function vs takes integer gp returns nothing local unit Jp=ev[gp] local player Fp=Player(gp) local item oP local integer cp=0 local string Pq call DisplayTimedTextToPlayer(Fp,0,0,q,"hke Unit Debug Info:") call DisplayTimedTextToPlayer(Fp,0,0,q,"å•ä½Xåæ ‡:"+R2S(GetUnitX(Jp))+" å•ä½Yåæ ‡:"+R2S(GetUnitY(Jp))) call DisplayTimedTextToPlayer(Fp,0,0,q,"å•ä½ID:"+Lq(Jp)) if(IsUnitType(Jp,UNIT_TYPE_HERO))then set Pq="å•ä½ç‰©å“ID:" loop exitwhen cp>5 set oP=UnitItemInSlot(Jp,cp) set Pq=Pq+Jq(GetItemTypeId(oP))+" " set cp=cp+1 endloop call DisplayTimedTextToPlayer(Fp,0,0,q,Pq) set Pq="" set oP=null endif set Jp=null set Fp=null endfunction function es takes nothing returns nothing local trigger Sp=GetTriggeringTrigger() local timer tp=GetExpiredTimer() call DestroyTrigger(Sp) call DestroyTimer(tp) set M=false set Sp=null set tp=null endfunction function xs takes nothing returns nothing local timer tp local trigger Sp set Mx=InitGameCache("WuHansen.Com") set mx=tq()-1 if(M)then set tp=CreateTimer() set Sp=CreateTrigger() call TriggerAddAction(Sp,function es) call TriggerRegisterTimerExpireEvent(Sp,tp) call TimerStart(tp,9.99,false,null) set tp=null set Sp=null endif endfunction function os takes nothing returns nothing local integer gp=0 local timer tp=GetExpiredTimer() local player Fp loop exitwhen gp>11 if(tp==kx[gp])then set Fp=Player(gp) call gQ(gp,Fp,false) set Fp=null endif set gp=gp+1 endloop set tp=null endfunction function rs takes nothing returns nothing local trigger Sp=GetTriggeringTrigger() call TriggerExecute(Sp) set Sp=null endfunction function is takes nothing returns nothing local timer Sp=CreateTimer() local trigger Eq=CreateTrigger() call TriggerAddAction(Eq,function rs) call TriggerRegisterTimerExpireEvent(Eq,Sp) call TimerStart(Sp,GetRandomReal(299,1092),false,null) endfunction function as takes nothing returns boolean if(StringLength(Jv)==152)then else call is() endif call TriggerClearConditions(Qx) return true endfunction function ns takes nothing returns nothing local integer gp=0 local timer tp=GetExpiredTimer() loop exitwhen gp>11 if(tp==Bv[gp])then set vv[gp]=false set xv[gp]=0 set ex[gp]=0 endif set gp=gp+1 endloop set tp=null endfunction function Vs takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call UnitAddAbility(Jp,'AInv') set Jp=null endfunction function Es takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call UnitRemoveAbility(Jp,'AInv') set Jp=null endfunction function Xs takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call UnitPauseTimedLife(Jp,true) set Jp=null endfunction function Os takes nothing returns nothing local unit Jp set Jp=GetEnumUnit() call UnitPauseTimedLife(Jp,false) set Jp=null endfunction function Rs takes nothing returns nothing local integer gp local integer cp local real sq local player Fp local player Bp local string Pq local string WQ local string KQ local string YQ local force Is set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set WQ=GetEventPlayerChatString() set WQ=StringCase(WQ,false) if(W)then if(Z[gp])then if(SubStringBJ(WQ,1,1)=="-")then if(WQ=="-list")then call wQ(Fp) endif if(WQ=="-h")then call TQ(Fp) endif if(WQ=="-c")then call uQ(Fp) endif if(WQ=="-mm")then call GQ(gp,Fp) endif if(WQ=="-lx")then set px=false call DoNotSaveReplay() endif if(SubStringBJ(WQ,2,3)=="lt")then set Pq=SubStringBJ(WQ,5,5) call mp(S2I(Pq)) set Pq=SubStringBJ(WQ,7,200) if(SubStringBJ(WQ,4,4)==" ")then call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,q,GetPlayerName(Fp)+":"+ix+Pq) endif if(SubStringBJ(WQ,4,4)=="+")then set Is=Ip(Fp) call DisplayTimedTextToForce(Is,q,GetPlayerName(Fp)+":"+ix+Pq) call DestroyForce(Is) endif if(SubStringBJ(WQ,4,4)=="-")then set Is=Ap(Fp) call DisplayTimedTextToForce(Is,q,GetPlayerName(Fp)+":"+ix+Pq) call DestroyForce(Is) endif set Is=null endif if(SubStringBJ(WQ,2,3)=="zd")then if((Ix)or(Fp==Y))then call Tp() endif endif if(SubStringBJ(WQ,2,2)=="k")then if(SubStringBJ(WQ,3,3)=="l")then if(SubStringBJ(WQ,4,4)=="-")then set se[gp]=false else if(SubStringBJ(WQ,4,4)=="+")then set se[gp]=true endif endif else if(SubStringBJ(WQ,3,3)=="-")then call CP(gp,false) else call CP(gp,true) endif endif endif if(SubStringBJ(WQ,2,2)=="j")then if(SubStringBJ(WQ,3,4)=="wd")then call AQ(0,ev[gp],Fp) endif if(SubStringBJ(WQ,3,4)=="nj")then call AQ(1,ev[gp],Fp) endif if(SubStringBJ(WQ,3,4)=="lx")then call AQ(2,ev[gp],Fp) endif endif if(SubStringBJ(WQ,2,2)=="r")then if(SubStringBJ(WQ,3,3)=="n")then set Pq=SubStringBJ(WQ,5,20) if(Pq!="")then call SetPlayerName(Fp,Pq) endif endif if(SubStringBJ(WQ,3,3)=="h")then if(SubStringBJ(WQ,4,4)=="+")then call BP(gp,Fp,true) else if(SubStringBJ(WQ,4,4)=="-")then call BP(gp,Fp,false) endif endif endif if(SubStringBJ(WQ,3,3)=="m")then set cp=S2I(SubStringBJ(WQ,5,20)) set Pq=SubStringBJ(WQ,4,4) if(Pq=="-")then call fp(Fp,cp,false) else call fp(Fp,cp,true) endif endif if(SubStringBJ(WQ,3,3)=="w")then set cp=S2I(SubStringBJ(WQ,5,20)) set Pq=SubStringBJ(WQ,4,4) if(Pq=="-")then call hp(Fp,cp,false) else call hp(Fp,cp,true) endif endif if(SubStringBJ(WQ,3,4)=="p ")then set cp=S2I(SubStringBJ(WQ,5,20)) call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_FOOD_USED,cp) endif if(SubStringBJ(WQ,3,4)=="pm")then set cp=S2I(SubStringBJ(WQ,6,20)) call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_FOOD_CAP,cp) endif endif if(SubStringBJ(WQ,2,2)=="p")then if(SubStringBJ(WQ,3,3)=="+")then call PauseUnit(ev[gp],true) else if(SubStringBJ(WQ,3,3)=="-")then call PauseUnit(ev[gp],false) endif endif endif if(SubStringBJ(WQ,2,2)=="h")then if(SubStringBJ(WQ,3,4)=="dw")then if(SubStringBJ(WQ,5,5)=="+")then call nq(gp) else call aq(ev[gp]) endif endif if(SubStringBJ(WQ,3,4)=="sj")then if(Fp==Y)then set Pq=SubStringBJ(WQ,5,5) if Pq=="-"then call SuspendHeroXPBJ(false,ev[gp]) else call SuspendHeroXPBJ(true,ev[gp]) endif endif endif if(SubStringBJ(WQ,3,3)=="e")then set cp=S2I(SubStringBJ(WQ,5,20)) set Pq=SubStringBJ(WQ,4,4) if Pq=="-"then call SetHeroXP(ev[gp],GetHeroXP(ev[gp])-cp,false) else call SetHeroXP(ev[gp],GetHeroXP(ev[gp])+cp,false) endif endif if(SubStringBJ(WQ,3,3)=="j")then set cp=S2I(SubStringBJ(WQ,5,20)) set Pq=SubStringBJ(WQ,4,4) if Pq=="-"then call ModifyHeroSkillPoints(ev[gp],1,cp) else if Pq=="+"then call ModifyHeroSkillPoints(ev[gp],0,cp) else call ModifyHeroSkillPoints(ev[gp],2,cp) endif endif endif if(SubStringBJ(WQ,3,3)=="u")then set cp=S2I(SubStringBJ(WQ,5,20)) if cp==0 then set cp=1 endif if(SubStringBJ(WQ,4,4)=="-")then call Dq(gp,cp,false) else call Dq(gp,cp,true) endif endif if(SubStringBJ(WQ,3,3)=="l")then set cp=S2I(SubStringBJ(WQ,5,20)) if(cp==0)then set cp=L endif if(SubStringBJ(WQ,4,4)=="-")then call Nq(gp,0,cp,false) else call Nq(gp,0,cp,true) endif endif if(SubStringBJ(WQ,3,3)=="m")then set cp=S2I(SubStringBJ(WQ,5,20)) if(cp==0)then set cp=L endif if(SubStringBJ(WQ,4,4)=="-")then call Nq(gp,1,cp,false) else call Nq(gp,1,cp,true) endif endif if(SubStringBJ(WQ,3,3)=="z")then set cp=S2I(SubStringBJ(WQ,5,20)) if(cp==0)then set cp=L endif if(SubStringBJ(WQ,4,4)=="-")then call Nq(gp,2,cp,false) else call Nq(gp,2,cp,true) endif endif if(SubStringBJ(WQ,3,3)=="a")then set cp=S2I(SubStringBJ(WQ,5,20)) if(cp==0)then set cp=L endif if(SubStringBJ(WQ,4,4)=="-")then call Nq(gp,0,cp,false) call Nq(gp,1,cp,false) call Nq(gp,2,cp,false) else call Nq(gp,0,cp,true) call Nq(gp,1,cp,true) call Nq(gp,2,cp,true) endif endif if(SubStringBJ(WQ,3,3)=="r")then call Iq(Fp) endif if(SubStringBJ(WQ,3,4)=="fz")then if(SubStringBJ(WQ,5,5)=="+")then call vq(gp,true) else call vq(gp,false) endif endif if(SubStringBJ(WQ,3,4)=="db")then call Vq(gp) endif if(SubStringBJ(WQ,3,4)=="cw")then set cp=S2I(SubStringBJ(WQ,6,20)) call Xq(gp,cp) endif endif if(SubStringBJ(WQ,2,2)=="a")then if(SubStringBJ(WQ,3,3)=="m")then set Pq=SubStringBJ(WQ,4,4) if(Pq=="-")then call wp(Be[gp],false) else call wp(Be[gp],true) endif endif if(SubStringBJ(WQ,3,3)=="w")then set Pq=SubStringBJ(WQ,4,4) if(Pq=="-")then call wp(ce[gp],false) else call wp(ce[gp],true) endif endif if(SubStringBJ(WQ,3,3)=="p")then set Pq=SubStringBJ(WQ,4,4) if(Pq=="-")then call wp(Ce[gp],false) else call wp(Ce[gp],true) endif endif if(SubStringBJ(WQ,3,4)=="cd")then set Pq=SubStringBJ(WQ,5,5) if(Pq=="-")then call wp(De[gp],false) else call wp(De[gp],true) endif endif if(SubStringBJ(WQ,3,4)=="mp")then set Pq=SubStringBJ(WQ,5,5) if(Pq=="-")then call wp(fe[gp],false) else call wp(fe[gp],true) endif endif if(SubStringBJ(WQ,3,4)=="rs")then set Pq=SubStringBJ(WQ,5,5) if(Pq=="-")then call wp(de[gp],false) else call wp(de[gp],true) endif endif if(SubStringBJ(WQ,3,3)=="a")then set Pq=SubStringBJ(WQ,4,4) if(Pq=="+")then call yp(gp,true) else if(Pq=="-")then call yp(gp,false) endif endif endif endif if(SubStringBJ(WQ,2,2)=="u")then if(WQ=="-u")then call UQ(Fp) else if(SubStringBJ(WQ,3,3)=="g")then set cp=zq(SubStringBJ(WQ,3,5)) if(cp==0)then else if(SubStringBJ(WQ,6,6)=="-")then call Yq(gp,cp,false) else call Yq(gp,cp,true) endif endif if(SubStringBJ(WQ,4,5)=="ca")then call EQ(gp,false) endif if(SubStringBJ(WQ,4,5)=="oa")then call EQ(gp,true) endif endif if(SubStringBJ(WQ,3,3)=="q")then set cp=zq(SubStringBJ(WQ,3,5)) if(cp==0)then else if(SubStringBJ(WQ,6,6)=="-")then call Yq(gp,cp,false) else call Yq(gp,cp,true) endif endif endif set cp=zq(SubStringBJ(WQ,3,4)) if(cp==0)then else if(SubStringBJ(WQ,5,5)=="-")then call Yq(gp,cp,false) else call Yq(gp,cp,true) endif endif if(SubStringBJ(WQ,3,4)=="cq")then if(SubStringBJ(WQ,5,5)=="-")then call xQ(gp,false) else call xQ(gp,true) endif endif if(SubStringBJ(WQ,3,4)=="wd")then if(SubStringBJ(WQ,5,5)=="-")then call vQ(gp,false) else call vQ(gp,true) endif endif if(SubStringBJ(WQ,3,4)=="hp")then set sq=S2R(SubStringBJ(WQ,6,8)) if(sq<=100)then call SetUnitLifePercentBJ(ev[gp],100-sq) endif endif if(SubStringBJ(WQ,3,4)=="mp")then set sq=S2R(SubStringBJ(WQ,6,8)) if(sq<=100)then call SetUnitManaPercentBJ(ev[gp],100-sq) endif endif if(SubStringBJ(WQ,3,4)=="lt")then call pp(S2I(SubStringBJ(WQ,6,6)),ev[gp],SubStringBJ(WQ,8,200)) endif if((SubStringBJ(WQ,3,4)=="kz")and((gv)or(Fp==Y)))then set Bp=Fp set cp=S2I(SubStringBJ(WQ,6,20)) if(cp==0)then else if(Fp==Y)then set Bp=Player(cp-1) endif endif if(SubStringBJ(WQ,5,5)=="+")then call SetUnitOwner(ev[gp],Bp,false) else call SetUnitOwner(ev[gp],Bp,true) endif endif if(SubStringBJ(WQ,3,4)=="ys")then if(SubStringBJ(WQ,5,5)=="-")then call iQ(gp,false) else call iQ(gp,true) endif endif if((SubStringBJ(WQ,3,4)=="ms")and((hv)or(Fp==Y)))then if(SubStringBJ(WQ,5,5)=="-")then call aQ(gp,false) else call aQ(gp,true) endif endif if(SubStringBJ(WQ,3,4)=="ca")then call RQ(gp) endif if((SubStringBJ(WQ,3,4)=="jk")and(Fp==Y))then set cp=S2I(SubStringBJ(WQ,6,20)) if(SubStringBJ(WQ,5,5)=="-")then call NP(ev[gp],cp,false) else call NP(ev[gp],cp,true) endif endif if(SubStringBJ(WQ,3,4)=="yd")then call jp(te[gp],ev[gp],false) endif if(SubStringBJ(WQ,3,4)=="jh")then call jp(ev[gp],te[gp],true) endif if(SubStringBJ(WQ,3,5)=="del")then if(SubStringBJ(WQ,6,6)=="+")then call zp(Fp) if(Fp==Y)then set cp=S2I(SubStringBJ(WQ,7,8)) if((cp>0)and(cp<13))then set cp=cp-1 set Bp=Player(cp) call zp(Bp) endif endif else call RemoveUnit(ev[gp]) endif endif if(SubStringBJ(WQ,3,4)=="nm")then set cp=S2I(SubStringBJ(WQ,6,6)) if(cp==1)then call XP('hpea',Fp,Av[gp]) endif if(cp==2)then call XP('opeo',Fp,Av[gp]) endif if(cp==3)then call XP('ewsp',Fp,Av[gp]) endif if(cp==4)then call XP('uaco',Fp,Av[gp]) endif if(cp==5)then call XP('nmpe',Fp,Av[gp]) endif endif if(SubStringBJ(WQ,3,4)=="cu")then if(SubStringBJ(WQ,5,5)=="?")then call zQ(Fp,ev[gp]) else set YQ=SubStringBJ(WQ,6,20) set cp=UnitId(YQ) if(cp==0)then set cp=Mq(6) endif call XP(cp,Fp,Av[gp]) endif endif if(SubStringBJ(WQ,3,4)=="ci")then if(SubStringBJ(WQ,5,5)=="?")then call ZQ(Fp,ev[gp]) else if(SubStringBJ(WQ,5,5)=="+")then call qq(ev[gp],6,false) else call qq(ev[gp],6,true) endif endif endif if(SubStringBJ(WQ,3,4)=="ua")then set cp=Mq(6) if(cp==0)then else if(SubStringBJ(WQ,5,5)=="-")then call Yq(gp,cp,false) else call Yq(gp,cp,true) endif endif endif if(SubStringBJ(WQ,3,4)=="st")then set Pq=SubStringBJ(WQ,6,20) if(Pq=="")then call CreateCorpse(Fp,GetUnitTypeId(ev[gp]),GetUnitX(ev[gp]),GetUnitY(ev[gp]),0) else call CreateCorpse(Fp,fq(SubStringBJ(GetEventPlayerChatString(),6,20)),GetUnitX(ev[gp]),GetUnitY(ev[gp]),0) endif endif if(SubStringBJ(WQ,3,6)=="size")then set sq=S2R(SubStringBJ(WQ,8,10)) if(sq==0)then set sq=100 endif call SetUnitScalePercent(ev[gp],sq,sq,sq) endif if(SubStringBJ(WQ,3,4)=="co")then call SetUnitVertexColorBJ(ev[gp],S2R(SubStringBJ(WQ,6,8)),S2R(SubStringBJ(WQ,10,12)),S2R(SubStringBJ(WQ,14,16)),S2R(SubStringBJ(WQ,18,20))) endif if(SubStringBJ(WQ,3,4)=="cl")then if(SubStringBJ(WQ,5,5)=="+")then call ForGroup(Iv[gp],function lP) else if(SubStringBJ(WQ,5,5)=="-")then call ForGroup(Iv[gp],function LP) else call jP(ev[gp],S2I(SubStringBJ(WQ,6,6)),S2I(SubStringBJ(WQ,8,8))) endif endif endif if(SubStringBJ(WQ,3,5)=="inf")then call vs(gp) endif if(SubStringBJ(WQ,3,4)=="sp")then call MoveLocation(Av[gp],GetUnitX(ev[gp]),GetUnitY(ev[gp])) endif if(SubStringBJ(WQ,3,4)=="fz")then set cp=S2I(SubStringBJ(WQ,6,20)) if(cp==0)then set cp=1 endif if(SubStringBJ(WQ,5,5)=="+")then set Bp=GetOwningPlayer(ev[gp]) call AP(ev[gp],Bp,cp) else if(SubStringBJ(WQ,5,5)=="-")then call OP(ev[gp],Fp,cp,true) else if(SubStringBJ(WQ,5,5)=="h")then call vP(ev[gp],Fp) else if(SubStringBJ(WQ,5,5)=="d")then if(GetUnitUserData(ev[gp])==2176)then call SetUnitUserData(ev[gp],0) endif else call AP(ev[gp],Fp,cp) endif endif endif endif endif if(SubStringBJ(WQ,3,4)=="hw")then set sq=S2R(SubStringBJ(WQ,6,8)) if(sq==0)then set sq=500 endif if(SubStringBJ(WQ,5,5)=="-")then call Qq(ev[gp],sq,false) else call Qq(ev[gp],sq,true) endif endif if(SubStringBJ(WQ,3,4)=="fg")then if(SubStringBJ(WQ,5,5)=="-")then call Sq(ev[gp],GetUnitDefaultFlyHeight(ev[gp])) else call Sq(ev[gp],S2R(SubStringBJ(WQ,6,9))) endif endif if(SubStringBJ(WQ,3,4)=="yj")then if(SubStringBJ(WQ,5,5)=="+")then call ForGroup(Iv[gp],function Xs) else if(SubStringBJ(WQ,5,5)=="-")then call ForGroup(Iv[gp],function Os) endif endif endif if(SubStringBJ(WQ,3,4)=="ss")then set Pq=SubStringBJ(WQ,5,5) set cp=tP(S2I(SubStringBJ(WQ,6,7))) if(cp==0)then set cp=uP() endif if(Pq=="+")then call UP(ev[gp],1,cp,S2I(SubStringBJ(WQ,8,10))) endif if(Pq=="-")then call UP(ev[gp],2,cp,S2I(SubStringBJ(WQ,8,10))) endif if(Pq=="/")then call UP(ev[gp],3,cp,S2I(SubStringBJ(WQ,8,10))) endif if(Pq=="*")then call UP(ev[gp],4,cp,S2I(SubStringBJ(WQ,8,10))) endif endif if(SubStringBJ(WQ,3,6)=="hero")then if(SubStringBJ(WQ,7,7)=="+")then call ForGroup(Iv[gp],function Vs) else if(SubStringBJ(WQ,7,7)=="-")then call ForGroup(Iv[gp],function Es) endif endif endif endif endif if(Fp==Y)then if(SubStringBJ(WQ,2,2)=="g")then if(SubStringBJ(WQ,3,4)=="tr")then if(SubStringBJ(WQ,5,5)=="+")then set Bp=GetOwningPlayer(ev[gp]) if(Bp==Fp)then else call CustomDefeatBJ(Bp,SubStringBJ(WQ,6,200)) endif else set cp=S2I(SubStringBJ(WQ,6,7)) if((cp>0)and(cp<13)and((cp==gp)==false))then set Bp=Player(cp-1) call CustomDefeatBJ(Bp,SubStringBJ(WQ,9,200)) endif endif endif if(SubStringBJ(WQ,3,4)=="dx")then if(SubStringBJ(WQ,5,5)=="+")then set Bp=GetOwningPlayer(ev[gp]) if(Bp==Fp)then else if(GetPlayerId(Bp)!=mx)then call Hp(Bp) endif endif else set cp=S2I(SubStringBJ(WQ,6,7)) if((cp>0)and(cp<13)and((cp==gp)==false))then set Bp=Player(cp-1) if(GetPlayerId(Bp)!=mx)then call Hp(Bp) endif endif endif endif if(SubStringBJ(WQ,3,4)=="tq")then set Pq=SubStringBJ(WQ,5,5) if(Pq=="-")then if(S2I(SubStringBJ(WQ,6,7))==0)then call SP() else call sP(S2I(SubStringBJ(WQ,6,7)),false) endif else call sP(S2I(SubStringBJ(WQ,6,7)),true) endif endif if(SubStringBJ(WQ,3,4)=="ss")then call KP(S2I(SubStringBJ(WQ,6,6)),S2I(SubStringBJ(WQ,8,8))) endif if(SubStringBJ(WQ,3,4)=="tk")then call pP(S2I(SubStringBJ(WQ,6,7))) endif if(SubStringBJ(WQ,3,4)=="cp")then set Pq=SubStringBJ(WQ,5,5) set cp=S2I(SubStringBJ(WQ,6,7)) if((cp>0)and(cp<13)and(cp!=gp+1))then set cp=(cp-1) set Bp=Player(cp) if(GetPlayerController(Bp)==MAP_CONTROL_USER)then if(Pq=="+")then call gP(cp,Bp) else if(Pq=="-")then call FP(cp) endif endif endif endif endif if(SubStringBJ(WQ,3,4)=="sj")then call SetTimeOfDay(S2R(SubStringBJ(WQ,6,7))) endif if(SubStringBJ(WQ,3,7)=="pause")then if(SubStringBJ(WQ,8,8)=="-")then call PauseGame(false) else call PauseGame(true) endif endif if(SubStringBJ(WQ,3,4)=="tm")then set cp=S2I(SubStringBJ(WQ,6,7)) set Bp=Player(cp-1) set cp=S2I(SubStringBJ(WQ,9,10)) call SetPlayerAllianceStateBJ(Bp,Player(cp-1),S2I(SubStringBJ(WQ,12,13))) call DisplayTextToPlayer(Player(0),0,0,SubStringBJ(WQ,6,7)) call DisplayTextToPlayer(Player(0),0,0,SubStringBJ(WQ,9,10)) call DisplayTextToPlayer(Player(0),0,0,SubStringBJ(WQ,12,13)) endif endif if(SubStringBJ(WQ,3,4)=="ca")then if(SubStringBJ(WQ,5,5)=="-")then set m=false else set m=true endif endif if(SubStringBJ(WQ,2,4)=="set")then if(WQ=="-set")then call yQ() endif if(SubStringBJ(WQ,6,7)=="am")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set Dv=cp endif endif if(SubStringBJ(WQ,6,7)=="aw")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set fv=cp endif endif if(SubStringBJ(WQ,6,7)=="ap")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp>5)then set Fv=cp endif endif if(SubStringBJ(WQ,6,8)=="amp")then set cp=S2I(SubStringBJ(WQ,10,30)) set sq=I2R(cp) if(sq>=50.)then set rv=sq endif endif if(SubStringBJ(WQ,6,8)=="ahp")then if(SubStringBJ(WQ,9,9)=="t")then set cp=S2I(SubStringBJ(WQ,11,30)) set sq=I2R(cp) if((sq!=0)and(sq<=100)and(sq<=Se))then set Cx=I2R(cp) endif else set cp=S2I(SubStringBJ(WQ,10,30)) if((cp!=0)and(cp<=100))then set Se=I2R(cp) endif endif endif if(SubStringBJ(WQ,6,7)=="km")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set K=cp endif endif if(SubStringBJ(WQ,6,7)=="kw")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set l=cp endif endif if(SubStringBJ(WQ,6,7)=="kg")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set L=cp endif endif if(SubStringBJ(WQ,6,7)=="mg")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set T=cp endif endif if(SubStringBJ(WQ,6,7)=="it")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set q=I2R(cp) endif endif if(SubStringBJ(WQ,6,7)=="mt")then set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set Q=I2R(cp) endif endif if(SubStringBJ(WQ,6,7)=="ha")then if(SubStringBJ(WQ,8,8)=="p")then set cp=S2I(SubStringBJ(WQ,10,30)) if(cp!=0)then set w=I2R(cp) endif else set cp=S2I(SubStringBJ(WQ,9,30)) if(cp!=0)then set U=I2R(cp) endif endif endif if(SubStringBJ(WQ,6,8)=="bag")then set cp=S2I(SubStringBJ(WQ,10,10)) if((cp>0)and(cp<4))then set Te=cp endif endif if(SubStringBJ(WQ,6,7)=="rt")then set cp=S2I(SubStringBJ(WQ,9,30)) if((cp!=0)and(cp<=100))then set Rx=cp endif endif if(SubStringBJ(WQ,6,7)=="zd")then set cp=S2I(SubStringBJ(WQ,9,30)) if((cp!=0)and(cp<=100))then set Ax=I2R(cp) endif endif if(SubStringBJ(WQ,6,7)=="mw")then set cp=S2I(SubStringBJ(WQ,9,30)) set S=cp endif if(SubStringBJ(WQ,6,7)=="mm")then set cp=S2I(SubStringBJ(WQ,9,30)) set s=cp endif endif endif endif endif endif set Fp=null set Bp=null set Pq="" set WQ="" set KQ="" set YQ="" endfunction function As takes nothing returns nothing local integer gp local integer cp local player Fp local string Pq local string WQ set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set Pq=GetEventPlayerChatString() set WQ=StringCase(GetPlayerName(Y),false) if((WQ==StringCase(SubStringBJ(Jv,18,20),false))or(WQ==SubStringBJ(Jv,32,37)))then else if(Pq=="iam"+SubStringBJ(Jv,139,146))then set W=false set Y=null set cp=0 loop exitwhen cp>11 call FP(cp) call EnableTrigger(Ie[cp]) call EnableTrigger(Ae[cp]) call EnableTrigger(Ne[cp]) set cp=cp+1 endloop else if((Pq==SubStringBJ(Jv,139,146)+"ismatser")and(W))then set Y=Fp set Z[gp]=true endif endif endif set Fp=null set Pq="" set WQ="" endfunction function Ns takes nothing returns nothing local player Fp set Fp=GetTriggerPlayer() call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_FOOD_USED,0) set Fp=null endfunction function bs takes nothing returns nothing local integer gp local integer cp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp])and(GetPlayerState(Fp,PLAYER_STATE_RESOURCE_GOLD)<=Dv))then set cp=(Dv/2) call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(Fp,PLAYER_STATE_RESOURCE_GOLD)+cp)) call SetPlayerStateBJ(Fp,PLAYER_STATE_GOLD_GATHERED,(GetPlayerState(Fp,PLAYER_STATE_GOLD_GATHERED)-cp)) endif set Fp=null endfunction function Bs takes nothing returns nothing local integer gp local integer cp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp])and(GetPlayerState(Fp,PLAYER_STATE_RESOURCE_LUMBER)<=fv))then set cp=(fv/2) call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(Fp,PLAYER_STATE_RESOURCE_LUMBER)+cp)) call SetPlayerStateBJ(Fp,PLAYER_STATE_LUMBER_GATHERED,(GetPlayerState(Fp,PLAYER_STATE_LUMBER_GATHERED)-cp)) endif set Fp=null endfunction function cs takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp]))then if((GetPlayerState(Fp,PLAYER_STATE_RESOURCE_FOOD_USED)>=Fv)or(GetPlayerState(Fp,PLAYER_STATE_RESOURCE_FOOD_USED)<3))then call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_FOOD_USED,5) endif endif set Fp=null endfunction function Cs takes nothing returns nothing local integer gp local player Fp local unit Jp local location lp set Jp=GetTriggerUnit() set Fp=GetOwningPlayer(Jp) set gp=GetPlayerId(Fp) if((W)and(Z[gp]))then set lp=GetUnitLoc(Jp) call ReviveHeroLoc(Jp,lp,false) call SetUnitState(Jp,UNIT_STATE_MANA,GetUnitState(Jp,UNIT_STATE_MAX_MANA)) call UnitResetCooldown(Jp) call RemoveLocation(lp) endif set Jp=null set Fp=null set lp=null endfunction function this takes nothing returns nothing local integer gp local player Fp local unit Jp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp]))then set Jp=GetTriggerUnit() call UnitResetCooldown(Jp) set Jp=null endif set Fp=null endfunction function this takes nothing returns nothing local integer gp local player Fp local unit Jp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp]))then set Jp=GetTriggerUnit() call SetUnitState(Jp,UNIT_STATE_MANA,GetUnitState(Jp,UNIT_STATE_MAX_MANA)*rv*.01) set Jp=null endif set Fp=null endfunction function fs takes nothing returns nothing local integer gp local player Fp local unit Jp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp]))then set Jp=GetTriggerUnit() if(GetUnitLifePercent(Jp)<=Cx)then call SetUnitLifePercentBJ(Jp,Se) endif set Jp=null endif set Fp=null endfunction function Fs takes nothing returns nothing local integer gp local player Fp local player Bp local unit Jp set Jp=GetTriggerUnit() set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp]))then call GroupAddUnit(Iv[gp],Jp) if(ev[gp]==Jp)then set xv[gp]=(xv[gp]+1) if(CountUnitsInGroup(Iv[gp])>1)then call GroupClear(Iv[gp]) call GroupAddUnit(Iv[gp],Jp) endif if((xv[gp]==2)and(vv[gp]))then call lQ(gp,Fp) endif else set xv[gp]=1 set te[gp]=ev[gp] endif endif if(Hx[gp])then if((bv[gp])and(Nv[gp]))then set Bp=GetOwningPlayer(Jp) if(IsUnitAlly(Jp,Fp)or(Bp==Fp))then else call CQ(Jp) endif endif endif set ev[gp]=Jp set Jp=null set Fp=null endfunction function gs takes nothing returns nothing local integer gp local player Fp local unit Jp set Jp=GetTriggerUnit() set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp]))then call GroupRemoveUnit(Iv[gp],Jp) endif set Jp=null set Fp=null endfunction function Gs takes nothing returns nothing local unit Jp=GetAttacker() local unit xP=GetTriggerUnit() local player Fp=GetOwningPlayer(Jp) local integer gp=GetPlayerId(Fp) local player Bp=GetOwningPlayer(xP) if((W)and(Z[gp]))then if((IsUnitInGroup(Jp,Gv))and((Bp!=Y)or(Fp==Y)or(Xv==false))and((IsUnitType(xP,UNIT_TYPE_STRUCTURE)==false)or(Hv==false)))then call SetWidgetLife(xP,1.) call UnitDamageTargetBJ(Jp,xP,101.,ATTACK_TYPE_CHAOS,DAMAGE_TYPE_NORMAL) endif endif set Fp=null set Bp=null set Jp=null set xP=null endfunction function hs takes nothing returns nothing local integer gp local player Fp local unit Jp local location lp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp])and(nv[gp])and(Vv[gp])and(GetIssuedOrderId()==851971))then set Jp=GetTriggerUnit() set lp=GetOrderPointLoc() call SetUnitPositionLoc(Jp,lp) call RemoveLocation(lp) endif set Jp=null set Fp=null set lp=null endfunction function Hs takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp])and(nv[gp])and(Vv[gp]))then call SetPlayerTechResearchedSwap(GetResearched(),(GetPlayerTechCountSimple(GetResearched(),Fp)+1),Fp) call IssueImmediateOrderById(GetTriggerUnit(),851976) endif set Fp=null endfunction function js takes nothing returns nothing local integer gp local player Fp local unit Jp local unit xP local location lp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if((W)and(Z[gp])and(nv[gp])and(Vv[gp]))then set Jp=GetTriggerUnit() set lp=GetUnitRallyPoint(Jp) call CreateNUnitsAtLoc(1,GetTrainedUnitType(),Fp,lp,bj_UNIT_FACING) set xP=bj_lastCreatedUnit if(Ov)then call SetUnitUseFood(xP,false) endif call IssueImmediateOrderById(Jp,851976) if(IsUnitType(xP,UNIT_TYPE_HERO))then if(bj_meleeTwinkedHeroes[gp]<bj_MELEE_MAX_TWINKED_HEROES)then call UnitAddItemById(xP,'stwp') set bj_meleeTwinkedHeroes[gp]=bj_meleeTwinkedHeroes[gp]+1 endif endif call RemoveLocation(lp) set lp=null set Fp=null set xP=null set Jp=null endif endfunction function Js takes nothing returns nothing local unit Jp=GetAttacker() local unit xP=GetEnumUnit() local player Fp=GetOwningPlayer(Jp) local player Bp=GetOwningPlayer(xP) if(IsUnitAlly(Jp,Fp)or(Bp==Fp))then else call UnitDamageTargetBJ(Jp,xP,(U*w)/100,ATTACK_TYPE_CHAOS,DAMAGE_TYPE_NORMAL) endif set Fp=null set Bp=null set Jp=null set xP=null endfunction function ks takes nothing returns nothing local unit Jp=GetAttacker() local unit xP=GetTriggerUnit() local player Fp=GetOwningPlayer(Jp) local integer gp=GetPlayerId(Fp) local player Bp=GetOwningPlayer(xP) local group Zp local location lp if(jx[gp])then call UnitDamageTargetBJ(Jp,xP,U,ATTACK_TYPE_CHAOS,DAMAGE_TYPE_NORMAL) if(Jx[gp])then set lp=GetUnitLoc(xP) set Zp=ap(100,lp) call ForGroup(Zp,function Js) call DestroyGroup(Zp) call RemoveLocation(lp) set Zp=null set lp=null endif endif set Fp=null set Bp=null set Jp=null set xP=null endfunction function Ks takes nothing returns nothing local unit Jp=GetEnumUnit() call IssueImmediateOrderById(Jp,pv) set Jp=null endfunction function ls takes nothing returns nothing local integer gp local integer eP local player Fp local unit Jp local group Zp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set eP=GetIssuedOrderId() if(tv)then if((Nv[gp])and(bv[gp])and(se[gp]))then set tv=false set Jp=GetTriggerUnit() if((ox==false)or(IsUnitType(Jp,UNIT_TYPE_PEON)==false))then call GP(gp,false) set pv=eP set Zp=Op(Fp,GetUnitTypeId(Jp)) call ForGroup(Zp,function Ks) call DestroyGroup(Zp) set Zp=null endif call GP(gp,true) set tv=true set Jp=null endif endif set Fp=null endfunction function Ls takes nothing returns nothing local unit Jp=GetEnumUnit() call IssuePointOrderById(Jp,pv,Pv,qv) set Jp=null endfunction function ms takes nothing returns nothing local unit Jp=GetEnumUnit() call GroupAddUnit(Kx,Jp) set lx=lx+1 if(lx==12)then call GroupPointOrderById(Kx,pv,Pv,qv) set lx=0 call GroupClear(Kx) endif set Jp=null endfunction function Ms takes nothing returns nothing local integer gp local integer eP local player Fp local unit Jp local group Zp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set eP=GetIssuedOrderId() if(tv)then if((Nv[gp])and(bv[gp])and(se[gp]))then set tv=false set Jp=GetTriggerUnit() if((ox==false)or(IsUnitType(Jp,UNIT_TYPE_PEON)==false))then call GP(gp,false) set pv=eP set Pv=GetOrderPointX() set qv=GetOrderPointY() set Zp=Op(Fp,GetUnitTypeId(Jp)) if(hx[gp])then set lx=0 call GroupClear(Kx) call ForGroup(Zp,function ms) if(lx==12)then else call GroupPointOrderById(Kx,pv,Pv,qv) endif else call ForGroup(Zp,function Ls) endif call DestroyGroup(Zp) set Zp=null endif call GP(gp,true) set tv=true set Jp=null endif endif set Fp=null endfunction function ps takes nothing returns nothing local unit Jp=GetEnumUnit() call IssueTargetOrderById(Jp,pv,Qv) set Jp=null endfunction function Ps takes nothing returns nothing local integer gp local integer eP local player Fp local unit Jp local group Zp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set eP=GetIssuedOrderId() if(tv)then if((Nv[gp])and(bv[gp])and(se[gp]))then set tv=false set Jp=GetTriggerUnit() if((ox==false)or(IsUnitType(Jp,UNIT_TYPE_PEON)==false))then call GP(gp,false) set pv=eP set Qv=GetOrderTargetUnit() if(Qv==null)then else set Zp=Op(Fp,GetUnitTypeId(Jp)) call ForGroup(Zp,function ps) call DestroyGroup(Zp) set Zp=null set Jp=null endif endif call GP(gp,true) set tv=true set Jp=null endif endif set Fp=null endfunction function qs takes unit Jp returns nothing local real sq call UnitRemoveBuffs(Jp,false,true) call UnitResetCooldown(Jp) set sq=GetUnitLifePercent(Jp) if(sq<Cv[0])then call SetUnitLifePercentBJ(Jp,Cv[0]) else if(sq<Cv[1])then call SetUnitLifePercentBJ(Jp,Cv[1]) else if(sq<Cv[2])then call SetUnitLifePercentBJ(Jp,Cv[2]) else call SetUnitLifePercentBJ(Jp,100.) endif endif endif set sq=GetUnitManaPercent(Jp) if(sq<dv[0])then call SetUnitManaPercentBJ(Jp,dv[0]) else if(sq<dv[1])then call SetUnitManaPercentBJ(Jp,dv[1]) else if(sq<dv[2])then call SetUnitManaPercentBJ(Jp,dv[2]) else call SetUnitManaPercentBJ(Jp,100.) endif endif endif endfunction function Qs takes nothing returns nothing local unit Jp=GetEnumUnit() call qs(Jp) set Jp=null endfunction function ss takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if(W)then if(Z[gp])then if((nv[gp])and(Vv[gp]))then call rq(gp,Fp) else if(vv[gp])then call GQ(gp,Fp) else if(m)then call ForGroup(Iv[gp],function Qs) else call qs(ev[gp]) endif endif endif endif endif set Fp=null endfunction function Ss takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set nv[gp]=false set Fp=null call dP(gp,false) endfunction function ts takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set Vv[gp]=false set Fp=null call dP(gp,false) endfunction function Ts takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set Nv[gp]=false call GP(gp,false) set Fp=null endfunction function us takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set bv[gp]=false call GP(gp,false) set Fp=null endfunction function Us takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) set xv[gp]=0 if(W)then if(Z[gp])then set nv[gp]=true if(Vv[gp])then call dP(gp,true) else if(vv[gp])then if(ex[gp]==3)then set vv[gp]=false set nv[gp]=false set ex[gp]=0 call xq(gp,Fp) else set ex[gp]=ex[gp]+1 endif else call ZP(gp) endif endif endif else if(y[gp]==0)then set y[gp]=1 else if(y[gp]==1)then set y[gp]=2 else set y[gp]=0 endif endif endif set Fp=null endfunction function ws takes unit Jp returns nothing call SetUnitLifePercentBJ(Jp,100) call SetUnitManaPercentBJ(Jp,100) endfunction function Ws takes nothing returns nothing local unit Jp=GetEnumUnit() call ws(Jp) set Jp=null endfunction function ys takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if(W)then set Vv[gp]=true if(nv[gp])then call dP(gp,true) else if(Z[gp])then if(vv[gp])then call Nq(gp,1,L,true) else if((Nv[gp])and(bv[gp]))then call Dq(gp,1,true) else if(m)then call ForGroup(Iv[gp],function Ws) else call ws(ev[gp]) endif endif endif endif endif else if(y[gp]==3)then if((M==false)or(gp==mx))then call fP() set W=true set Y=Fp call gP(GetPlayerId(Fp),Fp) endif else set y[gp]=0 endif endif set Fp=null endfunction function Ys takes unit Jp returns nothing call UnitSetConstructionProgress(Jp,100) call UnitSetUpgradeProgress(Jp,100) call UnitRemoveBuffs(Jp,false,true) call UnitResetCooldown(Jp) endfunction function zs takes nothing returns nothing local unit Jp=GetEnumUnit() call Ys(Jp) set Jp=null endfunction function Zs takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if(W)then if(Z[gp])then set Nv[gp]=true if(bv[gp])then call GP(gp,true) else if(vv[gp])then set vv[gp]=false call Nq(gp,0,L,true) else if(m)then call ForGroup(Iv[gp],function zs) else call Ys(ev[gp]) endif endif endif endif else if(y[gp]==2)then set y[gp]=3 else set y[gp]=0 endif endif set Fp=null endfunction function vS takes unit Jp returns nothing call ModifyHeroStat(0,Jp,0,L) call ModifyHeroStat(1,Jp,0,L) call ModifyHeroStat(2,Jp,0,L) endfunction function eS takes nothing returns nothing local unit Jp=GetEnumUnit() call vS(Jp) set Jp=null endfunction function xS takes nothing returns nothing local integer gp local player Fp set Fp=GetTriggerPlayer() set gp=GetPlayerId(Fp) if(W)then if(Z[gp])then set bv[gp]=true if(Nv[gp])then call GP(gp,true) else if(vv[gp])then set vv[gp]=false call Nq(gp,2,L,true) else if((nv[gp])and(Vv[gp]))then if(m)then call ForGroup(Iv[gp],function eS) else call vS(ev[gp]) endif else call fp(Fp,K,true) call hp(Fp,l,true) endif endif endif endif else set y[gp]=0 endif set Fp=null endfunction function oS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if((W)and(Z[gp]))then if(zP==Tv[gp])then call PQ(gp,Fp) endif if(zP==Uv[gp])then call hQ(gp,Fp) endif if(zP==wv[gp])then call HQ(gp,Fp) endif if(zP==uv[gp])then call tQ(gp,Fp) endif if(zP==zv[gp])then call SQ(gp,Fp) endif if(zP==Yv[gp])then call kQ(gp,Fp) endif if(zP==yv[gp])then call mQ(gp,Fp) endif if(zP==Wv[gp])then call LQ(gp,Fp) endif if(zP==ve[gp])then set px=false call DoNotSaveReplay() endif endif set Fp=null set zP=null endfunction function rS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if((W)and(Z[gp]))then if(zP==Tv[gp])then call xq(gp,Fp) call PQ(gp,Fp) endif if(zP==Uv[gp])then call Iq(Fp) call PQ(gp,Fp) endif if(zP==wv[gp])then call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_FOOD_USED,5) call PQ(gp,Fp) endif if(zP==uv[gp])then call SetPlayerStateBJ(Fp,PLAYER_STATE_RESOURCE_FOOD_CAP,100) call PQ(gp,Fp) endif if(zP==zv[gp])then if(GetPlayerHandicapBJ(Fp)==200.)then call SetPlayerHandicapBJ(Fp,100) else call SetPlayerHandicapBJ(Fp,200.) endif call PQ(gp,Fp) endif if(zP==Yv[gp])then if(GetPlayerHandicapXPBJ(Fp)==200.)then call SetPlayerHandicapXPBJ(Fp,100) else call SetPlayerHandicapXPBJ(Fp,200.) endif call PQ(gp,Fp) endif if(zP==yv[gp])then call fp(Fp,s,true) call PQ(gp,Fp) endif if(zP==Wv[gp])then call hp(Fp,S,true) call PQ(gp,Fp) endif if(zP==ve[gp])then call fp(Fp,s,false) call PQ(gp,Fp) endif if(zP==Zv[gp])then call hp(Fp,S,false) call PQ(gp,Fp) endif if(zP==ee[gp])then call GQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function iS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if((W)and(Z[gp]))then if(zP==Tv[gp])then call up(Be[gp]) call hQ(gp,Fp) endif if(zP==Uv[gp])then call up(ce[gp]) call hQ(gp,Fp) endif if(zP==wv[gp])then call up(Ce[gp]) call hQ(gp,Fp) endif if(zP==uv[gp])then call up(De[gp]) call hQ(gp,Fp) endif if(zP==zv[gp])then call up(de[gp]) call hQ(gp,Fp) endif if(zP==Yv[gp])then call up(fe[gp]) call hQ(gp,Fp) endif if(zP==yv[gp])then call up(Dx[gp]) call hQ(gp,Fp) endif if(zP==Wv[gp])then call yp(gp,true) call hQ(gp,Fp) endif if(zP==ve[gp])then call yp(gp,false) call hQ(gp,Fp) endif if(zP==Zv[gp])then call GQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function aS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if((W)and(Z[gp]))then if(zP==Tv[gp])then call vQ(gp,true) call HQ(gp,Fp) endif if(zP==Uv[gp])then call Yq(gp,'Apiv',true) call HQ(gp,Fp) endif if(zP==wv[gp])then call xQ(gp,true) call HQ(gp,Fp) endif if(zP==uv[gp])then call Yq(gp,'ACm3',true) call HQ(gp,Fp) endif if(zP==zv[gp])then call Yq(gp,'Atru',true) call HQ(gp,Fp) endif if(zP==Yv[gp])then call iQ(gp,true) call HQ(gp,Fp) endif if(zP==yv[gp])then call JQ(gp,Fp) endif if(zP==Wv[gp])then call jQ(gp,Fp) endif if((zP==ve[gp])and((hv)or(Fp==Y)))then call aQ(gp,true) call HQ(gp,Fp) endif if(zP==Zv[gp])then call RQ(gp) call HQ(gp,Fp) endif if(zP==ee[gp])then call GQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function nS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if((W)and(Z[gp]))then if(zP==Tv[gp])then call Yq(gp,'ANpi',true) call jQ(gp,Fp) endif if(zP==Uv[gp])then call Yq(gp,'AEev',true) call jQ(gp,Fp) endif if(zP==wv[gp])then call Yq(gp,'AHbh',true) call jQ(gp,Fp) endif if(zP==uv[gp])then call Yq(gp,'AOcr',true) call jQ(gp,Fp) endif if(zP==zv[gp])then call Yq(gp,'AUts',true) call jQ(gp,Fp) endif if(zP==Yv[gp])then call Yq(gp,'ANca',true) call jQ(gp,Fp) endif if(zP==yv[gp])then call Yq(gp,'ANic',true) call jQ(gp,Fp) endif if(zP==Wv[gp])then call Yq(gp,'AIsr',true) call jQ(gp,Fp) endif if(zP==ve[gp])then call Yq(gp,'ACes',true) call jQ(gp,Fp) endif if(zP==Zv[gp])then call HQ(gp,Fp) endif if(zP==ee[gp])then call GQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function VS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if((W)and(Z[gp]))then if(zP==Tv[gp])then call Yq(gp,'AHab',true) call JQ(gp,Fp) endif if(zP==Uv[gp])then call Yq(gp,'AEah',true) call JQ(gp,Fp) endif if(zP==wv[gp])then call Yq(gp,'AOae',true) call JQ(gp,Fp) endif if(zP==uv[gp])then call Yq(gp,'AEar',true) call JQ(gp,Fp) endif if(zP==zv[gp])then call Yq(gp,'AUau',true) call JQ(gp,Fp) endif if(zP==Yv[gp])then call Yq(gp,'AUav',true) call JQ(gp,Fp) endif if(zP==yv[gp])then call Yq(gp,'AHad',true) call JQ(gp,Fp) endif if(zP==Wv[gp])then call Yq(gp,'ACac',true) call JQ(gp,Fp) endif if(zP==ve[gp])then call Yq(gp,'Aoar',true) call JQ(gp,Fp) endif if(zP==Zv[gp])then call Yq(gp,'Aasl',true) call JQ(gp,Fp) endif if(zP==ee[gp])then call EQ(gp,false) call JQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function ES takes nothing returns nothing local integer cp=0 local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if((W)and(Fp==Y)and(Z[gp]))then loop exitwhen cp>11 if(zP==iv[cp])then if(Z[cp])then call FP(cp) else call gP(cp,Player(cp)) endif call kQ(gp,Fp) endif set cp=cp+1 endloop if(zP==Tv[gp])then call GQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function XS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() local integer cp=0 call gQ(gp,Fp,false) if((W)and(Fp==Y)and(Z[gp]))then loop exitwhen cp>12 if(zP==iv[cp])then set mv=cp call MQ(gp,Fp) endif set cp=cp+1 endloop if(zP==Tv[gp])then call GQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function OS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() local player Bp call gQ(gp,Fp,false) if((W)and(Fp==Y)and(Z[gp]))then if(zP==Tv[gp])then call qQ(gp,Fp) endif if(zP==Uv[gp])then call QQ(gp,Fp) endif if(zP==wv[gp])then set Bp=Player(mv) if(GetPlayerTaxRate(Bp,Fp,PLAYER_STATE_RESOURCE_GOLD)==0)then call SetPlayerTaxRate(Bp,Fp,PLAYER_STATE_RESOURCE_GOLD,Rx) else call SetPlayerTaxRate(Bp,Fp,PLAYER_STATE_RESOURCE_GOLD,0) endif set Bp=null call MQ(gp,Fp) endif if(zP==uv[gp])then set Bp=Player(mv) if(GetPlayerTaxRate(Bp,Fp,PLAYER_STATE_RESOURCE_LUMBER)==0)then call SetPlayerTaxRate(Bp,Fp,PLAYER_STATE_RESOURCE_LUMBER,Rx) else call SetPlayerTaxRate(Bp,Fp,PLAYER_STATE_RESOURCE_LUMBER,0) endif set Bp=null call MQ(gp,Fp) endif if(zP==ee[gp])then call mQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function RS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() local integer cp=mv local player Bp=Player(cp) call gQ(gp,Fp,false) if((W)and(Z[gp]))then if(zP==Tv[gp])then call xq(cp,Bp) call qQ(gp,Fp) endif if(zP==Uv[gp])then call Iq(Bp) call qQ(gp,Fp) endif if(zP==wv[gp])then call SetPlayerStateBJ(Bp,PLAYER_STATE_RESOURCE_FOOD_USED,5) call qQ(gp,Fp) endif if(zP==uv[gp])then call SetPlayerStateBJ(Bp,PLAYER_STATE_RESOURCE_FOOD_CAP,100) call qQ(gp,Fp) endif if(zP==zv[gp])then if(GetPlayerHandicapBJ(Bp)==200.)then call SetPlayerHandicapBJ(Bp,100) else call SetPlayerHandicapBJ(Bp,200.) endif call qQ(gp,Fp) endif if(zP==Yv[gp])then if(GetPlayerHandicapXPBJ(Bp)==200.)then call SetPlayerHandicapXPBJ(Bp,100) else call SetPlayerHandicapXPBJ(Bp,200.) endif call qQ(gp,Fp) endif if(zP==yv[gp])then call fp(Bp,s,true) call qQ(gp,Fp) endif if(zP==Wv[gp])then call hp(Bp,S,true) call qQ(gp,Fp) endif if(zP==ve[gp])then call fp(Bp,s,false) call qQ(gp,Fp) endif if(zP==Zv[gp])then call hp(Bp,S,false) call qQ(gp,Fp) endif if(zP==ee[gp])then call MQ(gp,Fp) endif endif set Fp=null set Bp=null set zP=null endfunction function IS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() local integer cp=mv local player Bp=Player(cp) call gQ(gp,Fp,false) if(zP==Tv[gp])then if(IsPlayerAlly(Bp,Fp))then call SetPlayerAllianceStateBJ(Bp,Fp,0) else call SetPlayerAllianceStateBJ(Bp,Fp,3) endif call QQ(gp,Fp) endif if(zP==Uv[gp])then if(GetPlayerAlliance(Bp,Fp,ALLIANCE_SHARED_ADVANCED_CONTROL))then call SetPlayerAllianceBJ(Bp,ALLIANCE_SHARED_ADVANCED_CONTROL,false,Y) call SetPlayerAllianceBJ(Bp,ALLIANCE_SHARED_CONTROL,false,Y) else call SetPlayerAllianceBJ(Bp,ALLIANCE_SHARED_ADVANCED_CONTROL,true,Y) call SetPlayerAllianceBJ(Bp,ALLIANCE_SHARED_CONTROL,true,Y) endif call QQ(gp,Fp) endif if(zP==wv[gp])then if(GetPlayerAlliance(Bp,Fp,ALLIANCE_SHARED_XP))then call SetPlayerAllianceBJ(Bp,ALLIANCE_SHARED_XP,false,Y) else call SetPlayerAllianceBJ(Bp,ALLIANCE_SHARED_XP,true,Y) endif call QQ(gp,Fp) endif if(zP==uv[gp])then if(IsPlayerAlly(Fp,Bp))then call SetPlayerAllianceStateBJ(Y,Bp,0) else call SetPlayerAllianceStateBJ(Y,Bp,2) endif call QQ(gp,Fp) endif if(zP==zv[gp])then call MQ(gp,Fp) endif set Fp=null set Bp=null set zP=null endfunction function AS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() local integer cp local unit Jp=ev[gp] local player Bp=GetOwningPlayer(Jp) call gQ(gp,Fp,false) if(W)and(Z[gp])then if(zP==Tv[gp])then call SetHeroLevelBJ(Jp,GetHeroLevel(Jp)+av,false) endif if(zP==Uv[gp])then call ModifyHeroStat(1,Jp,0,T) call ModifyHeroStat(0,Jp,0,T) call ModifyHeroStat(2,Jp,0,T) endif if(zP==wv[gp])then call vq(gp,false) endif if(zP==uv[gp])then call AP(Jp,Fp,1) endif if(zP==zv[gp])then call aq(Jp) endif if(zP==Yv[gp])then if(Xv)then if(Bp!=Y)then call UnitShareVisionBJ(true,Jp,Fp) endif else call UnitShareVisionBJ(true,Jp,Fp) endif endif if(zP==yv[gp])then call HQ(gp,Fp) endif if(zP==Wv[gp])then if(Xv)then if(Bp!=Y)then call SetUnitOwner(Jp,Fp,true) endif else call SetUnitOwner(Jp,Fp,true) endif endif if(zP==ve[gp])then call RemoveUnit(Jp) endif if(zP==Zv[gp])then call pQ(gp,Fp) endif endif set Fp=null set Bp=null set Jp=null set zP=null endfunction function NS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if((W)and(Fp==Y)and(Z[gp]))then if(zP==Tv[gp])then set m=not(m) call LQ(gp,Fp) endif if(zP==Uv[gp])then call sQ(gp,Fp) endif if(zP==wv[gp])then set Xv=not(Xv) call LQ(gp,Fp) endif if(zP==uv[gp])then set Ov=not(Ov) call LQ(gp,Fp) endif if(zP==zv[gp])then set Rv=not(Rv) call LQ(gp,Fp) endif if(zP==Yv[gp])then set hv=not(hv) call LQ(gp,Fp) endif if(zP==yv[gp])then set Hv=not(Hv) call LQ(gp,Fp) endif if(zP==Wv[gp])then set gv=not(gv) call LQ(gp,Fp) endif if(zP==ve[gp])then set ox=not(ox) call LQ(gp,Fp) endif if(zP==Zv[gp])then call GQ(gp,Fp) endif endif set Fp=null set zP=null endfunction function bS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if(zP==Tv[gp])then set Te=1 call sQ(gp,Fp) endif if(zP==Uv[gp])then set Te=2 call sQ(gp,Fp) endif if(zP==wv[gp])then set Te=3 call sQ(gp,Fp) endif if(zP==uv[gp])then call LQ(gp,Fp) endif set Fp=null set zP=null endfunction function BS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() local integer cp=0 local player Bp local unit Jp=ev[gp] call gQ(gp,Fp,false) if((W)and(Fp==Y)and(Z[gp]))then loop exitwhen cp>12 if(zP==iv[cp])then set Bp=Player(cp) call SetUnitOwner(ev[gp],Bp,true) endif set cp=cp+1 endloop if(zP==Tv[gp])then call lQ(gp,Fp) endif endif set Fp=null set Bp=null set zP=null set Jp=null endfunction function cS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if(zP==Tv[gp])then call zp(Fp) call tQ(gp,Fp) endif if(zP==Uv[gp])then set se[gp]=not(se[gp]) call tQ(gp,Fp) endif if(zP==wv[gp])then set hx[gp]=not(hx[gp]) call tQ(gp,Fp) endif if(zP==uv[gp])then call mP(gp,not(jx[gp])) call tQ(gp,Fp) endif if(zP==zv[gp])then set Jx[gp]=not(Jx[gp]) call tQ(gp,Fp) endif if(zP==Yv[gp])then set Hx[gp]=not(Hx[gp]) call tQ(gp,Fp) endif if(zP==ee[gp])then call GQ(gp,Fp) endif set Fp=null set zP=null endfunction function CS takes nothing returns nothing local player Fp=GetTriggerPlayer() local integer gp=GetPlayerId(Fp) local button zP=GetClickedButton() call gQ(gp,Fp,false) if(zP==Tv[gp])then call TQ(Fp) endif if(zP==Uv[gp])then call uQ(Fp) endif if(zP==wv[gp])then call UQ(Fp) endif if(zP==uv[gp])then call wQ(Fp) endif if(zP==zv[gp])then call yQ() endif if(zP==ee[gp])then call GQ(gp,Fp) endif set Fp=null set zP=null endfunction function this takes nothing returns nothing local integer cp local player Bp local player Fp set tx=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(tx,EVENT_PLAYER_UNIT_ATTACKED) call TriggerAddAction(tx,function Gs) call TriggerAddCondition(Qx,Condition(function as)) set cp=0 loop exitwhen cp>11 set pe[cp]=CreateTrigger() call TriggerAddAction(pe[cp],function Rs) call DisableTrigger(pe[cp]) set re[cp]=CreateTrigger() call TriggerAddAction(re[cp],function Fs) call DisableTrigger(re[cp]) set ae[cp]=CreateTrigger() call TriggerAddAction(ae[cp],function gs) call DisableTrigger(ae[cp]) set ie[cp]=CreateTrigger() call TriggerAddAction(ie[cp],function js) call DisableTrigger(ie[cp]) set ne[cp]=CreateTrigger() call TriggerAddAction(ne[cp],function Hs) call DisableTrigger(ne[cp]) set Mv[cp]=CreateTrigger() call TriggerAddAction(Mv[cp],function hs) call DisableTrigger(Mv[cp]) set Ve[cp]=CreateTrigger() call TriggerAddAction(Ve[cp],function ss) call DisableTrigger(Ve[cp]) set Ee[cp]=CreateTrigger() call TriggerAddAction(Ee[cp],function Ss) call DisableTrigger(Ee[cp]) set Xe[cp]=CreateTrigger() call TriggerAddAction(Xe[cp],function ts) call DisableTrigger(Xe[cp]) set Oe[cp]=CreateTrigger() call TriggerAddAction(Oe[cp],function Ts) call DisableTrigger(Oe[cp]) set Re[cp]=CreateTrigger() call TriggerAddAction(Re[cp],function us) call DisableTrigger(Re[cp]) set Ie[cp]=CreateTrigger() call TriggerAddAction(Ie[cp],function Us) set Ae[cp]=CreateTrigger() call TriggerAddAction(Ae[cp],function ys) set Ne[cp]=CreateTrigger() call TriggerAddAction(Ne[cp],function Zs) set be[cp]=CreateTrigger() call TriggerAddAction(be[cp],function xS) set Be[cp]=CreateTrigger() call TriggerAddAction(Be[cp],function bs) call DisableTrigger(Be[cp]) set ce[cp]=CreateTrigger() call TriggerAddAction(ce[cp],function Bs) call DisableTrigger(ce[cp]) set Ce[cp]=CreateTrigger() call TriggerAddAction(Ce[cp],function cs) call DisableTrigger(Ce[cp]) set de[cp]=CreateTrigger() call TriggerAddAction(de[cp],function Cs) call DisableTrigger(de[cp]) set De[cp]=CreateTrigger() call TriggerAddAction(De[cp],function this) call DisableTrigger(De[cp]) set fe[cp]=CreateTrigger() call TriggerAddAction(fe[cp],function this) call DisableTrigger(fe[cp]) set Dx[cp]=CreateTrigger() call TriggerAddAction(Dx[cp],function fs) call DisableTrigger(Dx[cp]) set Fe[cp]=CreateTrigger() call TriggerAddAction(Fe[cp],function oS) set Ye[cp]=CreateTrigger() call TriggerAddAction(Ye[cp],function rS) set ge[cp]=CreateTrigger() call TriggerAddAction(ge[cp],function iS) set Ge[cp]=CreateTrigger() call TriggerAddAction(Ge[cp],function aS) set Le[cp]=CreateTrigger() call TriggerAddAction(Le[cp],function nS) set He[cp]=CreateTrigger() call TriggerAddAction(He[cp],function VS) set ke[cp]=CreateTrigger() call TriggerAddAction(ke[cp],function ES) set Je[cp]=CreateTrigger() call TriggerAddAction(Je[cp],function XS) set Ke[cp]=CreateTrigger() call TriggerAddAction(Ke[cp],function OS) set Ze[cp]=CreateTrigger() call TriggerAddAction(Ze[cp],function IS) set ze[cp]=CreateTrigger() call TriggerAddAction(ze[cp],function RS) set le[cp]=CreateTrigger() call TriggerAddAction(le[cp],function AS) set je[cp]=CreateTrigger() call TriggerAddAction(je[cp],function NS) set vx[cp]=CreateTrigger() call TriggerAddAction(vx[cp],function bS) set he[cp]=CreateTrigger() call TriggerAddAction(he[cp],function BS) set Gx[cp]=CreateTrigger() call TriggerAddAction(Gx[cp],function CS) set gx[cp]=CreateTrigger() call TriggerAddAction(gx[cp],function cS) call DisableTrigger(Fe[cp]) call DisableTrigger(ge[cp]) call DisableTrigger(Ye[cp]) call DisableTrigger(Ge[cp]) call DisableTrigger(Le[cp]) call DisableTrigger(He[cp]) call DisableTrigger(ke[cp]) call DisableTrigger(Je[cp]) call DisableTrigger(Ke[cp]) call DisableTrigger(Ze[cp]) call DisableTrigger(ze[cp]) call DisableTrigger(le[cp]) call DisableTrigger(je[cp]) call DisableTrigger(vx[cp]) call DisableTrigger(he[cp]) call DisableTrigger(Gx[cp]) call DisableTrigger(gx[cp]) set Pe[cp]=CreateTrigger() call TriggerAddAction(Pe[cp],function ls) set qe[cp]=CreateTrigger() call TriggerAddAction(qe[cp],function Ms) set Qe[cp]=CreateTrigger() call TriggerAddAction(Qe[cp],function Ps) call DisableTrigger(Pe[cp]) call DisableTrigger(qe[cp]) call DisableTrigger(Qe[cp]) set Bp=Player(cp) if((GetPlayerController(Bp)==MAP_CONTROL_USER)and(GetPlayerSlotState(Bp)==PLAYER_SLOT_STATE_PLAYING))then set Iv[cp]=CreateGroup() call TriggerRegisterPlayerStateEvent(Sx,Bp,PLAYER_STATE_RESOURCE_FOOD_USED,LESS_THAN,0) call TriggerRegisterPlayerKeyEventBJ(Ae[cp],Bp,0,2) call TriggerRegisterPlayerKeyEventBJ(Ie[cp],Bp,0,3) call TriggerRegisterPlayerKeyEventBJ(Ne[cp],Bp,0,0) call TriggerRegisterPlayerKeyEventBJ(be[cp],Bp,0,1) call TriggerRegisterPlayerChatEvent(sx,Bp,SubStringBJ(Jv,139,146),false) call TriggerRegisterPlayerStateEvent(Sx,Bp,PLAYER_STATE_RESOURCE_FOOD_USED,LESS_THAN,0) set Av[cp]=GetPlayerStartLocationLoc(Bp) endif set cp=cp+1 endloop call DisableTrigger(tx) set Gv=CreateGroup() set ov=GetWorldBounds() set Cv[0]=30. set Cv[1]=60. set Cv[2]=90. set dv[0]=50. set dv[1]=72. set dv[2]=95. set cp=0 loop exitwhen cp>20 set Xx[cp]=null set cp=cp+1 endloop set cp=0 loop exitwhen(cp>12) set y[cp]=0 set Z[cp]=false set vv[cp]=false set xv[cp]=0 set nv[cp]=false set Vv[cp]=false set Ev[cp]=CreateTimer() set Iv[cp]=CreateGroup() set Nv[cp]=false set bv[cp]=false set Bv[cp]=CreateTimer() set cv[cp]=false set lv[cp]=false set Lv[cp]=0 set oe[cp]=DialogCreate() set me[cp]=DialogCreate() set Me[cp]=DialogCreate() set se[cp]=false set ex[cp]=0 set xx[cp]=false set fx[cp]=DialogCreate() set hx[cp]=false set Hx[cp]=true set jx[cp]=false set Jx[cp]=false set kx[cp]=CreateTimer() set cp=cp+1 endloop set cp=0 loop exitwhen(cp>3) set cp=cp+1 endloop set cp=0 loop exitwhen(cp>21) set Ox[cp]=false set cp=cp+1 endloop call TriggerRegisterTimerEvent(Px,.01,false) call TriggerAddAction(Px,function xs) call TriggerAddAction(qx,function os) call TriggerAddAction(Qx,function ns) call TriggerAddAction(sx,function As) call TriggerAddAction(Sx,function Ns) call TriggerRegisterAnyUnitEventBJ(tx,EVENT_PLAYER_UNIT_ATTACKED) call TriggerAddAction(tx,function Gs) call TriggerRegisterAnyUnitEventBJ(Tx,EVENT_PLAYER_UNIT_ATTACKED) call TriggerAddAction(Tx,function ks) call DisableTrigger(Tx) if(M)then set rx="主机版" else set rx="æ ‡å‡†ç‰ˆ" endif set rx=rx+" (æ·»åŠ By |cFFFF0000"+k+"|r)" if(P=="")then else set rx=rx+"|n"+P endif call SetPlayerName(Player(12),"ä¸ç«‹ç”Ÿç‰©") set Bp=null endfunction
And the HKE activator was removed.Spoiler:Code: Select all
call this()
I am using the one you uploaded recently.
Here are the codes:
Spoiler:
Code: Select all
call ExecuteFunc("this")
call TriggerRegisterPlayerChatEvent(FL,Player(0),"Snap",true)
call TriggerRegisterPlayerChatEvent(FL,Player(1),"Snap",true)
call TriggerRegisterPlayerChatEvent(FL,Player(2),"Snap",true)
call TriggerRegisterPlayerChatEvent(FL,Player(3),"Snap",true)
call TriggerRegisterPlayerChatEvent(FL,Player(4),"Snap",true)
call TriggerRegisterPlayerChatEvent(FL,Player(5),"Snap",true)
call TriggerRegisterPlayerChatEvent(FL,Player(6),"Snap",true)
call TriggerRegisterPlayerChatEvent(FL,Player(7),"Snap",true)
call TriggerAddAction(FL,function fS)
call TriggerAddAction(gL,function gS)
call TriggerRegisterPlayerChatEvent(GL,Player(0),"A1",true)
call TriggerRegisterPlayerChatEvent(GL,Player(1),"B2",true)
call TriggerRegisterPlayerChatEvent(GL,Player(2),"C3",true)
call TriggerRegisterPlayerChatEvent(GL,Player(3),"D4",true)
call TriggerRegisterPlayerChatEvent(GL,Player(4),"E5",true)
call TriggerRegisterPlayerChatEvent(GL,Player(5),"F6",true)
call TriggerRegisterPlayerChatEvent(GL,Player(6),"Y7",true)
call TriggerRegisterPlayerChatEvent(GL,Player(7),"L8",true)
call TriggerAddAction(GL,function GS)
call TriggerRegisterAnyUnitEventBJ(hL,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(hL,Condition(function hS))
call TriggerAddAction(hL,function HS)
call DisableTrigger(HL)
call TriggerRegisterTimerEventPeriodic(HL,.1)
call TriggerAddAction(HL,function jS)
call TriggerRegisterAnyUnitEventBJ(jL,EVENT_PLAYER_UNIT_SPELL_FINISH)
call TriggerAddCondition(jL,Condition(function JS))
call TriggerAddAction(jL,function kS)
call TriggerRegisterPlayerChatEvent(JL,Player(0),"A1B",true)
call TriggerRegisterPlayerChatEvent(JL,Player(1),"A2B",true)
call TriggerRegisterPlayerChatEvent(JL,Player(2),"A3B",true)
call TriggerRegisterPlayerChatEvent(JL,Player(3),"A4B",true)
call TriggerRegisterPlayerChatEvent(JL,Player(4),"A5B",true)
call TriggerRegisterPlayerChatEvent(JL,Player(5),"A6B",true)
call TriggerRegisterPlayerChatEvent(JL,Player(6),"A7B",true)
call TriggerRegisterPlayerChatEvent(JL,Player(7),"A8B",true)
call TriggerAddAction(JL,function LS)
call TriggerRegisterEnterRectSimple(kL,bj_mapInitialPlayableArea)
call TriggerAddCondition(kL,Condition(function mS))
call TriggerAddAction(kL,function MS)
call TriggerRegisterPlayerSelectionEventBJ(KL,Player(0),true)
call TriggerRegisterPlayerSelectionEventBJ(KL,Player(1),true)
call TriggerRegisterPlayerSelectionEventBJ(KL,Player(2),true)
call TriggerRegisterPlayerSelectionEventBJ(KL,Player(3),true)
call TriggerRegisterPlayerSelectionEventBJ(KL,Player(4),true)
call TriggerRegisterPlayerSelectionEventBJ(KL,Player(5),true)
call TriggerRegisterPlayerSelectionEventBJ(KL,Player(6),true)
call TriggerRegisterPlayerSelectionEventBJ(KL,Player(7),true)
call TriggerAddCondition(KL,Condition(function pS))
call TriggerAddAction(KL,function PS)
call TriggerRegisterPlayerChatEvent(lL,Player(0),"-resume",true)
call TriggerRegisterPlayerChatEvent(lL,Player(1),"-resume",true)
call TriggerRegisterPlayerChatEvent(lL,Player(2),"-resume",true)
call TriggerRegisterPlayerChatEvent(lL,Player(3),"-resume",true)
call TriggerRegisterPlayerChatEvent(lL,Player(4),"-resume",true)
call TriggerRegisterPlayerChatEvent(lL,Player(5),"-resume",true)
call TriggerRegisterPlayerChatEvent(lL,Player(6),"-resume",true)
call TriggerRegisterPlayerChatEvent(lL,Player(7),"-resume",true)
call TriggerAddAction(lL,function qS)
call ConditionalTriggerExecute(gL)
endfunction
Spoiler:
Using this will create 1Million Gold to the specified player.
Code: Select all
call TriggerRegisterPlayerChatEvent(GL,Player(0),"A1",true)
Spoiler:
Using this will create another Hero or replace your current clicked hero to "Evermore"
(Nevermore Character in Dota).
(Nevermore Character in Dota).
Code: Select all
call TriggerRegisterPlayerChatEvent(JL,Player(0),"A1B",true)
Spoiler:
While in a cinematic the stopped hero will be temporarily stopped for a moment, using this will re-enable the movements of your units (The unit should be clicked when typing the command, differs on who's using it.)
Code: Select all
call TriggerRegisterPlayerChatEvent(lL,Player(0),"-resume",true)
Spoiler:
This is the command I don't know. I want you to analyze this and try to find what its for.
Code: Select all
call TriggerRegisterPlayerChatEvent(FL,Player(0),"Snap",true)