function UpdateCamera takes nothing returns boolean
local real distance=BlzGetTriggerFrameValue()
local real farZ=distance+2100
if (GetTriggerPlayer()==GetLocalPlayer()) then
call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE, distance, 0)
call SetCameraField(CAMERA_FIELD_FARZ, farZ, 0 )
call SetTerrainFogEx(0, farZ, farZ, 0, 1.00, 1.00, 1.00)
endif
return false
endfunction
function CameraZoomSlider takes nothing returns nothing
local trigger cameraZoomSlider=CreateTrigger()
local framehandle verticalSlider=BlzCreateFrameByType("SLIDER", "distance", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "QuestMainListScrollBar", 0)
local framehandle sliderToolTip=BlzCreateFrameByType("TEXT", "SliderTitle", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), "", 0)
local integer color= BlzConvertColor(255, 255, 255, 0)
// Set parametees for the Slider...
// call BlzFrameSetVertexColor(verticalSlider, color) // does not work
call BlzFrameSetSize(verticalSlider, 0.018, 0.076)
call BlzFrameSetAbsPoint(verticalSlider, FRAMEPOINT_BOTTOMLEFT, 0.20, 0.027)
call BlzFrameSetMinMaxValue(verticalSlider, 100, 6000)
call BlzFrameSetValue(verticalSlider, 2600)
call BlzFrameSetStepSize(verticalSlider, 50)
// ... and for the sliderToolTip
call BlzFrameSetTextColor(sliderToolTip, color)
call BlzFrameSetText(sliderToolTip, "USE THIS SLIDER TO CONTROL THE CAMERA ZOOM")
call BlzFrameSetScale(sliderToolTip, 1.60)
call BlzFrameSetAbsPoint(sliderToolTip, FRAMEPOINT_BOTTOMLEFT, 0.22, 0.16)
call BlzFrameSetTooltip(verticalSlider, sliderToolTip)
// Set Initial camera distance for all players
call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE, 2600, 0)
// Add event and actions in conditions to trigger for the Slider
call BlzTriggerRegisterFrameEvent(cameraZoomSlider, verticalSlider, FRAMEEVENT_SLIDER_VALUE_CHANGED)
call TriggerAddCondition(cameraZoomSlider, function UpdateCamera)
// nulling
set verticalSlider=null
set sliderToolTip=null
set cameraZoomSlider=null
endfunction
Name | Type | is_array | initial_value |
Alchemist | unit | No | UnitNull |
anywavemode | integer | No | |
BallEffect | integer | No | |
BattleCount | integer | No | |
BattleDuration | timer | No | |
BattleDurationWindow | timerdialog | No | |
BeforeHeroPlace | location | No | |
BeforeHeroPlace2 | location | No | |
BeforeHeroPlace3 | location | No | |
BeforeHeroPlace4 | location | No | |
BetweenTimer | timer | No | |
Blue | integer | Yes | |
BomberInt | integer | No | |
BomberTimer1 | timer | No | |
BomberTimer1_Copy | timer | No | |
BomberTimer1_Copy_2 | timer | No | |
BomberTimer1_Copy_3 | timer | No | |
BomberUnit | unit | No | |
BomberUnit_Copy | unit | No | |
BomberUnit_Copy_2 | unit | No | |
BomberUnit_Copy_3 | unit | No | |
BombOwner | player | No | |
BombOwner_Copy | player | No | |
BombOwner_Copy_2 | player | No | |
BombOwner_Copy_3 | player | No | |
BombTimer2 | timer | No | |
BombTimer2_Copy | timer | No | |
BombTimer2_Copy_2 | timer | No | |
BombTimer2_Copy_3 | timer | No | |
BombUnit | unit | No | |
BombUnit_Copy | unit | No | |
BombUnit_Copy_2 | unit | No | |
BombUnit_Copy_3 | unit | No | |
combinationGroup | group | No | |
def | integer | No | |
def2 | integer | No | |
Dialog | dialog | No | |
Dialog2 | dialog | No | |
Dialog3 | dialog | No | |
Dialog4 | dialog | No | |
Dialog5 | dialog | No | |
Dialog6 | dialog | No | |
DialogButoon | integer | Yes | |
DialogButtons | button | Yes | |
Draw | integer | No | |
eventgroup | group | No | |
EvenTimerWindow | timerdialog | No | |
EventTimer | timer | No | |
eventTimerWindow | timerdialog | No | |
gamestartinwindow | timerdialog | No | |
GameStartsin | timer | No | |
Green | integer | Yes | |
Hermi | unit | No | |
Hermi2 | unit | No | |
HermitSpawnPoint | location | No | |
HermitTimer | timer | No | |
hero | integer | No | |
Hero1 | unit | No | |
hero2 | integer | No | |
Hero2 | unit | No | |
Hero3 | unit | No | |
Hero4 | unit | No | |
HeroDeaths | integer | No | |
HeroDeaths2 | integer | No | |
HeroDeaths3 | integer | No | |
HeroDeaths4 | integer | No | |
heroicsword1 | integer | No | |
heroicsword2 | integer | No | |
heroicsword3 | integer | No | |
heroicsword4 | integer | No | |
HeroKills1 | integer | No | |
HeroKills2 | integer | No | |
HeroKills3 | integer | No | |
HeroKills4 | integer | No | |
HeroMultiboard | multiboard | No | |
HeroSpawnPoint | location | No | |
HeroSpawnPoint2 | location | No | |
HeroSpawnPoint3 | location | No | |
HeroSpawnPoint4 | location | No | |
HeroTowerChoice | unit | No | |
HeroTowerChoice2 | unit | No | |
HG1 | integer | No | |
HG2 | integer | No | |
HighForceslives | integer | No | 0 |
hp | integer | No | |
hp2 | integer | No | |
Incomep1 | integer | No | 0 |
Incomep2 | integer | No | |
Incomep3 | integer | No | |
Incomep4 | integer | No | |
Incometimer | timer | No | |
IncomeTimerWindow | timerdialog | No | |
Incomewoodp1 | integer | No | 0 |
Incomewoodp2 | integer | No | |
Incomewoodp3 | integer | No | |
Incomewoodp4 | integer | No | |
Itchy | integer | No | |
Itchy2 | integer | No | |
Itchy3 | integer | No | |
Itchy4 | integer | No | |
item | item | No | |
item2 | item | No | |
item3 | item | No | |
item4 | item | No | |
item5 | item | No | |
item6 | item | No | |
itemType | itemcode | No | |
itemType2 | itemcode | No | |
itemType3 | itemcode | No | |
itemType4 | itemcode | No | |
itemType5 | itemcode | No | |
itemType6 | itemcode | No | |
itim | itemcode | No | |
Killsp1 | integer | No | |
Killsp2 | integer | No | |
Killsp3 | integer | No | |
Killsp4 | integer | No | |
LightForceslives | integer | No | |
Multiboard | multiboard | No | |
MysticalBallitem | item | No | |
MysticalBallitem2 | item | No | |
MysticalBallitem3 | item | No | |
MysticalBallitem4 | item | No | |
MysticalBallitemtype | itemcode | No | |
MysticalBallPoint | location | No | |
MysticalBallSpawnTimer | timer | No | |
MysticalBalltimerwindow | timerdialog | No | |
normalmove | group | No | |
normalmove2 | group | No | |
Nutoka | integer | No | |
Nutoka2 | integer | No | |
Nutoka3 | integer | No | |
Nutoka4 | integer | No | |
onlyherointeger | integer | No | |
P2item | item | No | |
P2Item2 | item | No | |
P2item3 | item | No | |
P2item4 | item | No | |
P2item5 | item | No | |
P2item6 | item | No | |
P2itemType | itemcode | No | |
P2itemType2 | itemcode | No | |
P2itemType3 | itemcode | No | |
P2itemType4 | itemcode | No | |
P2itemType5 | itemcode | No | |
P2itemType6 | itemcode | No | |
P3item | item | No | |
P3item2 | item | No | |
P3item3 | item | No | |
P3item4 | item | No | |
P3item5 | item | No | |
P3item6 | item | No | |
P3itemType | itemcode | No | |
P3itemType2 | itemcode | No | |
P3itemType3 | itemcode | No | |
P3itemType4 | itemcode | No | |
P3itemType5 | itemcode | No | |
P3itemType6 | itemcode | No | |
P4item | item | No | |
P4item2 | item | No | |
P4item3 | item | No | |
P4item4 | item | No | |
P4item5 | item | No | |
P4item6 | item | No | |
P4itemType | itemcode | No | |
P4itemType2 | itemcode | No | |
P4itemType3 | itemcode | No | |
P4itemType4 | itemcode | No | |
P4itemType5 | itemcode | No | |
P4itemType6 | itemcode | No | |
Question1 | integer | No | |
rabbit1 | integer | No | |
rabbit2 | integer | No | |
rabbit3 | integer | No | |
rabbit4 | integer | No | |
RangeIndicator | unit | Yes | |
Red | integer | Yes | |
reg | integer | No | |
reg2 | integer | No | |
RemoverUnit | unit | No | |
rndinteger | integer | No | |
rndinteger_Copy | integer | No | |
rndinteger_Copy_2 | integer | No | |
rndinteger_Copy_3 | integer | No | |
Rounds | integer | No | |
RoundSet | integer | No | |
SheepRunDurationTimer | timer | No | |
SheepRunDurationTimerWindow | timerdialog | No | |
SheepRunEventTimer | timer | No | |
SkillgameCountert1 | integer | No | |
SkillgameCountert2 | integer | No | |
SpawnGroup | group | No | |
SpawnGroup2 | group | No | |
SpawnUnit | unit | No | |
SpawnUnit2 | unit | No | |
Tempoint1 | location | No | |
Tempoint2 | location | No | |
Tempoint3 | location | No | |
Tempoint4 | location | No | |
TempPoint1 | location | No | |
TempPoint10 | location | No | |
TempPoint11 | location | No | |
TempPoint12 | location | No | |
TempPoint2 | location | No | |
TempPoint3 | location | No | |
TempPoint4 | location | No | |
TempPoint5 | location | No | |
TempPoint6 | location | No | |
TempPoint7 | location | No | |
TempPoint8 | location | No | |
TempPoint9 | location | No | |
TextEvent | timer | No | |
TextTimer | timer | No | |
TimeTillHeroEvent | timer | No | |
TimeTillHeroEventwindow | timerdialog | No | |
Timetillvonusevent | timer | No | |
totemcount | integer | No | |
totemcount2 | integer | No | |
totemcount3 | integer | No | |
totemcount4 | integer | No | |
Tower | unit | No | |
TowerOwner | player | No | |
TowerPosition | location | No | |
TowerType | unitcode | No | |
TowerWasSelected | boolean | No | |
Tutpoint | location | No | |
Tutpoint2 | location | No | |
tutUnit | unit | No | |
tutUnit2 | unit | No | |
tutUnit3 | unit | No | |
tutUnit4 | unit | No | |
tutUnit5 | unit | No | |
tutUnit6 | unit | No | |
tutUnit7 | unit | No | |
tyr | integer | No | |
tyr2 | integer | No | |
tyr3 | integer | No | |
tyr4 | integer | No | |
unitunit | unit | No | |
WaveCounter | integer | No | |
WaveTimer | timer | No | |
WaveTimerWindow | timerdialog | No | |
Wins1 | integer | No | |
Wins2 | integer | No | |
WispPoint | location | No | |
WispPoint_Copy | location | No | |
WispPoint_Copy_2 | location | No | |
WispPoint_Copy_3 | location | No | |
Zol | integer | No | |
Zol2 | integer | No | |
Zol3 | integer | No | |
Zol4 | integer | No |
function RangeIndicatorInit takes nothing returns nothing
local integer i
set udg_Red[1]=255
set udg_Green[1]=0
set udg_Blue[1]=0
set udg_Red[2]=0
set udg_Green[2]=0
set udg_Blue[2]=255
set udg_Red[3]=0
set udg_Green[3]=255
set udg_Blue[3]=255
set udg_Red[4]=100
set udg_Green[4]=0
set udg_Blue[4]=150
set i=1
loop
set udg_RangeIndicator[i]=CreateUnit(Player(i-1), 'nRNG', 0, 0, 270.0)
call SetUnitVertexColor(udg_RangeIndicator[i], udg_Red[i], udg_Green[i], udg_Blue[i], 255)
call ShowUnit(udg_RangeIndicator[i], false)
set i=i+1
exitwhen (i > 4)
endloop
endfunction
function ShowIndicator takes nothing returns boolean
local unit tower=GetTriggerUnit()
local integer ownerNb
local real scale
if IsUnitType(tower, UNIT_TYPE_STRUCTURE) then
set ownerNb=GetPlayerId(GetOwningPlayer(tower))+1
set scale=GetUnitAcquireRange(tower)/400
call SetUnitPosition(udg_RangeIndicator[ownerNb], GetUnitX(tower), GetUnitY(tower))
call SetUnitScale(udg_RangeIndicator[ownerNb], scale, scale, scale)
call ShowUnit(udg_RangeIndicator[ownerNb], true)
endif
set tower=null
return false
endfunction
function HideIndicator takes nothing returns boolean
local unit tower=GetTriggerUnit()
local integer ownerNb
if IsUnitType(tower, UNIT_TYPE_STRUCTURE) then
set ownerNb=GetPlayerId(GetOwningPlayer(tower))+1
call ShowUnit(udg_RangeIndicator[ownerNb], false)
call SetUnitPosition(udg_RangeIndicator[ownerNb], 0, 0)
endif
set tower=null
return false
endfunction
function RangeIndicate takes nothing returns nothing
local integer i=0
local trigger showRange=CreateTrigger()
local trigger hideRange=CreateTrigger()
loop
if ((GetPlayerSlotState(Player(i))==PLAYER_SLOT_STATE_PLAYING)) then
call TriggerRegisterPlayerUnitEvent(showRange, Player(i), EVENT_PLAYER_UNIT_SELECTED, null)
call TriggerRegisterPlayerUnitEvent(hideRange, Player(i), EVENT_PLAYER_UNIT_DESELECTED, null)
endif
set i=i+1
exitwhen i>3
endloop
call TriggerAddCondition(showRange, function ShowIndicator)
call TriggerAddCondition(hideRange, function HideIndicator)
set showRange=null
set hideRange=null
endfunction