-
Are you planning to upload your awesome map to Hive? Please review the rules here.Dismiss Notice
-
Find your way through the deepest dungeon in the 18th Mini Mapping Contest Poll.Dismiss Notice
-
A brave new world lies beyond the seven seas. Join the 34th Modeling Contest today!Dismiss Notice
-
Check out the Staff job openings thread.Dismiss Notice
Dismiss Notice
Hive 3 Remoosed BETA - NOW LIVE. Go check it out at BETA Hive Workshop! Post your feedback in this new forum BETA Feedback.
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.
Trigger Viewer



































































































































































































































































































































































//----------------- //GLOBAL FUNCTIONS: //----------------- function SwitchCamera takes integer CameraNumber returns nothing local real CameraFieldOfView local real CameraFarZ if (CameraNumber == 0) then //Deactivated set udg_PlayerEvent = "Deactivated" return elseif (CameraNumber == 1) then //Player set udg_CameraAngle = 341.12 set udg_CameraDistance = 200.00 set udg_CameraHightOffset = 75.00 set CameraFieldOfView = 500.00 set CameraFarZ = 5000.00 elseif (CameraNumber == 2) then //Player 2 set udg_CameraAngle = 328.12 set udg_CameraDistance = 700.00 set udg_CameraHightOffset = 200.00 set CameraFieldOfView = 2000.00 set CameraFarZ = 5000.00 elseif (CameraNumber == 3) then //Player Charge set udg_CameraAngle = 328.12 set udg_CameraDistance = 350.00 set udg_CameraHightOffset = 100.00 set CameraFieldOfView = 750.00 set CameraFarZ = 5000.00 elseif (CameraNumber == 4) then //Player Labyrinth set udg_CameraAngle = 334.84 set udg_CameraDistance = 120.00 set udg_CameraHightOffset = 100.00 set CameraFieldOfView = 500.00 set CameraFarZ = 7320.50 elseif (CameraNumber == 5) then //Player Final set udg_CameraAngle = 341.12 set udg_CameraDistance = 200.00 set udg_CameraHightOffset = 75.00 set CameraFieldOfView = 500.00 set CameraFarZ = 5000.00 else call DisplayTextToPlayer(Player(3 - 1), 0, 0, "ERROR: Wrong camera switch usage") return endif set udg_Hero = udg_Hero if (GetLocalPlayer() == Player(3 - 1)) then // Use only local code (no net traffic) within this block to avoid desyncs. call SetCameraTargetController(udg_Hero, 0, 0, true) call SetCameraField(CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Hero), 0.25) call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE, udg_CameraDistance, 0.25) call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK, udg_CameraAngle, 0.25) call SetCameraField(CAMERA_FIELD_ZOFFSET, udg_CameraHightOffset, 0.25) call SetCameraField(CAMERA_FIELD_FARZ, CameraFarZ, 0.25) call SetCameraField(CAMERA_FIELD_FIELD_OF_VIEW, CameraFieldOfView, 0.25) endif set udg_PlayerEvent = "Normal" endfunction
Name | Type | Is Array | Initial Value |
AngleCorrectionValue | real | No | 75.00 |
AngleOfAttackAdjustmentValue | real | No | 0.35 |
Armless | boolean | No | |
BlockOn | boolean | No | |
Breakthrough | boolean | No | |
CameraAngle | real | No | |
CameraDistance | real | No | |
CameraHightOffset | real | No | |
CaveQ | quest | No | |
ChangingRate | real | No | 4.00 |
CinematicSkipped | boolean | No | |
EternalFire | effect | No | |
HashTable | hashtable | No | |
Hero | unit | No | |
KB_Angle | real | Yes | |
KB_Casters | unit | Yes | |
KB_CountBuffs | integer | No | |
KB_DestroyTrees | boolean | Yes | |
KB_EffectCounter | integer | Yes | |
KB_EffectCounter2 | integer | Yes | |
KB_Effects_1 | string | Yes | |
KB_Effects_2 | string | Yes | |
KB_GeneralIntegers | integervar | Yes | |
KB_KnockbackedUnits | group | No | |
KB_Levels | integer | Yes | |
KB_MaxDistance | real | Yes | |
KB_ReachedDistance | real | Yes | |
KB_ReducedReal | real | No | |
KB_ReduceSpeedReal | real | Yes | |
KB_SpecificSpeed | real | Yes | |
KB_StartPositions | location | Yes | |
KB_TempPoint | location | Yes | |
KB_TempReal | real | No | |
KB_TotalKnockUnits | integer | No | |
KB_Units | unit | Yes | |
KBA_Caster | unit | No | |
KBA_DestroyTrees | boolean | No | |
KBA_DistancePerLevel | real | No | |
KBA_Level | integer | No | |
KBA_SpecialEffects | string | Yes | |
KBA_Speed | real | No | |
KBA_StartingPosition | location | No | |
KBA_TargetUnit | unit | No | |
PlayerEvent | string | No | |
Points | location | Yes | |
QTaken | boolean | No | |
Raged | boolean | No | |
RequiredQuest | quest | No | |
Spirit | unit | No | |
SpiritDead | boolean | No | |
TimerFrequency_CAS | real | No | 0.04 |
TimerFrequency_CHS | real | No | 0.10 |
TrainFiercefulCharge | boolean | No | |
TrainSpinningStrike | boolean | No | |
UnitGroup | group | No | |
Weapon | boolean | No | |
Weapon1 | boolean | No | |
Weapon2 | boolean | No | |
Weapon3 | boolean | No | |
Weapon4 | boolean | No | |
Weapon5 | boolean | No | |
WolfTailQ | quest | No | |
zEternalFire | unit | No |
v1.5
Cinematic skip issue while playing have been fixed
Quest Cave Beasts quest have been slightly improved
Some transmissions have been sligthty changed to better
Cinematic skip issue while playing have been fixed
Quest Cave Beasts quest have been slightly improved
Some transmissions have been sligthty changed to better
The Hiveworkshop Models / Icons:
Kitabatake
DerReaper2
Sunchips
chilla_killa
ikillforeyou
CRAZYRUSSIAN
antihero
AbstractCreativity
Palaslayer
lelyanra
HappyTauren
SkriK
viiva
Mobilize
GooS
-Berz-
Forgotten_Warlord
Skipper
perfjert
ZIR
eubz
-SkatinG_CoW-
EvilCrizpy
JetFangInferno
Vermillion Edict
inhuman89
!!GORO!!
NFWar
Mr.Goblin
PeeKay
Amigurumi
Thrikodius
PrMosquito
kola
BlackRockClan
Devine
KelThuzad
Horn
Gottfrei
Dionesiist
Deolrin
Draknyte1
Chriz.
Kuhneghetz
darkdeathknight
Chaosfury
Tranquil
wojia10502
GreyArchon
Pyramidhe@d
paladinjst
ratamahatta
DonDustin
Daelin
Marcos DAB
-=Emergenzy=-
Sellenisko
hellblazer-14
-Grendel
Weep
Pyritie
UI Ice: CRAZYRUSSIAN
Special thanks to:
eubz for his snowy grass model made by request
Spartipilo for the loading screen he made
MassiveMaster for jass-like camera improvements
Knockback System: Paladon
Charge System: Zanekok
Music: Loki - Heroes of Mythology
Sounds: From all over the internet
Voice: by APproject
Kitabatake
DerReaper2
Sunchips
chilla_killa
ikillforeyou
CRAZYRUSSIAN
antihero
AbstractCreativity
Palaslayer
lelyanra
HappyTauren
SkriK
viiva
Mobilize
GooS
-Berz-
Forgotten_Warlord
Skipper
perfjert
ZIR
eubz
-SkatinG_CoW-
EvilCrizpy
JetFangInferno
Vermillion Edict
inhuman89
!!GORO!!
NFWar
Mr.Goblin
PeeKay
Amigurumi
Thrikodius
PrMosquito
kola
BlackRockClan
Devine
KelThuzad
Horn
Gottfrei
Dionesiist
Deolrin
Draknyte1
Chriz.
Kuhneghetz
darkdeathknight
Chaosfury
Tranquil
wojia10502
GreyArchon
Pyramidhe@d
paladinjst
ratamahatta
DonDustin
Daelin
Marcos DAB
-=Emergenzy=-
Sellenisko
hellblazer-14
-Grendel
Weep
Pyritie
UI Ice: CRAZYRUSSIAN
Special thanks to:
eubz for his snowy grass model made by request
Spartipilo for the loading screen he made
MassiveMaster for jass-like camera improvements
Knockback System: Paladon
Charge System: Zanekok
Music: Loki - Heroes of Mythology
Sounds: From all over the internet
Voice: by APproject

















































































































































//---------------------
//EVENT-TRIGGERED PART:
//---------------------
function CameraHightAdjustment takes nothing returns nothing
local location PointTemp1
if (udg_PlayerEvent == "Normal") then
set PointTemp1 = GetUnitLoc(udg_Hero)
if (GetLocalPlayer() == Player(3 - 1)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
call SetCameraField(CAMERA_FIELD_ZOFFSET, GetCameraField(CAMERA_FIELD_ZOFFSET) + GetLocationZ(PointTemp1) + udg_CameraHightOffset - GetCameraTargetPositionZ(), udg_TimerFrequency_CHS)
endif
call RemoveLocation(PointTemp1)
endif
//Anti-Memory-Leak:
set PointTemp1 = null
endfunction
//===========================================================================
function InitTrig_CameraHightSystem takes nothing returns nothing
set gg_trg_CameraHightSystem = CreateTrigger()
//Triggers:
call TriggerRegisterTimerEvent(gg_trg_CameraHightSystem, udg_TimerFrequency_CHS, true)
//Actions:
call TriggerAddAction(gg_trg_CameraHightSystem, function CameraHightAdjustment)
endfunction
//EVENT-TRIGGERED PART:
//---------------------
function CameraHightAdjustment takes nothing returns nothing
local location PointTemp1
if (udg_PlayerEvent == "Normal") then
set PointTemp1 = GetUnitLoc(udg_Hero)
if (GetLocalPlayer() == Player(3 - 1)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
call SetCameraField(CAMERA_FIELD_ZOFFSET, GetCameraField(CAMERA_FIELD_ZOFFSET) + GetLocationZ(PointTemp1) + udg_CameraHightOffset - GetCameraTargetPositionZ(), udg_TimerFrequency_CHS)
endif
call RemoveLocation(PointTemp1)
endif
//Anti-Memory-Leak:
set PointTemp1 = null
endfunction
//===========================================================================
function InitTrig_CameraHightSystem takes nothing returns nothing
set gg_trg_CameraHightSystem = CreateTrigger()
//Triggers:
call TriggerRegisterTimerEvent(gg_trg_CameraHightSystem, udg_TimerFrequency_CHS, true)
//Actions:
call TriggerAddAction(gg_trg_CameraHightSystem, function CameraHightAdjustment)
endfunction
//---------------------
//EVENT TRIGGERED PART:
//---------------------
function AngleAdjustment takes nothing returns nothing
local location LocationTemp1
local location LocationTemp2
local real RealTemp1
local real RealTemp2
local real RealTemp3
if (udg_PlayerEvent == "Normal") then
call SetCameraField(CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Hero), 0.10)
//Camera angle correction:
set RealTemp1 = GetUnitFacing(udg_Hero)
if (RealTemp1 <= 270.00 and RealTemp1 >= 90.00) then
set RealTemp1 = 270.00 - RealTemp1
elseif (RealTemp1 >= 270.00 and RealTemp1 <= 360.00) then
set RealTemp1 = RealTemp1 - 270.00
elseif (RealTemp1 >= 0.00 and RealTemp1 <= 90.00) then
set RealTemp1 = RealTemp1 + 90.00
endif
set RealTemp1 = udg_AngleCorrectionValue * (RealTemp1 / 180.00)
if (GetLocalPlayer() == Player(3 - 1)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE, udg_CameraDistance + RealTemp1, udg_TimerFrequency_CAS)
endif
//Camera angle of attack adjustment:
set LocationTemp1 = GetUnitLoc(udg_Hero)
if (GetLocalPlayer() == Player(3 - 1)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
set RealTemp1 = GetUnitFacing(udg_Hero) - 180.00
if (RealTemp1 < 0.00) then
set RealTemp1 = RealTemp1 + 360.00
endif
set RealTemp3 = udg_CameraDistance * (udg_AngleOfAttackAdjustmentValue - udg_CameraDistance * 0.0001)
set RealTemp2 = Cos(360.00 * bj_DEGTORAD - GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK)) * (udg_CameraDistance - RealTemp3)
set LocationTemp2 = Location(GetLocationX(LocationTemp1) + RealTemp2 * Cos(RealTemp1 * bj_DEGTORAD), GetLocationY(LocationTemp1) + RealTemp2 * Sin(RealTemp1 * bj_DEGTORAD))
set RealTemp1 = Sin(360.00 * bj_DEGTORAD - GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK)) * (udg_CameraDistance - RealTemp3) - (GetLocationZ(LocationTemp2) - GetLocationZ(LocationTemp1))
if (10.00 >= RealTemp1) then
call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK, GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK) * bj_RADTODEG - udg_ChangingRate, udg_TimerFrequency_CAS)
elseif (50.00 <= RealTemp1 and GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK) * bj_RADTODEG + udg_ChangingRate <= udg_CameraAngle) then
call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK, GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK) * bj_RADTODEG + udg_ChangingRate, udg_TimerFrequency_CAS)
endif
endif
call RemoveLocation(LocationTemp1)
call RemoveLocation(LocationTemp2)
endif
//Anti-Memory-Leak:
set LocationTemp1 = null
set LocationTemp2 = null
endfunction
//===========================================================================
function InitTrig_CameraAngleSystem takes nothing returns nothing
set gg_trg_CameraAngleSystem = CreateTrigger()
//Triggers:
call TriggerRegisterTimerEvent(gg_trg_CameraAngleSystem, udg_TimerFrequency_CAS, true)
//Actions:
call TriggerAddAction(gg_trg_CameraAngleSystem, function AngleAdjustment)
endfunction
//EVENT TRIGGERED PART:
//---------------------
function AngleAdjustment takes nothing returns nothing
local location LocationTemp1
local location LocationTemp2
local real RealTemp1
local real RealTemp2
local real RealTemp3
if (udg_PlayerEvent == "Normal") then
call SetCameraField(CAMERA_FIELD_ROTATION, GetUnitFacing(udg_Hero), 0.10)
//Camera angle correction:
set RealTemp1 = GetUnitFacing(udg_Hero)
if (RealTemp1 <= 270.00 and RealTemp1 >= 90.00) then
set RealTemp1 = 270.00 - RealTemp1
elseif (RealTemp1 >= 270.00 and RealTemp1 <= 360.00) then
set RealTemp1 = RealTemp1 - 270.00
elseif (RealTemp1 >= 0.00 and RealTemp1 <= 90.00) then
set RealTemp1 = RealTemp1 + 90.00
endif
set RealTemp1 = udg_AngleCorrectionValue * (RealTemp1 / 180.00)
if (GetLocalPlayer() == Player(3 - 1)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE, udg_CameraDistance + RealTemp1, udg_TimerFrequency_CAS)
endif
//Camera angle of attack adjustment:
set LocationTemp1 = GetUnitLoc(udg_Hero)
if (GetLocalPlayer() == Player(3 - 1)) then
// Use only local code (no net traffic) within this block to avoid desyncs.
set RealTemp1 = GetUnitFacing(udg_Hero) - 180.00
if (RealTemp1 < 0.00) then
set RealTemp1 = RealTemp1 + 360.00
endif
set RealTemp3 = udg_CameraDistance * (udg_AngleOfAttackAdjustmentValue - udg_CameraDistance * 0.0001)
set RealTemp2 = Cos(360.00 * bj_DEGTORAD - GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK)) * (udg_CameraDistance - RealTemp3)
set LocationTemp2 = Location(GetLocationX(LocationTemp1) + RealTemp2 * Cos(RealTemp1 * bj_DEGTORAD), GetLocationY(LocationTemp1) + RealTemp2 * Sin(RealTemp1 * bj_DEGTORAD))
set RealTemp1 = Sin(360.00 * bj_DEGTORAD - GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK)) * (udg_CameraDistance - RealTemp3) - (GetLocationZ(LocationTemp2) - GetLocationZ(LocationTemp1))
if (10.00 >= RealTemp1) then
call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK, GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK) * bj_RADTODEG - udg_ChangingRate, udg_TimerFrequency_CAS)
elseif (50.00 <= RealTemp1 and GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK) * bj_RADTODEG + udg_ChangingRate <= udg_CameraAngle) then
call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK, GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK) * bj_RADTODEG + udg_ChangingRate, udg_TimerFrequency_CAS)
endif
endif
call RemoveLocation(LocationTemp1)
call RemoveLocation(LocationTemp2)
endif
//Anti-Memory-Leak:
set LocationTemp1 = null
set LocationTemp2 = null
endfunction
//===========================================================================
function InitTrig_CameraAngleSystem takes nothing returns nothing
set gg_trg_CameraAngleSystem = CreateTrigger()
//Triggers:
call TriggerRegisterTimerEvent(gg_trg_CameraAngleSystem, udg_TimerFrequency_CAS, true)
//Actions:
call TriggerAddAction(gg_trg_CameraAngleSystem, function AngleAdjustment)
endfunction




























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































